STP
Spanning Tree Protocol (сокращённо STP) — сетевой протокол, работающий на втором уровне модели OSI. Основан на одноимённом алгоритме, который разработала Радья Перлман (англ. Radia Perlman).
Основной задачей STP является приведение сети Ethernet с множественными связями к древовидной топологии, исключающей циклы пакетов. Происходит это путём автоматического блокирования избыточных в данный момент связей для полной связности портов. Протокол описан в стандарте IEEE 802.1D.
Содержание |
[править] Принцип действия
- В сети выбирается один корневой мост (англ. Root Bridge).
- Далее каждый, отличный от корневого, мост просчитывает кратчайший путь к корневому. Соответствующий порт называется корневым портом (англ. Root Port). У любого не корневого коммутатора может быть только один корневой порт.
- После этого для каждого сегмента сети просчитывается кратчайший путь к корневому порту. Мост, через который проходит этот путь, становится назначенным для этой сети (англ. Designated Bridge). Непосредственно подключенный к сети порт моста — назначенным портом.
- Далее на всех мостах блокируются все порты, не являющиеся корневыми и назначенными. В итоге получается древовидная структура (математический граф) с вершиной в виде корневого коммутатора.
[править] Основные понятия
- Pathcost — стоимость линка в STP;
- Bpduguard — BPDU-фильтр;
- Rootguard — root-фильтр;
- Bridge ID = Bridge priority + MAC;
- Bridge priority = vlan xxx + 32768 (default cost);
- Cost — «стоимость портов». По умолчанию равна 32768 (2 в 15 степени);
- Hello BPDU = root ID + bridge ID + cost;
- Root port (корневой порт) — это порт, который имеет кратчайшее расстояние до любого порта корневого коммутатора.
- Designated port (назначенный порт) — это порт, который имеет кратчайшее расстояние от назначенного коммутатора до корневого коммутатора.
[править] Скорость передачи и стоимость пути
Таблица внизу показывает стоимость интерфейса в зависимости от скорости передачи.
| Скорость передачи | Стоимость (802.1D-1998) | Стоимость (802.1W-2001) |
|---|---|---|
| 4 Мбит/с | 250 | 5000000 |
| 10 Мбит/с | 100 | 2000000 |
| 16 Мбит/с | 62 | 1250000 |
| 100 Мбит/с | 19 | 200000 |
| 1 Гбит/с | 4 | 20000 |
| 2 Гбит/с | 3 | 10000 |
| 10 Гбит/с | 2 | 2000 |
[править] Важные правила
- Корневым (root) коммутатором назначается коммутатор с самым низким Bridge ID (BID)
- Возможны случаи, когда приоритет у двух и более коммутаторов будет одинаков, тогда выбор корневого коммутатора (root) будет происходить на основании MAC-адреса коммутатора, где корневым (root) коммутатором станет коммутатор с наименьшим MAC-адресом.
- Коммутаторы, по умолчанию, не измеряют состояние сети, а имеют заранее прописанные настройки.
- Каждый порт имеет свою стоимость (cost) соединения, установленную либо на заводе-изготовителе (по умолчанию), либо вручную.
[править] Алгоритм действия STP (Spanning Tree Protocol)
- После включения коммутаторов в сеть, по умолчанию каждый коммутатор считает себя корневым (root).
- Затем коммутатор начинает посылать по всем портам конфигурационные Hello BPDU пакеты раз в 2 секунды.
- Исходя из данных Hello BPDU пакетов, тот или иной коммутатор приобретает статус root, то есть корня.
- После этого все порты кроме root port и designated port блокируются.
- Происходит посылка Hello-пакетов раз в 2 секунды, с целью препятствия появлению петель в сети.
[править] Порты
- Root Port
- Designated Port
- Non-designated Port
- Disabled Port
[править] Эволюция и расширения
[править] Rapid Spanning Tree Protocol (RSTP)
Rapid STP (RSTP) характеризуется значительными усовершенствованиями STP, среди которых необходимо отметить уменьшение времени сходимости и более высокую устойчивость. Описан в стандарте IEEE 802.1w (впоследствии включен в 802.1D-2004).
[править] Per-VLAN Spanning Tree Protocol (PVSTP)
Per-VLAN STP (PVSTP) в соответствии с названием расширяет функционал STP для использования VLAN. В рамках данного протокола в каждом VLAN работает отдельный экземпляр STP. Является проприетарным расширением Cisco, впоследствии стал с незначительными ограничениями поддерживаться другими производителями (Juniper, Extreme Networks). Изначально протокол PVST работал только через ISL-транки, потом было разработано расширение PVST+, которое позволяло работать через гораздо более распространённые 802.1Q-транки. Существуют реализации, объединяющие свойства PVST+ и RSTP, поскольку эти расширения затрагивают независимые части протокола, в результате получается (в терминологии Cisco) rapid-pvst.
PVST не совместимо с MSTP и при одновременной работе устройств Cisco с этими протоколами вызывает проблемы в сети, в частности, отключение downlink’овского порта root’ового MSTP-устройства.
Для блокировки PVST на большинстве сетевых устройств других производителей приходится создавать MAC фильтр, поскольку в их BPDU фильтрах пакеты PVST неизвестны и могут проходить через эти устройства даже при отключенных STP.
[править] Multiple Spanning Tree Protocol (MSTP)
Multiple STP (MSTP) является наиболее современной стандартной реализацией STP, учитывающей все достоинства и недостатки предыдущих решений. Описана в стандарте IEEE 802.1s (впоследствии включен в 802.1Q-2003). В отличие от PVST+, в котором число экземпляров связующего дерева (spanning tree) равно числу виртуальных сетей, MSTP предполагает конфигурирование необходимого количества экземпляров вне зависимости от числа виртуальных сетей (VLAN) на коммутаторе. В один экземпляр MST могут входить несколько виртуальных сетей. Однако, все коммутаторы, участвующие в MST, должны иметь одинаково сконфигурированные группы VLAN (MST instances), что ограничивает гибкость при изменении конфигурации сети.
[править] См. также
- IEEE 802.1
- Алгоритм связующего дерева — используется в протоколе STP для определения структуры сети.