在实现多链路协议时进行链路检测的方法

文档序号:7593159阅读:176来源:国知局
专利名称:在实现多链路协议时进行链路检测的方法
技术领域
本发明涉及一种在实现多链路协议(Multilink Protocol,缩写为MP)进行点对点传输的时候,对MP的每条链路进行链路检测的方法或装置,尤其涉及通信领域的E1链路上承载端对端协议(Peer-Peer Protocol,缩写为PPP)报文的传输。
背景技术
RFC1990中说明了一种端对端多链路协议(Peer-Peer ProtocolMultilink Protocol,缩写为PPPMP),可以将多条物理上的链路映射成一条逻辑链路,上面承载PPP报文,一个报文被分成许多小的帧通过不同的物理链路传输,以增加带宽。RFC 1661中提到了一种PPP链路层的Echo报文,通过链路一端发送“回应请求”(Echo Request,缩写为Echo Req)报文,另一边应答“回应应答”(Echo Acknowledge,缩写为Echo Ack)报文来判断链路状况。如果在实现MP的情况下,Echo报文不能指定某条物理链路传送,RFC1990并没有提出分别检测每条物理链路状态的方法。

发明内容
本发明的目的是为了克服现有技术中,在E1链路上用MP协议传输PPP报文时无法对每条高速数据链路控制(High Data Link Control,缩写为HDLC)链路进行链路状态检测的缺点,解决现有技术中存在的在MP协议传输的链路上,当一条物理链路发生故障时,其他链路上传输的帧无法正确组包,导致整个链路发生故障。
本发明所述的在E1链路上用MP协议实现PPP报文传输时对每条物理链路进行链路检测的方法如下。
通过定期向每条HDLC链路发送自定义的检测报文,报文格式如图1所示,进行链路检测,判断链路状态,实现根据链路状态进行增加和删除HDLC链路到绑定中的功能。下层硬件应提供可以指定HDLC链路发送和可以标识报文从哪个HDLC链路收到的接口。
通过E1上每条HDLC链路定时发送检测报文,当连续5次(经验值)没有应答时就认为链路故障,从绑定中删除此HDLC链路,链路故障时继续检测,当连续3次(经验值)都收到应答后认为链路已经恢复,重新添加此HDLC链路到绑定中。
按照本发明的实施例,揭示了一种根据链路状态增加HDLC链路到绑定中的方法,包括以下步骤1、Self端(本端)首先通过HDLC链路向Peer端(对端)发送链路状态坏时的链路检测请求,设置消息定时器;2、Peer端收到链路状态坏时的链路检测请求后,如果发现本端没有对端的ID标识,保存对端的HDLC链路ID,同时向对端发送链路状态坏时的链路检测应答消息,如果发现已经有对端的ID标识,向对端发送链路状态坏时的链路检测应答消息,Self端收到了对端的链路状态坏时的链路检测应答消息,检测对端的连续应答次数是否达到门限值,如果是,执行步骤4,如果不是,执行步骤33、Self端定时器超时后,继续通过HDLC链路向对端发送链路状态坏时的链路检测请求,执行步骤2;4、当Self端检测到连续收到的链路状态坏时的链路检测应答消息到达门限值时,增加该HDLC链路到绑定中。
按照本发明的实施例,揭示了一种根据链路状态删除HDLC链路到绑定中的方法,包括以下步骤(1)Self端通过HDLC链路向Peer端发送链路状态好时的链路检测消息,设置定时器1,超时前未收到应答;(2)定时器1事件到达,Self端检测连续没有收到应答次数的限制,如果没有到达门限值,继续通过HDLC链路1向Peer端发送链路状态好时的链路检测消息,如果已经达到门限值,执行(3);(3)认为该HDLC链路断链,需要从MP中删除。
采用本发明所述方法,与现有技术相比,达到了当某个HDLC链路发生故障时,整个绑定不会出现问题的效果,可以根据链路状态动态调整绑定状态,提高了链路的可靠性。


以下是对附图的说明图1是本发明建议使用的HDLC链路检测报文的格式。
图2是链路检测模型的状态示意图。
具体实施例方式
下面结合附图对技术方案的实施作进一步的详细描述,通过对软件部分和硬件部分加以说明,使本领域的技术人员能够实现。
处理步骤如下在下面的流程中,描述的是一个含有两个HDLC的MP链路的增加流程。消息名称尾部的数字表示HDLC链路在MP链路中的本地编号(HDLC链路1orHDLC链路2)。两端分别为Self和Peer。
一、增加流程1、Self端首先通过HDLC链路1向Peer端发送Bad检测请求,其中包含HDLC链路1ID。设置消息定时器。
2、Peer端收到Bad请求后,如果发现本端没有对端的ID标识,设置收到对端ID标识,保存对端的HDLC链路ID在本端的映射表中。同时向对端发送Bad检测应答消息,应答消息中包含了所请求消息中所包含的HDLC链路ID。如果发现已经有对端的ID标识,向对端发送Bad检测应答消息,应答消息中包含了所请求消息中所包含的HDLC链路ID。Self端收到了对端的Bad检测应答消息,检测对端的连续应答次数是否达到门限值,如果是,执行5。如果不是,执行3。
3、当Self端定时器超时后,继续向通过HDLC链路1向对端发送Bad检测请求,其中含HDLC链路1ID。
4、Self端收到了Peer端的应答消息,执行2。
5、当Self端检测到连续收到的Bad检测应答消息到达门限值,认为该HDLC链路1需要增加到绑定中去。由于此时用户IDUID(User ID,缩写为UID)的绑定不存在,该HDLC链路1为UID绑定中的第一个HDLC链路。Self端建立UID绑定,其中仅仅包含HDLC1,此时Self端将通过该UID绑定向对端发送MP报文。
6、Self端通过HDLC链路1向对端发送链路状态好时的链路检测消息(OkDet Req)。
7、Self端从HDLC链路1上收到了对端的链路状态好时的链路应答消息(OkDet Ack)。
8、在HDLC链路2上连续发送了若干个链路状态坏时的链路检测消息(BadDet Req),且连续收到对端的应答消息时,认为HDLC链路2可以加入到绑定中。首先将HDLC链路2从单列的HDLC(Single HDLC)链路中删除,然后将HDLC链路2的接收方向增加到绑定中,此时需要通知对端。通过HDLC链路1,向Peer端发送增加HDLC的请求消息(Add HDLC Req),其中的CMD Code=AddHDLC Req,HDLC链路ID=HDLC链路2的ID。
9、Peer端收到Self端的Add HDLC Req后,提取其中的HDLC链路ID,得知需要将HDLC2加入到绑定中。Peer端将HDLC链路2的接收和发送一起加入到绑定中,然后通过HDLC链路1或者HDLC链路2向Self端发送增加HDLC的应答信息(Add HDLC Ack),其中的HDLC链路ID为HDLC链路2的ID。
Self端收到Peer端的Add HDLC Ack后,从消息中提取出HDLC链路ID并确认为HDLC链路2,将HDLC链路2的发送方向增加到绑定中。
10、Self端继续通过HDLC链路2向Peer端发送Ok Det Req消息。
11、Self端收到了HDLC链路2的Ok Det Ack消息12、Self端通过HDLC链路1向Peer端发送Ok Det Req消息,设置定时器1,超时前未收到应答。
13、定时器1事件到达,Self端检测连续没有收到应答次数的限制。如果没有到达门限值,继续通过HDLC链路1向Peer端发送Ok Det Req消息。如果已经达到门限值,执行14。
14、认为该HDLC链路断链,需要从MP中删除。由于HDLC链路1不是该绑定中的唯一的HDLC链路,因此首先删除该HDLC链路的发送方向,然后通过绑定中其他具有发送方向的HDLC链路向Peer端发送删除HDLC链路的请求消息(Del HDLC Req),其中的HDLC链路ID为HDLC链路1的ID。设置定时器2。
15、当定时器2超时或者收到对端的应答消息后,Self端将HDLC链路1的接收方向删除,然后将HDLC链路1设置为Single HDLC。
16、继续通过HDLC链路1向对端发送Bad Det Req消息。
17、Self端通过HDLC链路2向Peer端发送Ok Det Req,设置定时器3,在超时范围内没有收到应答消息。
18、定时器3超时,Self端检测本端连续发送Ok Det Req但是没有收到应答的次数,如果该次数到达门限值,执行19,否则继续向Peer端发送Ok Det Req消息。
19、如果Self端检测到通过HDLC链路2连续发送多次Ok Det Req但是都没有收到应答,认为HDLC链路2断链,由于HDLC链路2为绑定中仅存的HDLC链路,此时需要删除绑定。执行删除绑定操作。
注意板支持包(Board Support Packet,缩写为BSP)侧在删除绑定时,需要设置定时期查询7389(一种实现MP协议的芯片)的块缓存(Chunk Buffer),只有当发现Chunk Buffer为空或者查询次数到达门限值时,才执行删除绑定的操作。查询最长时间为40秒。在绑定被删除期间,该UID的所有的HDLC链路(在绑定中或者未在绑定中的)收到任何消息后均抛弃处理。
20、在绑定删除后,设置定时器4,将UID设置为空闲状态,并且将删除绑定时在绑定中存在的HDLC链路2设置为休眠状态。UID在此状态下不处理任何消息。强迫对端删除绑定。注意此时仍然通过HDLC链路1向Peer端发送消息,但是此时HDLC链路1不会处理任何接收到的消息。
空闲状态时长可以设置为3-5秒,目的是强迫对端删除绑定。
21、当UID的空闲状态定时器4超时后,将HDLC链路2唤醒,继续通过HDLC链路2向Peer端发送Bad Det Req消息。从步骤1开始循环执行。
二、删除流程下面描述了链路检测模块中,在删除一个绑定中的HDLC链路时的动作和顺序。
1、删除该HDLC链路的发送方向。
2、通过具有发送方向的HDLC链路,向对端发送Del HDLC Req,其中的HDLC链路ID为要删除的HDLC链路的ID。设置定时器4。
3、对端收到Del HDLC Req消息后,提取到要删除的HDLC链路的本端的ID,删除该HDLC链路通道的发送和接收方向,然后通过具有发送方向的HDLC链路给Self端发出Del HDLC Ack消息。
4、本端收到Del HDLC Ack消息或定时器4超时以后,删除该HDLC链路通道的接收方向。
5、恢复微码的UID Width为更新后的数值,允许通过该UID绑定发送通道。
三、两端同时要求增加HDLC链路1、Self端认为需要增加HDLC链路,首先增加该HDLC链路的接收方向,然后通过具有发送方向的HDLC链路,向Peer端发送增加HDLC链路请求。
2、Self端在收到应答消息前,就已经收到了对端发送的增加HDLC链路的请求消息,此时Self端将增加HDLC链路的发送方向,然后给Peer端发送增加HDLC链路的应答消息。
3、Self端收到Peer端的增加HDLC链路应答,此时Self端判断本端已经增加了该HDLC链路发送方向,故不做处理。
四、两端同时要求删除HDLC链路1、Self端认为需要删除该HDLC链路,首先删除该HDLC链路的发送方向,然后通过具有发送方向的HDLC链路,向Peer端发送删除HDLC链路请求。
2、Self端在收到应答消息前,就接收到了对端发送的删除HDLC链路的请求消息。此时Self端将删除该HDLC链路的接收方向,然后给Peer端发送删除HDLC链路的应答消息。
3、Self端收到Peer端的删除HDLC链路应答或者超时后,判断本端已经删除了该HDLC链路的接收方向,故不做处理。
当某个HDLC链路发生故障时,及时从绑定中删除HDLC链路,避免其他HDLC链路收到大量报文碎片而不能组包的情况。当链路恢复后,可以自动将该HDLC链路加入绑定。这样根据链路状态动态调整绑定状态,提高了链路的可靠性。
尽管在上文当中以及参照本发明的具体实施方式
,对本发明的方法进行了详细的描述,但上述具体实施方式
应当理解为是说明性的,本领域的普通技术人员在不脱离本发明方法的范围情况下,可以做出各种改进。这些改进不脱离本发明的权利要求书及其等同物所限定的保护范围。
权利要求
1.一种在实现多链路协议时进行链路检测的方法,包括以下步骤(1)Self端首先通过HDLC链路向Peer端发送链路状态坏时的链路检测请求,设置消息定时器;(2)Peer端收到链路状态坏时的链路检测请求后,如果发现本端没有对端的ID标识,保存对端的HDLC链路ID,同时向对端发送链路状态坏时的链路检测应答消息,如果发现已经有对端的ID标识,向对端发送链路状态坏时的链路检测应答消息,Self端收到了对端的链路状态坏时的链路检测应答消息,检测对端的连续应答次数是否达到门限值,如果是,执行步骤(4),如果不是,执行步骤(3);(3)当Self端定时器超时后,继续通过HDLC链路向对端发送链路状态坏时的链路检测请求,执行步骤(2);(4)当Self端检测到连续收到的链路状态坏时的链路检测应答消息到达门限值时,增加该HDLC链路到绑定中。
2.如权利要求1所述的方法,其特征在于步骤(1)和步骤(3)中的链路状态坏时的链路检测请求包含HDLC链路ID。
3.如权利要求1或2所述的方法,其特征在于步骤(2)中的保存对端的HDLC链路ID是将其保存在本端的映射表中。
4.如权利要求3所述的方法,其特征在于步骤(2)中的链路状态坏时的链路检测应答消息包含所请求消息中所包含的HDLC链路ID。
5.如权利要求4所述的方法,其特征在于步骤(4)中增加该HDLC链路到绑定中是通过以下步骤实现的当UID的绑定不存在时,该HDLC链路为UID绑定中的第一个HDLC链路,Self端建立UID绑定,其中仅仅包含HDLC链路,此时Self端将通过该UID绑定向对端发送MP协议报文;当UID的绑定存在时,首先将HDLC链路从单列的HDLC链路中删除,然后将HDLC链路的接收方向增加到绑定中,此时需要通知对端,通过已经存在的HDLC链路,向Peer端发送增加HDLC链路的请求消息,Peer端收到Self端的增加HDLC链路的请求消息后,提取其中的HDLC链路ID,得知需要将该HDLC链路加入到绑定中,Peer端将HDLC链路的接收和发送一起加入到绑定中,然后通过HDLC链路向Self端发送增加HDLC链路的应答消息,其中的HDLC链路ID为该增加HDLC链路的ID,Self端收到Peer端的增加HDLC链路的应答消息后,从消息中提取出HDLC链路ID并确认为该HDLC链路,将该HDLC链路的发送方向增加到绑定中。
6.如权利要求5所述的方法,其特征在于当两端同时要求增加HDLC链路时,是通过以下步骤完成的Self端认为需要增加HDLC链路,首先增加该HDLC链路的接收方向,然后通过具有发送方向的HDLC链路,向Peer端发送增加HDLC链路请求;Self端在收到应答消息前,就已经收到了对端发送的增加HDLC链路的请求消息,此时Self端将增加HDLC链路的发送方向,然后给Peer端发送增加HDLC链路的应答消息;Self端收到Peer端的增加HDLC链路应答,此时Self端判断本端已经增加了该HDLC链路发送方向,故不做处理。
7.一种根据链路状态删除HDLC链路到绑定中的方法,包括以下步骤(1)Self端通过HDLC链路向Peer端发送链路状态好时的链路检测消息,设置定时器1,超时前未收到应答;(2)定时器1事件到达,Self端检测连续没有收到应答次数的限制,如果没有到达门限值,继续通过HDLC链路1向Peer端发送链路状态好时的链路检测消息,如果已经达到门限值,执行(3);(3)认为该HDLC链路断链,需要从MP中删除。
8.如权利要求7所述的方法,其特征在于步骤(3)中从MP中删除HDLC链路是通过以下步骤实现的如果HDLC链路不是该绑定中的唯一的HDLC链路,因此首先删除该HDLC链路的发送方向,然后通过绑定中其他具有发送方向的HDLC链路向Peer端发送删除该HDLC链路的请求消息,Peer端收到该消息后提取其中的HDLC链路ID,得知需要删除该HDLC链路,将该HDLC链路的接收和发送方向一同删除,其中的HDLC链路ID为该HDLC链路的ID,设置定时器2;当定时器2超时或者收到对端的应答消息后,Self端将该HDLC链路的接收方向删除,然后将该HDLC链路设置为单列的HDLC链路;如果HDLC链路是该绑定中的唯一的HDLC链路,删除该绑定。
9.如权利要求7或8所述的方法,其特征在于BSP侧在删除绑定时,需要设置定时期查询实现MP协议的芯片的块缓存,只有当发现块缓存为空或者查询次数到达门限值时,才执行删除绑定的操作。
10.如权利要求7所述的方法,其特征在于当两端同时要求删除HDLC链路时,是通过以下步骤完成的Self端认为需要删除该HDLC链路,首先删除该HDLC链路的发送方向,然后通过具有发送方向的HDLC链路,向Peer端发送删除HDLC链路请求;Self端在收到应答消息前,就接收到了对端发送的删除HDLC链路的请求消息,此时Self端将删除该HDLC链路的接收方向,然后给Peer端发送删除HDLC链路的应答消息;Self端收到Peer端的删除HDLC链路应答或者超时后,判断本端已经删除了该HDLC链路的接收方向,故不做处理。
11.如权利要求8所述的方法,其特征在于在绑定被删除期间,该UID的所有在绑定中或者未在绑定中的HDLC链路收到任何消息后均抛弃处理。
全文摘要
本发明涉及移动通信领域,是一种在实现多链路协议时进行链路检测的方法。其核心算法是通过定期向每条HDLC链路发送自定义的检测报文,进行链路检测,判断链路状态,实现根据链路状态进行增加删除HDLC链路到绑定中的功能。通过E1上每条HDLC链路定时发送检测报文,当连续5次没有应答时就认为链路故障,从绑定中删除此HDLC链路,链路故障时继续检测,当连续3次都收到应答后认为链路已经恢复,重新添加此HDLC链路到绑定中。本发明的方法达到了当某个HDLC链路发生故障时,整个绑定不会出现问题的效果,可以根据链路状态动态调整绑定状态,提高了链路的可靠性。
文档编号H04L12/26GK1713596SQ20041004822
公开日2005年12月28日 申请日期2004年6月15日 优先权日2004年6月15日
发明者吕鹏, 周志雄, 孙颂辉, 穆国燕 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1