- STP
-
Не следует путать с Straight-through processing.
англ. Spanning Tree Protocol (STP) (протокол остовного дерева) — сетевой протокол. Основной задачей STP является устранение петель в топологии произвольной сети Ethernet, в которой есть один или более сетевых мостов, связанных избыточными соединениями. STP решает эту задачу, автоматически блокируя соединения, которые в данный момент для полной связности коммутаторов являются избыточными.
Необходимость устранения топологических петель в сети Ethernet следует из того, что их наличие в реальной сети Ethernet с коммутатором с высокой вероятностью приводит к бесконечным повторам передачи одних и тех же кадров Ethernet одним и более коммутатором, отчего пропускная способность сети оказывается почти полностью занятой этими бесполезными повторами; в этих условиях, хотя формально сеть может продолжать работать, на практике её производительность становится настолько низкой, что может выглядеть как полный отказ сети.
STP относится ко второму уровню модели OSI. Протокол описан в стандарте IEEE 802.1d. STP основан на одноимённом алгоритме, который разработала Радья Перлман (англ. Radia Perlman).
Содержание
Принцип действия
- В сети выбирается один корневой мост (англ. Root Bridge).
- Далее каждый, отличный от корневого, мост просчитывает кратчайший путь к корневому. Соответствующий порт называется корневым портом (англ. Root Port). У любого некорневого коммутатора может быть только один корневой порт.
- После этого для каждого сегмента сети, к которому присоединён более чем один порт моста, просчитывается кратчайший путь к корневому порту. Мост, через который проходит этот путь, становится назначенным для этой сети (англ. Designated Bridge), а соответствующий порт — назначенным портом (англ. Designated port).
- Далее во всех сегментах, с которыми соединены более одного порта моста, все мосты блокируют все порты, не являющиеся корневыми и назначенными. В итоге получается древовидная структура (математический граф) с вершиной в виде корневого коммутатора.
Основные понятия
- Bridge ID = Bridge priority + MAC;
- Bridge priority = vlan xxx + 32768 (default cost);
- Cost — «стоимость портов»;
- Pathcost — стоимость линка в STP;
- 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) портом назначается порт с самой низкой стоимостью пути (path cost).
- Возможны случаи, когда стоимость пути по двум и более портам коммутатора будет одинакова, тогда выбор корневого (root) порта будет происходить на основании порядкового номера порта, например fa0/1, fa0/2, fa0/3 и корневым (root) станет порт с наименьшим номером.
- Коммутаторы, по умолчанию, не измеряют состояние загрузки сети в реальном времени и работают в соответствии со стоимостью (cost) интерфейсов в момент построения дерева STP.
- Каждый порт имеет свою стоимость (cost), обратно пропорциональную пропускной способности (bandwidth) порта и которую можно настраивать вручную.
Алгоритм действия STP (Spanning Tree Protocol)
- После включения коммутаторов в сеть, по умолчанию каждый коммутатор считает себя корневым (root).
- Каждый коммутатор начинает посылать по всем портам конфигурационные Hello BPDU пакеты раз в 2 секунды.
- Если мост получает BPDU с идентификатором моста (Bridge ID) меньшим, чем свой собственный, он прекращает генерировать свои BPDU и начинает ретранслировать BPDU с этим идентификатором. Таким образом в конце концов в этой сети Ethernet остаётся только один мост, который продолжает генерировать и передавать собственные BPDU. Он и становится корневым мостом (root bridge).
- Остальные мосты ретранслируют BPDU корневого моста, добавляя в них собственный идентификатор и увеличивая счетчик стоимости пути (path cost).
- Для каждого сегмента сети, к которому присоединены два и более портов мостов, происходит определение designated port — порта, через который BPDU, приходящие от корневого моста, попадают в этот сегмент.
- После этого все порты в сегментах, к которым присоединены 2 и более портов моста, блокируются за исключением root port и designated port.
- Корневой мост продолжает посылать свои Hello BPDU раз в 2 секунды.
Порты
- Root Port
- Designated Port
- Non-designated Port
- Disabled Port
Эволюция и расширения
Rapid Spanning Tree Protocol (RSTP)
Rapid STP (RSTP) является значительным усовершенствованием STP. В первую очередь необходимо отметить уменьшение времени сходимости и более высокую устойчивость. В немалой степени это достигнуто за счет идей, использованных Cisco Systems в качестве проприетарных расширений STP. RSTP описан в стандарте IEEE 802.1w (впоследствии включен в 802.1D-2004).
Rapid STP совместим с STP — если некое устройство использует STP, то RSTP тоже будет использовать STP с этим устройством, но в этом режиме может оказаться, что наличие RSTP на остальных устройствах не дает преимуществ по сравнению с STP.
Per-VLAN Spanning Tree Protocol (PVSTP)
Per-VLAN STP (PVSTP) в соответствии с названием расширяет функционал STP для использования VLAN. В рамках данного протокола в каждом VLAN работает отдельный экземпляр STP. Является проприетарным расширением Cisco. Изначально протокол PVST работал только через ISL-транки, потом было разработано расширение PVST+, которое позволяло работать через гораздо более распространённые 802.1Q-транки. Существуют реализации, объединяющие свойства PVST+ и RSTP, поскольку эти расширения затрагивают независимые части протокола, в результате получается (в терминологии Cisco) Rapid PVST+. PVST+ совместим с STP, и даже коммуницирует «через» коммутаторы, не поддерживающие ни PVST+, ни Rapid PVST+, за счёт использования мультикастовых фреймов. Но Cisco Systems рекомендует не смешивать в одной сети коммутаторы различных производителей, чтобы избежать проблем совместимости разных имплементаций и вариаций STP.
Multiple Spanning Tree Protocol (MSTP)
Вышеописанные вариации протоколов STP можно разделить классифицировать по количеству экземпляров STP в случае, когда число VLAN более единицы. Имеются вариации протоколов, у которых на все VLAN приходится единственный экземпляр STP (собственно STP, RSTP), и вариации, у которых каждому VLAN соответствует свой экземпляр STP (PVST, PVST+, Rapid PVST+).
Некоторая избыточность вариаций с отдельным экземпляром STP для каждой VLAN состоит в том, что если топология нескольких VLAN совпадает, то соответствующие им экземпляры STP полностью повторяют работу друг друга. В таком случае в принципе ненужная работа по сути дублирующих друг друга экземпляров STP оборачивается ненужной дополнительной нагрузкой на процессор коммутатора, и в конечном счете может вынудить конструкторов оборудования для обеспечения его устойчивой работы выбирать более мощный процессор с большим энергопотреблением, что может повлечь за собой дополнительные затраты на электропитание и охлаждение, как при изготовлении оборудования, так и эксплуатации.
В этом отношении особняком стоит Multiple STP (MSTP). В один экземпляр MST могут входить несколько виртуальных сетей, при условии, что их топология одинакова (в смысле входящих в VLAN коммутаторов и соединений между ними). Минимальное количество экземпляров MSTP соответствует количеству уникальных топологически групп VLAN в домене второго уровня (опять же на уровне коммутаторов и соединений между ними). MSTP налагает важное ограничение: все коммутаторы, участвующие в MSTP, должны иметь одинаково сконфигурированные группы VLAN (MST instances), что ограничивает гибкость при изменении конфигурации сети.
MSTP описан в стандарте IEEE 802.1s (впоследствии включен в 802.1Q-2003).
Shortest Path Bridging (SPB)
Shortest Path Bridging (SPB) IEEE 802.1aq преодолевает ограничения блокировки.
См. также
- IEEE 802.1
- Алгоритм связующего дерева — используется в протоколе STP для определения структуры сети.
Ссылки
- IEEE Std 802.1D™- 2004 (англ.)
- IEEE Std 802.1Q™- 2005 (англ.)
- Understanding Spanning-Tree Protocol (англ.)
- Введение в недокументированное применение протокола Spanning Tree
- PVST+ Explained — CCIE Blog (англ.)
- Differences between PVST and PVST+ (англ.)
Основные протоколы TCP/IP по уровням модели OSI (Список портов TCP и UDP) Физический Канальный Ethernet • PPPoE • PPP • L2F • 802.11 Wi-Fi • 802.16 WiMax • Token ring • ARCNET • FDDI • HDLC • SLIP • ATM • CAN • DTM • X.25 • Frame relay • SMDS • STP • ERPS
Сетевой Транспортный Сеансовый Представления Прикладной Другие прикладные OSCAR • CDDB • Multicast FTP • Multisource FTP • BitTorrent • Gnutella • Skype
Категории:- TCP/IP
- Сетевые протоколы
Wikimedia Foundation. 2010.