что такое stp в роутере

Что такое stp в роутере

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутереSTP (Spanning Tree Protocol) — сетевой протокол (или семейство сетевых протоколов) предназначенный для автоматического удаления циклов (петель коммутации) из топологии сети на канальном уровне в Ethernet-сетях. Первоначальный протокол STP описан в стандарте 802.1D. Позже появилось несколько новых протоколов (RSTP, MSTP, PVST, PVST+), отличающихся некоторыми особенностями в алгоритме работы, в скорости, в отношении к VLANам и ряде других вопросов, но в целом решающих ту же задачу похожими способами. Все их принято обобщённо называть STP-протоколами.

Протокол STP в своё время был разработан мамой Интернета Радией Перлман (Radia Perlman), а позже, в начале 90х превратился в стандарт IEEE 802.1D.

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

Алгоритм действия STP (Spanning Tree Protocol)

BPDU кадр

Bridge Protocol Data Unit

Вот как выглядит BPDU кадр STP

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Состояния портов:

1. Блокировка (blocking)

2. Прослушивание (listening)

3. Обучение (learning)

4. Передача (forwarding)

Настройка stp

Обща схема примера работы и настройки STP. Два коммутатора соединенных двумя линками, видно то STP уже работает и один порт у второго коммутатора погашен чтобы не было петли

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-01

Посмотрим на первом коммутаторе настройки stp. Логинимся и вводим команду

Видим, что это рутовый коммутатор и все порты в состоянии передача.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-02

Смотрим, тоже на втором коммутаторе.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-03

Видим, что это не рутовый коммутатор. Интерфейс Fa0/2 является рутовым портом. Fa0/3 ждет в запасе.

Теперь предположим, что интерфейс Fa0/2 упал, что будет. Для примера выключим его. Заходим на 1 коммутатор.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-04

Видим, что линк пропал

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-05

Зайдем в этот момент на второй коммутатор и посмотрим состояние портов.

Видим, что порт Fa0/3 в состоянии обучения

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-06

теперь в состоянии передачи, прошло около 20 секунд и линк поднялся.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-07

Восстановим на первом коммутаторе Fa0/2 командой

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-08

И видим, что все мгновенно восстановилось.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Что такое и как настроить протокол STP (Spanning Tree Protocol) в Cisco-09

Все же переключение в 20 секунд очень нехорошо, поэтому уже придуманы улучшенные версии протокола rstp и lacp, но о них в следующих публикациях.

Как настроить RSTP на коммутаторах Cisco

RSTP или как его еще называют в более развернутом виде Rapid spanning tree protocol, по сути тот же STP но более быстрый где время сходимости мгновение, вы потеряете один пакет.

Включить RSTP можно командой с режиме глобального конфигурирования, где нужно изменить режим на rapid-pvst.

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

Источник

Spanning-Tree protocol (STP)

Содержание

В общем

Ethernet легко подвержен бродкаст-штормам, когда в сети возникают петли.

Но для обеспечения резервирования, требуются альтернативные линки и это приводит топологию сети к петлям.

STP как раз дает возможность использовать резервирование, но избежать петель.

Juniper поддерживает данные вариации STP: STP, RSTP(используется по дефолту), MSTP, VSTP.

Итого зачем вообще нужен STP:

STP создает единственный возможный путь между root и leaf. Альтернативные пути переводятся в standby режим.

Роли портов (RSTP)

Состояния портов (RSTP)

BPDU (bridge protocol data units)

Когда отработал STA (spanning tree algorithm), всем портам назначены роли и состояния, идентифицированы root и designated bridges, требуется механизм для поддержания данной топологии в актуальном состоянии. Используем BPDU.

Root bridge отправляет BPDU каждые 2 сек (дефолтный hello time interval RSTP) на мультикаст-адрес: 01:80:c2:00:00:00. Когда на порт приходит BPDU, он сравнивает данные, с полученными ранее, и на основании сравнения:

Root Bridge Fails

Когда link на root port падает, в BPDU добавляется флаг, topology change notification (TCN).

Когда этот BPDU доходит до следующего порта в VLAN, таблица MAC-адресов сбрасывается, и BPDU едет на следующий bridge. В итоге, все порты во VLAN обнулили свои таблицы MAC. После этого RSTP назначает новый root port.

Если локальный порт становится root или designated, то он согласовывает быстрое изменение тем же proposal-agreement handshake с ближайшим свитчем.

Включенный ARP (address resolution protocol) заставляет коммутатор активно отправлять ARP-запросы на IP-адреса в кэше ARP.

Включение ARP в STP наиболее полезно для избегания чрезмерного флуда в L2.

Модификации STP

STP работает на основании «создания» bridge (switch).

Ethernet от root switch подсоединяет другие свитчи в Local Area Network (LAN).

В STP и RSTP инстансах свитчам присваиваются extended system-id.

При изменении топологии, bridge извещает об этом root bridge, который требует от остальных почистить записи текущей топологии.

В построенном дереве только root bridge генерирует BPDU.

Дефолтные тайминги 50 sec до перехода в состояние forwarding.

Нахождение порта в состояниях:

На SRX: Поддерживается начиная с 15.1X49-D70 на некоторых девайсах.

Config

1. удаляем RSTP глобально или выключаем на конкретных интерфейсах:

2. включаем STP глобально или для конкретных интерфейсов:

RSTP (Rapid STP)

+ появились alternate и backup роли портов. Что дает возможность заранее подготовиться к факапу, а не принимать решение во время факапа.

RSTP: сходимость 6 сек (3 * hello BPDU interval)

В построенной топологии (дереве) все свитчи генерируют BPDU каждые 2 sec.

В RSTP добавились port-mode:

По дефолту именно RSTP используется в Juniper.

Config

[глобально, внутри routing instance, внутри logical system]

MSTP (Multiple STP)

Является расширением RSTP. На одну физическую топологию накладывается несколько STP-инстансов (STI). Одна STI может состоять из одного или нескольких вланов.

Если требуется разбалансировать нагрузку или просто часть вланов пустить по одному дереву, а остальные по-другому, то MSTP для этого подойдет лучше всего. Будет создано столько STP, сколько топологий мы хотим использовать.

Быстрая сходимость сети унаследована от RSTP.

MSTP region поддерживает до 64 MSTI, каждый MSTI может содержать до 4094 vlans.

Когда мы создаем регион, MSTP автоматом создает internal STI (IST instance 0), в котором определяется Regional Root Bridge и добавляются все вланы, которые не определены в другие MSTI.

Все вланы, на свитче одного MST-региона буду по умолчанию привязаны к IST. При создании новых вланов, по дефолту тоже пойдут в IST, или в MSTI, который зададим для vlan.

Кроме региона, MSTP создает CIST: Common and Internal Spanning Tree, которое управляет всеми MSTP регионами, а также отдельными устройствами, на которых запущен RSTP/STP [MSTP определяет их как отдельные части дерева].

CIST рассматривает MSTP регион как виртуальный bridge, несмотря на то сколько внутри региона девайсов, и позволяет коннектиться разным регионам внутри MSTP.

Также есть Common Apanning Tree, который собирает IST (MSTI) и CIST вместе.

Ещё немного обобщив терминологию:

О плюсах и минусах MSTP:

Config

Для QFX5100 и других, которые не поддерживают interface all включаем mstp для диапазона интерфейсов:

Для конкретного интерфейса:

Для протокола (аналогично RSTP):

msti-id уникальна в рамках региона. То есть в другом регионе можно использовать тот же msti-id. CIST (common instance ST) msti-id = 0.

VSTP (VLAN STP)

Источник

Что такое stp в роутере

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

STP (Spanning Tree Protocol) — сетевой протокол (или семейство сетевых протоколов) предназначенный для автоматического удаления циклов (петель коммутации) из топологии сети на канальном уровне в Ethernet-сетях. Первоначальный протокол STP описан в стандарте 802.1D. Позже появилось несколько новых протоколов (RSTP, MSTP, PVST, PVST+), отличающихся некоторыми особенностями в алгоритме работы, в скорости, в отношении к VLANам и ряде других вопросов, но в целом решающих ту же задачу похожими способами. Все их принято обобщённо называть STP-протоколами.

Протокол STP в своё время был разработан мамой Интернета Радией Перлман (Radia Perlman), а позже, в начале 90х превратился в стандарт IEEE 802.1D.

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

Содержание

[править] Описание протокола

Протокол работает на канальном уровне. STP позволяет делать топологию избыточной на физическом уровне, но при этом логически блокировать петли. Достигается это с помощью того, что STP отправляет сообщения BPDU и обнаруживает фактическую топологию сети. А затем, определяя роли коммутаторов и портов, часть портов блокирует так, чтобы в итоге получить топологию без петель.

Для того чтобы определить какие порты заблокировать, а какие будут передавать данные, STP выполняет следующее:

[править] Выбор корневого моста

Корневым становится коммутатор с наименьшим идентификатором моста (Bridge ID).

Только один коммутатор может быть корневым. Для того чтобы выбрать корневой коммутатор, все коммутаторы отправляют сообщения BPDU, указывая себя в качестве корневого коммутатора. Если коммутатор получает BPDU от коммутатора с меньшим Bridge ID, то он перестает анонсировать информацию о том, что он корневой и начинает передавать BPDU коммутатора с меньшим Bridge ID.

В итоге только один коммутатор останется корневым и будет передавать BPDU.

Изначально Bridge ID состоял из двух полей:

[править] Определение корневых портов

[править] Определение назначенных портов

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

[править] Пример топологии

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

[править] STP (802.1d)

Изменениями топологии считается изменения ролей DP и RP.

Коммутатор, который обнаружил изменения в топологии отправляет Topology Change Notification (TCN) BPDU корневому коммутатору:

После того как корневой коммутатор получил TCN BPDU, он отправляет несколько следующих Hello с флагом TCA. Эти сообщения получают все коммутаторы. При получении сообщения hello с флагом TCA, коммутатор использует короткий таймер (Forward Delay time) для того чтобы обновить записи в таблице коммутации. Обновления выполняется из-за того, что после изменений в топологии STP в таблице коммутации могут храниться неправильные записи.

Если порт изменяет состояние с Blocking в Forwarding, то он должен пройти через два промежуточных состояния: Listening и Learning. Переход из Forwarding в Blocking может выполняться сразу.

[править] Роли и состояния портов

[править] BPDU

Bridge Protocol Data Unit (BPDU)

Название поляРазмер поляОписание
Protocol Identifier2 байта
Protocol Version Identifier1 байт
BPDU Type1 байт
Flags1 байт
Root Identifier8 байт
Root Path Cost4 байтастоимость пути к корневому устройству. Чем меньше значение, тем выше приоритет
Bridge Identifier8 байтидентификатор устройства. Чем меньше значение, тем больше приоритет
Port Identifier2 байтаидентификатор порта. Чем меньше значение, тем выше приоритет
Message Age2 байтаSpecifies the amount of time elapsed since the Root Bridge (Root Switch) sent the configuration message on which the current configuration message is based.
Max Age2 байтаIndicates when the current configuration message should be deleted.
Hello Time2 байтаProvides the time period between Root Bridge (Root Switch) configuration messages
Forward Delay2 байтаProvides the length of time that bridges should wait before transitioning to a new state after a topology change.

[править] RSTP (802.1w)

[править] Отличия STP и RSTP

Соответствие между состояниями портов в STP и RSTP:

Состояние в STP (802.1d)Состояние в RSTP (802.1w)
BlockingDiscarding
ListeningDiscarding
LearningLearning
ForwardingForwarding

[править] Флаги в BPDU

Коммутатор устанавливает флаг proposal в RSTP BPDU для того чтобы предложить себя на роль выделенного (designated) коммутатора в сегменте. Роль порта в proposal-сообщении всегда установлена в designated.

Коммутатор устанавливает флаг agreement в RSTP BPDU для того чтобы принять предыдущее предложение. Роль порта в agreement-сообщении всегда установлена в root.

В RSTP нет отдельного BPDU для анонсирования изменений в топологии (topology change notification (TCN)). Протокол использует флаг topology change (TC) для того чтобы указать на изменения. Однако, для совместимости с коммутаторами, которые используют 802.1D, коммутаторы использующие RSTP обрабатывают и генерируют TCN BPDU.

[править] PVST (Cisco)

Per-VLAN Spanning Tree (PVST) — проприетарный протокол компании Cisco Systems, который для каждого VLAN строит отдельное дерево. Он предполагает использование ISL для создания транков (тегированных портов) и позволяет порту быть заблокированным для одних VLAN и разблокированным для других.

[править] PVST+ (Cisco)

Per-VLAN Spanning Tree Plus (PVST+) — проприетарный протокол компании Cisco Systems, с функциональностью аналогичной PVST. Однако, вместо ISL он использует 802.1Q.

Различают два вида протокола PVST+:

Проприетарные усовершенствования Cisco:

[править] Rapid PVST+ (Cisco)

Rapid PVST+ в каждом VLAN строит дерево. В каждом VLAN работает RSTP.

[править] MSTP (802.1s)

Каждая MSTI работает на всех интерфейсах в регионе, независимо от того разрешен ли соответствующий VLAN на интерфейсе.

[править] STP в ProCurve

[править] STP в Cisco

PVST несовместим с MSTP и при одновременной работе устройств Cisco с этими протоколами вызывает проблемы в сети, в частности, отключение downlink’овского порта корневого MSTP.

Для блокировки PVST на большинстве сетевых устройств других производителей приходится создавать MAC фильтр, поскольку в их BPDU фильтрах пакеты PVST неизвестны и могут проходить через эти устройства даже при отключенных STP.

[править] STP в D-Link

[править] STP в Allied Telesyn AT-8000

[править] STP в Linux

Виртуальный мост Linux (Linux Bridge) поддерживает STP.

[править] STP в OpenVswitch

Настроить br0 на участие в дереве 802.1D:

Установить приоритет моста равным 0x7800:

Установить стоимость пути через eth0 равным 10:

Источник

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

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

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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 коммутатора, соединенных друг с другом.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

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

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

И так как на коммутаторах работает протокол 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 и так далее). Возвращаемся к схеме.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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. Нарисую схему и объясню более подробно.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

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

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Что он из себя представляет, вы видите на картинке выше. Прошу обратить внимание на поля кадра 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.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

В ней записаны интерфейсы, относящиеся к данному 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.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

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

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

Как видите, он миновал все стадии и сразу перешел к режиму «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 и проверю, как быстро произойдет перестроение дерева.

что такое stp в роутере. Смотреть фото что такое stp в роутере. Смотреть картинку что такое stp в роутере. Картинка про что такое stp в роутере. Фото что такое stp в роутере

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

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

Источник

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

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