一种实现网络中链路状态穿通的方法 【技术领域】
本发明涉及网络通信,特别涉及一种在点对点接入网络上实现接入点链路状态、服务链路状态穿通的方法。
技术背景
在工程应用中,用户间的数据通过接入设备进入网络以实现数据交互。图1是用户通过点对点接入网络进行数据交互的示意图。如图1所示,正常情况下,用户1、用户2通过服务设备和链路建立通信,链路主要包括接入点链路1、服务网络以及接入点链路2。当链路出现故障时,即,接入点链路或者服务网络出现故障时,用户1与用户2的通信中断。对于重要的用户,出现此类故障时需要启动备份网络,以保证重要数据能够正常传输。备份网络可以采取多种形式,例如多租用一条链路,或者在用户1和用户2之间搭建无线通信或卫星通信等。当接入点链路出现故障时,用户能够检测到链路的故障,并启动备份网络,试图使用备份网络与对端用户进行通信。可是对于对端用户而言,它并不知道发生了链路故障,仍然使用原网络进行通信;结果两用户间的通信处于断开状态。当服务网络出现故障时,两端用户根本不知道网络不能使用,于是两端通信断开。如果能够把链路的状态传递给对端用户,即实现链路状态穿通功能,那么对端用户就可以启动备份网络,在备份网络上重新建立与用户1或用户2的链接。
为了让对端用户知道链路发生了故障,可采用多种方法,一种典型的方法是:用户1和用户2之间通过定时对告方式,将本端的链接信息告诉对方,当长时间收不到对端发送过来的链接信息时,认为链路发生了故障,用户停止对告链接信息,自动使用备份网络进行通信;另一种典型的方法是:用户1和用户2实时检测备份网络的使用情况,只要检测到有任何一方使用了备份网络,另外一方也改为使用备份网络。
上述方法虽然在一定程度上可以解决问题,但却存在一些弊端:第一、在正常情况下,定时对告链接信息会占用网络带宽,从而需付出额外的网络开销;第二、当网络出现拥塞时,对告链接信息会出现延时,有可能因错误判断而导致错误的操作;第三、如果对备份网络检测,需要占用备份网络的部分带宽,这也会给网络带来额外开销;第四、当链路恢复正常时,双方怎样离开备份网络、回到工作网络也是一个问题。
【发明内容】
为了解决现有技术中存在的上述弊端,本发明的目的在于提出一种既能够在链路出现故障的情况下通知对端又能够保证在网络正常工作时付出尽量小额外开销的网络中链路状态穿通方法。
为了实现本发明的上述目的,提供了一种实现网络中链路状态穿通的方法,该方法包括以下步骤:服务设备检测网络中链路是否出现故障;当网络中链路出现故障时,服务设备利用所述控制帧将链路故障信息传递给对端服务设备;对端服务设备响应接收到的含有链路故障信息的所述控制帧而断开用户链路并进行相应的处理;以及故障端的用户与对端的用户通过备份网络进行通信。
根据本发明所述的方法还包括以下步骤:
当所述链路恢复正常时,恢复端服务设备向对端服务设备发送含有链路故障恢复信息的控制帧,重新在所述链路上建立所述用户之间的通信。
所述控制帧中至少包括网络状态信息,用于表明是否出现链路故障。所述控制帧可为标准以太网帧,所述网络状态信息填入所述以太网帧的操作码字段中,或是封装协议控制帧,所述网络状态信息填入所述封装协议控制帧的控制字段中,或是信号标签字节,所述网络状态信息填入所述信号标签字节中。
步骤A还包括去抖处理的以下步骤:
仅当链路在预定时间内持续不可用时,才判断链路出现故障;以及仅当链路在预定时间内持续可用时,才判断链路恢复正常。
如果所述链路故障为接入点故障,则故障端的服务设备将向对端服务设备发送含有接入点出现故障信息的所述控制帧,在接收到含有接入点出现故障信息的所述控制帧后,所述对端服务设备将断开与对端用户的连接,然后故障端的用户与对端用户通过备份网络进行通信;
如果所述链路故障为服务网络故障,则故障端的服务设备将向对端服务设备发送含有服务网络出现故障信息的所述控制帧,并且断开与故障端用户的链接,在接收到含有服务网络出现故障信息的所述控制帧后,所述对端服务设备将断开与对端用户的连接,然后故障端的用户与对端用户通过备份网络进行通信。
在链路故障为服务网络故障的情况下,仅当确定了所述服务网络自身的保护功能失效之后,再执行与服务网络故障相对应的处理步骤。
本发明的有益效果是:1)在链路工作正常情况下,不会发送控制帧进行控制,这样就不会占用工作网络和备份网络的带宽,从而节省了额外开销;2)通过利用控制帧机制来控制链路的断开和恢复,对原有网络不会产生副作用,从而方便了网络的升级和维护;3)在本发明中,对链路故障及恢复的判断采用了“去抖”处理,从而提高了网络的可靠性和易用性。
【附图说明】
图1是用户通过点对点接入网络进行数据交互的示意图;
图2是根据本发明所述链路状态穿通方法的流程框图;
图3是根据本发明实施例所述的标准模式下的链路状态穿通过程图;
图4是根据本发明实施例所述的扩展模式下的链路状态穿通过程图;
图5是根据本发明实施例所述的去抖处理的时序图;
图6是根据本发明实施例所述的告警和事件的上报图示;
图7是根据本发明实施例所述的链路穿通实现状态迁移图;
图8是根据本发明实施例所述的控制帧的组成示意图;
图9是适用于本发明所述链路穿通方法的一种网络结构;
图10是适用于本发明所述链路穿通方法的另一种网络结构。
【具体实施方式】
图2是根据本发明所述链路状态穿通方法的总体技术流程框图。如图2所示,首先服务设备检测网络中链路是否出现故障S1;当出现链路故障时S2,故障端的服务设备利用所述控制帧将链路故障信息通过服务网络传递给对端服务设备S3,在接收到来自所述服务设备的控制帧之后,对端服务设备将进行相应的处理S4,之后,故障端的用户与对端的用户通过备份网络进行通信S5。
控制帧可采用不同的方式来定义,下面介绍三种实现方式。
(1)、使用标准以太网帧定义控制帧,并实现链路状态穿通功能在IP OVER SDH(基于SDH的IP)网络中,用户为以太网交换机,服务设备为SDH以太网接入设备。首先根据以太网帧格式定义如图8所示的控制帧,该控制帧包括以下内容:
目的地址(6字节):全球唯一媒体访问控制(MAC)地址;
源地址(6字节):全球唯一MAC地址;
类型字段(2字节):0xE140-表示该帧为链路状态穿通功能控制帧;
操作码字段(2字节):
0x0000-网络故障消除(Non_Broken报文),
0x0200-网络发生故障(Broken报文);
填充字段(44字节):填入填充字节;
校验字段(4字节):填入以太网的循环冗余Crc32校验值。
其次定义几个时间参数:可以参考使用T0=500毫秒,T1=1~5秒,T2=5~10秒,T3=20毫秒~1秒,T4=30秒~300秒。
定义好控制帧格式和时间参数后,服务设备检测服务网络工作情况及接入点链路的链接情况,按照上文说明进行控制即可实现链路状态穿通功能。
考虑在网络维护中,有时需要区分故障点,以方便网络维护;此时应将操作码字段进行扩展。扩展后的操作码定义为:
0x0000-接入点故障消除(Non_Broken报文),
0x0100-服务网络故障消除(Non_Broken报文),
0x0200-接入点发生故障(Broken报文),
0x0300-服务网络发生故障(Broken报文);
当故障端检测到接入点故障时,发送接入点故障报文;当故障端检测到服务网络故障时,发送服务网络故障报文。设备可以选择是否支持扩展模式操作码。
(2)、使用封装协议控制帧实现链路状态穿通功能
在使用封装协议实现链路状态穿通功能时,可以使用封装协议的控制字段来定义控制帧。如果使用链路接入规程-SDHLAPS/端对端协议PPP/高级数据链路控制HDLC封装协议,控制字段可以定义如下:
0x70-网络故障消除(Non_Broken报文),0x72-网络发生故障(Broken报文);
正常情况下,控制字段填写默认的控制值。当链路故障时,故障端设备在控制字段填入具有如上特殊含义的控制值,用来通知对端设备此时的链路状态。对端设备收到代表链路故障的控制值时,根据控制值进行处理。当链路恢复后,设备恢复发送正常的控制值。
同样设备可以选择使用扩展的控制值,扩展控制字段定义如下:
0x70-接入点故障消除(Non_Broken报文),0x71-服务网络故障消除(Non_Broken报文),0x72-接入点发生故障(Broken报文),0x73-服务网络发生故障(Broken报文);
(3)、SDH中使用信号标签字节实现链路状态穿通功能
下面是对信号标签的具体定义:
0x70-网络故障消除(Non_Broken报文),0x72-网络发生故障(Broken报文);
扩展后的定义:
0x70-接入点故障消除(Non_Broken报文),0x71-服务网络故障消除(Non_Broken报文),0x72-接入点发生故障(Broken报文),0x73-5服务网络发生故障(Broken报文);
SDH中信号标签使用通道开销中的C2/V5字节传送。
对于VC3/VC4级别的业务,正常情况下C2字节传送正常的信号标签值。当链路发生故障时,故障检测端设备发送链路故障C2值,以通知对端设备此时的链路状态。对端设备收到代表链路故障的C2字节后,不应该上报信号失配告警,而是进行链路状态穿通功能的处理;并根据链路状态穿通功能的状态机进行状态转换。当故障端链路恢复,设备回到正常工作状态后,设备重新发送正常的C2值。
对于VC1/2级别的业务,使用V5字节传送链路状态穿通功能控制帧,工作机制与VC3/VC4级别的业务一致。需要注意的是:正常情况下V5字节的5~7bit传送正常的信号标签。由于添加了链路状态穿通功能,所以需要扩展使用V5字节。根据标准,扩展使用时,V5字节的5~7bit填写101,扩展的信号标签填写到K4字节的bit1,32帧K4的bit1构成一32bit位串,使用12~19bit来传送扩展信号标签。
1.接入点故障模式下的链路穿通
图3是根据本发明实施例所述的标准模式下的链路状态穿通过程图,如图3所示,其处理过程如下:
t0时刻,用户1与服务设备A链接的链路出现故障。此时服务设备A向对端的服务设备B发送连续的Broken原语,把本端的故障告诉服务设备B,原语使用控制帧格式。
t1时刻,服务设备B收到链接故障的Broken原语;经过处理后,知道服务设备A处出现了链路故障,于是断开与用户2的链接;用户1与服务设备A的链路链接状态穿通到了服务设备B与用户2之间的链路链接状态。此时用户1和用户2可以使用备份网络进行通信。
t2时刻,用户1与服务设备A间的链路得到恢复;此时服务设备A向服务设备B发送Non_Broken原语,告诉设备B本端链路得到恢复。
t3时刻,服务设备B收到Non_Broken原语;经过处理后,知道设备A处的链路故障消失;于是重新在原来的网络上建立与用户2的链接。
2.服务网络故障模式下的链路状态穿通
图4是根据本发明实施例所述的扩展模式下的链路状态穿通过程图,如图4所示,其处理过程如下:
t0时刻,服务设备A检测到服务网络不可用,向对端发送Broken原语,并切断与本端用户的链接;
t1时刻,服务设备B收到Broken原语,于是切断与用户2的链接;此后用户1和用户2使用备份网络进行通信;直到服务网络得到恢复。
需要注意的是,服务网络通常具有自己的网络保护功能,具有一定的网络保护能力。为了避免混乱,要求链路状态穿通功能实行晚启动,即,仅当确定了服务网络的保护功能失效后,再启动链路状态穿通功能。
3.链路状态穿通功能的去抖处理
链路状态穿通功能在实现时,有可能因为链路的时好时坏(抖动)而出现错误的操作处理,为了消除链路的抖动问题,可以采用去抖处理。图5是根据本发明实施例所述的去抖处理的时序图,如图5所示,其主要过程为:
仅当链路持续T0时间不可用时,才判断链路出现故障;如果链路故障时间小于T0,那么保持原来的链路状态不变;
仅当链路持续T0时间可以用时,才判断链路工作正常。
4.链路状态穿通功能下的告警和事件
在链路状态穿通过程中,需要对各种情况进行监视和报告。图6示出了在链路状态穿通功能下的告警和事件,如图6所示,其主要内容为:
I.服务设备检测到接入点链路故障时,上报本端接入点故障告警,只有当检测到接入点链路故障消失时才停止上报;
II.服务设备第一次收到Broken控制帧时,上报对端链路故障事件,同样当第一次收到Non_Broken控制帧时,上报对端链路故障消除事件;
III.服务设备检测到服务网络故障时,可以使用服务网络原有的告警进行上报,也可以使用专门的告警进行上报。
5.链路状态穿通功能的状态机转换
在链路状态穿通功能下有多种状态,随着链路情况的变化,这些状态之间可以发生转换。下面将参考图7对链路状态穿通功能下的各种状态及其转换进行详细说明。图7是根据本发明实施例所述的链路穿通实现状态迁移图,如图7所示,链路状态穿通功能的具体实现过程由一个包含4个基本状态的状态机组成,以下是状态机的4个基本状态定义:
正常工作状态:接入点和服务网络都处于正常状态;
等待恢复状态:当服务设备收到Broken控制帧后,进入等待恢复状态;
接入点故障状态:用户与服务设备间的路径出现故障,用户与服务设备间不能进行正常的通信;
服务网络故障状态:服务设备之间的服务网络出现故障,不能进行正常的通信。
状态迁移过程概括如下:
◆正常工作状态:
1).如果检测到服务网络持续T0时间不可用,那么向对端设备发送Broken控制帧,告诉对端设备本端检测出服务网络不可用,然后进入服务网络故障状态;
2).如果检测到接入点网络持续T1时间不可用,那么向对端设备发送Broken控制帧,告诉对端设备本端检测出接入点网络不可用,然后进入接入点故障状态;
3).如果收到Broken控制帧,表示对端网络故障,那么本端服务设备切断与用户的链接端口,然后进入等待恢复状态;
◆等待恢复状态:设备如果进入该状态,表示收到了Broken控制帧。此时本端设备的接入点网络可能是好的,不应该对接入点网络进行尝试性的链接。
1).如果设备检测到服务网络持续T0不可用,那么向对端设备发送Broken控制帧,告诉对端设备本端检测出服务网络不可用,然后进入服务网络故障状态;该步骤是可选的;
2).设备每间隔T1时间就断开一次与用户的链接,防止服务设备没有和用户断开链路的事故;如果能够保证进入等待恢复状态前设备与用户的接入点链接是切断的,那么该步骤也是可选的;
3).如果设备持续T2时间没有收到Broken报文,那么可能是对端进入了正常工作状态或等待恢复状态;本端设备此时应该链接与用户的接入点链路并主动回到正常工作状态,以防止发生死锁;
4).如果设备收到Non_Broken控制帧,表示对端链路故障已经恢复,现在可以正常工作;那么本设备应该链接与用户的接入点链路,然后进入正常工作状态;
5).如果设备收到Broken报文,表示对端设备的链路还处于故障状态,重新开始T2计数;
◆服务网络故障状态:设备进入该状态,表示检测到服务网络发生了故障。
1).继续检查服务网络是否正常,如果服务网络仍然有故障,那么定时T3发送Broken报文,告诉对端设备服务网络故障(此处不管是否对端设备能够收到);
2).继续检查服务网络是否正常,如果服务网络持续T0时间无故障,那么认为服务网络已经恢复正常;此时向对端发送Non_Broken报文,并直接回到正常工作状态,重新开始新的检测。。
◆接入点故障状态:设备进入该状态,表示检测到本端接入点发生故障。在此状态下,需要定时尝试恢复接入点的链路。
1).检测本端服务网络的状态,如果检测到服务网络不可用,那么发送Broken报文,并进入到服务网络故障状态;本步骤是可选的;
2).T1、T4周期交替工作;在T1(T1至少应该保证正常链接服务设备与用户之间的所需时间)期间,设备尝试链接接入点链路,如果链接成功那么发送Non_Broken控制帧给对端,然后进入正常工作状态;否则再次切断接入点链路进入T4阶段;在T4阶段里,服务设备定时T3向对端发送Broken报文,告诉对端设备本端发生了网络故障;T4阶段结束后设备重新进入T1阶段;
3).如果收到Broken控制帧,那么表示服务网络或对端接入点有故障,重新开始T4阶段计数;
4).如果收到Non_Broken报文,表示对端网络已经恢复;此时本端设备应该立即进入T1阶段;尝试恢复网络链接。
虽然以上对本发明所作的说明是参考具体实施例来进行的,但是,本领域的技术人员应该明白,这些说明并不意味着对本发明的限制。例如,在上述实施例中,链路状态穿通技术被应用于图1所示网络结构当中。但是,该技术也同样适用于其他形式的网络结构,图9和图10示出了其中可采用本发明所述链路穿通技术的两种网络结构形式。如图9所示,第一种网络结构为:用户1和2可以在服务设备处开通两个端口的业务,两个端口可以是一主一备,也可是互做主备。此时两个端口都可以使用链路状态穿通功能。不过当服务网络出现故障时,用户1和用户2间的通信仍然会断开。如图10所示,第二种网络结构为:工作链路和备份链路不走一个网络,是完全独立的。用户1分别在服务设备A0和服务设备A1处开通业务;同样用户2在服务设备B0和服务设备B1上开通业务。正常情况下用户1和用户2使用服务网络0通信,故障发生时用户1和用户2使用服务网络1通信。这种结构可以保证服务网络0出现故障时用户之间的通信仍然可以进行。因此,对本发明的限制是由其权利要求书来定义的,任何对本发明的修改和变换都不会脱离本发明的精神和范围。