У меня есть соединение в центре обработки данных, где сетевой провайдер предоставляет мне два соединения Ethernet. Предположительно они подключены к одной и той же VLAN, так что я могу подключить их к своему коммутатору, и только один из них будет активен одновременно, но любая из сторон может затем выполнять техническое обслуживание оборудования (переналадка, модернизация коммутатора и т. Д.) без отключения сервиса.
Я разделил свой коммутатор, чтобы иметь отдельную VLAN для этого внешнего края - допустим, порты 1-3 находятся в VLAN, при этом порты 1 и 2 являются подключениями к Интернету, предоставляемыми моим colo, а порт 3 является внешним интерфейсом мой брандмауэр. Это нормально работает как с портом 1, так и с портом 2, но примерно через 2 минуты после того, как оба подключены одновременно, мой коммутатор перестает отвечать, я получаю около 80% потерь пакетов, а некоторые диагностики показывают миллионы широковещательных пакетов в минуту.
У меня есть базовое представление о STP, чтобы знать, что он должен быть включен, чтобы это работало; пока протокол STP включен, оба интерфейса по-прежнему помечаются как пересылка.
У кого-нибудь есть идеи о том, что может вызвать шторм пакетов? Есть ли лучший способ установить избыточное соединение?
Быстрый ответ: вам нужно поговорить со своим провайдером.
Чтобы STP предотвратил возникновение сетевого цикла, все потенциальные узлы в цикле должны использовать один и тот же протокол STP, настроенный одинаково.
Вам необходимо связаться со своим провайдером и спросить его «Как настроен STP?» и убедитесь, что ваш конец такой же. (Возможные протоколы связующего дерева включают STP, MST, RST, PVST, PVST +, ...)
С другой стороны, вполне возможно, что он не использует STP на ваших ссылках, поскольку вы, вероятно, не используете общие конфигурации VLAN.
Если он желает это сделать, настройте агрегацию каналов для этих восходящих каналов (на обоих концах!). Тогда вам не придется беспокоиться о STP.
Как уже было сказано, один из способов получить правильно работающее избыточное соединение на уровне 2, как это, - это запустить какой-либо вариант протокола связующего дерева. Большинство, если не все, варианты имеют режим совместимости для работы со старыми коммутаторами, на которых работает исходное связующее дерево 802.1d, поэтому специально совпадающие версии не требуются для базовой работы; однако скорость переключения при отказе не будет хорошей, если вы работаете в режиме совместимости.
Для провайдера коло этот тип петли может иметь катастрофические последствия. Настройка коммутаторов для обнаружения и предотвращения петель такого типа абсолютно необходима для работы большой коммутационной сети. Я бы серьезно подумал о смене вашего поставщика или, по крайней мере, попросил бы их пересмотреть свои лучшие практики.
Обычно я предпочитаю не связывать коммутаторы в разных административных доменах в одно связующее дерево.
Один из способов разорвать петлю на вашей стороне без связующего дерева - это использовать некоторую форму конфигурации «private-vlan» на вашей стороне. Большинство крупных производителей коммутаторов имеют функцию этого типа, которая может использоваться для предотвращения прямого разговора абонентов одного и того же vlan друг с другом. Это очень полезно в дата-центрах и городских сетях Ethernet. В вашей конфигурации порты 1 и 2 будут помечены как частные / UNI (или в соответствии с терминологией вашего поставщика), а порт 3 будет неразборчивым / NNI (и т. Д.).
Некоторые поставщики также имеют явную конфигурацию резервного порта, которая позволяет вам помечать порт как неактивный до тех пор, пока настроенный основной канал не выйдет из строя.
Если у вас более одного переключателя, убедитесь, что вы контролируете свое связующее дерево. Обычно вы можете просто соединить переключатели вместе, и пока работает связующее дерево, они будут работать; однако рано или поздно что-то сломается, и если вы знаете, где находится ваш корень и какие ссылки следует перенаправлять / блокировать, это значительно упрощает устранение неполадок.