Пакеты BPDU (рис.5.18.)содержат основную информацию, необходимую для построения топологии сети без петель:
• Идентификатор коммутатора, на основании которого выбирается корневой коммутатор;
• Расстояние от коммутатора-источника до корневого коммутатора (стоимость корневого маршрута);
• Пакеты BPDU помещаются в поле данных кадров канального уровня, например, кадров Ethernet.
Коммутаторы обмениваются BPDU через равные интервалы времени (обычно 1-4с). В случае отказа корневого моста (что сигнализирует об изменении топологии) соседние коммутаторы, не получив пакет BPDU в течение заданного времени (Max Age), начинают пересчет cвязующего дерева.
Пакет BPDU имеет следующие поля (рис.5.18.)
• Идентификатор (ID) версии протокола STA — 2 байта. Коммутаторы должны поддерживать одну и ту же версию протокола STA, иначе может установиться активная конфигурация с петлями;
ID версии протокола STA | Версия | Тип BPDU | Флаг | ID корневого коммутатора | Расстояние до корня | ID коммутатора | ID порта | Время жизни сообщения | Максимальное время жизни сообщения | Интервал hello | Задержка смены состояния |
Рисунок 5.18. Формат конфигурационного BPDU
• Версия протокола STP – 1 байт;
• Тип BPDU — 1 байт. Существует два типа BPDU — конфигурационный BPDU, то есть заявка на возможность стать корневым коммутатором, на основании которой происходит определение активной конфигурации, и BPDU уведомления о реконфигурации, которое посылается коммутатором, обнаружившим событие, требующее проведения реконфигурации — отказ линии связи, отказ порта, изменение приоритетов коммутатора или портов;
• Флаги — 1 байт. Один бит содержит флаг изменения конфигурации, второй бит — флаг подтверждения изменения конфигурации;
• Идентификатор (ID корневого коммутатора — 8 байтов;
• Расстояние до корня — 2 байта;
• Идентификатор (ID) коммутатора — 8 байтов;
• Идентификатор порта — 2 байта;
• Время жизни сообщения — 2 байта. Измеряется в единицах по 0.5 с, служит для выявления устаревших сообщений. Когда пакет BPDU проходит через коммутатор, тот добавляет ко времени жизни пакета время его задержки данным коммутатором;
• Максимальное время жизни сообщения — 2 байта. Если пакет BPDU имеет время жизни, превышающее максимальное, то он игнорируется коммутаторами;
• Интервал hello (время приветствия), через который посылаются пакеты BPDU корневым коммутатором;
• Задержка смены состояний — 2 байта. Минимальное время перехода портов коммутатора в активное состояние. Такая задержка необходима, чтобы исключить возможность временного возникновения альтернативных маршрутов при неодновременной смене состояний портов во время реконфигурации.
Пакет BPDU уведомления о реконфигурации (см. Рис.5.19) имеет следующие поля:
• Идентификатор версии протокола STA — 2 байта;
• Версия протокола STP – 1 байт;
• Тип BPDU — 1 байт с установленным флагом реконфигурации топологии.
1…2 | ||
Идентификатор версии протокола STA | Версия протокола STP | Тип BPDU |
Рисунок 5.19.Формат пакета BPDU уведомления о реконфигурации
Пример работы STP
Для примера рассмотрены 3 коммутатора, подключенные с образованием петли (см. Рис. 5.20.). Таким образом, в сети могут возникнуть проблемы с зацикливанием пакетов. Например, пусть какой-либо компьютер в сети LAN1 посылает широковещательный пакет. В соответствии с логикой работы коммутаторов, коммутатор А передаст этот пакет во все
подключенные к нему сегменты, за исключением того, из которого он пришел. Коммутатор B получит этот пакет и передаст его коммутатору С. Коммутатор С, также получит широковещательный пакет от коммутатора А и передаст его коммутатору В. Тот в свою очередь, вернет его коммутатору A и так далее. Пакеты могут ходить по сети бесконечно долго, что может привести к нарушению работоспособности сети. В этом примере с помощью STP блокируется соединение между коммутаторами С и B.
Итак, после включения питания и загрузки каждый коммутатор начинает считать себя корневым. Когда он генерирует BPDU (через интервал hello), он помещает свой идентификатор в поле «идентификатор корневого коммутатора», расстояние до корня устанавливается в 0, а в качестве идентификатора порта указывается идентификатор того порта, через который будет передаваться BPDU.
Рисунок 5.20. — Схема перед применением Spanning Tree
Как только коммутатор получает BPDU, в котором имеется идентификатор корневого коммутатора, меньше его собственного, он перестает генерировать свои собственные кадры BPDU, и начинает ретранслировать только кадры нового претендента на звание корневого коммутатора. При ретрансляции кадров он наращивает расстояние до корня, указанное в пришедшем BPDU, на условное время сегмента, через который принят данный кадр. При ретрансляции кадров каждый коммутатор для каждого своего порта запоминает минимальное расстояние до корня. При завершении процедуры установления конфигурации покрывающего дерева, каждый коммутатор находит свой корневой порт — это порт, который ближе других портов находится по отношению к корню дерева.
Рассмотрим выборы корневых портов коммутаторов на примере (см. Рисунок 4). Когда коммутатор A (корневой мост) посылает BPDU, они содержат стоимость пути к корневому мосту равную 0. Когда коммутатор B получает эти BPDU, он добавляет стоимость пути Port 1 (4) к стоимости, указанной в полученном BPDU (0). Коммутатор B затем использует значение 4 и посылает BPDU со стоимостью пути к корню равной 4 через Port 3 и Port 2.
Когда коммутатор C получает BPDU от коммутатора B, он увеличивает стоимость пути к корню до 23 (4 + 19). Однако коммутатор C также получает BPDU от корневого коммутатора А через Port 1. Стоимость пути к корню в этом BPDU равна 0 и коммутатор C увеличивает ее стоимость до 4 (стоимость его Port 1 равна 4). Теперь коммутатор C должен выбрать единственный корневой порт. Коммутатор C выбирает Port 1 в качестве корневого, поскольку его стоимость пути к корню меньше. После этого коммутатор C начинает объявлять стоимость пути до корня равную 4 нижележащим коммутаторам.
Выборы корневого порта коммутатора В происходят аналогично и корневым портом для него становится Port 1 со стоимостью 4.
Итак, после включения питания и загрузки каждый коммутатор начинает считать себя корневым. Когда он генерирует BPDU (через интервал hello), он помещает свой идентификатор в поле «идентификатор корневого коммутатора», расстояние до корня устанавливается в 0, а в качестве идентификатора порта указывается идентификатор того порта, через который будет передаваться BPDU.
Рисунок 5.21. – После применения Spanning Tree
Кроме этого, коммутаторы выбирают для каждого сегмента сети назначенный порт. Для этого они исключают из рассмотрения свой корневой порт, а для всех своих оставшихся портов сравнивают принятые по ним минимальные расстояния до корня с расстоянием до корня своего корневого порта. Если у своего порта это расстояние меньше принятых, то это значит, что он является назначенным портом. Когда имеется несколько портов с одинаковым кратчайшим расстоянием до корневого коммутатора, то для выбора назначенного порта сегмента STP принимает решение на основе последовательного сравнения идентификаторов мостов и идентификаторов портов. Все порты, кроме назначенных переводятся в заблокированное состояние и на этом построение покрывающего дерева заканчивается. На коммутаторе В корневым портом является Port 1 (стоимость 4). Поэтому для сегмента коммутатор А – коммутатор В, назначенным портом будет Port 1 коммутатора А. На коммутаторе С корневым портом является Port 1 (стоимость 4). Поэтому для сегмента коммутатор А – коммутатор С, назначенным портом будет Port 2 коммутатора А. В сегменте коммутатор В – коммутатор С оба порта Port 3 и Port 2 имеют одинаковую стоимость пути, равную 23. В этом случае STP выберет назначенный порт сегмента на основе сравнения идентификаторов мостов. Поскольку идентификатор коммутатора С (20) меньше идентификатора коммутатора В (30), то назначенным портом для этого сегмента станет Port 2 коммутатора С. Port 3 на коммутаторе В заблокируется (см. Рис. 5.21).
Таким образом, в процессе построения топологии сети каждый порт коммутатора проходит несколько стадий (см. Рис.5.22.):
1. Порт активен или инициализация порта;
2. Порт отключен администратором или сбой порта;
3. Порт выбран в качестве корневого или назначенного порта;
4. Порт заблокирован;
5. Истек таймер смены состояний.
Blocking— При инициализации коммутатора все порты (за исключением отключенных) автоматически переводятся в состояние «Заблокирован». В этом случае порт принимает и обрабатывает только пакеты BPDU. Все остальные пакеты отбрасываются.
Рисунок 5.22. – Состояние портов в STP
Listening(прослушивание) — в этом состоянии порт продолжает принимать, обрабатывать и ретранслировать только пакеты BPDU. Из этого состояния порт может перейти в состояние «Заблокирован», если получит BPDU с лучшими параметрами, чем его собственные (расстояние, идентификатор коммутатора или порта). В противном случае, при истечении таймера смены состояний, порт перейдет в следующее состояние «Обучение».
Learning(обучение) – порт начинает принимать все пакеты и на основе адресов источника строить таблицу коммутации. Порт в этом состоянии все еще не продвигает пакеты. Порт продолжает участвовать в работе алгоритма STA, и при поступлении BPDU с лучшими параметрами переходит в состояние «Заблокирован». В противном случае, при истечении таймера смены состояний, порт перейдет в следующее состояние «Продвижение».
Forwarding(продвижение) — в этом состоянии порт может обрабатывать пакеты данных в соответствии с построенной таблицей коммутации. Также продолжают приниматься, передаваться и обрабатываться пакеты BPDU.
Disable(отключен) – в это состояние порт переводит администратор. Отключенный порт не участвует ни в работе протокола STP, ни в продвижении пакетов данных. Порт можно также вручную включить и он сначала перейдет в состояние Blocking. В процессе нормальной работы корневой коммутатор продолжает генерировать служебные пакеты BPDU, а остальные коммутаторы продолжают их принимать своими корневыми портами и ретранслировать назначенными. Если по истечении максимального времени жизни сообщения (по умолчанию — 20 с) корневой порт любого коммутатора сети не получит служебный пакет BPDU, то он инициализирует новую процедуру построения покрывающего дерева. Коммутаторы D-Link также поддерживают протокол Rapid STP (IEEE 802.1w), который обладает лучшим u1074 временем сходимости по сравнению с STP (меньше 1 секунды).
Ограничения в сетях с использованием повторителей, мостов и коммутаторов.
1. Не должно быть петель, т. е. между отправителем и получателем должен быть единственный путь.
2. Сегменты слабо изолированы друг от друга, т. е. не защищены от широковещательных сообщений со стороны отдельных ПК в сети.
3. Нельзя управлять трафиком (т. е. обменом данными) на основании информации, содержащейся в этих данных.
Эти недостатки можно устранить в случае применения маршрутизатора, они используется в больших сетях, которые в свою очередь могут состоять из более мелких составных частей (подсетей).
С применением маршрутизаторов используется специальная адресация, которая позволяет однозначно идентифицировать любой узел (т. е. РС) составной сети. Для этого применяется уникальная нумерация всех подсетей и нумерация всех узлов в пределах каждой подсети. Этот адрес помещается в заголовок пакета данных.
| | следующая лекция ==> | |
Множественные петли | | | Маршрутизатор (Router) |
Дата добавления: 2018-11-25 ; просмотров: 934 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
Bpdu — … Википедия
BPDU — Br >Abbreviations dictionary
BPDU — ● ►en sg. f. ►COMM Br >Dictionnaire d’informatique francophone
BPDU — abbr. Br >United dictionary of abbreviations and acronyms
Spanning tree protocol — Détermination d un spanning tree Le Spanning Tree Protocol (aussi appelé STP) est un protocole réseau de niveau 2 permettant de déterminer une topologie réseau sans boucle (appelée arbre) dans les LAN avec ponts. Il est défini dans la norme IEEE… … Wikipédia en Français
Spanning Tree Protocol — Internet protocol suite Application layer BGP DHCP DNS FTP HTTP … Wikipedia
Spanning tree protocol — The Spanning Tree Protocol is an OSI layer 2 protocol that ensures a loop free topology for any br >Wikipedia
Spanning Tree — protocol Le Spanning Tree Protocol (aussi appelé STP) est un protocole réseau permettant une topologie réseau sans boucle dans les LAN avec pont. Il est défini dans la norme IEEE 802.1D. Sommaire 1 Mode de fonctionnement 1.1 Élection d un root br … Wikipédia en Français
Spanning Tree Protocol — Le Spanning Tree Protocol (aussi appelé STP) est un protocole réseau permettant une topologie réseau sans boucle dans les LAN avec pont. Il est défini dans la norme IEEE 802.1D. Sommaire 1 Mode de fonctionnement 1.1 Élection d un root br … Wikipédia en Français
Spanning tree — (Spanning Tree Protocol) (SmmTPr) es un protocolo de red de nivel 2 de la capa OSI, (nivel de enlace de datos). Está basado en un algoritmo diseñado por Radia Perlman mientras trabajaba para DEC. Hay 2 versiones del STP: la original (DEC STP) y… … Wikipedia Español
Пакеты BPDU регулярно посылаются по сети (по умолчанию, каждые 2 секунды), что позволяет коммутаторам постоянно отслеживать изменения в сети и немедленно на них реагировать.
Стабильность работы активной сетевой конфигурации, определяется следующими факторами:
Уникальный идентификатор коммутатора (MAC адрес), ассоциируется с каждым коммутатором.
Вес пути до корневого коммутатора, присваивается каждому порту.
Идентификатор порта (MAC адрес), ассоциируется с каждым портом коммутатора.
Каждый конфигурационный BPDU пакет содержит следующую информацию:
Уникальный идентификатор коммутатора (MAC адрес), который переправляется корневому коммутатору.
Вес пути до корневого коммутатора от отправившего пакет порта.
Идентификатор порта (MAC адрес), отправившего пакет.
Обмен пакетами BPDU приводит к следующим результатам:
Выбирается единственный корневой коммутатор. Если такой коммутатор не настроен вручную, то корневым выбирается коммутатор, с наименьшим MAC адресом.
Высчитывается кратчайшее расстояние, от корневого коммутатора, до каждого коммутатора сети.
Также определяются коммутаторы, расположенные близ корневого, они будут переправлять пакеты на корневой коммутатор.
Выбираются порты коммутаторов, которые менее всего удалены от корневого коммутатора. Если есть несколько эквивалентных путей, то будет выбран порт с наименьшим MAC адресом.
Выбираются порты, отключенные протоколом STP.
Если все коммутаторы сети настроены по умолчанию, то корневым коммутатором будет выбран коммутатор с наименьшим MAC адресом (ID шлюза). Однако, в зависимости от топологии сети, количества портов, типов и скоростей соединений, автоматический выбор корневого коммутатора по наименьшему MAC адресу, не всегда является оптимальным. Можно запустить перерасчет топологии STP заново, чтобы выбрать более подходящий корневой коммутатор, путем повышения его приоритета в сети.
На Рисунке 1 отображен формат пакета BPDU.
Рисунок 1 — Формат пакета BPDU
Таймеры протокола SpanningTree
Таймеры в протоколе SpanningTree, используются для обеспечения стабильности собранной топологии сети, а также для устранения дублирующихся пакетов в сети, перед началом передачи данных по сети. Существует несколько видов таймеров:
Hello — Это время, между отправками на порт пакетов BPDU. По умолчанию, установлен интервал в 2 секунды, но на коммутаторе можно установить значение от 1 до 10 секунд.
Forward delay — Это время, в течение которого порт коммутатора будет находиться в состояниях listening и leaning. По умолчанию, установлено значение в 15 секунд, но на коммутаторе можно установить значение от 4 до 30 секунд.
Maxage- Таймер, контролирующий период времени, через которое порт сохраняет свою конфигурацию BPDU. По умолчанию, установлен интервал в 20 секунд, но на коммутаторе можно установить значение от 6 до 40 секунд.
По умолчанию, значения таймеров, используемые в протоколе SpanningTree, достаточно велики для современных сетей. Например, посчитаем время инициализации порта коммутатора:
20 секунд для Max age + 2 x forward delay (15 секунд на listening/learning) = 50 секунд.
Вес пути напрямую зависит от скорости соединения. Коммутаторы используют путь с наименьшим весом, как основной путь передачи данных. Если существует дублирующий путь, с более высоким весом, то путь не будет использоваться, до тех пор, пока путь с меньшим весом остается доступным. На таблице 1 показано соответствие скорости соединения и веса пути интерфейса.
Таблица 1 — Соответствие скорости соединения и веса пути интерфейса
Оборудование, работающее на втором уровне модели OSI (коммутатор), должно выполнять 3 функции: запоминание адресов, перенаправление (коммутация) пакетов, защита от петель в сети. Разберем по пунктам каждую функцию.
Запоминание адресов и перенаправление пакетов: у каждого коммутатора есть таблица сопоставления MAC-адресов и портов (aka CAM-table- ContentAdresstableMemoryTable). Когда устройство, подключенное к коммутатору, посылает кадр в сеть, коммутаторсмотрит MAC-адрес отправителя и порт, откуда получен кадр, и добавляет эту информацию в свою таблицу. Далее он должен передать кадр получателю, адрес которого указан в кадре. Информацию о порте, куда нужно отправить кадр, он берёт из этой же CAM-таблицы. Но, предположим, что коммутатортолько что включили (таблица пуста), и он понятия не имеет, в какой из его портов подключен получатель. В этом случае он отправляет полученный кадр во все свои порты, кроме того, откуда он был принят. Все конечные устройства, получив этот кадр, смотрят MAC-адрес получателя, и, если он адресован не им, отбрасывают его. Устройство-получатель отвечает отправителю, а в поле отправителя ставит свой адрес, и теперькоммутатор уже знает, что такой-то адрес находится на таком-то порту (вносит запись в таблицу), и в следующий раз уже будет переправлять кадры, адресованные этому устройству, только в этот порт. Чтобы посмотреть содержимое CAM-таблицы, используется команда showmacaddress-table. Однажды попав в таблицу, информация не остаётся там пожизненно, содержимое постоянно обновляется и если к определенному mac-адресу не обращались 300 секунд (по умолчанию), запись о нем удаляется.