Протокол ERPS (Ethernet Ring Protection Switching) предназначен для повышения устойчивости и надежности сети передачи данных, имеющей кольцевую топологию, за счет снижения времени восстановления сети в случае аварии. Время восстановления не превышает 1 секунды, что существенно меньше времени перестройки сети при использовании протоколов семейства spanning tree.
Настроим ревертивное кольцо с подкольцом, использующим кольцо в качестве виртуального канала. Для прохождения служебного ERPS трафика в кольце используется VLAN 10 (R-APS VLAN), защищает VLAN 20, 30, 40, 200, 300, 400. Для прохождения служебного ERPS трафика в подкольце используется VLAN 100, защищает VLAN 200, 300, 400. Так как кольцо будет использоваться в качестве виртуального канала для подкольца, в настройках коммутаторов, которые не знают о существовании подкольца (коммутаторы 1 и 2), необходимо указать все VLAN подкольца.
В качестве RPL линка в основном кольце возьмем линк между коммутаторами 1 и 2. В качестве RPL линка в подкольце возьмем линк между коммутаторами 5 и 6. RPL линк — это линк, который будет заблокирован при нормальном состоянии кольца, и разблокируется только в случае аварии на одном из линков кольца.
Линк между коммутаторами 3 и 4 для подкольца vlan 100 будет определяться как virtual link.
Примечания:
- Подкольцо не умеет определять разрыв виртуального линка. Поэтому при разрыве этого линка в подкольце не разблокируется rpl-link.
- По дефолту через интерфейс в режим trunk проходит дефолтный 1 VLAN. Поэтому данный VLAN необходимо или добавить в protected, или запретить его прохождение через интерфейс, чтобы избежать возникновение шторма.
- RPL link блокирует прохождение трафика в protected VLAN. Но на семейство протоколов xSTP данная блокировка не растространяется. Поэтому необходимо запрещать прохождение STP bpdu через кольцевые порты.
Конфигурация коммутатора 1
- console(config)#erps
- console(config)#erps vlan 10
- console(config-erps)#ring enable
- console(config-erps)#port west te1/0/1
- console(config-erps)#port east te1/0/2
- console(config-erps)#protected vlan add 20,30,40,100,200,300,400
- console(config-erps)#rpl west owner
- console(config-erps)#exit
- console(config)#
- console(config)#interface range TengigabitEthernet1/0/1-2
- console(config-if)#switchport mode trunk
- console(config-if)#switchport trunk allowed vlan add 10,20,30,40
- console(config-if)#switchport forbidden default-vlan
- console(config-if)#exit
- console(config)#spanning-tree bpdu filtering
Конфигурация коммутатора 2
- console(config)#erps
- console(config)#erps vlan 10
- console(config-erps)#ring enable
- console(config-erps)#port west te1/0/1
- console(config-erps)#port east te1/0/2
- console(config-erps)#protected vlan add 20,30,40
- console(config-erps)#rpl west neighbor
- console(config-erps)#exit
- console(config)#
- console(config)#interface range TengigabitEthernet1/0/1-2
- console(config-if)#switchport mode trunk
- console(config-if)#switchport trunk allowed vlan add 10,20,30,40
- console(config-if)#switchport forbidden default-vlan
- console(config-if)#exit
- console(config)#spanning-tree bpdu filtering
Конфигурация коммутатора 3, 4
- console(config)#erps
- console(config)#erps vlan 10
- console(config-erps)#ring enable
- console(config-erps)#port west tengigabitethernet1/0/1
- console(config-erps)#port east tengigabitethernet1/0/2
- console(config-erps)#protected vlan add 20,30,40
- console(config-erps)#sub-ring vlan 100
- console(config-erps)#exit
- console(config)#erps vlan 100
- console(config-erps)#ring enable
- console(config-erps)#port west tengigabitethernet1/0/3
- console(config-erps)#protected vlan add 200,300,400
- console(config-erps)#exit
- console(config)#
- console(config)#interfaceTengigabitEthernet1/0/1
- console(config-if)#switchport mode trunk
- console(config-if)#switchport trunk allowed vlan add 10,20,30,40
- console(config-if)#switchport forbidden default-vlan
- console(config-if)#exit
- console(config)#interfaceTengigabitEthernet1/0/2
- console(config-if)#switchport mode trunk
- console(config-if)#switchport trunk allowed vlan add 10,20,30,40,100,200,300,400
- console(config-if)#switchport forbidden default-vlan
- console(config-if)#exit
- console(config)#interfaceTengigabitEthernet1/0/3
- console(config-if)#switchport mode trunk
- console(config-if)#switchport trunk allowed vlan add 100,200,300,400
- console(config-if)#switchport forbidden default-vlan
- console(config-if)#exit
- console(config)#spanning-tree bpdu filtering
Конфигурация коммутатора 5
- console(config)#erps
- console(config)#erps vlan 100
- console(config-erps)#ring enable
- console(config-erps)#port west te1/0/1
- console(config-erps)#port east te1/0/2
- console(config-erps)#protected vlan add 200,300,400
- console(config-erps)#rpl west owner
- console(config-erps)#exit
- console(config)#
- console(config)#interface range TengigabitEthernet1/0/1-2
- console(config-if)#switchport mode trunk
- console(config-if)#switchport trunk allowed vlan add 100,200,300,400
- console(config-if)#switchport forbidden default-vlan
- console(config-if)#exit
- console(config)#spanning-tree bpdu filtering
Конфигурация коммутатора 6
- console(config)#erps
- console(config)#erps vlan 100
- console(config-erps)#ring enable
- console(config-erps)#port west te1/0/1
- console(config-erps)#port east te1/0/2
- console(config-erps)#protected vlan add 200,300,400
- console(config-erps)#rpl west neighbor
- console(config-erps)#exit
- console(config)#interface range TengigabitEthernet1/0/1-2
- console(config-if)#switchport mode trunk
- console(config-if)#switchport trunk allowed vlan add 100,200,300,400
- console(config-if)#switchport forbidden default-vlan
- console(config-if)#exit
- console(config)#spanning-tree bpdu filtering
Статус колец можно посмотреть командами
- console#show erps
- console#show erps vlan 10
- console#show erps vlan 100