Промышленные сети предъявляют повышенные требования к сходимости и скорости работы. Мы не можем позволить себе недоступность в работе сети даже на несколько секунд. Именно поэтому многие протоколы, такие как Spanning Tree, активно используемые в корпоративных сетях, здесь не применимы. В качестве замены различные вендоры предлагают свои решения адаптированные для работы в промышленных сетях.

В этой статье мы поговорим о разработанном Cisco протоколе REP (Resilient Ethernet Protocol). Несмотря на то, что официально этот вендор не работает в России, на многих предприятиях до сих пор используется их сетевое оборудование, прежде всего коммутаторы и поэтому использование данного протокола является по прежнему актуальным.

Принцип работы REP

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

STP и REP введены для предотвращения таких зацикливаний в сети с кольцевой топологией. Протокол REP поддерживается на коммутаторах Stratix 5700, Stratix 8300/8000, IE2K, IE3K, IE4K, Catalyst 3750, то есть преимущественно на устройствах, заточенных на промышленное использование.

Изначально REP был разработан для работы с интерфейсами Fast Ethernet (FE 10/100), где он может похвастаться быстрым обнаружением разрыва соединения, составляющим около 10 миллисекунд (мс), и временем конвергенции сети, составляющим около 50 мс. Однако производительность REP различается при развертывании на разных типах устройств. Для оптоволоконных портов Gigabit Ethernet (GE) время обнаружения обрыва соединения остается на уровне 10 мс, аналогично времени обнаружения портов Fast Ethernet. И наоборот, когда REP реализован на медных интерфейсах Gigabit Ethernet, время обнаружения и восстановления потери связи значительно увеличивается и составляет от 750 до 350 мс.

В отличии от STP, который работает с глобальной топологией, REP работает только с сегментной топологией. Сегмент — это, по сути, группа портов, сконфигурированных в цепочку с одинаковым идентификатором сегмента от одного крайнего порта до другого. Первичный порт, с которого мы начинаем настройку REP, и вторичный порт, которым мы заканчиваем.

REP выбирает порт блокировки на основе идентификатора порта. Идентификатор порта представляет собой комбинацию базового MAC‑адреса и номера интерфейсного порта. Коммутатор с наибольшим базовым mac‑адресом и порт коммутатора с большим номером интерфейса станут блокирующим портом в сегменте REP.

Идентификатор сегмента настраивается на всех коммутаторах, принадлежащих к одному сегменту. Два пограничных порта выбираются там, где заканчивается сегмент REP. Эти пограничные порты не должны быть соединены друг с другом. Один порт становится заблокированным, и этот порт называется альтернативным портом. Все остальные порты являются транзитными.

Начиная с пограничных портов, каждые четыре секунды рассылаются сообщения End Port Advertisements (ESA). Эти сообщения используются для определения топологии REP. Сообщения передаются всеми промежуточными портами и означают, что все коммутаторы в одном сегменте знают, как выглядит топология и состояние всех портов в сегменте. Это также можно использовать чтобы увидеть, как выглядела топология до сбоя, в REP есть функция архивирования.

Роли портов REP

Порты REP являются либо неисправными (Failed), открытыми (Open), либо альтернативными (Alternative). Изначально все порты обычного сегмента помечаются как неисправные порты. После определения смежности порты переходят в состояние Alternative. После завершения обмена по Alternative порту остальные порты переходят в состояние Open, в то время как один порт остается в состоянии Alternative. При возникновении сбоя в соединении все порты переходят в состояние Failed. Когда порт в состоянии Alternative получает уведомление, он переводится в открытое состояние.

Теперь рассмотрим, как протокол REP обнаруживает сбои в сети. REP формирует связность с подключенными напрямую коммутаторами. Поскольку основным методом конвергенции является обнаружение сбоев, это означает, что сеть должна быть спроектирована без преобразователей и других устройств, которые могли бы повлиять на обнаружение сбоя. REP Link (LSL) отвечает за обнаружение соседей, поддерживающих связь с REP, и установление соединения внутри сегмента. После настройки подключения REP выберет, какой порт должен быть альтернативным, а остальные порты будут использоваться для пересылки трафика. При желании альтернативный порт также можно выбрать вручную.

Сходимость

Как упоминалось ранее, основной принцип работы заключается в обнаружении потери связности. В редких случаях чтобы интерфейс не отключался сразу при потере соединения, REP полагается на таймеры. По умолчанию интерфейс будет работать в течение пяти секунд, если от соседа не будут получены приветствия по LSL. При сбое соединения уведомление отправляется на адрес назначения многоадресной рассылки. Это уведомление передается аппаратно, что ускоряет сходимость. Когда коммутатор получает уведомление, он должен очистить свою таблицу MAC L2.

Другие возможности протокола REP

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

REP также поддерживает балансировку нагрузки на VLAN, что означает, что топология может отличаться в зависимости от VLAN. Однако в REP в отличии от STP приветственные фреймы всегда отправляются по одной VLAN. Реализации PVST+/RPVST+ могут отправлять BPDU для каждой VLAN отдельно.

REP использует концепцию административной VLAN, которую можно настроить, по умолчанию используется VLAN 1.

Безопасность

Как и любые протоколы, выполняющие задачи управления, работающие в наших сетях, REP может быть подвержен атакам. Что произойдет, если кто‑то подделает PDU фрейм для REP, пытаясь обеспечить неожиданную конвергенцию сети, или продолжит отправлять эти PDU с очень высокой скоростью.

Очевидно, что это может быть опасным сценарием. Для предотвращения подобных атак используется механизм ключа, на альтернативных портах. Ключ состоит из идентификатора порта и случайного сгенерированного номера, который создается при активации порта. Этот ключ передается через сегмент другим устройствам, которые затем могут использовать этот ключ для разблокировки альтернативного порта.

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

Заключение

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

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


Если вы хотите систематизировать знания о работе сетевых протоколов в сложных инфраструктурах, приглашаем на курс «Специализация Network Engineer».

Технологии развиваются быстро. С подпиской OTUS берёте нужные курсы сейчас, а при смене приоритетов — корректируете трек без доплат. Выгоднее, чем оплачивать каждый курс отдельно. Узнать в деталях

Комментарии (0)