ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопастность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

11 минут чтени€

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

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

Rapid spanning tree - это не революци€ spanning tree, а его эволюци€. Ќекоторые вещи были изменены дл€ того, что бы ускорить процесс, но с точки зрени€ конфигурации - это то же самое, что классический spanning tree . я называю оригинальное spanning tree "классическим spanning tree".


јзы Rapid spanning tree

јзы Rapid spanning tree

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

  • ќтбрасывание;
  • ќбучение;
  • ѕересылка.

¬ы уже знакомы с состо€нием порта в режиме обучени€ и пересылки, но отбрасывание - это новое состо€ние порта. ¬ основном он объедин€ет в себе блокировку и прослушивание состо€ни€ порта.

блокировка и прослушивание состо€ни€ порта

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

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

отличие от rapid spanning tree

 оммутатор с лучшим ID моста (priority + MAC -адрес) становитс€ корневым мостом. ƒругие коммутаторы (non-root) должны найти кратчайший путь стоимости к корневому мосту. Ёто корневой порт. «десь нет ничего нового, все это работает аналогично и в rapid spanning tree.

priority + MAC -адрес

Ќа каждом сегменте может быть только один назначенный порт, иначе мы получим петлю. ѕорт станет назначенным портом, если он сможет отправить лучший BPDU.  оммутатор ј, как корневой мост, всегда будет иметь лучшие порты, поэтому все интерфейсы будут назначены. »нтерфейс fa0/16 на коммутаторе B будет назначенным портом в моем примере, потому что он имеет лучший идентификатор моста, чем коммутатор C. «десь все еще нет ничего нового по сравнению с классическим св€зующим деревом.

лучший идентификатор мост

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

BPDU

¬от вам новый порт, взгл€ните на интерфейс 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.

classic spanning tree

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

  • Topology change.;
  • Topology change acknowledgment.;

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

  • Unknown;
  • Alternate / Backup port;
  • Root port;
  • Designated port.

Ёта BPDU называетс€ BPDUv2.  оммутаторы, работающие со старой версией spanning tree, проигнорируют эту новую версию BPDU. ≈сли вам интересно ... rapid spanning tree и старое spanning tree совместимы! Rapid spanning tree способно работать с коммутаторами, работающими под управлением более старой версии spanning tree.


„то помен€лось

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:

  • Point-to-point (full duplex);
  • Shared (half duplex).

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

введем концентратор в нашу сеть

ѕозвольте мне описать механизм быстрой синхронизации spanning tree, использу€ рисунок выше.  оммутатор ј сверху - это корневой мост.  оммутатор B, C и D- некорневые мосты (non-root).

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

синхронизаци€

ѕосле того, как коммутатор B получил BPDU от корневого моста, он немедленно блокирует все свои порты, не обозначенные в списке non-edge. Non-edge порты - это интерфейсы дл€ подключени€ к другим коммутаторам, пока edge порты- интерфейсы, настроены как portfast.  ак только коммутатор B блокирует свои non-edge порты, св€зь между коммутатором A и коммутатором B переходит в forwarding состо€ние.

forwarding состо€ние

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

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

механизм синхронизации

ƒавайте увеличим масштаб механизма синхронизации rapid spanning tree, подробно рассмотрев коммутатор A и коммутатор B. —начала интерфейсы будут заблокированы до тех пор, пока они не получат BPDU друг от друга. ¬ этот момент коммутатор B поймет, что коммутатор A €вл€етс€ корневым мостом, потому что он имеет лучшую информацию BPDU. ћеханизм синхронизации начнетс€, потому что коммутатор ј установит proposal bit в поле flag BPDU.

RSTP

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

non-edge интерфейсы

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

Ёто соглашение €вл€етс€ копией proposal BPDU, где proposal bit, был switched off, а agreement bit - switched on. »нтерфейс fa0/14 на коммутаторе B теперь перейдет в режим forwarding.

коммутатор B перейдет в режим forwarding

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

Rapid Spanning Tree

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

Rapid Spanning Tree обмен

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

соглашение на обмен

 оммутатор B переведет свои интерфейсы fa0/16 и fa0/19 в режим forwarding, и на этом мы закончим. Ётот механизм синхронизации - всего лишь пара сообщений, летающих туда-сюда, и очень быстро, это намного быстрее, чем механизм на основе таймера classic spanning tree!


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

≈сть еще три вещи:

  • UplinkFast;
  • ћеханизм изменени€ топологии;
  • —овместимость с классическим св€зующим деревом.

 огда вы настраиваете 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 состо€ние, рассматриваютс€ как изменение топологии.  ак только коммутатор обнаружит изменение топологии это произойдет:

  • ќн начнет изменение топологии при значении таймера, которое в два раза превышает hello time. Ёто будет сделано дл€ всех назначенных non-edge и корневых портов.;
  • ќн будет очищать MAC-адреса, которые изучаютс€ на этих портах.;
  • ƒо тех пор, пока происходит изменение топологии, во врем€ активности таймера, он будет устанавливать бит изменени€ топологии в BPDU, которые отправл€ютс€ из этих портов. BPDU также будет отправлен из своего корневого порта.;

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

  • ќн очистит все свои MAC-адреса на всех интерфейсах, кроме того, на котором он получил BPDU с включенным изменением топологии.;
  • ќн запустит изменение топологии во врем€ самого таймера и отправит BPDU на все назначенные порты и корневой порт, установив бит изменени€ топологии.;
изменение топологии

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

изменение быстро распростран€етс€ по всей сети

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

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