侯建栋,刘 林,王德京
(1.西南交通大学信息科学与技术学院,成都610031;2. 迈普通信公司,成都610041)
以太网从诞生至今已有二十几个年头,而环网保护标准无疑是以太网标准中最有特色的、发展道路最坎坷的,但同时是最有发展前景的一种标准。现如今有两种标准在以太环网保护领域里起主导作用:EAPS和G.8032标准[4]。EAPS可以满足电信级的50 ms的切换要求,但EAPS很快就被发现并不适用于实际部署,它只能检测单向链路,只能支持单环拓扑,近年来EAPS已经逐渐退出历史舞台。
G.8032标准应运而生,G.8032以太环网标准吸取了EAPS、RPR、STP等众多环网保护技术的优点,且优化了检测机制,可以检测双向故障,支持多环、多域的结构,在实现50 ms倒换的同时,支持主备、负荷分担多种工作方式,成为了以太环网技术最新的成熟标准[3]。新标准对于单点故障检测、保护切换游刃有余,但是对于两点或多点故障的保护切换就有所疏漏。本文提出了一种基于G.8032标准多环情况下的两点故障检测及保护切换的机制。
本论文的研究对象是由若干交换机组成的以太环网。在每个环网中,人为选定一个主节点,主节点旁边的链路选为备用链路,如图1中,当链路正常时,主节点阻塞备用链路,以免各个交换机节点形成环路从而形成网络风暴。当某一个链路(图2中为B和C节点之间的链路)出现故障时,故障链路两端的节点B和C就会向外广播链路故障消息(SF),主节点收到链路故障消息(SF)后开通备用链路,因为故障链路而阻塞的数据通过开通的备用链路到达目的节点,备用链路开通后各个节点又可以正常的通信。当故障链路恢复时,故障链路相邻的节点就会广播故障恢复报文,当主节点收到故障恢复报文时,就会阻塞备用链路,又恢复到正常的状态[1]。
多环的情况与单环类似,图3是多环的正常情况下的状态。节点ABCDE所在的环为主环,节点123所在的环为子环,CD两个节点连接子环和主环,CD称为互联节点,子环和主环都有自己的主节点和备用链路,各自对自己所在的环进行保护[2]。
图1 单环正常状态图
图2 单环保护状态
图3 多环正常状态
G.8032规定了在环网上一点故障的保护和恢复方法。却没有明确规定2点故障的保护方法,这就使得一旦出现了2点或2点以上的故障,环上的某些节点就不可能进行数据交换,现在以一个多环为例,如图4,在主环上节点CD之间的链路和节点DE之间的链路各出现一处故障,依照原来的规定,若只通过主环通信,B和D之间的通信链路被完全阻断,因此,BD两个节点不能实现通信。本文提出了一种在互联节点两端的两段链路上各有一处故障的保护和恢复方法。
图4 多环情况下主环上两点故障的保护状态
当主环上互联节点两端的链路(如:图5中,DEABC之间的链路和CD之间的链路)各有一处故障时,不能通信的主环上的两点通过子环进行通信。
图5 两点故障发生
在以前规定的基础上增加了3种消息,分别负责两点故障的检测、通知以及故障恢复的通知,它们分别是EDGE-HEALTH,MAJOR-FAULT和MAJOR-RESUME。如图5,主环上的两个互联节点C和D,其中一个互联节点C周期的通过两个端口向另一个互联节点D发送健康检测报文EDGE-HEALTH,如果D收到C发来的健康检测报文则表明在互联节点两侧的链路(DEABC之间的链路和DC之间的链路)上至少有一侧没有发生故障,如果D没有收到C发来的健康检测报文,则互联节点两侧的链路都发生了故障(至少各有一处故障),图中CD和ED之间链路各有一处故障,所以D收不到C发来的EDGE-HEALTH消息。
当D收不到C发来的EDGE-HEALTH消息时,如图6,互联节点D就会向子环的主节点发送MAJOR-FAULT消息,子环的主节点收到MAJORFAULT消息后,打开子环的备份链路。
图6 两点故障保护切换
在保护切换期间,主环上不能通信的两个节点通过子环进行通信,如图7,当主环上CD与DE之间的链路断开时,从B到D的数据通过BC123D这条链路进行通信,也就是借助于子环进行通信。
当某一处故障恢复后,一个互联节点就会收到来自另一个互联节点EDGE-HEALTH消息,此时,该互联节点就会向子环发送MAJOR-RESUME消息,子环的主节点收到MAJOR-RESUME消息后就会阻塞备用链路。如图8,当节点DE之间的故障恢复后,D就会收到C发来的EDGE-HEALTH消息,同时D会向子环的主节点2发送MAJORRESUME消息,2收到消息后阻塞备用链路。
图7 两点故障情况下通信
图8 两点故障恢复
每个环上分别设有控制vlan和数据vlan,控制vlan中流通控制消息,包括故障通知消息(SF)及本文新增的EDGE-HEALTH,MAJOR-FAULT和MAJOR-RESUME。数据vlan中流通用户的数据。因为不同vlan之间的数据不能够互通,而两点保护时,主环上的数据又要经过子环进行传输,子环上的交换机节点也要对主环的交换机节点进行寻址[5],所以,主环和子环的数据vlan要相互覆盖,例如:在主环上设置数据valn1和数据vlan2,子环也要分别设置有数据vlan1和数据vlan2,其中数据vlan1是主环的数据vlan,数据vlan2是子环的数据vlan,在正常状态下,主环上互联节点连接子环的端口对数据vlan1进行阻塞,这样在正常状态下,主环上的数据只通过主环而不通过子环传输,在出现以上情况的两点故障时,主环上互联节点连接子环的端口就会开通vlan1,主环上的数据就会通过子环来传输。
本文提出了一种基于G.8032两点保护的方案。该方案在主环上互联节点两端链路各有一处故障时可以使主环无阻碍的通过子环进行通信。这种两点故障解决办法,增加了一定的检测机制,使得环网可以检测到环网上互联节点两端都有故障的情况,增强了G.8032环网保护的可靠性,该方案已经已经在某公司的交换机上得到了应用,两点故障保护效果显著,可以有效的增强以太环网的可靠性,该方案已经申请专利,专利申请号201010565694.5。
[1] ITU-TG.8032-2008, Ethernet ring protection switching[S] .2010, 3,1.
[2] G.8032 Amendment 1-2009,Ethernet ring protection switching[S] .2010, 3,1.
[3] 徐荣,龚倩,邓春胜. 电信级以太网[M] . 北京:人民邮电出版社,2009:100-261.
[4] 曹敏,张届新. 电信级以太环网若干问题探讨[J] . 电信科学,2007,9(10):64-66.
[5] 马钰璐. 电信级以太网的保护技术[J] . 电信科学,2007,10(10):60-64.