Рейтинг:0

Протокол связующего дерева: как выбираются назначенные или не назначенные порты?

флаг tc

Я много читал о STP. Возможно, еще недостаточно, но становится трудно получить детали.

Я понял механизм, как все мосты выбирают свой корневой порт.После обмена достаточным количеством BPDU, содержащих информацию о потенциальных корневых мостах, информация о реальном корневом мосте просачивается через сеть, предоставляя каждому мосту информацию о стоимости пути к корневому мосту. Затем каждый мост установит свой корневой порт на порт с наименьшей стоимостью пути. Но это само по себе ничего не делает, чтобы предотвратить петлю. Из всех других своих портов мост должен установить некоторые из назначенных, а некоторые — не назначенные роли. Последние останутся заблокированными, а назначенные в конечном итоге перейдут в режим переадресации.

Я не понимаю, как делается различие между назначенными и не назначенными портами. На мой взгляд, должна быть какая-то информация о другом направлении. Предположим, что мост A находится довольно далеко от корневого моста, а мост B равноправен мосту A. В какой-то момент мост A должен сообщить мосту B: «Эй, мой корневой порт теперь указывает на вас, так что вы должны сделать противоположный порт твой назначенный».

Но я не нашел никакой ссылки, и, насколько я вижу, в BPDU нет информации по этому вопросу. Однако должен быть механизм, но я пока его не вижу.

Редактировать

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

Мой вопрос по-прежнему: как определяется, какой порт в этом сегменте будет превращен в назначенный порт? Какая часть алгоритма STP принимает это решение и как?

Редактировать

введите описание изображения здесь

Я добавил образец изображения, чтобы сделать проблему еще раз заметной. Допустим, есть сегмент, в котором два коммутатора A и G в верхней половине имеют минимальную стоимость пути для каждого из портов, направленных вверх.Следовательно, их интерфейсы с проверяемым сегментом могут быть только назначенными или не назначенными. У нас есть один или несколько других коммутаторов ниже, у которых есть порт в сети, выбранный ими в качестве корневого порта.

Я понял, что коммутаторы ниже, включая B, отправляют BPDU, которые ясно показывают, что к сегменту подключен как минимум один корневой порт. Это ясно показывает, что для обеспечения связи корневых портов B и других требуется ровно один назначенный порт. Однако, поскольку BPDU являются многоадресными, такого понятия, как «партнер по каналу», не существует. Как A и G узнают, какой из них должен сделать свой порт назначенным или не назначенным?

Рейтинг:1
флаг ru

По сути, порт назначается, когда он является корневым портом на другой стороне (для моста STP) или граничным портом (конечный узел, без моста STP).

В пункте 13.4 802.1Q говорится:

Роль порта (13.12) корневого порта назначается одному порту на каждом Мост, обеспечивающий самый дешевый путь к корневому мосту, и Порт Роль Назначенного порта для одного Мостового порта, который обеспечивает путь с наименьшей стоимостью от подключенной локальной сети к корневому мосту.

[править] Хотя все порты в настоящее время используют полнодуплексный режим (полудуплексный режим существует только до 100 Мбит/с), вы спрашиваете о каналах с общим медиа. Ну, вот где точка-точка статус порта вступает в игру. Полнодуплексные каналы считаются двухточечными (см. 802.1Q, пункт 13.4), и мое упрощенное утверждение корневой порт или пограничный узел на другой стороне применяется.

Ссылки с общими носителями используют более универсальное правило из приведенной выше цитаты IEEE 802.1Q: если какой-либо мост STP в этом домене коллизий выбирает рассматриваемый порт в качестве своего корневого пути, локальный порт становится назначенным. Обратите внимание, что другие мосты STP в том же сегменте либо выбрали бы тот же мост для предоставления своего корневого пути, либо использовали бы другой порт с более низкой стоимостью по отношению к мосту.

Ariser avatar
флаг tc
Я это знаю, и это не ответ на мой вопрос. Как мост B узнает, что другой мост A, подключенный к нему через сегмент сети, имеет свой порт, подключенный к этому сегменту сети, превращенный в корневой порт?
Zac67 avatar
флаг ru
Мосты STP обмениваются BPDU, и роль порта отмечается в BPDU.
Ariser avatar
флаг tc
Хорошо, я постепенно получаю представление. Я должен подумать об этом. Ваш комментарий близок к ответу.
Zac67 avatar
флаг ru
Я не вижу, в чем ваша проблема, извините. Когда партнер по соединению сигнализирует, что его порт является его корневым портом, порт становится назначенным. Он также становится назначенным, если по истечении тайм-аута не было получено ни одного BPDU (пограничный порт).
Ariser avatar
флаг tc
Это может быть простым ответом для микросегментированных сред, но STP должен, насколько я знаю, работать, когда он не микросегментирован, например. когда к нему подключен желтый кабель с множеством мостовых портов.
Ariser avatar
флаг tc
Теперь это имеет смысл для меня. Schöne GrüÃe из Ростока.
Zac67 avatar
флаг ru
Мойн мойн аус Франкен. ;-)

Ответить или комментировать

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