1 ERPS概述
ERPS(Ethernet Ring Protection Switching,以太环网保护切换协议)是ITU开发的一种环网保护协议,也称G.8032。它是一个专门应用于以太环网的链路层协议。它在以太环网完整时能够防止数据环路引起的广播风暴,而当以太环网上一条链路断开时能迅速恢复环网上各个节点之间的通信。
ERPS收敛速度快,通过有选择性地阻塞网络冗余链路,防止网络形成广播风暴和MAC地址表不稳定等现象,从而有效保证用户通信质量。可满足电信级网络收敛要求(50ms)。
2 ERPS基本概念
ERPS 域:ERPS 域由整数表示的 ID 来标识,一组配置了相同的域 ID 和控制 VLAN,并且相互联通的交换机群体构成一个 ERPS 域。一个 ERPS 域具有如下的组成要素:
2.1 ERPS环
图2.1 ERPS环
ERPS环以最小化环为原则,每个环必须为最小的环,分为主环和子环:主环是封闭的环;子环是非封闭的环或封闭的环;
如图2.1所示:Device A、B、C、D组成封闭的主环。
Device C、D、E、F组成非封闭的主环,其中C-D之间的链路属于主环。
2.2 ERPS节点
a) 加入ERPS环的二层交换设备称之为节点。每个节点不能多于两个端口加入同一个ERPS环。
b) 对于全局而言,节点的角色分为下列两种:
(1)相交节点:在相交ERPS环中,同时属于多个环的节点被称为相交节点;
(2)非相交节点:在相交ERPS环中,只属于某个ERPS环的节点被称为非相交节点。
图1中 A、B、E、F为非相交节点,C、D为相交节点
2.3 ERPS端口角色
ERPS协议中规定的节点模式主要有RPL owner节点、RPL neighbour节点和普通环节点三种类型。
(1)RPL owner节点:一个ERPS环只有一个RPL owner节点,由用户配置决定,通过阻塞RPL端口来防止ERPS环中产生环路,当RPL owner节点收到故障报文得知ERPS环上其他节点或链路故障时,会自动放开RPL端口,此端口恢复流量的接收和发送,保证流量不会中断;
(2) RPL neighbour节点:与RPL owner节点的RPL端口直接相连的节点,正常情况下,RPL owner节点的RPL端口和RPL neighbour节点的RPL端口都会被阻塞,以防止环路产生。当ERPS环出现故障时,RPL owner节点的RPL端口和RPL neighbour节点的RPL端口都会被放开;
(3) 普通环节点:在ERPS环中,除RPL owner节点和RPL neighbour节点以外的节点都是普通环节点,普通环节点的RPL端口和普通环端口没有区别,普通环节点的环端口负责监测自己直连的ERPS协议的链路状态,并把链路状态的变化消息及时通知其他节点;
2.4 ERPS端口状态
在ERPS环中,启动ERPS协议的端口状态具有两种:
(1)Forwarding:该状态端口既转发数据流量,又接收、发送和转发ERPS协议报文。
(2)Discarding:该状态端口仅能发送、接收ERPS协议报文。
2.5 ERPS控制VLAN
RAPS VLAN(也称为协议vlan):用来传递ERPS协议报文,设备上接入ERPS环的端口都属于RAPS VLAN。不同环的RAPS VLAN必须不同。
2.6 定时器
ERPS协议中使用的定时器主要有Guard Timer定时器、WTR(Wait to Restore) Timer定时器、Holdoff Timer定时器和WTB(Wait to Block) Timer定时器。其中WTB Timer定时器只有ERPSv2版本支持,v1版本不支持。
l Guard Timer
链路故障或节点故障所涉及到的设备在故障恢复或执行清除操作后,向其他设备发送NR RAPS报文,并同时启动Guard Timer定时器,在该定时器超时前不处理NR RAPS报文,目的是防止收到过期的NR RAPS报文。如果定时器超时后还能收到其他端口发送的NR RAPS报文,则本端口的转发状态变为Forwarding状态。
l l WTR Timer
RPL owner端口由于其他设备或链路故障而被放开后,当故障恢复时,有的端口可能还未由Down状态变为Up状态。为了防止立即阻塞RPL owner端口而引起网络震荡,当RPL owner端口收到某端口的NR RAPS报文后,会启动WTR Timer定时器。
如果在定时器未超时前收到其他端口的SF RAPS报文,则关闭WTR Timer定时器。
如果在WTR Timer定时器超时前始终没有收到其他端口的SF RAPS报文,则当WTR Timer定时器超时后,阻塞RPL owner端口,发送NRRB RAPS报文。其他端口在收到该报文后,再将自己端口的转发状态设置为Forwarding状态。
l Holdoff Timer
对于运行ERPS的二层网络,保护倒换的顺序可能会有不同的要求,例如:多层业务的应用中,服务器出现故障后,用户可能会希望能有一段时间恢复服务器的故障,而客户端感知不到,即不会立即进行保护倒换。可设置合适的Holdoff Timer定时器,当发生故障时,故障并不会立即上报ERPS,而只有当Holdoff Timer定时器超时后,如果故障仍未能恢复才会上报。
l WTB Timer
当清除端口的手工切换状态(强制切换或手工切换)时,启用WTB Timer定时器,因为ERPS环内可能存在多个手工切换阻塞节点,只有当定时器超时后,清除操作才起作用,这样可以防止立即阻塞RPL owner端口而引起阻塞点震荡。WTB Timer定时器不支持配置,该定时器的值为Guard Timer定时器的值加5s,缺省值为7s。
2.7 ERPS回切/非回切模式
当ERPS故障链路恢复正常后,可以通过设置ERPS的回切/非回切模式,决定是否重新阻塞RPL owner端口。
(1) 回切模式(Revertive Operation)
在回切模式下,如果故障链路恢复,会重新阻塞RPL owner端口,阻塞链路会重新切回到RPL链路上。缺省情况下,ERPS环处于回切模式。
(2) 非回切模式(Non-revertive Operation)
在非回切模式下,如果故障链路恢复,阻塞链路还保持在原来的故障链路上,不会重新切回到RPL链路上。
2.8 保护切换模式
ERPS支持通过人为的配置来干预端口的阻塞,分为强制切换(Force Switch)和手工切换(Manual Switch)两种倒换方式。
l 强制切换:配置了强制切换的端口会马上被阻塞,不管环上其他链路是否存在故
障等情况。强制切换端口发送R-APS (FS)消息,其他节点收到消息后解除本节点端口阻塞,例如RPL owner端口和RPL neighour端口。并停止发送R-APS消息。
l 手工切换:如果环的状态为Idle或Pending时,配置手工切换的端口就会阻塞,否则不阻塞。手工切换端口发送R-APS(MS)消息,其他节点收到消息后停止发送R-APS消息,并且解除本节点端口阻塞。
注:为了尽量保证链路畅通,同一个ERPS RING域内只允许同时强制切换或者手工切换一台交换机。
除了强制切换和手工切换,ERPS还支持清除操作,该功能主要用于如下三种情况:
清除本地配置的手工切换和强制切换功能。
当ERPS环处于回切模式时,在WTB Timer定时器或WTR Timer定时器超时之前,手工触发回切动作。
当ERPS环处于非回切模式时,手工触发回切动作。
2.9 子环的传输方式
在单环组网时,RPL Owner端口会同时阻塞ERPS协议报文和数据报文转发。在相交环组网中,主环RPL Owner端口阻塞报文机制和单环相同;对于子环ERPS报文传输机制则有不同,具有虚通道和非虚通道两种方式。
a) 虚通道方式(Virtual-Channel)
在虚通道方式中,子环的ERPS报文会通过相交节点在主环内运行,即相交节点不终结子环的协议报文。子环的阻塞端口会同时阻塞ERPS协议报文和数据报文。
b) 非虚通道方式(Non-Virtual-Channel)
在非虚通道方式中,子环的ERPS协议报文会在相交节点上终结。子环的阻塞端口仅阻塞数据流量,不阻塞子环的ERPS协议报文。
图2.2 子环虚通道和非虚通道
如图2.2所示,一个子环连接两个子环。左边的子环和主环的传输方式为虚通道,子环的协议报文到达相交节点不会终止,而是通过主环的隧道到达其他的子环节点。右边的子环和主环传输方式为非虚通道,报文到达相交节点就终止了。
在虚通道传输的时候,子环的协议报文通过主环传输,所以子环和主环的协议VLAN不能相同。
当子环发生链路故,完成链路切换后,相交节点会在主环内发送Event报文,通告子环的网络拓扑变化情况;其他主环节点收到Event报文后,会刷新自己的FDB表项。
3 ERPS报文协议
ERPS 协议的报文只有一种,即 RAPS(Ring Auto Protection Switching) PDU(Protocol Data Unit)报文,RAPS PDU 报文包含 ERPS 环信息,在 ERPS 环上传递以实现各设备端口信息的互通。 ERPS 工作在数据链路层,Ethernet Type = 0x8902。报文的目的MAC地址为:01-19-A7-00- 00-[Ring ID]
ERPS协议报文包含环路状态信息,通过在环网上传递ERPS协议报文,实现各节点端口状态信息的互通。ERPS协议定义了以下报文类型:
FS报文(Forced Switch):链路强制切换时,发出该报文通知环上其他节点。
Event报文:在多环场景下,主环上相交节点感知子环拓扑变化时,发送Event报文通知主环上其他节点,进行FDB表项刷新。
SF报文(Signal Failed):链路故障时,发送该报文通知环上其他节点。
MS报文(Manual Switch):手工切换时,发出该报文通知环上其他节点。
NR报文(No Request):链路故障恢复时,发送该报文通知环上其他节点。
4 ERPS工作原理
4.1 正常状态
图4.1 ERPS正常状态
(1)所有的节点在物理拓扑上以环的方式连接;
(2)环路保护协议通过阻塞RPL owner端口,如果配置了RPL neighour端口,则该端口也会被阻塞,确保不会成环。如图上图所示,Node1和Node4间的链路为RPL链路;
(3)对相邻节点间的每条链路进行故障检测。
(4)如果配置了回切模式,ERPS稳定后,onwer节点间隔5S向环中其他节点发送NRRB
RAPS报文,表示ERPS环当前链路一切正常
4.2 链路故障
图4.2 ERPS环链路故障
(1) 与故障链路相临的节点对故障链路进行阻塞,并使用RAPS(SF)消息向环上的其他节点报告障,如图4.2所示,假设Node2,Node3间链路故障,则Node2和Node3等待holdoff计时器超时后,会阻塞故障链路,分别向环网上各个节点发送RAPS(SF)消息;
(2) 当其他的端口收到RAPS(SF)消息后,刷新本地的MAC地址表项。并且主节点Node 1放开RPL onwer端口,Node 4如果配置了neighour端口,则neighour端口也会被放开。
(3) 最后rpl链路放开后,整个链路恢复数据传送功能。
4.3 故障恢复
图4.3 ERPS故障恢复
如图4.3所示,配置的是回切模式
(1) 当故障恢复时,为了防止收到过期的ERPS协议报文,Node 2 和 Node 3分别启动Guard Timer定时器,故障相邻的节点继续保持阻塞状态,并发送RAPS(NR)消息;
(2) Node 1收到RAPS(NR)消息后,启动WTR定时器。
(3) 当WTR定时器超时后,RPL owner端口被阻塞,同时向外发送RAPS(NR,RB)报文,通告RPL链路已经阻塞。
(4) 其他节点收到这个消息后,更新各自MAC表项,并停止发送RAPS(NR)消息,打开原先阻塞的端口。环网又恢复到了最初的正常状态。即Node2和node3之间的链接重新恢复,Node1和Node2之间的RPL链接重新阻塞。
4.4 支持多环相交相切
图4.4 多环相交相切
如图4.4所示,ERPS支持在同一节点(Node4)以相切或者相交形式加入多个环,大大增加了组网的灵活性。
5 ERPS运用和配置
5.1 组网要求
a) Node 1、Node 2、Node 3属于主环1,Node 1为主节点(Owner),Node 2为邻居节点(neighbor),Node 3为普通节点。
b) 主环1的协议vlan为10。
c) Node 2、Node 3、Node 4属于子环1,Node 4为主节点(Owner),Node 2为邻居节点(neighbor),Node 3为普通节点。
d) 子环2的协议vlan为9。
5.2 组网拓扑图
图5.1 ERPS拓扑图
5.3 配置思路
如图5.1所示:
a) Node 1、Node 2、Node 3创建vlan 1-10且端口1-端口2的为trunk并允许所有vlan。Node 4创建vlan 1-9且端口1-端口2的为trunk并允许所有vlan。
b) 按照主环组网拓扑图按照配置节点。
c) 按照子环组网拓扑图按照配置节点。
5.4 CLI配置
a) 配置各节点的vlan设置
#配置Node1
Node1# configure terminal
Node1(config)# vlan 1-10
Node1(config)#interface gigabitethernet 1/0/1
Node1(config-ge1/0/1)# switchport mode trunk
Node1(config-ge1/0/1)# switchport trunk permit 1-10
Node1(config-ge1/0/1)# spanning-tree disable
Node1(config-ge1/0/1)# interface gigabitethernet 1/0/2
Node1(config-ge1/0/2)# switchport mode trunk
Node1(config-ge1/0/2)# switchport trunk permit 1-10
Node1(config-ge1/0/2)# spanning-tree disable
#配置Node2
Node1# configure terminal
Node1(config)# vlan 1-10
Node1(config)#interface gigabitethernet 1/0/1
Node1(config-ge1/0/1)# switchport mode trunk
Node1(config-ge1/0/1)# switchport trunk permit 1-10
Node1(config-ge1/0/1)# spanning-tree disable
Node1(config-ge1/0/1)# interface gigabitethernet 1/0/2
Node1(config-ge1/0/2)# switchport mode trunk
Node1(config-ge1/0/2)# switchport trunk permit 1-10
Node1(config-ge1/0/2)# spanning-tree disable
Node1(config-ge1/0/2)# interface gigabitethernet 1/0/3
Node1(config-ge1/0/3)# switchport mode trunk
Node1(config-ge1/0/3)# switchport trunk permit 1-10
Node1(config-ge1/0/3)# spanning-tree disable
#配置Node3
Node3# configure terminal
Node3(config)# vlan 1-10
Node3(config)#interface gigabitethernet 1/0/1
Node3(config-ge1/0/1)# switchport mode trunk
Node3(config-ge1/0/1)# switchport trunk permit 1-10
Node3(config-ge1/0/1)# spanning-tree disable
Node3(config-ge1/0/1)# interface gigabitethernet 1/0/2
Node3(config-ge1/0/2)# switchport mode trunk
Node3(config-ge1/0/2)# switchport trunk permit 1-10
Node3(config-ge1/0/2)# spanning-tree disable
Node3(config-ge1/0/2)# interface gigabitethernet 1/0/3
Node3(config-ge1/0/3)# switchport mode trunk
Node3(config-ge1/0/3)# switchport trunk permit 1-10
Node3(config-ge1/0/3)# spanning-tree disable
#配置Node4
Node4# configure terminal
Node4(config)# vlan 1-10
Node4(config)#interface gigabitethernet 1/0/1
Node4(config-ge1/0/1)# switchport mode trunk
Node4(config-ge1/0/1)# switchport trunk permit 1-10
Node4(config-ge1/0/1)# spanning-tree disable
Node4(config-ge1/0/1)# interface gigabitethernet 1/0/2
Node4(config-ge1/0/2)# switchport mode trunk
Node4(config-ge1/0/2)# switchport trunk permit 1-10
Node4(config-ge1/0/2)# spanning-tree disable
b) 配置主环各节点的ERPS设置
#配置Node1
Node1# configure terminal
Node1(config)# erps
Node1(config)# erps ring 1
Node1(config)# erps ring 1 ctrl-vlan 10
Node1(config)# erps ring 1 node-mode owner
Node1(config)# erps ring 1 rpl-port interface gigabitethernet 1/0/1
Node1(config)# erps ring 1 interface gigabitethernet 1/0/2
#配置Node2
Node2# configure terminal
Node2(config)# erps
Node2(config)# erps ring 1
Node2(config)# erps ring 1 ctrl-vlan 10
Node2(config)# erps ring 1 node-mode neighbor
Node2(config)# erps ring 1 rpl-port interface gigabitethernet 1/0/1
Node2(config)# erps ring 1 interface gigabitethernet 1/0/2
Node2(config)# erps ring 1 virtual-channel
#配置Node3
Node3# configure terminal
Node3(config)# erps
Node3(config)# erps ring 1
Node3(config)# erps ring 1 ctrl-vlan 10
Node3(config)# erps ring 1 interface gigabitethernet 1/0/1
Node3(config)# erps ring 1 interface gigabitethernet 1/0/2
Node3(config)# erps ring 1 virtual-channel
配置子环各节点的ERPS设置
#配置Node2
Node2(config)# erps ring 2
Node2(config)# erps ring 2 ctrl-vlan 9
Node2(config)# erps ring 2 node-mode neighbor
Node2(config)# erps ring 2 ring-mode sub major-ring 1
Node2(config)# erps ring 2 rpl-port interface gigabitethernet 1/0/3
Node2(config)# erps ring 2 interface gigabitethernet 1/0/2
Node2(config)# erps ring 2 virtual-channel
#配置Node3
Node3(config)# erps ring 2
Node3(config)# erps ring 2 ctrl-vlan 9
Node3(config)# erps ring 2 ring-mode sub major-ring 1
Node3(config)# erps ring 2 interface gigabitethernet 1/0/3
Node3(config)# erps ring 2 interface gigabitethernet 1/0/2
Node3(config)# erps ring 2 virtual-channel
#配置Node4
Node4# configure terminal
Node4(config)# erps
Node4(config)# erps ring 2
Node4(config)# erps ring 2 ctrl-vlan 9
Node4(config)# erps ring 2 node-mode owner
Node4(config)# erps ring 2 rpl-port interface gigabitethernet 1/0/1
Node4(config)# erps ring 2 interface gigabitethernet 1/0/2
5.5 WEB配置
ERPS除了通过命令行配置,还可以通过页面来进行配置。
a) 全局配置
(1)在导航栏选择“交换管理>ERPS>全局配置”,进入ERPS全局配置界面,如图5.2所示的页面。
(2)在ERPS的全局配置页面,可以对ERPS全局使能/禁止。
——勾选“启用”,点击<应用>按钮,使能ERPS。
——去勾选“启用”,点击<应用>按钮,禁用ERPS。
图5.2 ERPS全局配置界面
注:全局配置页面也是显示页面,如果打开页面。“启用”为勾选状态,表示当前已全局使能ERPS,如果为去勾选状态,表示当前全局禁用ERPS。
需要ERPS全局使能后,才能创建ERPS环或者编辑环信息
b) 环设置
在导航栏“交换管理>ERPS>ERPS环设置”进入到ERPS环设置页面,在ERPS环设置页面可以创建ERPS环,并编辑设置环信息。
(1)创建ERPS环
在“创建ERPS环”中输入ERPS标识(即环ID号),点击<创建>,可创建相应的ERPS环,并在“环列表”中显示该环信息,如图5.3所示。
“环列表”显示当前已创建的所有环的信息。
创建环后,所有信息为默认状态,需要编辑修改。
图 5.3 ERPS环设置页面
(2)删除ERPS环
——在“环列表”中,选中需要删除的ERPS环,点击<删除>按钮。
(3)编辑ERPS环
——在“环列表”中选中需要修改信息的ERPS环(勾选复选框),点击<编辑>按钮,弹出如下图5.4编辑对话框。
——目前在WEB界面可以对ERPS类型、节点类型、协议VLAN、保护实例、回切模式和Ring Port进行修改。
图 5.4 ERP环编辑页面