Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
8_Канальный уровень в локальных сетях.doc
Скачиваний:
1
Добавлен:
25.04.2019
Размер:
315.39 Кб
Скачать

7.1 Процедура выбора корневого коммутатора

Каждому коммутатору, подключаемому к сети в которой для определения логической структуры используется STP, администратором назначается специальный уникальный идентификатор BID (bridge ID). Этот идентификатор имеет длину в 8 байт. Первые 2 байта – поле приоритета. По умолчанию его значение 32768 (1000 0000 0000 0000 в двоичном виде). В качестве следующих 6 байт идентификатора используется MAC адрес коммутатора.

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

При подключении нового коммутатора к сети он по умолчанию позиционирует себя как корневой и рассылает BPDU со своим BID всем соседям. Если вы были не аккуратны при задании значения приоритета или вы используете значения этого поля по умолчанию для всех коммутаторов сети, то возможно весьма серьёзное перестроение её логической структуры.

7.2 Выбор пути к корню дерева

Разобравшись кто является корнем дерева, коммутаторы должны определить для каждого не корневого по одному порту, ближайшему к корню. Для каждого порта каждый некорневой коммутатор определяет длину маршрута из этого порта до корня и выбирается порт с наименьшим значением этого параметра.

Длина маршрута определяется как сумма длин всех составляющих его соединений (коллизионных доменов) Длина каждого соединения определяется по специальной шкале В первоначальной версии протокола эта длина определялась безразмерной величиной, равной частному от деления 1000 Мбит/с на полосу пропускания канала, выраженную в Мбит/с. Соответственно для стандартного 10 Мбит/с Ethernet получалось 100, а для 1 Гбит/с Ethernet 1. С появлением технологий со скоростью передачи данных более чем 1 Гбит/с эта шкала оказалась неработоспособной (отметим, что область применения STP не ограничена Ethernet). Поскольку скорости канальных технологий растут очень быстро, комитету IEEE 802.1D приходилось неоднократно возвращаться к этому вопросу. В редакции стандарта от 2004 года было решено использовать для оценки длины маршрута 32 битные значения вместо 16 битных и определять длину отдельного соединение как частное от деления 20 000 000 000 Кбит/с на скорость соединения, выраженную в Кбит/с. Диапазон скоростей, охватываемых этим вариантом определения, начинается от 100 Кбит/с (рекомендованное значение – 200 000 000) и простирается до 10 Тбит/с (! Терабит в секунду ! рекомендованное значение – 2).

Корневым назначается порт с минимальной длиной маршрута до корня.

7.3 Определение назначенных портов и назначенных коммутаторов

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

Корневой коммутатор при нормальном функционировании сконфигурированной сети каждые 2 секунды рассылает BPDU, которые ретранслируются по всей сети и служат подтверждением работоспособности её текущей конфигурации. Если любой из коммутаторов не получит подтверждающего сообщения в течении 20 секунд, он должен начать процедуру пересмотра структуры сети.

Протокол STP не очень быстр. На установление конфигурации сети или её перестройку при сбое ему требуется до 50 секунд. Для борьбы с этим недостатком была разработана его «ускоренная» версия RSTP, в которой, в частности, дополнительно заранее определяются альтернативные маршруты к корню дерева и некоторые другие ускоряющие алгоритмы.

8. Flow control IEEE 802.1x и back pressure

Сколь быстрые технологии передачи и обработки данных мы бы не использовали, всегда возможна ситуация, когда скорость работы передатчика превышает возможности приёмника по обработке или пересылке данных. В Ehternet по умолчанию имеется возможность только отбрасывать кадры при невозможности их обработать. Для регулирования работы в сети в таких ситуациях были разработаны специальные решения.

Для Ethernet возможен как полудуплексный режим работы, так и полный дуплекс. В первом случае если отправитель забрасывает порт получателя пакетами, которые тот не может обработать, возможности вежливо попросить отправителя уменьшить активность нет и возможен только достаточно «грубый» метод обратного давления (back pressure). Суть метода заключается в том, что получатель сам начинает отправлять пакеты, не обращая внимание на занятость среды передачи. Это немедленно приводит к появлению коллизий, которые обнаруживает отправитель и оказывается вынужден прекратить передачу.

Для дуплексного режима работы стандарт IEEE 802.1x предлагает гораздо более элегантно решение. В этом случае получатель отправляет специальный кадр PAUSE. Признаком кадра этого типа является наличие кода 8808 в поле LENGTH/TYPE и 0001 в следующих за ними двух байтах (поле OPCODE). В качестве адреса получателя такого кадра должен быть размещен код 01-80-C2-00-00-01, который представляет собой Multicast адрес станций, поддерживащих выполнение данной процедуры, или Unicast адрес конкретного абонента в сети, формирующего избыточный трафик для данной станции. В поле адрес отправителя кадра типа «Пауза» помещается MAC - адрес станции, которая инициирует выполнение процедуры управления потоком.

Код 8808, помещаемый в поле LENGTH/TYPE этого кадра зарезервирован IEEE для кадров, которые используются в процедурах управления на уровне MAC. Поле OPCODE содержит признак кадра управления потоком 0001. В последующих двух байтах указывается размер предлагаемой паузы, выраженному в битовых интервалах. Единица младшего разряда этого кода соответствует 512 битовым интервалам используемой технологии. Таким образом, размер предлагаемой паузы для технологий Fast Ethernet может иметь значение от 0 до 0.3 секунды.