Протокол SPT для мостов и коммутаторов

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

Протокол STP [2] (в некоторых технических документах может встретиться название Spanning Tree Algorithm - STA) был разработан Digital Equipment Corporation, а впоследствии опубликован комитетом IEEE 802 в спецификации IEEE 802.1d. Основная цель разработки протокола была в устранении логических и физических петель в сетях, построенных с использованием мостов. Кроме того, протокол автоматически переконфигурирует сетевую топологию в случае обрывов линий связи или при аппаратных ошибках оборудования.

Принцип действия протокола STP рассмотрим на примере сети на рис. 5.6. Предположим, что станция А генерирует широковещательное сообщение. Оно будет получено коммутаторами Б и В и передано соответственно друг другу, как показано стрелками. После получения сообщения эти коммутаторы вновь перешлют его коммутатору А, и весь цикл повторится вновь. Похожая проблема возникает и в случае не широковещательного трафика, если коммутаторы еще не построили своих адресных таблиц. Решением проблемы является удаление всех петель из сетевой топологии с сохранением только одного пути между каждыми двумя станциями.

Для того чтобы протокол STP построил свободную от петель сетевую топологию, необходима поддержка стандарта IEEE 802.1d всеми коммутаторами и мостами, работающими в сети. Для функционирования протокола STP должен существовать способ обмена информацией между коммутаторами. Это достигается с помощью специальных пакетов Bridge Protocol Data Unit (BPDU), которые помещаются внутрь кадров канального уровня, например кадров Ethernet или FDDI. При этом желательно, чтобы все коммутаторы могли поддерживать общий групповой адрес, с помощью которого кадры, содержащие пакет BPDU, могут одновременно передаваться всем заинтересованным коммутаторам в сети. Иначе эти кадры рассылаются широковещательно. Формат пакета BPDU показан на рис. 5.7.

Поля пакета BPDU имеют следующие значения:

· ИД протокола - идентификатор протокола. Поле имеет нулевое значение;

· версия - поле имеет нулевое значение. Коммутаторы в сети должны поддерживать одну и ту же версию протокола, иначе может быть сформирована конфигурация с петлями;

· тип сообщения - содержит нулевое значение при нормальной работе протокола. Поле устанавливается в значение 80h при извещении об изменениях в сетевой топологии;

· флаги - используются только два бита. Первый бит сигнализирует об изменениях в сетевой топологии и обозначается ТС. Восьмой бит используется для подтверждения приема пакета BPDU с установленным битом ТС. Он имеет обозначение ТСА. Остальные шесть битов этого байта не используются;

· корневой ИД - идентификатор корневого коммутатора. Два первых байта поля - идентификатор коммутатора, оставшиеся шесть байтов - его физический адрес;

· стоимость пути до корня - характеризует суммарную стоимость пути до корневого коммутатора;

· ИД коммутатора - идентификатор коммутатора, отправляющего сообщение;

· ИД порта - идентифицирует порт коммутатора, из которого отправлено сообщение;

· возраст сообщения - время, прошедшее с момента отправки корневым коммутатором сообщения об обнаружении изменений в сетевой топологии;

· максимальный возраст - указывает время удаления из обращения текущего сообщения;

· время приветствия - промежуток времени между рассылками сообщений корневым коммутатором;

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



/footer.php"; ?>