Ethernet ring protection switching что это
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
- Создать инстанс, который будет соответствовать защищаемому VLAN.
- Создать ERPS кольцо и сконфигурировать порты-участники. Конфигурация по умолчанию: поддержка версии 2, главное кольцо закрытого типа и отслеживание физического статуса порта.
- Сконфигурировать инстанс 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 кольца
- коммутатор WEST - SNR-S2990G-24FX
- коммутатор EAST - SNR-S2940-8G-v2
- коммутатор NORTH - SNR-S2990G-48T
- коммутатор SOUTH - SNR-S2960-24G
Настройка коммутатора 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.
Настройка коммутатора 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
Читайте также: