Принцип работы протокола STP — КиберПедия 

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Принцип работы протокола STP

2020-05-07 200
Принцип работы протокола STP 0.00 из 5.00 0 оценок
Заказать работу

 

Алгоритм или протокол STP создает покрываемое дерево из интерфейсов, через которые передаются кадры. Структура дерева создает единственный маршрут прохождения кадров между сегментами сети.

В данном алгоритме применяется три критерия для выбора интерфейсов, которые должны передавать данные.

1. Выбирается корневой коммутатор (root). Все интерфейсы корневого коммутатора должны быть в состоянии передачи.

2. Каждый некорневой коммутатор оценивает расстояние (стоимость или вес – cost) маршрута через все свои порты до корневого коммутатора. Порт коммутатора, который ближе к корневому, называется корневым портом (root port) и переводится в состояние передачи.

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

4. Все остальные интерфейсы переводятся в состояние блокировки.

Ниже в таблице приведены характеристики портов и описание их состояния (табл. 4.1).

Таблица 4.1 - Характеристики портов и описание их состояния

Характеристика порта Состояние портов Описание
Все порты корневого коммутатора Передача Порты корневого коммутатора являются всегда назначенными на всех подключенных к ним сегментах

Продолжение таблицы 4.1

Корневой порт каждого некорневого коммутатора Передача Корневой порт - это порт, на который приходят BPDU от корневого коммутатора с наименьшей стоимостью
Назначенный порт в каждом сегменте Передача Порт, передающий BPDU наименьшей стоимости в сегмент, является назначенным
Все другие порты Блокировка Порт не используется для передачи кадров; ни один кадр, пришедший на этот порт, не передается

Выбор корневых и назначенных портов

 

Работа STP начинается с того, что каждый коммутатор считает себя корневым, посылая соответствующие STP сообщения. Такие сообщения называются - BPDU (Bridge Protocol Data Units).

Каждый коммутатор постоянно передает BPDU сообщения, содержащие следующую информацию:

1. ID корневого коммутатора - это сочетание приоритета коммутатора и его МАС-адреса. В начале выбора корневого коммутатора все коммутаторы сети претендуют на этот статус, так как каждый коммутатор "знает" только себя (свой собственный ID). Коммутатор с наименьшим приоритетом с большей долей вероятности может стать корневым. Приоритет можно устанавливать в диапазоне от 0 до 65 535 (по умолчанию он равен 32 768).

2. Стоимость маршрута до корневого коммутатора через этот коммутатор. Так как в начальный момент каждый коммутатор считает себя корневым, то это значение равно 0.

3. ID коммутатора отправителя данного BPDU. Это всегда ID коммутатора, который передает данное BPDU, независимо от того, какой коммутатор является корневым.

 

Формат сообщения BPDU

Пакеты BPDU помещаются в поле данных кадров канального уровня.

· STP version - 2 байта. Коммутаторы должны поддерживать одну и ту же версию протокола STP, иначе в сети могут появиться петли.

· BPDU type - 1 байт. Существуют два типа BPDU.

- конфигурационный BPDU - заявка на возможность стать корневым коммутатором, на основании которой происходит определение активной конфигурации

2 1 1 8 2 8 2 2 2 1 2
STP Ver BPDU type Flags Root ID Cost   Switch ID Port ID   TTL   TTL max   Hello time Delay  

- BPDU - уведомления о реконфигурации, которые посылаются коммутатором, обнаружившим событие, требующее проведения реконфигурации - отказ линии связи, отказ порта, изменение приоритетов коммутатора или портов.

· Flags - 1 байт. Один бит содержит флаг изменения конфигурации, второй - флаг подтверждения изменения конфигурации.

· Root ID Root - идентификатор корневого коммутатора - 8 байт.

Старшие 2 байта – приоритет коммутатора – может устанавливаться администратором.

Младшие 6 байт - МАС-адрес блока управления коммутатора.

· Cost - расстояние до корневого коммутатора - 2 байта.

· Switch ID - идентификатор коммутатора - 8 байт.

Старшие 2 байта – приоритет коммутатора – может устанавливаться администратором.

Младшие 6 байт - МАС-адрес блока управления коммутатора.

· Port ID - идентификатор порта - 2 байта.

· TTL - время жизни сообщения - 2 байта. Измеряется в единицах по 0,5 с, используется для определения устаревших сообщений. Когда пакет BPDU проходит через коммутатор, то TTL увеличивается на время задержки в коммутаторе.

· TTL max - максимальное время жизни сообщения - 2 байта. Если пакет BPDU имеет время жизни, превышающее максимальное, то он игнорируется коммутаторами.

· Hello time - интервал, через который посылаются пакеты BPDU – 1 байт.

· Delay - задержка смены состояний - 2 байта. Определяет минимальное время перехода портов коммутатора из режима блокировки в режим передачи. Она необходима, для исключения возможности временного возникновения петель при неодновременной смене состояний портов во время реконфигурации. У пакета BPDU уведомления о реконфигурации отсутствуют все поля, кроме двух первых.

Выбор корневого коммутатора осуществляется на основе информации о ID коммутатора, содержащейся в BPDU. Корневой коммутатор - это коммутатор, который имеет наименьший ID. Коммутатор выбирается с наименьшим приоритетом, либо, если приоритеты равны, выбирается коммутатор с наименьшим МАС-адресом. Сообщение, используемое для идентификации корневого коммутатора называется BPDU hello.

В начальный момент времени каждый коммутатор в сети посылает через все свои порты сообщения BPDU hello со своим ID. Если коммутатор принимает BPDU с ID ниже, чем его ID, то он перестает посылать свои BPDU, а начинает ретранслировать полученное BPDU с меньшим ID.

Рассмотрим процесс выборов корневого коммутатора на примере схемы, показанной на рисунке 4.5. В начальный момент времени все коммутаторы считают себя корневыми и рассылают через все свои порты сообщения BPDU. Коммутатор SW1 получает BPDU от коммутаторов SW2 и SW4 и сравнивает их со своим ID. ID коммутатора SW1 меньше, чем ID коммутаторов SW2 и SW4, поэтому он по-прежнему будет передавать BPDU сообщения со своим ID. Коммутатор SW3 также получает BPDU от коммутаторов SW2 и SW4 и видит, что его BPDU хуже BPDU от SW2 и SW4, и кроме этого BPDU от SW2 лучше, чем BPDU от SW4.

На основании этого SW3 начинает транслировать BPDU коммутатора SW2 через все свои порты кроме того, с которого это BPDU получено (транслирует через порт fa0/2). Коммутаторы SW2 и SW4 получают от SW1 BPDU сообщение с лучшим ID, чем у них, и поэтому тоже начинают трансляцию BPDU от SW1 и SW2 через порт fa0/2, SW4 через порт fa0/1. В течение этого времени коммутатор SW1 не увидел ни одного BPDU сообщения лучше, чем у него, и пока считает себя корневым, а все свои порты держит в режиме передачи.

Рисунок 4.5 - Процесс выбора корневого коммутатора

Тем временем коммутатор SW3 считал, что BPDU коммутатора SW2 лучше и передавал их через порт fa0/2. Но коммутаторы SW2 и SW4 начали транслировать BPDU SW1 и эти сообщения приходят на оба порта коммутатора SW3. Возникает вопрос: каковы действия коммутатора SW3? SW1 - корневой и его порты находятся в состоянии передачи. Порты fa0/1 SW2 и fa0/2 SW4 - находятся в состоянии передачи, так как получают BPDU от корневого коммутатора и называются корневыми. Порты fa0/2 SW2 и fa0/1 SW4 также находятся в состоянии передачи, так как лучшее BPDU со стороны SW3 не пришло. В данной ситуации у коммутатора SW3 может быть два варианта действий.

1. Стоимость BPDU, приходящей на порты SW3, разная (рисунок 4.6).

Коммутатор SW3 определяет, что стоимость BPDU сообщения от коммутатора SW4, поступающее на порт fa0/2 меньше, чем на порт fa0/1 и, соответственно, порт fa0/2 становится корневым, а порт fa0/1 отключается. Таким образом в сегменте сети между коммутаторами SW2 и SW4 порт fa0/2 SW2 становится назначенным.

Рисунок 4.6 - Процесс выбора отключаемого порта при получении BPDU с разной стоимостью

2. Стоимость BPDU, приходящая на порты SW3 одинаковая (рисунок 4.7).

В этом случае коммутатор SW3 сравнивает МАС-адреса портов, с которых непосредственно на него поступают BPDU сообщения, то есть МАС-адреса портов fa0/2 SW2 и fa0/1 SW4. МАС-адрес порта fa0/1 SW4 больше МАС-адреса порта fa0/2 SW2, следовательно, SW3 объявляет свой порт fa0/1 корневым, а порт fa0/2 переводит в состояние блокировки. Порт fa0/1 SW4 становится назначенным для сегмента, соединяющего коммутаторы SW3 и SW4. Стоимость маршрутов может быть сконфигурирована или можно использовать значения по умолчанию.

Рисунок 4.7 - Процесс выбора отключаемого порта при получении BPDU с одинаковой стоимостью.

В таблице 4.2 приведены определения стоимости маршрутов по умолчанию.

 

 

Таблица 4.2 - Стоимости маршрутов

Скорость

Стоимость

базовая IEEE модифицированная IEEE
10 Мб/с 100 100
100 Мб/с 10 19
1 Гб/с 1 4
10 Гб/с 1 2

Реакция на изменения в сети

 

Топология сети, после того как установится по STP, не изменится до тех пор, пока не изменится структура физических связей в сети (добавится новая связь или прервется старая). Корневой коммутатор посылает BPDU hello по умолчанию каждые 2 секунды. Каждый коммутатор ретранслирует hell o, изменяя стоимость для отражения расстояния до корневого коммутатора. Все коммутаторы слушают ретранслированные сообщения hello от корневого коммутатора и таким образом определяют, что этот маршрут до корневого коммутатора еще работает, так как сообщения hello следуют по тому же маршруту, что и кадры с данными. Если коммутатор перестает принимать hello, значит, что-то произошло, и он начинает процесс изменения структуры дерева связей.

BPDU hello определяют таймеры, используемые всеми коммутаторами, в процессе выбора структуры дерева.

- Hello Time - период между посылкой BPDU hello корневым коммутатором (по умолчанию 2).

- Max Age - время ожидания сообщения hello. По истечении этого времени коммутатор начинает изменение топологии STP (по умолчанию 20 секунд).

- Forward Delay - время перехода интерфейса из состояния блокировки (blocking) в состояние передачи. Порт переходит из состояния блокировки в состояние прослушивания (listening), затем в состояние изучения (learning) и только после этого в состояние передачи.

Опишем работу стабильной сети.

1. Корневой коммутатор посылает BPDU hello со стоимостью 0 на все свои интерфейсы.

2. Каждый коммутатор в сети постоянно ретранслирует BPDU hello, полученные по корневому порту от корневого коммутатора, увеличивая стоимость. Чем дальше от корневого коммутатора, тем больше стоимость BPDU hello.

3. Если коммутатор не получает BPDU hello в течение некоторого времени, то он начинает на это реагировать.

Рассмотрим подобную ситуацию на нашем примере (рисунок 4.8).

Рисунок 4.8 - Изменение топологии STP.

В процессе выполнения алгоритма STP порт fa0/2 SW4 находится в состоянии блокировки. Предположим, что прервалась связь между коммутаторами SW1 и SW2. Коммутатор SW3 получает BPDU на свой корневой порт и режим работы не меняет. SW2 перестал получать BPDU через свой корневой порт и, следовательно, перестал транслировать BPDU на корневой порт коммутатора SW4. При этом SW4 по-прежнему получает BPDU через fa0/2 и теперь этот порт становится единственным источником получения сообщения BPDU. Соответственно он должен быть переведён в состояние передачи. Коммутатор SW2 получает теперь BPDU на порт fa0/1 через SW4. При этом состояние портов, через которые соединены SW2 и SW4 не меняется, а должно будет измениться состояние порта fa0/2 коммутатора SW4. Но немедленный переход порта из состояния блокировки в состояние передачи невозможен. Если бы это произошло немедленно, то может произойти зацикливание кадров в сети. Поэтому существует строгая последовательность перехода порта из режима блокировки в режим передачи.

Если по истечении максимального времени ожидания hello с корневого порта не приходит, то порт, находившийся в состоянии блокировки, переводится в режим прослушивания. Этот режим работы позволяет каждому устройству подождать, не появится ли новое сообщение hello с лучшими параметрами.

Следующее состояние - изучение. Этот режим позволяет коммутатору изучить новые МАС-адреса, не передавая данные для предотвращения наполнения сети лишними кадрами, пока она не стабилизировалась.

Если используются установки таймеров по умолчанию, то коммутатору SW3 необходимо 50 секунд для перевода порта fa0/2 в состояние передачи.

Первый таймер MaxAge =20cек. В течение этого времени коммутатор ожидает поступления BPDU hello через корневой порт. По истечение этого времени, SW4 переводит порт fa0/2 в состояние прослушивания. Это еще задержка на 15 секунд. Затем порт переходит в режим изучения для составления таблицы МАС-адресов на 15 секунд. И только после этого порт fa0/2 перейдет в режим передачи.

SW4 должен объявить об изменениях в таблицах МАС-адресов через свой корневой порт соседнему коммутатору. До изменения топологии доступ к рабочей станции WS4 выполнялся через порт fa0/1 SW4. Теперь WS4 будет доступна через порт fa0/2. Поэтому коммутатор SW4 посылает специальное сообщение BPDU, которое называется уведомлением об изменении топологии на порт fa0/2. Такое уведомление будет послано через MAX Age. Коммутатор SW3 переместит в соответствие с TCN (Topology Change Notification) МАС-адрес коммутатора SW4 с порта fa0/1 на порт fa0/2. Это перемещение произойдет до перехода порта fa0/2 SW4 из режима блокировки в режим передачи, что исключит ошибки при передаче кадров по сети. Коммутатор SW3 также ретранслирует данное уведомление на свой корневой порт, и его получит корневой коммутатор SW1. SW1 переместит МАС-адрес WS4 с порта fa0/1 в порт fa0/2. В таблице 4.3рассмотрены режимы работы портов и их состояния.

Таблица 4.3 - Режимы работы портов и их состояния

Состояние Передача кадров Формирование таблиц МАС-адресов Режим работы
Блокирование Blocking нет нет установившийся
Прослушивание Listening нет нет переключение
Изучение Learning нет да переключение
Передача Forwarding да да установившийся

4.3.4. Основные этапы работы STP

 

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

1. Интерфейсы всех коммутаторов находятся в одном из двух состояний - либо в состоянии передачи, либо в состоянии блокировки. При этом все интерфейсы, находящиеся в состоянии передачи, являются частью покрывающего дерева.

2. Один из коммутаторов назначается корневым. В процессе выбора каждый коммутатор считает себя корневым до тех пор, пока не будет выбран корневой. Все интерфейсы корневого коммутатора находятся в состоянии передачи.

3. Каждый коммутатор получает BPDU hello от корневого коммутатора. Порт, на который некорневой коммутатор принимает BPDU hello от корневого, называется корневым и он находится в состоянии передачи.

4. В каждый сегмент сети поступает BPDU только от одного коммутатора с наименьшей стоимостью. Порт коммутатора, через который в сегмент сети поступает BPDU с наименьшей стоимостью, называется назначенным.

5. Корневой коммутатор посылает BPDU hello через фиксированные промежутки времени. Все остальные коммутаторы ожидают получения этих BPDU для подтверждения того, что в сети не произошло никаких изменений. Все коммутаторы имеют одинаковые значения временных интервалов получения BPDU.

6. Если коммутатор не получает BPDU через время Max Age, то он начинает процедуру изменения топологии STP.

7. Один или несколько коммутаторов могут перевести свои порты из состояния блокировки в состояние передачи или наоборот.

8. Когда коммутатор переводит порт из режима блокировки в режим передачи, то это происходит через промежуточное состояние.

9. В состоянии прослушивания коммутатор посылает TCN BPDU по новому маршруту для модификации неправильных записей МАС-адресов в других коммутаторах.

10. В состоянии изучения коммутатор строит таблицы МАС-адресов порта нового маршрута для исключения генерации лишних кадров в сети.


Поделиться с друзьями:

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.041 с.