Page tree
Skip to end of metadata
Go to start of metadata



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

В каждом кольце выбирается R-APS VLAN, в котором будет ходить служебный трафик ERPS. Трафиковые VLAN, которые нужно защищать от петель и разрывов, объединяются в MST-инстансы и называются Protected VLAN. Также для каждого порта в кольце выбирается 1 из 3 возможных ролей: RPL Owner, RPL Neighbour или RPL Common. Должно быть по одному RPL Owner и Neighbour на кольцо и именно они при нормальных условиях должны выполнять блокировку петли и разблокировку канала в случае разрыва.

Более подробно о механизме работы ERPS вы можете прочитать в нашей статье, здесь же мы будем рассматривать настройку функционала на коммутаторах SNR.

Настройка ERPS

Настройка одного кольца

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



Настроим сначала Switch A.

Cоздаем необходимые VLAN:

!
vlan 1-4
!

Создаем экземпляр MST, который мы будем защищать с помощью ERPS:

!
spanning-tree mst configuration
 instance 0 vlan 5-4094
 instance 1 vlan 1-4
 exit
!

Создаем ERPS-кольцо test_ring1 и ERPS-экземпляр 1, указываем Protected MST Instance, Control VLAN и роль портов (RPL port0 будет иметь роль Owner, port1 — по-умолчанию Common):

!
erps-ring test_ring1 
 erps-instance 1
  rpl port0 owner
  protected-instance 1
  control-vlan 2
  exit
!

Переводим порты в режим Trunk и назначаем ERPS роли:

!
Interface Ethernet1/0/25
 switchport mode trunk
 erps-ring test_ring1 port0
!
Interface Ethernet1/0/26
 switchport mode trunk
 erps-ring test_ring1 port1
!

Для ускорения сходимости кольца при разрыве/восстановлении линка можно изменить метод отслеживания состояния портов на ожидание соответствующих прерываний (по умолчанию порты периодически опрашиваются):

!
port-scan-mode interrupt
!

На этом настройка коммутатора Switch A закончена.

Настройка коммутатора Switch B производится аналогично Switch A, кроме роли порта port0. Поскольку с другой стороны линка будет RPL Owner, то port0 должен быть RPL Neighbour:

!
port-scan-mode interrupt
!
vlan 1-4
!
spanning-tree mst configuration
 instance 0 vlan 5-4094
 instance 1 vlan 1-4
 exit
!
erps-ring test_ring1 
 erps-instance 1
  rpl port0 neighbour
  protected-instance 1
  control-vlan 2
  exit
!
Interface Ethernet1/0/25
 switchport mode trunk
 erps-ring test_ring1 port0
!
Interface Ethernet1/0/26
 switchport mode trunk
 erps-ring test_ring1 port1
!

Настройка коммутатора Switch C осуществляется аналогично Switch A и Switch B, за исключением того, что на Switch C роли портов port0 и port1 не указываются, т.е. они по умолчанию будут RPL Common:

!
port-scan-mode interrupt
!
vlan 1-4
!
spanning-tree mst configuration
 instance 0 vlan 5-4094
 instance 1 vlan 1-4
 exit
!
erps-ring test_ring1 
 erps-instance 1
  protected-instance 1
  control-vlan 2
  exit
!
Interface Ethernet1/0/25
 switchport mode trunk
 erps-ring test_ring1 port0
!
Interface Ethernet1/0/26
 switchport mode trunk
 erps-ring test_ring1 port1
!

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

Если мы захотим подключить еще один коммутатор Switch D к Switch A и Switch B, не включая его в существующее кольцо (major-ring), и при этом сформировать новое, то мы не сможем просто сконфигурировать аналогичное кольцо Switch A - Switch B - Switch D, так как канал Switch A - Switch B уже задействован в кольце Switch A - Switch B - Switch C и его привязка к другому вызовет некорректную работу ERPS.

Для таких случаев можно организовать полукольцо (sub-ring), которое будет опираться на основное кольцо (major-ring). Коммутаторы Switch A и Switch B будут промежуточными для полукольца, так как будут передавать сигнальные сообщения из него в основное и обратно. Как уже упоминалось ранее, сигнальный трафик полукольца будет ходить в VLAN 4.



Настройка коммутатора Switch A.

В дополнение к первому ERPS-кольцу создадим второе, указав, что оно будет полукольцом с помощью команды open-ring:

!
erps-ring test_ring1 
 erps-instance 1
  rpl port0 owner
  protected-instance 1
  control-vlan 2
  exit
erps-ring test_ring2 
 open-ring
 raps-virtual-channel with
 erps-instance 1
  rpl port0 owner
  protected-instance 1
  control-vlan 4
  exit
!

Активируем возможность передавать сигнальные сообщения из одного процесса ERPS в другой:

!
ethernet tcn-propagation erps to erps
!

Настраиваем интерфейс 1/0/27, который будет принадлежать кольцу test_ring2, и при этом второго порта у этого кольца не будет. Интерфейсы 1/0/25-26 были настроены ранее:

!
Interface Ethernet1/0/27
 switchport mode trunk
 erps-ring test_ring2 port0 port1-none
!

Настройка коммутатора Switch B.

Настройка коммутатора Switch B осуществляется аналогично Switch A, за исключением того, что RPL port0 не указывается, т.е. port0 будет RPL Common, а port1 также не будет существовать:

!
erps-ring test_ring1 
 erps-instance 1
  protected-instance 1
  control-vlan 2
  exit
erps-ring test_ring2 
 open-ring
 raps-virtual-channel with
 erps-instance 1
  protected-instance 1
  control-vlan 4
  exit
!
ethernet tcn-propagation erps to erps
!
Interface Ethernet1/0/27
 switchport mode trunk
 erps-ring test_ring2 port0 port1-none
!

Настройка коммутатора Switch D:

настройка коммутатора Switch D аналогична настройке коммутатора Switch C за исключением того, что будет создано кольцо test_ring2 с параметром open-ring, в котором будет Control VLAN 4:

!
port-scan-mode interrupt
!
vlan 1-4
!
spanning-tree mst configuration
 instance 0 vlan 5-4094
 instance 1 vlan 1-4
 exit
!
erps-ring test_ring2 
  open-ring
  erps-instance 1
  rpl port0 neighbour
  protected-instance 1
  control-vlan 4
  exit
!
Interface Ethernet1/0/25
 switchport mode trunk
 erps-ring test_ring2 port0
!
Interface Ethernet1/0/26
 switchport mode trunk
 erps-ring test_ring2 port1
!

ERPS + CFM

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

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

Рассмотрим его настройку.

К примеру, нам необходимо задействовать функционал CFM совместно с ERPS между Switch A и B (между портами 1/0/1). Тогда настройка будет выглядеть так:

Switch A:

!
ethernet cfm global
ethernet cfm domain test level 2
 service test pvlan 77 direction down
  mep mepid 100;200
  continuity-check enable
  continuity-check receive rmep 200
  exit
!
erps-ring test
port1 failure-detect physical-link-or-cc domain test service test mep 100 rmep 200
 erps-instance 1
  protected-instance 1
  control-vlan 77
  exit
!
Interface Ethernet1/0/1
 ethernet cfm mep 100 domain test service test
 switchport mode trunk
 erps-ring test port1
!

Switch B:

!
ethernet cfm global
ethernet cfm domain test level 2
 service test pvlan 77 direction down
  mep mepid 100;200
  continuity-check enable
  continuity-check receive rmep 100
  exit
!
erps-ring test
port0 failure-detect physical-link-or-cc domain test service test mep 200 rmep 100
 erps-instance 1
  protected-instance 1
  control-vlan 77
  exit
!
Interface Ethernet1/0/1
 ethernet cfm mep 200 domain test service test
 switchport mode trunk
 erps-ring test port0 
!