По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
GLBP (Gateway load Balancing Protocol) - это протокол, разработанный компанией Cisco, который обеспечивает распределение нагрузки на несколько роутеров, используя всего 1 виртуальный адрес.
Этот протокол входит в группу FHRP, а теперь давайте напомню какие протоколы в неё входят.
HSRP (Hot Standby Router Protocol) - проприетарный протокол, разработанный Cisco;
VRRP (Virtual Router Redundancy Protocol) - свободный протокол, сделан на основе HSRP;
GLBP (Gateway Load Balancing Protocol).
GLBP обеспечивает балансировку трафика одновременно на несколько роутеров, когда HSRP и VRRP работал только один из 2х роутеров.
Терминология протокола
AVG (Active Virtual Gateway) - активный роутер, который занимается раздачей MAC адресов устройствам. Некий начальник над роутерами в сети GLBP .
Это роль диспетчера, который указывает устройствам, как распределять трафик по средству раздачи им MAC адресов, когда приходит ARP запрос. То есть IP адрес у всех будет единый, а вот MAC адреса будут разные.
AVF (Active Virtual Forwarder) - активный роутер, который пропускает через себя трафик.
Роутер с ролью AVG только один может быть, а вот с ролью AVF любой, при этом AVG может быть и AVF одновременно.
Настройка этого протокола такая же, как и любого протокола группы FHRP на интерфейсе (в данном случает interface e0/0)
Теперь пройдемся по командам
Router(config-if)# glbp 1 ip 192.168.0.254 //включение GLBP
Router(config-if)# glbp 1 priority 110 //установка приоритета 110 (если приоритет будет выше остальных ,то он станет AVG по умолчанию 100)
Router(config-if)# glbp 1 preempt //установит режим приемптинга для AVG ( работает также как и в HSRP, VRRP)
Router(config-if)# glbp 1 weighting 115 //установить вес для AVF в 115 Router(config-if)# glbp 1 load-balancing host-depended | round-robin | weighted
Для чего требуется вес?
Для того, чтобы выбрать кто будет AVF. Чтобы при падении линка до провайдера мы могли передать эту роль кому-нибудь ещё. Далее рассмотрим механизм передачи:
Router(config-if)# glbp 1 weighting 130 lower 20 upper 129
Команда установит вес для Forwarder в 130, а нижняя граница будет 20, верхняя 129. Если вес упадет до 19, то он перестанет быть AVF, а если вес возрастет выше 129 после падения, то он снова превратиться в AVF. По умолчанию lower равен 1, upper равен 100.
Данная команда используется совместно с Track:
Router(config)# track 1 interface e0/1 line-protocol
Router(config)# int e0/0
Router(config-if)# glbp 1 weighting track 1 decrement 111
Как проверить стал ли роутер AVG?
R2(config)#do show glbp
Ethernet0/0 - Group 1
State is Active
...
Смотрим, состояние Active, а это значит он и стал AVG. Взглянем на второй:
R3(config-if)#do sh glbp
Ethernet0/0 - Group 1
State is Standby
...
Говорит о том, что он не стал AVG.
При просмотре команды нужно обращать внимание на State is Active / Listen / Standby. Где AVG это Active, запасной Standby, а тот, кто в выборах не участвует Listen. То есть если роутер State is Active накроется, то его место займет маршрутизатор с состоянием State is Standby. При этом каждый роутер является AVF.
3 режима AVG
Round Robin (по кругу) - это значит, что балансирует равномерно, раздавая каждому устройству новый MAC по списку, а как заканчивается список, начинает заново. Когда в сети просыпается устройство или ARP table устаревает, то у него нет mac шлюза по умолчанию. Он формирует ARP запрос, где запрашивает эти данные. Отвечает ему только AVG, который выдает виртуальные mac адреса за роутеры в группе glbp. Одному ПК он выдаст свой ,потому что он еще и AVF , следующему ПК - R3 mac-address выдаст ,следующему устройству R4 mac-address .
Weighted (утяжеленный) - когда AVF имеет больший вес, то принимает большую нагрузку, чем остальные роутеры.
Host dependent (Зависимое устройство) - присваивает постоянный MAC определенным устройствам. Допустим к нему обратился VPC10 за MAC адресом и AVG выдает его, а также запоминает, что ему выдает только этот адрес.
Как это работает? Представим, что в нашей топологии:
Роутер R3 (State is Listen) умрет, то тогда его клиентов возьмет любой из группы, либо R2, либо R4.
Роутер R2 (State is Active) умрет, то тогда роль AVG займет роутер R4 (State is Standby), а также возьмет его клиентов (или распределит между R3/R4). R3 станет запасным AVG.
Роутер R4 (State is Standby) умрет, то его клиентов возьмет один из R2/R3 и R3 (State is Listen) станет State is Standby.
show glbp на разных роутерах
R2(config-if)#do sh glbp
Ethernet0/0 - Group 1
State is Active
1 state change, last state change 00:06:48
Virtual IP address is 192.168.0.254
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.176 secs
Redirect time 600 sec, forwarder timeout 14400 sec
Preemption disabled
Active is local
Standby is 192.168.0.3, priority 100 (expires in 8.576 sec)
Priority 100 (default)
Weighting 100 (default 100), thresholds: lower 1, upper 100
Load balancing: round-robin
Group members:
aabb.cc00.2000 (192.168.0.1) local
aabb.cc00.3000 (192.168.0.2)
aabb.cc00.4000 (192.168.0.3)
There are 3 forwarders (1 active)
Forwarder 1
State is Active
1 state change, last state change 00:06:37
MAC address is 0007.b400.0101 (default)
Owner ID is aabb.cc00.2000
Redirection enabled
Preemption enabled, min delay 30 sec
Active is local, weighting 100
Forwarder 2
State is Listen
MAC address is 0007.b400.0102 (learnt)
Owner ID is aabb.cc00.3000
Redirection enabled, 599.104 sec remaining (maximum 600 sec)
Time to live: 14399.104 sec (maximum 14400 sec)
Preemption enabled, min delay 30 sec
Active is 192.168.0.2 (primary), weighting 100 (expires in 9.216 sec)
Forwarder 3
State is Listen
MAC address is 0007.b400.0103 (learnt)
Owner ID is aabb.cc00.4000
Redirection enabled, 598.592 sec remaining (maximum 600 sec)
Time to live: 14398.592 sec (maximum 14400 sec)
Preemption enabled, min delay 30 sec
Active is 192.168.0.3 (primary), weighting 100 (expires in 10.016 sec)
В данный момент я подключил 3 роутера в группу glbp 1 и если посмотреть на вывод, то он показывает отношение 1 роутера к другому. То есть R2 по отношению к R3 и R4 является active, а остальные listen . Если глянуть на R3 и R4 ,то картина будет с точностью наоборот. Это сделано для того, чтобы наблюдать, какой роутер взял на себя роль AVF в случае падения, тогда при падении один из Forwarder будет в состоянии Active.
Режим preempt
Этот режим, как и в других протоколах типа FHRP помогает роутеру настроить нужную роль. В GLBP это будет касаться AVG и AVF. Для AVG по умолчанию он отключен, а для AVF по умолчанию включен, с задержкой 30 секунд.
preempt для AVG:
R2(config)# int e0/0
R2(config-if)# glbp 1 preempt
preempt для AVF:
R2(config)# int e0/0
R2(config-if)# glbp 1 forwarder preempt delay minimum 60
Настройка таймеров
Настройка интервалов в группе GLBP:
R2(config-if)# glbp 1 timers 3 10
Настройка пароля
//Аутентификация через md5 по хешу
R2(config-if)#glbp 1 authentication md5 key-string CISCO
//Аутентификация в открытом виде
R2(config-if)#glbp 1 authentication text CISCO
Диагностика
R2# show glbp //показать общую информацию по протоколу группы FHRP
R2# show glbp brief //показывает краткую таблицу по всем роутерам группы GLBP
----------------------------------------------------------------------------------------------------------------------------
R2#show glbp brief
Interface Grp Fwd Pri State Address Active router Standby router
Et0/0 1 - 110 Standby 192.168.0.254 192.168.0.4 local
Et0/0 1 1 - Active 0007.b400.0101 local -
Et0/0 1 2 - Listen 0007.b400.0102 192.168.0.2 -
Et0/0 1 3 - Listen 0007.b400.0103 192.168.0.3 -
Et0/0 1 4 - Listen 0007.b400.0104 192.168.0.4 -
Важное
В топологии GLBP может пропускать максимум 4 роутера, если подключить 5, то он попадет в таблицу GLBP, но пропускать через себя трафик не станет. А будет просто ждать, пока умрет какой-либо AVF.
Основой любого сайта является HTML. Это первое, что видят люди. Без него сайта бы не существовало.
Поэтому так важно придерживаться правильных методов написания кода. Если этого не делать, то посетители вашего сайта получат плохой пользовательский опыт.
В HTML всегда есть, чему поучиться. Причем не важно, новичок вы в программировании или опытный специалист.
В данной статье мы поговорим о лучших практиках HTML. Давайте начнем.
Лучшие практики HTML – это набор правил, помогающих создавать сайты, одинаково удобные для чтения и сопровождения.
При создании сайта на HTML необходимо придерживаться следующих принципов:
Используйте только один элемент <h1> для страницы
В HTML доступно 6 различных тегов заголовков – от <h1> до <h6>. Тегом <h1> отмечается основной заголовок (название веб-страницы), а тег <h6> используется для наименее важного заголовка.
Тег <h1> крупнее <h2>, <h2> крупнее <h3> и так до тега <h6>. Размер каждого заголовка уменьшается по степени его важности.
Очень важно не добавлять более одного элемента <h1> на странице.
Не делайте так:
<main>
<div>
<h1>Писать код – это весело?</h1>
<p>Чем больше вы пишете, тем опытнее становитесь</p>
</div>
<div>
<h1>Писать код – это весело</h1>
<p>Лучше писать код с удовольствием</p>
</div>
</main>
В примере выше мы используем тег <h1> в первом и втором блоке <div>. Такой код, конечно же, заработает, но это не самый правильный вариант оформления.
Лучше вот так:
<main>
<div>
<h1>Писать код – это весело?</h1>
<p>Чем больше вы пишете, тем опытнее становитесь</p>
</div>
<div>
<h2>Писать код – это весело</h2>
<p>Лучше писать код с удовольствием</p>
</div>
</main>
Кроме того, наличие одного элемента <h1> на странице – крайне важно для поисковой оптимизации (SEO). Через этот тег поисковики понимают, что находится на странице (главная мысль страницы).
Не забывайте про иерархию заголовков в HTML
Когда вы пользуетесь тегами заголовков, важно следовать установленной иерархии: после <h1> идет <h2>, за <h3> следует <h4> и т.д...
Не перескакивайте от <h1> к <h3>. Некоторые посетители сайта используют средства чтения с экрана. И таким пользователям бывает трудно понять содержимое вашей страницы при нарушенной иерархии элементов.
Средства чтения с экрана – это одна из специальных возможностей, помогающая людям получать доступ к цифровому содержимому (сайтам или приложениям) и взаимодействовать с ним через звуки и касания. Основные пользователи данной технологии – слабовидящие или незрячие люди.
Не делайте так:
<h1>Писать код – это весело</h1>
<h3>Лучше писать код с удовольствием</h3>
<h5>Постоянство – это ключ</h5>
Лучше вот так:
<h1>Писать код – это весело?</h1>
<h2>Чем больше вы пишете, тем опытнее становитесь</h2>
<h3>Писать код – это весело</h3>
Добавляйте подписи к изображениям через элемент figure
Добавлять подписи к изображениям рекомендуется через элемент <figure>. А чтобы все заработало, нужно прописать не только <figure>, но и <figcaption>.
Не делайте так:
<div>
<img src=“a-man-coding.jpg” alt=“Мужчина за компьютером”>
<p>Это изображение мужчины, который работает за компьютером</p>
</div>
С точки зрения кода, пример выше написан хорошо. Но лучше сделать все иначе. Если изображение не загрузилось, отображается содержимое alt, и на экране показывается текст из элемента <p>. Но посетитель, использующий средства чтения с экрана, не сможет отличить тексты в <p> и alt.
Помните: даже если ваш код работает, это еще не значит, что вы делаете все правильно.
Лучше сделать вот так:
<figure>
<img src=“a-man-coding.jpg” alt=“ Мужчина за компьютером”>
<figcaption>Это изображение мужчины, который работает за компьютером</figcaption>
</figure>
Пример выше – отличный способ, как можно добавить подписи к изображениям.
Почему важно добавлять подписи к изображениям именно так:
Поисковая оптимизация. Ваши изображения легче найти в поисковых системах.
Посетителям, использующим средства чтения с экрана, проще понять содержимое вашей страницы.
Не используйте div для шапки и подвала; для этого подходят семантические элементы
Семантические элементы HTML используются для логической разметки структуры документа на странице. Кроме того, они нужны для правильной сборки страницы.
Откажитесь от <div> в пользу семантики. Не используйте <div> для обозначения шапки и подвала страницы. Для этих целей есть семантические элементы <header> и <footer>.
Элемент <header> показывает навигацию или вводную часть страницы.
В элементе <footer> размещается информация об авторских правах или ссылки для перехода на страницы.
Не делайте так:
<div class="header">
<a href="index.html">Главная</a>
<a href="#">О нас</a>
<a href="#">Контакты</a>
</div>
<div class="footer">
<a href="index.html">Главная</a>
<a href="#">О нас</a>
<a href="#">Контакты</a>
</div>
В примере выше тег <div> используется в качестве контейнера для <header> и <footer>. Такой код будет работать, но это не самый правильный способ реализации.
Лучше вот так:
<header>
<h1></h1>
</header>
<footer>
<a href="index.html">Главная</a>
<a href="#">О нас</a>
<a href="#">Контакты</a>
</footer>
Лучше всего добавлять <footer> и <header> на страницу именно так.
Почему важно добавлять <footer> и <header> с помощью семантических элементов HTML:
Использование семантических элементов для шапки и подвалаупрощает чтение кода.
Такой способ предлагает более качественный пользовательский опыт. Посетителям, использующим средства чтения с экрана, будет проще понять содержимое страницы.
Не используйте <b> и <i> для выделения текста на странице
Теги <b> и <i> выделяют текст жирным шрифтом (b) или курсивом (i). Но не стоит ими пользоваться на сайте, поскольку оба тега не несут семантической нагрузки. Для выделения текста лучше подходит свойство CSS font-weight, либо теги <strong> и <em>.
Тегом <strong> отмечают важный текст на странице. Он выделяет текст или делает его жирным. Тег <em> подчеркивает текст или добавляет курсив (точно также, как <i>).
Не делайте так:
<p><i>Пишите код в своем собственном темпе</i><p>
<p><b>пишите код в своем собственном темпе </b><p>
В этом примере текст выделяется жирным и курсивом. Но пользователи со средствами для чтения с экрана не заметят разницы. Данные теги не несут семантического значения.
Спецификация HTML 5 рекомендует нам использовать теги <b> и <i> только в самых крайних случаях и при отсутствие альтернативных вариантов.
Лучше делайте так:
<p><strong>Пишите код в своем собственном темпе</strong><p>
<p><em>пишите код в своем собственном темпе</em><p>
Не используйте блочные элементы внутри строчных
Блочные элементы начинают новую строку на странице. По умолчанию действие этих элементов распространяется на всю строку – от ее начала до конца. Вы не сможете добавить строчные элементы внутри блочных без CSS.
К блочным элементам относятся <p>, <h1> – <h6> и <div>.
Строчные элементы действуют на небольшую часть страницы. Они не начинаются с новой строки.
К строчным элементам относятся <span>, <em> и <a>.
Вы не можете добавить блочные элементы внутри строчных.
Не делайте так:
<a href="#" >
<p>Посетите merion</p>
</a>
У вас не получится добавить <p> внутрь элемента <a>, поскольку <p> относится к блочным элементам, а <a> – к строчным.
Лучше сделать так:
<p>
Посетите <a href="wiki.merionet.ru" target="_blank">Merion</a>
для изучения IT
</p>
Это отличный пример того, как можно вложить строчные элементы внутри блочных.
Важно помнить, что:
Блочный элемент нельзя вложить внутри строчного.
Строчный элемент можно вложить внутри блочного.
Строчный и блочный элемент можно вложить внутри блочного.
Небольшое уточнение: «вложить» что-то в данном случае означает «добавить внутрь». Так что, говоря «это нельзя вложить», я имею ввиду, что вы не сможете добавить один такой элемент внутрь другого.
Надеюсь, вы запомнили 3 простых правила для вложения элементов.
Кроме того, CSS позволяет преобразовать блочные элементы в строчные. Для этого используется display: inline-block и display: inline.
А еще важно помнить простую истину: даже если ваш код работает, это еще не значит, что вы делаете все правильно.
Именно поэтому я всегда рекомендую пользоваться валидатором разметки W3C и дополнительно проверять свой код.
Этот валидатор отслеживает правильность разметки веб-документов в HTML, XHTML, SMIL, MathML и т.д.
Для проверки кода можно скопить его URL и добавить на сайт, либо загрузить сам файл HTML.
Заключение
Надеемся, что данная статья помогла вам узнать что-то новое о лучших практиках в HTML. Мы постарались включить в нее самые полезные советы, которыми можно начинать пользоваться уже сегодня.
Для захвата трафика можно использовать маршрутизаторы Cisco, при помощи утилиты Cisco Embedded Packet Capture, которая доступна, начиная с версии IOS 12.4.20T. В этой статье мы расскажем, как настроить EPC для захвата пакетов на роутере, сохранять их на flash памяти или экспортировать на ftp/tftp сервер для будущего анализа, при помощи анализатора пакетов, например, такого как Wireshark.
Давайте рассмотрим некоторые из основных функций, которые предлагает нам Embedded Packet Capture:
Экспорт пакетов в формате PCAP, обеспечивающий анализ с помощью внешних инструментов
Возможность задать различные параметры буфера захвата
Отображение буфера захвата
Захват IPv4 и IPv6 пакетов в пути Cisco Express Forwarding
Прежде чем начать конфигурацию Cisco EPC необходимо разобраться с двумя терминами, которые будут использоваться в процессе – Capture Buffer(буфер захвата) и Capture Point (точка захвата)
Capture buffer – это зона в памяти для хранения пакетных данных. Существует два типа буферов захвата Linear (линейный) и Circular (кольцевой):
Linear Capture Buffer – когда буфер захвата заполнен, он перестает захватывать данные
Circular Capture Buffer – когда буфер заполнен, он продолжает захватывать данные, перезаписывая старые данные
Capture Point – это точка транзита трафика, в которой фиксируется пакет. Тут определяется следующее:
IPv4 или IPv6
CEF (Cisco Express Forwarding) или Process-Switched
Интерфейс (например Fast Ethernet 0/0, Gigabit Ethernet 1/0)
Направление трафика: входящий (in), исходящий (out) или оба
Настройка Cisco Embedded Packet Capture
Рассмотрим настройку на примере нашей схемы, где мы хотим захватить входящие и исходящие пакеты на интерфейсе FastEthernet 0/0 от ПК с адресом 192.168.1.5 до веб-сервера wiki.merionet.ru с адресом 212.193.249.136
Первым делом мы создадим буфер, который будет хранить захваченные пакеты. Для этого используем команду monitor capture buffer [имя] size[размер] [тип] . Создадим буфер merionet_cap, размером 1024 килобайта (1 мегабайт, стандартный размер) и сделаем его линейным.
Router#monitor capture buffer merionet_cap size 1024 linear
Далее мы можем настроить захват определенного трафика. В нашем случае нужно захватить трафик между 192.168.1.5 и 212.193.249.136. Это достигается при помощи списков контроля доступа ACL. Мы можем использовать стандартные или расширенные списки доступа в зависимости от требуемой детализации. Если список доступа не настроен, то захвачен будет весь трафик.
Router(config)#ip access-list extended web-traffic
Router(config-ext-nacl)#permit ip host 192.168.1.5 host 212.193.249.136
Router(config-ext-nacl)#permit ip host 212.192.249.136 host 192.168.1.5
Наш список доступа включает трафик, исходящий от обоих хостов, потому что мы хотим захватить двунаправленный трафик. Если бы мы включили только один оператор ACL, тогда был бы зафиксирован только односторонний трафик. Теперь свяжем наш буфер с access-list’ом, при помощи команды monitor capture buffer [название_буфера] filter access-list [название_ACL]
Router#monitor capture buffer merionet_cap filter access-list web-traffic
Затем следующем шагом мы определяем, какой интерфейс будет точкой захвата. В нашем случае это FastEthernet 0/0, и мы будем захватывать как входящие, так и исходящие пакеты. Во время этой фазы конфигурации нам нужно предоставить имя для точки захвата.
Также очень важно ввести команду ip cef для обеспечения минимального влияния на процессор маршрутизатора, при помощи Cisco Express Forwarding. Если ip cef не включен, то появится сообщение IPv4 CEF is not enabled.
Используем команду monitor capture point ip cef [имя_точки] [интерфейс] [направление] .
Router#monitor capture point ip cef MNpoint FastEthernet0/0 both
Теперь мы связываем сконфигурированную точку захвата с буфером захвата командой monitor capture point associate [название_точки][название_буфера] . На этом этапе мы готовы начать сбор пакетов.
Router#monitor capture point associate MNpoint merionet_cap
Чтобы начать сбор пакетов используем команду monitor capture point start [название_интерфейса] .
Router# monitor capture point start MNpoint
Чтобы остановить процесс захвата используется команда monitor capture point stop [название_интерфейса] .
Router# monitor capture point stop MNpoint
Полезные команды проверки:
show monitor capture buffer – показывает состояние буфера захвата
show monitor capture point – показывает состояние точки захвата
show monitor capture buffer [название_буфера] – показывает информацию о захваченных пакетах
show monitor capture buffer [название_буфера] dump – показывает содержание буфера
Экспорт данных
В большинстве случаев захваченные данные необходимо будет экспортировать в сетевой анализатор трафика (например, WireShark) для дополнительного анализа в удобном для пользователя интерфейсе. Захваченный буфер можно экспортировать в несколько местоположений, включая: flash: (на маршрутизаторе), ftp, tftp, http, https, scp и другие.
Для экспорта буфера используется команда monitor capture buffer[имя_буфера] export [адрес] .
Router#monitor capture buffer merionet_cap export tftp://192.168.1.10/capture.pcap
После этого файл capture.pcap появится на нашем TFTP сервере, и мы можем открыть его в сетевом анализаторе.