Ethernet ring protection switching что это

Обновлено: 03.07.2024

ERPS (Ethernet Ring Protection Switching) - протокол, позволяющий осуществлять резервирование канала на втором уровне модели OSI путем физического создания петель и их логической блокировки , также известный как G.8032. Он оптимизирует механизм обнаружения петли и может определить двунаправленную/однонаправленную неисправность, поддерживает многокольцевую и многодоменную структуры. Время сходимости достигает 50 мс.

2.1 Терминология ERPS

Ethernet ring: Это закрытая физическая кольцевая сеть, которая состоит из множества узлов, каждый узел в кольце имеет только два порта, соединяющихся с этой кольцевой сетью.

Ring protection link: RPL - соединение в кольцевой сети. Когда кольцевая сеть исправна, то это соединение, заблокировано.

RPL owner node: Узел, блокирующий RP в нормальном состоянии и разблокирующий его в случаи петли. Должен быть один на кольцо.

RPL neighbor node: должен находиться с другой стороны линка от RPL owner и также может участвовать в блокировке/разблокировке канала.

Interconnection node: Узел на пересечнии колец. Его порты являются частями нескольких колец.

R-APS virtual channel: Это связь, которая создает соединение полукольца между двумя соединеными узлами за пределами полукольца.

major-ring: Полноценное кольцо, которое соединятеся с узлами двумя портами.

sub-ring: Полукольцо, присоединенное к major-ring. Соединятеся с узлами одним портом.

ERPS instance: Это набор защищаемых VLAN.

Revertive switch: При восстановлении канала порт RPL-owner снова станет заблокированным и сбойный линк - рабочим, т.е. кольцо, вернется в исходное состояние

Non-revertive switch: После восстановления канала возвращения в исходное состояние не произойдет. Трафик будет продолжит проходить через RPL.

2.2 Конфигурация ERPS

  1. Создать инстанс, который будет соответствовать защищаемому VLAN.
  2. Создать ERPS кольцо и сконфигурировать порты-участники. Конфигурация по умолчанию: поддержка версии 2, главное кольцо закрытого типа и отслеживание физического статуса порта.
  3. Сконфигурировать инстанс ERPS кольца и сконфигурировать защищаемый инстанс. Сконфигурировать название экземпляра ERPS кольца, R-APS уровень, таймеры. Сконфигурировать контролируемый VLAN и выбрать порт для конфигурирования его как RPL owner или RPL neighbor.

1. Создать экземпляр MSTP

Команда

Описание

Global режим

spanning - tree mst configuration

no spanning - tree mst co nfiguration

Команда

Описание

MST режим

instance <instance value > vlan <vlan - list>

no instance [instance - value]

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

2. Создать ERPS кольцо и сконфигурировать порты-участники

Команда

Описание

Global режим

erps ring <ring - name>

no erps ring <ring - name>

Создание ERPS кольца и вход в режим его конфигурации. Команда no удаляет соответствующее кольцо.

Команда

Описание

Режим конфигурации порта

erps - ring <ring - name> port0

erps - ring <ring - name> port1

erps - ring <ring - name> port0

erps - ring <ring - name> port1

Назначение роли port0 или port1. Команда no удаляет их свойства.

3. Сконфигурировать экземпляр ERPS кольца

Команда

Описание

Global режим

erps ring <ring - name>

no erps ring <ring - name>

Создание ERPS кольца и вход в режим его конфигурации. Команда no удаляет соответствующее кольцо.

Команда

Описание

Режим конфигурации ERPS кольца

eprs - instance <instance - id >

no eprs - instance <instance - id>

Создание инстанса ERPS и вход в режим его конфигурации. Команда no удаляет соответствующее кольцо.

description <instance - name>

r aps - mel <level - value>

protected - instance < instance - list >

no pr otected - instance

wtr - timer < wtr - times >

guard - timer < guard - times >

no guard - timer

holdoff timer < holdoff - times >

no holdoff timer

control - vlan < vlan - id >

no control - vlan

4. Показать информацию о конфигурации ERPS

Команда

Описание

Global режим

2.3. Пример ERPS


S1 - S4 создают сеть кольцевой топологии и предоставляют защиту избыточности на канальном уровне. Для предотвращения зацикливания пакетов в VLAN 10-20 на устройствах, создающих кольцевую топологию, развернут ERPS протокол. Путь пересылки пользовательских данных через CE1 лежит по S2 - S1, и через C2 по S3 - S4.

2.3.1 Обдумывание конфигурации.

  • Создайте ERPS кольцо 'major_ring1' и сконфигурируйте порты-участники.
  • Сконфигурируйте экземпляр ERPS кольца 'major_ring1' и сконфигурируйте защищаемый экземпляр, роль порта-участника, таймер и контролирующий VLAN.

2.3.2 Шаги конфигурации

Шаг 1: Создайте экземпляр 2, VLAN 2 и VLAN 10-20 на коммутаторах S1 - S4. Vlan 2 используется для передачи пакетов протокола ERPS, VLAN 10-20 используются для передачи пользовательских данных.

Конфигурация S2 - S4 такая же, как у S1.

Шаг 2: Создайте ERPS кольцо и настройте его порты-участники. Настройка по умолчанию: поддержка версии 2, главное кольцо закрытого типа и отслеживание физического статуса порта.

Шаг 3: Сконфигурируйте экземпляр ERPS кольца, защищаемый instance и роль порта. Сконфигурируйте имя экземпляра ERPS кольца, уровень R-APS, информацию о таймерах. Сконфигурируйте контролирующий VLAN, порт e1/0/2 на S2, как RPL owner и порт e1/0/1 на S1, как RPL neighbor.

Времени по прежнему катастрофически не хватает. Однако у меня всегда есть парочка заготовленных постов на такой случай. Сегодня кратко про ERPS.


Как известно, операторы очень любят кольцевые топологии. Это самый дешевый способ организовать хоть какое-то резервирование. Мне эти самые кольцевые топологии попили крови в своё время, потому как работали на RSTP. Видел я и совсем интересные колечки по 16 коммутаторов, которые, при любом чихе, были склонны застревать в процессе перестроения и ломать всем планы.

Выходом из этой ситуации является семейство протоколов ERPS (Ethernet Ring Protection Switching). Работает как часы, минимум конфигурации, быстрая сходимость.

Весь управляющий трафик в ERPS ходит в специальном VLANe (RAPS VLAN). В нормальном состоянии RPL (Ring Protection Link) у RPL Owner заблокирован. На картинке это линк между коммутаторами 0.2 и 0.3. В нашем случае коммутатор 0.2 является коммутатором ответственным за работу с резервным линком, то есть он RPL Owner.

Авария

Затем он блокирует свой порт в сторону упавшего линка.

Восстановление

RPL owner запускает WTR таймер, по истечению которого блокирует RPL порт и отсылает R-APS(NR,RB) (R-APS no request, root blocked).

Таймеры

holdoff_time - используется когда линк падает, запускается таймер, по истечении которого отправляется R-APS BPDU SF

wtr_time - используется только RPL Owner свичем для отложенной блокировки RRL порта

Настройка

Настроим ERPS на кольце из трех коммутаторов D-link (да простит меня Cisco), которые соединены между собой 19 и 20 портами. Каждый порт объявляется западным или восточным по правилу "Восточный порт должен смотреть на западный и наоборот". Управляющий трафик будет ходить в VLANe 800, трафик остальных VLANов будет защищен.

create erps raps_vlan 800
Указываем значения таймеров

config erps raps_vlan 800 timer holdoff_time 0 guard_time 500 wtr_time 5

У этого коммутатора нет RPL порта и он не RPL Owner

Приоритет использующийся для организации пересекающихся колец

После восстановления линка, кольцо вернется в первоначальное положение

В настоящее время для большинства сетевых инженеров, IT-отделов и телеком-компаний не стоит вопрос организовывать резервирование на сети или нет. Скорее стоит вопрос как именно реализовывать это самое резервирование, чтобы уменьшить время простоя. Требования непрерывности бизнес-процессов постоянно повышаются и то, что раньше было допустимо, в настоящее время может служить поводом для написания объяснительной. Сейчас мало кто может себе позволить иметь согласованный план резервирования, заключающийся в переключении патчкорда из одного коммутатора/маршрутизатора в другой в случае наличия проблем с каналом. В данной статье предлагается к рассмотрению протокол L2-резервирования ERPS и его сравнение с семейством протоколов, наиболее распространенных на втором уровне модели OSI - семейством STP.

Описание протокола ERPS

ERPS(Ethernet Ring Protection Switching) - протокол, позволяющий осуществлять резервирование канала на втором уровне модели OSI путем физического создания петель и их логической блокировки. В каждом кольце выбирается R-APS VLAN, в котором будет ходить служебный трафик ERPS. Трафиковые VLAN’ы, которые нужно защищать от петель и разрывов, объединяются в MST-инстансы и называются protected VLAN. Также для каждого порта в кольце выбирается 1 из 3 возможных ролей: RPL owner, RPL neighbour или common. RPL owner должен быть 1 на кольцо и именно он при нормальных условиях должен выполнять блокировку петли и разблокировку канала в случае разрыва. RPL neighbour должен находиться с другой стороны линка от RPL owner и в текущей редакции стандарта G.8032/Y.1344 также может участвовать в блокировки/разблокировки канала. Common-порт, как можно судить по его названию, просто обычный порт, входящий в состав кольца и через который ходит служебный трафик в R-APS VLAN’е. Согласно стандарту G.8032/Y.1344 время сходимости должно составлять не более 50 мс при наличии в кольце не более 16 узлов. Также в настоящий момент в ERPS существует возможность выбора, будет кольцо revertive или non-revertive. В первом случае при восстановлении канала порт RPL-owner снова станет заблокированным и сбойный линк - рабочий, т.е. кольцо, вернется в исходное состояние. В случае если кольцо non-revertive, то возвращения в исходное состояние не произойдет.

Возникает резонный вопрос - ведь есть же уже семейство протоколов STP, которые решают аналогичную задачу резервирования. Зачем отходить от него? Ответ будет крыться во времени сходимости: для STP - это порядка 50 секунд, для RSTP - около 1-2 секунд, а для ERPS - 50 мс. Согласитесь, весомое преимущество. Но теперь уже возникает встречный вопрос - если же ERPS так хорош, почему не используется повсеместно? Во-первых, для его применения нужна специальная топология - кольцевая. В случае с STP его можно применить к любой топологии с любым количеством резервируемых линков, но все же помня про ограничение по количеству узлов. С ERPS номер с любой топологией не пройдет, нужны именно кольца или полукольца, о которых мы поговорим чуть позже. Во-вторых, у ERPS отличается механизм падения линка, который тоже описан ниже.

Основные алгоритмы работы ERPS

Штатная работа

Разрыв линка между RPL common’ами

В данном случае коммутаторы, которые обнаружили падение линка, после истечения "Hold Off Timer" посылают пакеты "Signal Failing". Коммутаторы, получившие пакет "Signal Failing", выполняют очистку таблицы MAC-адресов. Когда коммутаторы, на которых находятся RPL owner и RPL neighbour получают пакет "Signal Failing", они разблокируют указанные порты и также выполняют очистку таблицы MAC-адресов. Затем коммутаторы получают второй "Signal Failing"(от второго коммутатора, который зафиксировал падение линка) и снова выполняют очистку таблицы MAC-адресов. Назчение "Node State" в состоянии "PROTECTION".

Восстановление линка между RPL common’ами

Разрыв линка между RPL owner и RPL neighbour

В случае разрыва линка между портами RPL owner и RPL neighbour коммутаторы начинают рассылать пакет "Signal Failing, Do not Flush", при получении которого остальные коммутаторы не будут сбрасывать таблицу МАС-адресов. Состояние кольца в данном случае будет "PROTECTION".

Восстановление линка между RPL owner и RPL neighbour

Алгоритм восстановления в данном случае напоминает ситуацию восстановления канала между RPL common’ами, за тем исключением, что в данном случае выставляется флаг "Do Not Flush" и коммутаторы не сбрасывают таблицу МАС-адресов.

Более подробно алгоритмы работы изложены в приложении III стандарта G.8032/Y.1344.

Особенности ERPS

Virtual channel

Детектирование падения линка

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

Второй, и наиболее эксклюзивный способ - это настройка механизма CFM(connectivity fault management). Этот протокол позволяет настроить мониторинг от "точки до точки" на уровне L2 с помощью CCM-пакетов, которые отправляются с заданной периодичностью. Таким образом, появляется таймер, в течение которого отсутствие прихода CCM-пакета позволяет сделать вывод о разрыве канала и включить режим защиты в протоколе ERPS.

Одной из интересных особенностей ERPS является тот факт, что, несмотря на постоянное присутствие в канале пакетов NR(no request), при их не получении портом RPL owner, этот порт не будет предпринимать никаких действий по включению защитного механизма ERPS.

Настройка ERPS на коммутаторах SNR

Настройка 1 кольца

  1. коммутатор WEST - SNR-S2990G-24FX
  2. коммутатор EAST - SNR-S2940-8G-v2
  3. коммутатор NORTH - SNR-S2990G-48T
  4. коммутатор SOUTH - SNR-S2960-24G

Настройка ERPS на коммутаторах SNR

Настройка коммутатора NORTH:

Настройка коммутатора NORTH производится аналогично WEST, кроме роли порта port0. Поскольку с другой стороны линка будет RPL owner, то port0 должен быть neighbour.

В схеме мы видим, что port0 коммутатора WEST смотрит на port0 NORTH. Это вполне нормально, поскольку мы сами определяем значения port0 и port1. Port0 может смотреть как на port0, так и на port1. С port1 аналогично. Главное, чтобы соблюдалось правило: owner смотрит на neighbour, а common на common.

Настройка коммутатора EAST:

Настройка коммутатора EAST осуществляется аналогично WEST и NORTH, за исключением того, что на EAST роли портов port0 и port1 не указываются, будут ли они RPL owner или neighbour, т.е. они становятся по умолчанию RPL common.

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

Убеждаемся, что Signal-Status имеет значение Non-failed на всех портах и Node State в состоянии IDLE. Это говорит о том, что кольцо создалось и работает в штатном режиме.

Также можно вывести информацию о параметрах с помощью команды show erps instans

Предлагается немного остановиться на параметрах, которые ранее не рассматривались.

Revertive mode - режим работы, при котором после устранения разрыва(состояние PENDING) кольцо переходит в исходное состояние (состояние IDLE) - разблокируются все порты, кроме RPL owner и neighbour. Non-Revertive mode - режим работы, при котором после устранения разрыва блокированным остается тот линк, на котором был разрыв. Состояние кольца в этом случае будет PENDING.

Holdoff Timer - таймер, до истечения которого будет игнорироваться неработоспособность линка, давая возможность линку восстановиться без срабатывания ERPS.

WTR (wait-to-restore) Timer - таймер, до истечения которого при восстановлении линка не будет переключение к исходной схеме блокировки портов в случае работы в revertive mode.

Настройка 1 кольца с полукольцом

На следующем этапе предлагается немного усложнить схему, оставив уже настроенное кольцо и подключить к коммутаторам WEST и EAST еще и SOUTH. Таким образом, к существующему кольцу(major-ring) мы подключаем полукольцо(sub-ring). Полукольцо получается из-за того, что линк между WEST и EAST уже принадлежит кольцу WEST-EAST-NORTH и мы не можем на этих же портах коммутаторов WEST и EAST прописать, что они относятся также к кольцу WEST-EAST-SOUTH.

Настройка ERPS на коммутаторах SNR

Настройка коммутатора EAST:

Настройка коммутатора EAST осуществляется аналогично WEST, за исключением того, что rpl port0 не указывается, т.е. port0 будет RPL common, а port1 существовать не будет.

Настройка коммутатора SOUTH:

настройка коммутатора SOUTH аналогична настройке коммутатора NORTH за исключением того, что будет создано кольцо erps_ring2 с параметром open-ring, в котором будет control vlan 4.

Конфигурационные файлы для настройки 1 кольца с полукольцом.

Результаты тестов на коммутаторах SNR

Таблица 1. Время сходимости ERPS и RSTP

Что удивило, при восстановлении канала быстрей оказался RSTP. Правда, разница составила всего 2 сотые секунды. Зато при пропадании линка, как и ожидалось, ERPS переключался быстрее, чем RSTP. Причем разница составляет почти целую секунду.

Заключение

Тестовое кольцо ERPS настроено, резервирование отработано, время переключения проверено. Думаю, что пора подвести итог - вспомнить преимущества и недостатки этого протокола. И начнем, пожалуй, с последних.

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

Нейтральной особенностью является наличие 1 резервного линка на кольцо, что, с одной стороны повышает утилизацию сети при наличии резервирования, а с другой - приводит к отсутствию связности при 2 разрывах и более в 1 кольце.

Коммутация Ethernet Ring Protection Switch , или ERPS , - это попытка ITU-T в соответствии с Рекомендацией G.8032 обеспечить защиту и восстановление коммутации менее 50 мс для трафика Ethernet в кольцевой топологии и в то же время гарантировать, что в кольцевой топологии не образуется петель. Уровень Ethernet. G.8032v1 поддерживает топологию с одним кольцом, а G.8032v2 поддерживает топологию с несколькими кольцами / многозвенной схемой.

Содержание

Обзор

ERPS определяет механизмы защитной коммутации и протокол для колец сети уровня Ethernet (ETH). Кольца Ethernet могут более экономично обеспечивать широкополосное многоточечное соединение из-за меньшего количества каналов. Механизмы и протокол, определенные в этой Рекомендации, обеспечивают высоконадежную и стабильную защиту; и никогда не образуют петель, которые могут фатально повлиять на работу сети и доступность услуг.

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

Основы этой архитектуры коммутации защиты кольца:
a) Принцип предотвращения петель.
b) Использование механизмов обучения, пересылки и фильтрации базы данных (FDB), определенных в функции пересылки потока Ethernet (ETH_FF).

Избежание петель в кольце Ethernet достигается за счет гарантии того, что в любое время трафик может проходить по всем кольцевым каналам, кроме одного. Этот конкретный канал называется звеном защиты кольца (RPL), и при нормальных условиях этот канал звена заблокирован, то есть не используется для служебного трафика. Один назначенный кольцевой узел Ethernet, узел-владелец RPL, отвечает за блокировку трафика на одном конце RPL. В случае отказа кольца Ethernet узел-владелец RPL отвечает за разблокировку своего конца RPL (если RPL не вышел из строя), позволяя использовать RPL для трафика. Другой кольцевой узел Ethernet, расположенный рядом с RPL, соседний узел RPL, также может участвовать в блокировании или разблокировании своего конца RPL.

В случае отказа кольца Ethernet происходит защитное переключение трафика. Это достигается под управлением функций ETH_FF на всех кольцевых узлах Ethernet. Протокол APS используется для координации действий защиты по кольцу.

G.8032v2

Версия 2 G.8032 представила множество дополнительных функций, таких как:

  • Поддержка многокольцевой / лестничной сети
  • Обратный / нереверсивный режим после того, как условие, вызвавшее переключение, было очищено
  • Административные команды: принудительное переключение (FS), ручное переключение (MS) для блокировки определенного кольцевого порта
  • Логика очистки FDB (базы данных фильтрации), которая значительно сокращает количество операций очистки FDB в кольце
  • Поддержка нескольких экземпляров ERP на одном кольце

Принцип действия

G.8032v1

Этот протокол достаточно надежен, чтобы работать в сценариях однонаправленного отказа и отказа нескольких каналов в кольцевой топологии. Он включает механизм принудительного переключения (FS) или ручного переключения (MS), который используется в сценариях полевого обслуживания.


Посмотрим, как настраиваетяс ERPS для такой схемы.
Команды приводятся для коммутаторов D-Link DGS-3620 и DGS-3120.


config vlan default advertisement enable
create vlan user10 tag 10
config vlan user10 add tagged 1-2
config vlan user10 add untagged 3 advertisement disable
create vlan user20 tag 20
config vlan user20 add tagged 1-2 advertisement disable
create vlan raps tag 100
config vlan raps add tagged 1-2 advertisement disable

disable gvrp
disable asymmetric_vlan
disable vlan_trunk


config port_vlan 1-2,4-28 gvrp_state disable ingress_checking enable acceptable_frame admit_all pvid 1


config port_vlan 3 gvrp_state disable ingress_checking enable acceptable_frame admit_all pvid 10

create erps raps_vlan 100
config erps raps_vlan 100 timer holdoff_time 0 guard_time 500 wtr_time 5


config erps raps_vlan 100 rpl_port west
config erps raps_vlan 100 rpl_owner enable
config erps raps_vlan 100 ring_mel 1
config erps raps_vlan 100 revertive enable
config erps raps_vlan 100 ring_port west 1
config erps raps_vlan 100 ring_port east 2

config erps raps_vlan 100 protected_vlan add vlanid 10
config erps raps_vlan 100 protected_vlan add vlanid 20
config erps raps_vlan 100 state enable
enable erps
config erps log enable
config erps trap disable

enable pvid auto_assign
config vlan default delete 1-3
config vlan default add untagged 4-28
config vlan default advertisement enable
create vlan user10 tag 10
config vlan user10 add tagged 1-2 advertisement disable
create vlan user20 tag 20
config vlan user20 add tagged 1-2 advertisement disable
create vlan raps tag 100
config vlan raps add tagged 1-2 advertisement disable

disable gvrp
disable asymmetric_vlan
disable vlan_trunk
config port_vlan 1-28 gvrp_state disable ingress_checking enable acceptable_frame admit_all pvid 1


config port_vlan 3 gvrp_state disable ingress_checking enable acceptable_frame admit_all pvid 10

create erps raps_vlan 100
config erps raps_vlan 100 timer holdoff_time 0 guard_time 500 wtr_time 5


config erps raps_vlan 100 rpl_port west
config erps raps_vlan 100 rpl_owner disable
config erps raps_vlan 100 ring_mel 1
config erps raps_vlan 100 revertive enable
config erps raps_vlan 100 ring_port west 1
config erps raps_vlan 100 ring_port east 2

config erps raps_vlan 100 protected_vlan add vlanid 10
config erps raps_vlan 100 protected_vlan add vlanid 20
config erps raps_vlan 100 state enable
enable erps
config erps log enable
config erps trap disable

Читайте также: