Spanning tree portfast edge что это

Rapid STP

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Протоколы семейства STP обычно несильно будоражат умы инженеров. И в большинстве своём на просторах интернета чаще всего сталкиваешься с деталями работы максимум протокола STP. Но время не стоит на месте и классический STP всё реже встречается в работе и в различных материалах вендоров. Возникла идея сделать небольшой обзор ключевых моментов RSTP в виде FAQ. Всем, кому интересен данный вопрос, прошу под кат.

Что настраивать STP, RSTP или MST?

В современных стандартах протокол STP уже нигде не фигурирует. Известный всем 802.1d в последней редакции (802.1d-2004) описывает протокол RSTP. При этом MST перекочевал в 802.1q (802.1q-2014). Как мы помним, ранее RSTP описывался стандартом 802.1w, а MST — 802.1s.

RSTP и MST имеют существенно меньшее время сходимости. Они намного быстрее перестраивают топологию сети в случае отказа оборудования или каналов связи. Время сходимости для ряда отказов этих протоколов меньше 1 секунды против 30+ секунд в случае STP. Поэтому классический STP рекомендуется использовать только там, где задействуется старое оборудование, не поддерживающее более современные протоколы.

MST в своей работе использует алгоритмы RSTP. Но в отличие от RSTP, MST позволяет создавать отдельную топологию (instance) STP для группы VLANов. В случае обычного RSTP у нас на все VLANы одна общая топология. Это не очень удобно, так как не позволяет даже в ручном режиме балансировать трафик по разным каналам. А значит, мы теряем, как минимум половину пропускной способности в случае наличия избыточных путей.

Некоторые вендоры (в частности Cisco) предлагают ещё одну разновидность быстрого протокола STP – Rapid Per-VLAN Spanning Tree (PVRST+). В этом случае для каждой виртуальной сети строится своя топология, что позволяет более эффективно утилизировать каналы. Основной минус такого подхода – это ограничение на максимальное количество таких топологий. Для обеспечения работы каждой топологии устройство тратит аппаратные ресурсы. А они не безграничны. Например, в коммутаторах Cisco 2960 поддерживается максимум 128 «инстансов» STP.

Таким образом, MST является хорошей альтернативой между стандартным RSTP и проприетарным PVRST+. Особенно если наша сеть построена на базе коммутаторов разных производителей. Стоит заметить, что все три вариации быстрого STP совместимы друг с другом.

В дальнейшем, упоминая RSTP, мы будем подразумевать в том числе и его расширения MST/PVRST+.

Какие технологии обеспечивают быстроту реакции в работе RSTP?

RSTP в первую очередь опирается на работу механизмов, не привязанных к стандартным таймерам. Именно поэтому он позволяет получить существенно меньшее время сходимости сети. Можно выделить следующие улучшения в работе RSTP по сравнению с классическим STP:

В классическом варианте BPDU «генерит» в сети только корневой коммутатор. Все остальные устройства лишь ретранслируют его. Таким образом, отсутствие BPDU от вышестоящего устройства значит, что проблема может быть в любом месте между данным устройством и корневым коммутатором. Поэтому приходилось ждать достаточно долго (MaxAge=20 сек) прежде чем, смириться с тем, что что-то пошло не так и нужно перестраивать топологию.

В случае RSTP сообщения BPDU стали выполнять роль Hello-пакетов. Теперь потеря трёх таких пакетов (а это 2*3=6 сек) означает, что пора задуматься об изменениях в топологии.

В классическом STP порт, который должен стать корневым, проходит все стадии по переходу в режим передачи (Listening → Learning → Forwarding), что занимает более 30 секунд.

Прежде чем коснуться механизма Proposal/Agreement, нужно отметить два разных типа портов в RSTP: пограничный порт (Edge port) и не пограничный (non-Edge port). В Edge порт подключаются оконечные устройства (ПК, серверы, в ряде случаев маршрутизаторы и пр.). В не Edge-порт подключаются другие коммутаторы, участвующие в топологии STP.

Тип порта Edge задаётся вручную. Коммутатор не может быстро определить, кто к нему подключен: обычный хост или коммутатор. Конечно, он мог бы ориентироваться на наличие BPDU на этом порту. Но по стандарту коммутатор должен обязательно подождать минимум 15 секунд (Forward delay) прежде, чем решить, что на его порт так и не пришло ни одно сообщение. А это слишком долго. Поэтому право определить, что подключено к порту, доверили человеку.

На коммутаторах Cisco тип порта Edge задаётся командой spanning-tree portfast.

RSTP использует механизм Proposal/Agreement для быстрого переходя портов из состояния Discarding в состояние Forwarding. Этот механизм запускается, когда у коммутатора меняется Root Port (как минимум при включении в сеть). В этом случае он выключает все порты, не являющиеся Edge-портами. Об этом оповещает вышестоящий коммутатор (куда как раз смотрит Root port), после чего включает в режим Forwarding только Root port. Остальные порты (не Edge) находятся в заблокированном состоянии, пока не произойдёт одно из двух:

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

RSTP отличается от STP тем, что состояние порта отвязали от его роли. Это позволило описать роль порта в топологии сети без оглядки на его состояние. А значит, обладать лучшим видение топологии сети и возможностью оперативно реагировать на изменения в ней. Так появились альтернативный (alternative) и резервный (backup) порты. Альтернативный порт – замена корневому. Через него может быть достигнут корневой коммутатор, но при этом данный порт не имеет роли корневого (т.е. получает BPDU c худшей метрикой) и не является назначенным (т.е. не является лучшим в данном сегменте сети для достижимости корневого устройства).

В протоколе RSTP альтернативный порт переходит в состояние передачи сразу же после того, как откажет корневой. Такого же поведения можно добиться в классическом STP, используя проприетарные доработки. Например, Cisco предлагает для этих целей технологию UplinkFast.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

В такой ситуации, если у устройства есть другой маршрут к корневому коммутатору, в классическом STP порт, который ранее был заблокирован, пройдёт все стадии и переключится в режим передачи только через 50 секунд (MaxAge + 2x Forward Delay).

В случае RSTP коммутатор немедленно оценит полученный BPDU (в RSTP нет MaxAge таймера) и начнёт передавать свои, выставив флаг Proposal. Получив такое BPDU, коммутатор, потерявший связь с «рутом», примет участие в механизме Proposal/Agreement, так как у него сменился корневой порт. А дальше достаточно оперативно порты на обоих коммутаторах перейдут в состояние передачи.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Классический STP считает, что топология изменилась, если порт перешёл из состояния заблокированный в состояние передачи или наоборот. Так как изменение топологии может привести к тому, что MAC адреса станут доступны через другие порты (а значит, коммутатор будет слать пакеты не туда), запускается процедура оповещения всех устройств о таком событии. Для этого рассылается сообщение Topology Change Notification (TCN). Получив которое, коммутатор меняет время старения MAC адресов со значения по умолчанию (300 сек) на 15 сек (Forward Delay). Сообщение TCN рассылается в два этапа. Сначала коммутатор, обнаруживший изменения в топологии, отправляет его в сторону корневого коммутатора. Далее корневой коммутатор, получив такое сообщение, узнаёт об изменении в сети и рассылает TCN сообщение (BPDU с соответствующим флагом) уже всем остальным. Двухуровневая схема необходима, так как BPDU в классическом варианте отправляется только корневым коммутатором.

В случае RSTP изменением в топологии считается только переход порта в режим передачи. Причём учитываются порты, которые не являются пограничным (non-edge port). Это и логично, так как переход порта в заблокированное состояние автоматически делает MAC адреса за ним больше не доступными. Как только обнаружено изменение топологии, коммутатор рассылает через все порты (корневой и назначенные) BPDU c флагом TC. Такое сообщение быстро распространяется по сети. Получив его, коммутаторы удаляют из таблицы все MAC адреса доступные через не edge порты, за исключением того, где был получен BPDU c флагом TC.

Edge порт никогда не вызывает изменений в топологии, а также для такого порта не сбрасываются MAC адреса в случае получения BPDU c флагом TC.

Почему RSTP иногда «тормозит» и переводит порт в режим передачи трафика только через несколько десятков секунд?

RSTP в своей работе использует обычные таймеры в следующих случаях:

Деление на порты Edge и non-Edge характерно не только для RSTP, но и для STP. Но в случае STP – это вендорная доработка протокола, нежели требования стандарта.

Основные «ЗА» включения на порту режима Edge (для оборудования Cisco – это portfast) в случае использования протокола STP:

С настройкой порта в режиме Edge нужно быть аккуратными.

Давайте посмотрим на поведение коммутатора Cisco с портом в режиме portfast (Edge). Порт сразу переходит в режим передачи. Но он продолжает участвовать в передаче BPDU и главное продолжает слушать сеть на наличие BPDU от других устройств, на случай если по ошибке к нему подключили другой коммутатор. Если вдруг приходит BPDU, порт теряет свое состояние portfast и проходит стандартные фазы RSTP. Так в чём же может быть проблема?

BPDU отправляются в диапазоне от 0 до 2 секунд после включения порта. Плюс можно добавить к этому время распространения BPDU по сети (актуально для STP). Поэтому в течение нескольких секунд в сети может быть петля. Если трафика будет очень много, этих секунд может оказаться достаточно, чтобы широковещательный шторм, порождённый петлёй, «убил» control-plane нашего коммутатора. Чтобы этого не допустить рекомендуется portfast настраивать в связке с дополнительными технологиями, например: BPDU Guard и storm-control.

Если сеть многовендорная, причём часть оборудования вообще не поддерживает STP ни в каком виде, всё будет плохо?

Это вопрос не совсем связан с работой RSTP, но всё же я решил его включить. Как это ни странно, подобные вопросы периодически возникают у наших заказчиков. Поэтому есть смысл на нём остановиться.

Если коммутатор не поддерживает STP ни в каком виде, что же он будет делать с BPDU пакетами? Ответ прост – передавать такие пакеты через все порты. В качестве MAC адреса назначения BPDU пакета STP и RSTP устанавливают адрес 0180.C200.0000, который является multicast адресом. Такой BPDU пакет передаётся в рамках VLAN 1.

Протокол MST данные обо всех топологиях упаковывает в один BPDU (кстати, именно поэтому максимальное количество инстансов для MST — 64). В качестве адреса назначения используется стандартный MAC-адрес 0180.C200.0000.

Протоколы PVST+ и PVRST+ в своей работе используют два типа BPDU:

Ещё один занятный момент связан с тем, что даже если мы исключим VLAN 1 из транка между коммутаторами, BPDU для первого VLAN всё равно будут передаваться.

В итоге, если в нашей топологии будет коммутатор, не поддерживающий STP, он будет выглядеть для топологии STP, как обычный канал связи.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

А что произойдёт, если соединить два порта между собой на коммутаторе SW1 (т.е. сделать кольцо). Наша сеть погибнет? Есть большой шанс, что нет. В этом случае Root SW получит собственный BPDU на тот же порт, с которого его отправил. После этого он сразу же его заблокирует. И петля останется «жить» только в пределах коммутатора SW1. Но положительный исход возможен, только если Root SW раньше времени не «захлебнётся» от широковещательного шторма, появившегося вследствие петли на SW1. Поэтому лучше не использовать в сети коммутаторы, не поддерживающие STP.

Нужен ли STP/RSTP/MST/… в сети, если там нет петель?

Безусловно. Если петли нет сейчас, не факт, что она не появится в будущем. Например, из-за простой человеческой ошибки, когда один access-порт коммутатора подключается к другому access-порту того же устройства.

Данный FAQ не претендует на полноту. Он носит скорее ознакомительный характер и задаёт некий вектор дальнейших изысканий по тому или иному вопросу, связанному с работой современных протоколов семейства STP.

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Полный обзор RSTP (Rapid Spanning Tree)

Быстрее, выше, сильнее STP

Классический стандарт связующего дерева работает нормально, но в настоящее время для современных сетей он слишком медленный 🐌

Онлайн курс по Кибербезопасности

Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

В настоящее время мы наблюдаем в наших сетях все больше и больше маршрутизации. Протоколы маршрутизации, такие как OSPF и EIGRP, намного быстрее адаптируются к изменениям в сети, чем spanning-tree. Чтобы не отставать от скорости этих протоколов маршрутизации, была создана еще одна разновидность связующего дерева. (rapid spanning tree) быстрое связующее дерево.

Азы Rapid spanning tree

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Помните состояние портов spanning tree? У нас есть блокирующее, прослушивающее, обучающее и пересылающее состояние порта. Это первое различие между spanning tree и rapid spanning tree. Rapid spanning tree имеет только три состояния портов:

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Вот хороший обзор с различными состояниями портов для spanning tree и rapid spanning tree. В таблице отображено состояние портов: активны ли они и узнают ли они MAC-адреса или нет.

Помните ли вы все остальные роли портов, которые есть у spanning tree? Давайте сделаем небольшой обзор, и будет показано отличие от rapid spanning tree.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

На каждом сегменте может быть только один назначенный порт, иначе мы получим петлю. Порт станет назначенным портом, если он сможет отправить лучший BPDU. Коммутатор А, как корневой мост, всегда будет иметь лучшие порты, поэтому все интерфейсы будут назначены. Интерфейс fa0/16 на коммутаторе B будет назначенным портом в моем примере, потому что он имеет лучший идентификатор моста, чем коммутатор C. Здесь все еще нет ничего нового по сравнению с классическим связующим деревом.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Коммутатор C получает лучшие BPDU на своем интерфейсе fa0/16 от коммутатора B, и таким образом он будет заблокирован. Это альтернативный порт, и это все еще то же самое, что и для rapid spanning tree.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Вот вам новый порт, взгляните на интерфейс fa0/17 коммутатора B. Он называется резервным портом и является новым для rapid spanning tree. Однако вы вряд ли увидите этот порт в производственной сети. Между коммутатором B и коммутатором C был добавлен хаб. Обычно (без промежуточного концентратора) оба fa0/16 и fa0/17 будут назначены портами. Из-за хаба интерфейсы fa0/16 и fa0/17 коммутатора B теперь находятся в одном домене коллизий. Fa0/16 будет выбран в качестве назначенного порта, а fa0/17 станет резервным портом для интерфейса fa0/16. Причина, по которой коммутатор B видит интерфейс fa0/17 в качестве резервного порта, заключается в том, что он получает свои собственные BPDU на интерфейсах fa0/16 и fa0/17 и понимает, что у него есть два соединения с одним и тем же сегментом. Если вы удалите хаб, то fa0/16 и fa0/17 будут назначены портами точно так же, как classic spanning tree.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

BPDU отличается для rapid spanning tree. В classic spanning tree поле flags использовало только два бита:

Теперь используются все биты поля flags. Роль порта, который создает BPDU, будет добавлена с помощью поля port role, оно имеет следующие параметры:

Что поменялось

BPDU теперь отправляются каждый hello time. Только корневой мост генерирует BPDU в classic spanning tree, и они ретранслировались non-root, если они получали его на свой корневой порт. Rapid spanning tree работает по-разному. все коммутаторы генерируют BPDU каждые две секунды (hello time). Это hello timeпо умолчанию, но вы можете его изменить.

classic spanning tree использует максимального время жизни (20 секунд) для BPDU, прежде чем они будут отброшены. Rapid spanning работает по-другому! BPDU теперь используются в качестве механизма поддержания активности, аналогичного тому, что используют протоколы маршрутизации, такие как OSPF или EIGRP. Если коммутатор пропускает три BPDU от соседнего коммутатора, он будет считать, что подключение к этому коммутатору было потеряно, и он немедленно удалит все MAC-адреса.

Rapid spanning tree будет принимать низшие BPDU. Classic spanning tree игнорирует их. Скорость перехода (время сходимости) является наиболее важной характеристикой rapid spanning tree. Classic spanning tree должно было пройти через состояние прослушивания и обучения, прежде чем оно переведет интерфейс в forwarding состояние, это занимает 30 секунд (таймер по умолчанию). Classic spanning было основано на таймерах.

Rapid spanning не использует таймеры, чтобы решить, может ли интерфейс перейти в forwarding состояние или нет. Для этого он будет использовать переговорный (negotiation) механизм. Чуть позже я покажу вам, как это работает.

Помните ли вы понятие portfast? Если мы включим portfast во время запуска classic spanning tree, оно пропустит состояние прослушивания и обучения и сразу же переведет интерфейс в forwarding состояние. Помимо перевода интерфейса в forwarding состояние, он также не будет генерировать изменения топологии, когда интерфейс переходит в состояние UP или DOWN. Мы все еще используем portfast для rapid spanning tree, но теперь он называется пограничным портом (edge port).

Rapid spanning tree может только очень быстро переводить интерфейсы в forwarding состояние на edge ports (portfast) или интерфейсы типа point-to-point. Он будет смотреть на link type, и есть только два ink types:

Обычно мы используем коммутаторы, и все наши интерфейсы настроены как full duplex, rapid spanning tree видит эти интерфейсы как point-to-point. Если мы введем концентратор в нашу сеть, то у нас будет half duplex, который рассматривается как shared interface к rapid spanning-tree.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Как только появится связь между коммутатором А и коммутатором B, их интерфейсы будут находиться в режиме блокировки. Коммутатор B получит BPDU от коммутатора A, и теперь будет происходить согласование, называемое синхронизацией.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Коммутатор B также выполнит операцию синхронизации как с коммутатором C, так и с коммутатором D, чтобы они могли быстро перейти в forwarding состояние.

Главное, что следует усвоить здесь, заключается в том, что rapid spanning tree использует этот механизм синхронизации вместо механизма «таймера», который использует classic spanning tree (прослушиваниеобучениеforwarding).

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Давайте увеличим масштаб механизма синхронизации rapid spanning tree, подробно рассмотрев коммутатор A и коммутатор B. Сначала интерфейсы будут заблокированы до тех пор, пока они не получат BPDU друг от друга. В этот момент коммутатор B поймет, что коммутатор A является корневым мостом, потому что он имеет лучшую информацию BPDU. Механизм синхронизации начнется, потому что коммутатор А установит proposal bit в поле flag BPDU.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Коммутатор B получает предложение от коммутатора A и понимает, что он должен что-то сделать. Он заблокирует все свои non-edge интерфейсы и запустит синхронизацию в направлении коммутатора C и коммутатора D.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Как только коммутатор B перевед свои интерфейсы в режим синхронизации, это позволит коммутатору А узнать об этом, отправив соответствующее соглашение.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Как только коммутатор A получит соглашение от коммутатора B, он немедленно переведет свой интерфейс fa0/14 в режим пересылки. А как насчет интерфейса fa0 / 16 и fa0 / 19 на коммутаторе B?

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Точно такой же механизм синхронизации будет иметь место и сейчас на этих интерфейсах. Коммутатор B направит предложение по своим интерфейсам fa0/16 и fa0/19 в сторону коммутатора C и коммутатора D.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Коммутатор C и коммутатор D не имеют никаких других интерфейсов, поэтому они отправят соглашение обратно на коммутатор B.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Что еще нового в rapid spanning tree?

Когда вы настраиваете classic spanning tree, вы должны включить UplinkFast самостоятельно. Rapid spanning tree использует UpLinkFast по умолчанию, вам не нужно настраивать его самостоятельно. Когда коммутатор теряет свой корневой порт, он немедленно переводит свой альтернативный порт в forwarding.

Разница заключается в том, что classic spanning tree нуждалось в multicast кадрах для обновления таблиц MAC-адресов всех коммутаторов.

Нам это больше не нужно, потому что механизм изменения топологии для rapid spanning tree отличается. Так что же изменилось в механизме изменения топологии?

С classic spanning tree сбой связи вызвал бы изменение топологии. При использовании rapid spanning tree сбой связи не влияет на изменение топологии. Только non-edge интерфейсы (ведущие к другим коммутаторам), которые переходят в forwarding состояние, рассматриваются как изменение топологии. Как только коммутатор обнаружит изменение топологии это произойдет:

Когда соседний коммутатор получит этот BPDU с установленным битом изменения топологии, произойдет следующее:

Вместо того, чтобы отправлять изменения топологии вплоть до корневого моста, как это делает classic spanning tree, изменение топологии теперь быстро распространяется по всей сети.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

И последнее, но не менее важное, давайте поговорим о совместимости. Rapid spanning tree и classic spanning tree совместимы. Однако, когда коммутатор, на котором работает Rapid spanning tree, связывается с коммутатором, на котором работает classic spanning tree, все функции скоростной передачи данных не будут работать!

В приведенном выше примере у меня есть три коммутатора. Между коммутатором A и коммутатором B мы запустим rapid spanning tree. Между коммутатором B и коммутатором C мы вернемся к classic spanning tree.

Полный курс по Сетевым Технологиям

В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer

Источник

Основы компьютерных сетей. Тема №7. Протокол связующего дерева: STP

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Приветствую на очередной статье по основам компьютерных сетей. Сегодня затронем еще одно семейство протоколов в мире коммутации. И сегодня мы поговорим о протоколах связующего дерева или STP. Узнаем, как это дерево строиться, как можно им управлять, что такое петли, как с ними бороться. Тема интересная, поэтому приглашаю ознакомиться поподробнее.

P.S. Возможно, со временем список дополнится.

Долго думал с чего начать. По-хорошему начинать надо с теории. Но смысл разбирать протокол, когда еще не сталкивался с проблемой, которую этот протокол может решить. Поэтому решил начать с небольшой практики и показать, обо что можно сразу споткнуться. Далее разобраться с это проблемой и показать, что делать дальше. Соберу самую обычную схему.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Есть 2 компьютера и 2 коммутатора, подключенных друг к другу. Адрес у PC1-192.168.1.2, а у PC2-192.168.1.3. Компьютеры общаются друг с другом, что-то друг другу отправляют. Но мы замечаем уязвимое место.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Если произойдет обрыв кабеля, то участники останутся без связи. И самая первая мысль, которая приходит в голову — это воткнуть еще один кабель. Но первая мысль не всегда бывает верна. На картинках это не показать, поэтому я покажу это в виде анимации.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Думаю заметили, как странно и синхронно замигали линки. Это явление зовут петлей. Чтобы подробнее с ней ознакомиться, необходимо перейти в режим симуляции. Открывайте спойлер ниже и любуйтесь.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Объясню подробнее. Итак, PC1 решает отправить пакет ICMP компьютеру PC2. Как правило, перед началом отправки, нужно узнать его MAC-адрес, и он пускает в ход ARP. Вспоминаем, как работают коммутаторы с ARP. Они отправляют его на все порты, кроме исходящего. Что происходит у нас.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Коммутатор, согласно своей логике, отправляет ARP на оба порта (fa0/2 и fa0/24). Но не отправляет его на fa0/1.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

SW2 поступит точно также. Тот ARP, который он получил с порта fa0/24, он отправит на активный порт fa0/2. А второй ARP, полученный с порта fa0/2, отправит на fa0/24. Казалось бы, что мы уже получали с 24-ого порта ARP. Но тут нюанс. Мы получали ARP с другого порта и отдельным ARP сообщением. Поэтому для коммутатора — это 2 разных кадра и обрабатываются они независимо друг от друга. Ну а дальше по аналогии. SW2 отправит один из ARP-ов обратно на SW1, а тот, в свою очередь, обратно SW2. И гулять он будет так до бесконечности, пока не будет выдернут кабель или пока коммутатор не «захлебнется» кадрами и перестанет отвечать. Это и есть петля. Соответственно, чем больше коммутаторов, тем больше кадров будут создано, что приведет к быстрому отказу сети. Поэтому повышая избыточность соединений, мы повышаем вероятность получения петель. Кому интересно посмотреть на это мерцание у себя на компьютере, качайте отсюда.

Поняли ведущие умы, что это плохо и с этим нужно бороться. Задачу эту возложили на плечи выдающегося инженера Радию Перлман (Radia Joy Perlman) в 1985 году. В чем суть ее технологии. У вас есть N-ое количество коммутаторов, соединенных друг с другом. И перед тем, как передавать пользовательские данные, они ведут переговоры между собой на право стать корневым коммутатором или «root switch». Остальные коммутаторы оставляют включенными только те интерфейсы, которые ведут к корневому коммутатору, а остальные отключают. Тем самым, к каждому коммутатору можно попасть только по одному пути. Разберем этот процесс более подробно.

У нас есть 3 коммутатора, соединенных друг с другом.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Если плохо видно, можно кликнуть по ней и откроется оригинал изображения (открывайте изображение нажатием колеса мышки, либо правой кнопкой по «Открыть ссылку в новой вкладке», чтобы не закрывать саму статью).
Очень много непонятных полей. Ознакомимся с ними и приведем всю эту кашу в порядок.

Скорость каналаСтоимость
10 Гбит/с2
1 Гбит/с4
100 Мбит/с19
10 Мбит/с100

Во многих изданиях «цисковских» и сторонних, работу STP показывают на примере 3 коммутаторов, соединенных между собой. Не буду отходить от традиции и сделаю аналогично.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

И так как на коммутаторах работает протокол STP, им нужно выбрать того, кто будет главным в топологии или корневым (root). Для этого, они начинают обмениваться BPDU-кадрами. Вот тут как раз важны поля 5, 6 и 7. Я специально хочу остановиться на них. Изначально коммутаторы в поле 5 (Идентификатор корневого моста или Root Identifier) начинают записывать свой «приоритет + MAC-адрес». Если вручную ничего не менять, то приоритет равен 32678. Дальше коммутатор, который получит этот кадр от соседа, будет сравнивать свой «Root Identifier» с вновь прибывшим. Если он увидит, что у соседа этот Root ID ниже, то с этого момента он будет ретранслировать его BPDU. В результате в сети останется только один коммутатор, который будет генерировать BPDU.

В поле 6 «Root Path Cost» коммутатор запишет стоимость пути. При создании BPDU, корневой коммутатор записывает туда 0, так как это он и есть. А вот следующие коммутаторы уже начинают суммировать стоимость по таблице, представленной выше.

Ну и в поле 7 «Bridge Identifier» записывается связка «приоритет + MAC-адрес» самого коммутатора. То есть, если в «Root Identifier» всегда записывается связка корневого коммутатора, то в это поле, он всегда записывает свою. То есть при ретрансляции BPDU от соседа к соседу, коммутаторы сюда дописывают свой Bridge ID.

Скажу пару слов о связке «приоритет + MAC-адрес». Они ни в коем случае не суммируются. Знак «+» я вставил в том контексте, что они всегда работают вместе. Сначала коммутаторы, при проведении выборов, смотрят на приоритет. И если приоритеты равны (а по-умолчанию они равны), то начинает опираться на MAC-адреса. И тот, у кого MAC-адрес меньше, становится главным, корневым или root. Называйте как вам удобно. Вот приоритет нужен как раз для того, чтобы административно влиять на выбор корневого коммутатора. Представьте ситуацию, что у вас есть 2 коммутатора. Один из них новый и производительный, а второй старый, древний и в скором времени пойдет под списание. И тут выясняется, что у старого коммутатора MAC-адрес меньше, чем у нового коммутатора, а значит, при равных приоритетах, выигрывать всегда будет старый коммутатор. Вот для решения такой спорной задачи и нужен приоритет. Причем, когда вы меняете приоритет, он обязан быть кратным 4096 (то есть 32768, 28672, 24576 и так далее). Возвращаемся к схеме.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Ну и так как приоритеты у трех коммутаторов одинаковые, то выборы они начинают по MAC-адресам. Наименьший MAC-адрес у Switch 1 => он становится корневым.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Раз Switch 1 становится корневым, то он сразу переводит все свои интерфейсы в режим «Designated». То есть это порт, который имеет самый короткий путь до корневого коммутатора (в данном случае до самого себя).

Дальше Switch 2 и Switch 3 должны решить для себя, какой порт будет корневым. То есть тот порт, который имеет наименьшую стоимость пути до корневого коммутатора. Здесь все очевидно. Если вдруг получится, что стоимость по нескольким портам будет одинаковая, то он выберет порт с наименьшим порядковым номером или именем. Например, из портов fa0/1, fa0/2 и fa0/3, будет выбран fa0/1.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Root-порты определены, но что делать с линком между Switch 2 и Switch 3, ведь он может создать петлю?! Для ее предотвращения они договариваются, кто из них отключит свой порт.

Договариваться они будут также по Bridge ID. Приоритеты равны, поэтому смотрим по MAC-адресам. У Switch 2 MAC-адрес меньше, поэтому он переводит порт в режим «Designated», а Switch 3 в режим «Non-Designated». «Non-Designated» — такой режим, при котором порту запрещено передавать какие-либо данные, но разрешено слушать, что происходит в сети. То есть, если отвалится какой-то линк, он может включиться и полноправно работать.

Помимо ролей, у портов есть состояния, которые они должны пройти в обязательном порядке. Объясню на примере построенной топологии. Вот у нас построено выше дерево STP. Петель нет и все замечательно. Один из портов коммутатора Switch 3 находится в состоянии Blocking. Вот он слушает BPDU и никого не трогает. Но если вдруг отвалится где-то линк или произойдет изменение топологии, он сразу переходит в состояние Listening или Прослушивание. В этом состоянии он отправляет, слушает только BPDU кадры и обрабатывает полученную информацию. Если он видит, что у соседей параметры хуже, чем у него, то по истечении 15 секунд, переходит в следующее состояние Learning или Обучение. Эта фаза длится также 15 секунд. В «Learning» порт делает практически все тоже самое, что и в предыдущем состоянии, за исключением того, что теперь строит таблицу коммутации на основании полученных кадров. Если по истечении 15 секунд, он не получит BPDU с параметрами лучше, чем у него, то перейдет в последнее состояние Forwarding или Продвижение. Это такое финальное и полноправное состояние. Он обменивается не только служебной информацией, но и пользовательскими данными. То есть переход из состояния Listening в Forwarding длится 30 секунд.

Есть еще состояние Disable или Отключен, когда вручную отключаете порт, но я не считаю, что это состояние STP. В этом состоянии передаваться ничего не будет. Это, грубо говоря, физическое отключение порта.

Вышепоказанный пример — это работа классического протокола STP, который еще называют CST (Classic Spanning Tree). Одним из его минусов — это то, что он строит одно единственное дерево для всей топологии. А учитывая, что появились VLAN-ы, то нужно было модифицировать этот протокол под них. Cisco, как пионер, выпустила протокол PVST (Per-VLAN Spanning Tree). Он позволял строить отдельное дерево для каждого VLAN. Единственное, что он работал с ISL (проприетарный цисковский протокол, работающий с тегированными кадрами), который применялся только на устройствах данного производителя. Но с появлением открытого протокола 802.1q, они быстренько модернизировали PVST и дали ему имя PVST+. Работает он также, как и его предшественник, но с 802.1q. Нарисую схему и объясню более подробно.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Вот, к примеру, у меня есть 2 VLAN-а. И для каждого VLAN-а, протокол PVST+ строит отдельное дерево. В принципе — это его отличие от CST. Выборы и переходы проходят аналогично и с тем же интервалом по времени. К сожалению, или к счастью, современные Cisco-коммутаторы уже не поддерживают CST.

Поэтому попрактикуемся на PVST+. Тем более, что, при работе сети в одном VLAN-е (который является VLAN-ом по-умолчанию), он мало чем будет отличаться от классического STP.

Я уже быстренько собрал лабораторку из 3-х коммутаторов и сейчас все наглядно покажу.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

И вот как только коммутаторы прошли все стадии, образуется STP-дерево.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Собственно, что и показано на рисунке.

Теперь покажу, что происходит с коммутаторами, когда дерево уже построено. По логике STP, корневой коммутатор должен отправлять Hello-кадр «подчиненным» коммутаторам с интервалом времени в 2 секунды.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Что он из себя представляет, вы видите на картинке выше. Прошу обратить внимание на поля кадра Ethernet 802.3. А именно «Source MAC-Address» и «Destination MAC-Address». В «Source MAC-Address» он записывает MAC-адрес своего порта (в данном случае FastEthernet 0/1). А в «Destination MAC-Address» мультикастовый адрес «0180.C200.0000», который посылается всем участникам, знающим, что такое STP и работающим с ним. Ну и сам кадр STP BPDU. Тут куча полей. Но заострю внимание на более важных, которые я отметил красным прямоугольником.

Мы уже знаем, кто является корневым коммутатором и какой порт заблокирован для устранения петли. Но на экзамене и в повседневной жизни мы будем оперировать командами, при помощи которых можно будет узнать, кто в сегменте является корневым, у кого заблокирован порт и прочую информацию. Начнем с коммутатора Switch1 и с самой важной команды «show spanning-tree». Ее важно запомнить.

Данная команда выводит информацию о всех процессах STP (то есть за каждый VLAN), в которых участвует коммутатор. В нашем случае всего один VLAN. Теперь поговорим о том, что означают эти письмена.

Первое, что бросается в глаза — это блок Root ID.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Он содержит информацию о приоритете, MAC-адресе и таймерах корневого коммутатора. Здесь красуется еще одна важная строчка «This bridge is the root». Она говорит о том, что именно этот коммутатор является корневым за данный VLAN. Поэтому, если вам надо будет найти корневой коммутатор, то ищите эту надпись. На соседнем коммутаторе (не являющимся корневым) этой строчки не будет.

Следующий блок — Bridge ID.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Здесь, соответственно, информация о текущем коммутаторе. На корневом коммутаторе этот блок идентичен вышестоящему.

Ну и ниже располагается таблица.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

В ней записаны интерфейсы, относящиеся к данному VLAN-у, их роли, статусы и прочее. Остановимся немного на ней.

Так как это корневой коммутатор, то порты автоматически переводятся в роль «Designated».
Статус «Forwarding» говорит о том, что порты прошли все стадии и сейчас находятся в активном режиме (пересылка).

Дальше идет стоимость, и она равна 19. FastEthernet работает на скорости 100 Мбит/с и для этой скорости стоимость равна 19 (выше приведена табличка).

Следом идет колонка Prio.Nbr или Priority Number. Это приоритет порта. По-умолчанию этот параметр равен 128, а после точки записывается порядковый номер порта. Соответственно для Fa0/1 — это 128.1, а для Fa0/2 — 128.2.

Тип «p2p» говорит о том, что порт коммутатора работает в режиме «full-duplex». Это означает, что порт может одновременно вести и передачу, и прием.

Если же там будет указан «shared», то это будет означать, что порт работает в режиме «half-duplex». То есть он либо передает, либо получает (не одновременно).

Перейдем к следующему коммутатору Switch2. Аналогично введу команду «show spanning-tree» и посмотрю, что он покажет.

Обратите внимание на блок Root ID.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Как говорилось ранее, здесь содержится информация о корневом коммутаторе. Но здесь уже нет надписи «This bridge is the root», так как этот коммутатор не корневой. Но есть другая запись Port. В ней указан порт, ведущий на корневой коммутатор, и это FastEthernet0/1. Выше есть строчка Cost и она равна 19. Не путайте эту строчку Cost с такой же строчкой в таблице интерфейсов ниже. Если в таблице интерфейсов стоимость указана за конкретный порт, то здесь записывается суммарная стоимость до корневого коммутатора. Например, если за коммутатором Switch2 будет еще один коммутатор с интерфейсом FastEthernet, то его стоимость будет выше.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

То есть он сложит стоимость своего интерфейса со стоимостью интерфейса соседа.
Двигаемся дальше и натыкаемся на блок Bridge ID. Сюда он записывает информацию о себе. Можете заметить, что MAC-адреса отличаются. Далее идут таймеры. Это важный показатель и старайтесь про него не забывать. Лучше его не менять. Но, если все-таки появилась нужда это сделать, то меняйте и на соседних коммутаторах. Иначе это может привести к серьезным ошибкам и займет не мало времени на устранение.

Таблица интерфейсов отличается от корневого коммутатора тем, что роль FastEthernet0/1 не «Designated», а «Root». То есть этот порт ведет к корневому коммутатору.
Остался последний коммутатор Switch3

Здесь конфигурация аналогичная, за исключением порта FastEthernet0/2.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Он в роли Alternate. То есть, в качестве запасного. А статус Blocking говорит о том, что порт заблокирован, дабы «оборвать» петлю. Вот принцип работы классического STP. Прикладываю ссылку на скачивание данной лабораторки.
Но данный вид уже не очень актуален, так как вы не встретите серьезную организацию, у которой всего один VLAN. Соответственно, наша задача подружить STP с VLAN.

Поэтому создаем VLAN-ы на каждом коммутаторе. Можно, конечно, включить VTP и они автоматически синхронизируются, но я не сторонник этого протокола. Поэтому в блокноте подготовил шаблон команд, которые вставлю на каждый коммутатор.

И теперь проверю, что получилось на выходе командой «show spanning-tree».

Получилось длинное полотно текста, в котором описан процесс STP для каждого VLAN-а. Если внимательно посмотреть, то можно увидеть, что Switch1 является корневым для каждого VLAN-а. Но не всегда так бывает нужно.

Сейчас объясню. Например, у нас есть Switch3, который блокирует порт для устранения петли. Давайте взглянем на его обновленную конфигурацию.

Видим, что он блокирует интерфейс FastEthernet0/2 во всех 3-х VLAN-ах. И вот возникла ситуация, что нужно сделать Switch3 корневым коммутатором для VLAN 3. Как описывалось ранее, на помощь придет игра с приоритетом. Сейчас он равен 32771 (32786 + 3). Мне надо его уменьшить. Сделать это можно несколькими способами. Первый способ — это задать приоритет вручную. Захожу на Switch 3 и пишу:

Я решил задать приоритет 30000, так как он меньше 32768. Да, обратите внимание, что мы меняем именно приоритет без sys-id-ext. Но после ввода, выходит сообщение, что нужно ввести число кратное 4096. И ниже предлагает допустимый приоритет. Можно ввести одно из предложенных значений и приоритет изменится.

Но я покажу другой способ изменения приоритета.

При вводе этой команды, коммутатор смотрит, какой Bridge ID был у корневого коммутатора и меняет его на меньшее значение. Только отнимает он не 4096, а 8192. То есть делает меньше на 2 порядка. Я введу эту команду и посмотрю, что изменится.

И вижу, что секция VLAN 3 изменилась. Теперь там приоритет 24579 (24576 + 3) и красуется строчка «This bridge is the root», указывающая, что данный коммутатор теперь корневой для VLAN 3. Оба порта в роли «Designated» и статусе «Forward» (что верно для корневого коммутатора). Но две верхних секции с VLAN-ами остались без изменения и для них FastEthernet 0/2 останется по-прежнему заблокированным.

Теперь посмотрим, как отреагировал Switch 1 на то, что у него забрали корону.

Видим, что отреагировал он спокойно. Switch 1 по-прежнему является корневым для VLAN 1 и VLAN 2. И лишь для VLAN 3 он изменил свое состояние и состояния портов.

Вот таким образом можно управлять различными процессами STP для каждого из VLAN-ов. Прикладываю ссылку на скачивание.

Это все конечно хорошо, что коммутатор перед включением порта, всячески все перепроверяет. Но если мы знаем, что за портом коммутатора находится клиентский компьютер, который не создаст петли, то можно сразу перевести порт в режим «Forwarding», не дожидаясь 30 секунд. Для этого есть технология «Portfast».

Зайду на коммутатор Switch2 и продемонстрирую на примере порта FastEthernet 0/3:

После ввода, он сразу переводит порт в режим Forwarding, но выводит предупреждение о том, что этот порт должен строго подключаться к одному пользовательскому хосту. Иначе, при подключении коммутаторов и прочих устройств, это может привести к появлению петли. Под спойлером ниже показано, как именно это работает.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Как видите, он миновал все стадии и сразу перешел к режиму «Forwarding». Не забывайте про эту технологию, но и пользуйтесь ею с осторожностью, так как окажись там не пользовательский хост, а коммутатор или иное устройство, вы рискуете создать петлю.

Вот основной принцип работы PVST+. Как видите, он мало чем отличается от классического STP или CST.

Я думаю вы заметили какое полотно текста выводит команда «show spanning-tree». И чем больше VLAN-ов, тем больше этот вывод. И если вам нужно будет посмотреть информацию на коммутаторе за 10-ый VLAN, то придется прокручивать весь вывод с самого начала, пока не доберетесь до строчки с нужным VLAN-ом. Для облегчения данной ситуации, есть очень хорошая команда, позволяющая узнать информацию за конкретный VLAN. Это команда «show spanning-tree vlan X». Проверю эту команду.

И вот он мне по моей команде выводит информацию только за 3-ий VLAN. Очень удобная команда, поэтому берите на заметку.

Есть еще одна интересная команда «show spanning-tree summary».

Она показывает суммарную и краткую статистику. В каком STP режиме работает коммутатор, для какого VLAN-а он является корневым, какие функции на нем включены. И самое главное, тут есть таблица, содержащая имена VLAN-ов и количество интерфейсов в данном VLAN-е, находящихся в различных состояниях. Это очень полезно, когда надо быстро зайти и посмотреть есть ли на коммутаторе заблокированные порты и для какого VLAN-а они заблокированы.

В принципе из всех команд — эти часто используемые и для уровня CCNA их более, чем достаточно.
На самом деле STP и PVST+ не единственные протоколы предотвращения петель. Есть еще RSTP и MSTP. Если MSTP в программе CCNA практически не упоминается, за исключением того, что он такой есть, то про RSTP говорить открыто и подробно Cisco начала с новой версией программы CCNA 3.0. Поэтому разберу его поподробнее.

Наверное вы заметили, что классический STP, что PVST+ требуют время на сходимость. А именно 30 секунд, при отказе или отключении какого-либо линка. Это конечно не так много, но чем больше сеть, тем больше времени это занимает. И в большой корпоративной среде полная сходимость может занять несколько минут. И вот для разрешения такой ситуации, комитет IEEE выпустил стандарт 802.1w или протокол RSTP.

Я собрал лабораторку и включил на каждом коммутаторе RSTP и проверю, как быстро произойдет перестроение дерева.

Spanning tree portfast edge что это. Смотреть фото Spanning tree portfast edge что это. Смотреть картинку Spanning tree portfast edge что это. Картинка про Spanning tree portfast edge что это. Фото Spanning tree portfast edge что это

Как видите, перестроение происходит в считанные секунды. Для тех, кто захочет проверить это на себе, прикладываю файл с лабораторкой.

Вот и подошла к концу статья о протоколах STP. Теперь мы можем строить процессы STP для каждого VLAN-а, управлять приоритетом и много другого. А для быстроты сходимости можем применять протокол RSTP.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *