一种建立链路的方法、节点及装置制造方法

文档序号:7790515阅读:165来源:国知局
一种建立链路的方法、节点及装置制造方法
【专利摘要】本发明实施例提供一种建立链路的方法、节点及装置,涉及通信【技术领域】,以解决第一节点和第二节点由于链路故障时长不一致而造成对链路状态的误判,从而提高了链路的可靠性。该方法包括:第一节点向第二节点发送第一初始化报文;第一节点接收第二节点发送的第一初始化响应报文;若第一初始化响应报文携带有与第一节点的配置参数相同的第二节点的配置参数,或者,第一初始化响应报文携带有第一标识,第一节点建立与第二节点间的链路;若第一初始化响应报文携带有与第一节点的配置参数不同的第二节点的配置参数,第一节点将第二节点的配置参数作为第一节点的配置参数。
【专利说明】一种建立链路的方法、节点及装置
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种建立链路的方法、节点及装置。
【背景技术】
[0002]SCTP (Stream Control Transmission Protocol,流控制传输协议)是一种可靠的传输协议,能够在两个节点之间提供稳定、有序的数据传递服务。SCTP检测链路是否故障的方法包含两种场景:1、当链路上没有数据传输时,可根据两节点之间发送的心跳报文进行故障检测;2、当链路上有数据传输时,可根据两节点之间发送的数据进行故障检测。对应上述的两个场景,SCTP协议能够采用不同的算法计算链路故障时长。
[0003]然而,SCTP链路建立后,在SCTP链路进行链路故障检测时,若两个节点的参数配置不同,则容易将链路的状态误判为链路故障。例如,节点A采用相应的算法计算出的检测链路故障时长为60秒,节点B采用相应的算法计算出的检测链路故障时长为30秒,在30秒以内,节点B向节点A发送的心跳报文均未收到回应,则节点B认为此时链路已故障,进而关闭链路,但是节点A在此期间仍处于检测链路的状态,因此仍会向节点B发送心跳报文;若节点A向节点B发送的心跳报文在大于30秒且小于60秒的时候接收到了回应,则节点A认为该链路已恢复正常,其中,心跳报文用于监视机器网络存储器的运行状态。但是由于节点B已经做出链路故障的判断,系统会按照链路故障来进行后续处理,因此,降低了链路的可靠性。

【发明内容】

[0004]本发明的实施例提供一种建立链路的方法、节点及装置,以解决第一节点和第二节点由于链路故障时长不一致而造成对链路状态的误判,从而提高了链路的可靠性。
[0005]本发明的第一方面提供一种建立链路的方法,该方法包括:
[0006]第一节点向第二节点发送第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0007]所述第一节点接收所述第二节点发送的第一初始化响应报文;
[0008]若所述第一初始化响应报文携带有与所述第一节点的配置参数相同的第二节点的配置参数,或者,所述第一初始化响应报文携带有第一标识,所述第一节点建立与所述第二节点间的链路,其中,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路;
[0009]若所述第一初始化响应报文携带有与所述第一节点的配置参数不同的第二节点的配置参数,所述第一节点将所述第二节点的配置参数作为所述第一节点的配置参数。
[0010]在第一种可能的实现方式中,根据第一方面,在所述第一节点将所述第二节点的配置参数作为所述第一节点的配置参数后,所述方法还包括:
[0011]所述第一节点向所述第二节点发送链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路;[0012]所述第一节点向所述第二节点发送第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0013]所述第一节点接收所述第二节点发送的第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立;
[0014]所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路。
[0015]在第二种可能的实现方式中,结合第一方面或第一种可能的实现方式,所述方法还包括:
[0016]所述第一节点确认所述第二节点的配置参数满足第一预设条件时,所述第一节点判断所述第二节点的配置参数与所述第一节点的配置参数是否相同,其中,所述第一预设条件是指所述第二节点的参数类型值与所述第一节点的参数类型值相等,所述参数类型值属于所述配置参数的一项。
[0017]在第三种可能的实现方式中,结合第一方面或第一种可能的实现方式或第二种可能的实现方式,所述配置参数属于所述第一初始化响应报文携带的未确认参数Unrecognized Parameter 的一项。
[0018]在第四种可能的实现方式中,结合第一方面或第一种可能的实现方式至第三种可能的实现方式,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最闻两个比特位。
[0019]在第五种可能的实现方式中,结合第一方面或第一种可能的实现方式至第四种可能的实现方式,所述第一节点为客户端节点,所述第二节点为服务端节点。
[0020]本发明的第二方面提供一种建立链路的方法,该方法包括:
[0021]第二节点接收第一节点发送的第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0022]所述第二节点向所述第一节点发送第一初始化响应报文,其中,所述第一初始化响应报文携带有所述第二节点的配置参数或第一标识,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路;
[0023]所述第二节点建立与所述第一节点间的链路。
[0024]在第一种可能的实现方式中,根据第二方面,在所述第二节点建立与所述第一节点间的链路之前,所述方法还包括:
[0025]所述第二节点接收所述第一节点发送的链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路;
[0026]所述第二节点接收所述第一节点发送的第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0027]所述第二节点向所述第一节点发送第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立。
[0028]在第二种可能的实现方式中,结合第二方面或第一种可能的实现方式,所述配置参数属于所述第一初始化响应报文携带的Unrecognized Parameter的一项。
[0029]在第三种可能的实现方式中,结合第二方面或第一种可能的实现方式或第二种可能的实现方式,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最闻两个比特位。[0030]在第四种可能的实现方式中,结合第二方面或第一种可能的实现方式至第三种可能的实现方式,所述第一节点为客户端节点,所述第二节点为服务端节点。
[0031]本发明的第三方面提供一种客户端节点,该客户端节点包括:
[0032]发送模块,用于向第二节点发送第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0033]接收模块,用于接收所述第二节点发送的第一初始化响应报文;
[0034]链接模块,用于若所述第一初始化响应报文携带有与所述第一节点的配置参数相同的第二节点的配置参数,或者,所述第一初始化响应报文携带有第一标识,建立与所述第二节点间的链路,其中,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路;
[0035]更新模块,用于若所述第一初始化响应报文携带有与所述第一节点的配置参数不同的第二节点的配置参数,将所述第二节点的配置参数作为所述第一节点的配置参数。
[0036]在第一种可能的实现方式中,根据第三方面,
[0037]所述发送模块,还用于向所述第二节点发送链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路;
[0038]所述发送模块,还用于向所述第二节点发送第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0039]所述接收模块,还用于接收所述第二节点发送的第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立;
[0040]所述链接模块,还用于根据所述第一节点的配置参数,建立与所述第二节点间的链路。
[0041]在第二种可能的实现方式中,结合第三方面或第一种可能的实现方式,所述客户端节点还包括:
[0042]确认模块,用于确认所述第二节点的配置参数满足第一预设条件时,判断所述第二节点的配置参数与所述第一节点的配置参数是否相同,其中,所述第一预设条件是指所述第二节点的参数类型值与所述第一节点的参数类型值相等,所述参数类型值属于所述配置参数的一项。
[0043]在第三种可能的实现方式中,结合第三方面或第一种可能的实现方式或第二种可能的实现方式,所述配置参数属于所述第一初始化响应报文携带的未确认参数Unrecognized Parameter 的一项。
[0044]在第四种可能的实现方式中,结合第三方面或第一种可能的实现方式至第三种可能的实现方式,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最闻两个比特位。
[0045]在第五种可能的实现方式中,结合第三方面或第一种可能的实现方式至第四种可能的实现方式,所述第一节点为客户端节点,所述第二节点为服务端节点。
[0046]本发明的第四方面提供一种服务端节点,该服务端节点包括:
[0047]接收单元,用于接收第一节点发送的第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0048]发送单元,用于向所述第一节点发送第一初始化响应报文,其中,所述第一初始化响应报文携带有所述第二节点的配置参数或第一标识,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路;
[0049]链接单元,用于建立与所述第一节点间的链路。
[0050]在第一种可能的实现方式中,根据第四方面,
[0051]所述接收单元,还用于接收所述第一节点发送的链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路;
[0052]所述接收单元,还用于接收所述第一节点发送的第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0053]所述发送单元,还用于向所述第一节点发送第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立。
[0054]在第二种可能的实现方式中,结合第四方面或第一种可能的实现方式,所述配置参数属于所述第一初始化响应报文携带的Unrecognized Parameter的一项。
[0055]在第三种可能的实现方式中,结合第四方面或第一种可能的实现方式或第二种可能的实现方式,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最闻两个比特位。
[0056]在第四种可能的实现方式中,结合第四方面或第一种可能的实现方式至第三种可能的实现方式,所述第一节点为客户端节点,所述第二节点为服务端节点。
[0057]本发明的第五方面提供一种客户端装置,该客户端装置包括:
[0058]发送器,用于向第二节点发送第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0059]接收器,用于接收所述第二节点发送的第一初始化响应报文;
[0060]处理器,用于若所述第一初始化响应报文携带有与所述第一节点的配置参数相同的第二节点的配置参数,或者,所述第一初始化响应报文携带有第一标识,建立与所述第二节点间的链路,其中,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路,以及若所述第一初始化响应报文携带有与所述第一节点的配置参数不同的第二节点的配置参数,将所述第二节点的配置参数作为所述第一节点的配置参数。
[0061]在第一种可能的实现方式中,根据第五方面,
[0062]所述发送器,还用于向所述第二节点发送链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路;
[0063]所述发送器,还用于向所述第二节点发送第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0064]所述接收器,还用于接收所述第二节点发送的第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立;
[0065]所述处理器,还用于根据所述第一节点的配置参数,建立与所述第二节点间的链路。
[0066]在第二种可能的实现方式中,结合第五方面或第一种可能的实现方式,
[0067]所述处理器,还用于确认所述第二节点的配置参数满足第一预设条件时,判断所述第二节点的配置参数与所述第一节点的配置参数是否相同,其中,所述第一预设条件是指所述第二节点的参数类型值与所述第一节点的参数类型值相等,所述参数类型值属于所述配置参数的一项。
[0068]在第三种可能的实现方式中,结合第五方面或第一种可能的实现方式或第二种可能的实现方式,所述配置参数属于所述第一初始化响应报文携带的未确认参数Unrecognized Parameter 的一项。
[0069]在第四种可能的实现方式中,结合第五方面或第一种可能的实现方式至第三种可能的实现方式,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最闻两个比特位。
[0070]在第五种可能的实现方式中,结合第五方面或第一种可能的实现方式至第四种可能的实现方式,所述第一节点为客户端节点,所述第二节点为服务端节点。
[0071]本发明的第六方面还提供一种服务端装置,该服务端装置包括:
[0072]接收器,用于接收第一节点发送的第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0073]发送器,用于向所述第一节点发送第一初始化响应报文,其中,所述第一初始化响应报文携带有所述第二节点的配置参数或第一标识,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路;
[0074]处理器,用于建立与所述第一节点间的链路。
[0075]在第一种可能的实现方式中,根据第六方面,
[0076]所述接收器,还用于接收所述第一节点发送的链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路;
[0077]所述接收器,还用于接收所述第一节点发送的第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路;
[0078]所述发送器,还用于向所述第一节点发送第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立。
[0079]在第二种可能的实现方式中,结合第六方面或第一种可能的实现方式,所述配置参数属于所述第一初始化响应报文携带的Unrecognized Parameter的一项。
[0080]在第三种可能的实现方式中,结合第六方面或第一种可能的实现方式或第二种可能的实现方式,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最闻两个比特位。
[0081]在第四种可能的实现方式中,结合第六方面或第一种可能的实现方式至第三种可能的实现方式,所述第一节点为客户端节点,所述第二节点为服务端节点。
[0082]通过上述技术方案,由于第一节点能够通过接收来自第二节点的携带有第二节点的配置参数的第一初始化响应报文,使第一节点和第二节点的检测链路故障时长相等,解决了第一节点和第二节之间点由于链路故障时长不一致而造成的对链路状态的误判,提高了链路的可靠性。
【专利附图】

【附图说明】
[0083]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0084]图1为本发明实施例提供的一种建立链路的方法的流程示意图一;
[0085]图2为本发明实施例提供的一种建立链路的方法的流程示意图二 ;
[0086]图3为现有技术第一节点和第二节点之间建立链路的过程示意图;
[0087]图4为本发明实施例提供的第一节点和第二节点之间建立链路的过程示意图一;
[0088]图5为本发明实施例提供的第一节点和第二节点之间建立链路的过程示意图二;
[0089]图6为本发明实施例提供的另一种建立链路的方法的流程示意图一;
[0090]图7为本发明实施例提供的另一种建立链路的方法的流程示意图二 ;
[0091]图8为本发明实施例提供的第一节点的结构示意图一;
[0092]图9为本发明实施例提供的第一节点的结构示意图二;
[0093]图10为本发明实施例提供的第二节点的结构示意图;
[0094]图11为本发明实施例提供的第一装置的结构示意图;
[0095]图12为本发明实施例提供的第二装置的结构示意图。
【具体实施方式】
[0096]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0097]本发明实施例提供一种建立链路的方法,如图1所示,该方法包括:
[0098]S101、第一节点向第二节点发送第一初始化报文。
[0099]其中,第一初始化报文用于指示建立第一节点和第二节点间的链路。
[0100]SCTP是一种可靠的传输协议,能够在两个节点之间提供稳定、有序的数据传递服务。SCTP协议在不同的场景下采用相应的算法计算检测链路故障时长:1、当链路上没有数据传输时,可根据两节点之间发送的心跳报文进行故障检测;2、当链路上有数据传输时,可根据两节点之间发送的数据进行故障检测。其中,在链路上没有数据发送的情况下,根据公式(I)计算检测链路故障时长;在链路上有数据发送的情况下,根据公式(2)计算检测链路故障时长:
Ti= {HB.1ntcrvai +Min [2*RTO,RT0.Max]} + {HB.1ntcrval
[0101]+Min.[4*RT0,RT0.Max]| + —1-1HB.1nterval+公式(I)
Min[2 (Association.Max.Rclrans^5liRTO, RT0.Max]|
Td=RT0+Min[2*RT0,RT0.Max]+VIin[4*RT0,RT0.Max]
[0102]「,? 公式(2) +.*.+Μιη^2 (AssociationfMax.Rctrans-1 产RTO,RT0.Max |
[0103]其中,Ti是指在链路上没有数据发送的情况下计算出的检测链路故障时长,Td是指在链路上有数据发送的情况下计算出的检测链路故障时长,HB.1nterval是指SCTP链路心跳间隔,RTO是指SCTP重 传定时器时长,RT0.1nterval是指SCTP重传定时器初始时长,RT0.Max是指SCTP重传定时器最大时长,Association.Max.Retrans是指SCTP链路的最大偶联重传次数,Min[A, B]是指取A和B中较小的一个值,2' (Association.Max.Retrans)是指 2 的 Association.Max.Retrans 次方。
[0104]当两个节点相互检测链路是否故障时,例如,节点A向节点B发送心跳报文的同时,节点B也向节点A发送心跳报文,由于节点A和节点B的参数配置不同,根据公式计算出的链路故障时长也不同,链路会在较短的链路故障时长超时后判断链路故障,即便此时链路已经恢复,链路故障时长较短的一方节点仍旧会向系统上报链路故障,因此,容易将已经恢复的链路判断为故障。
[0105]本发明实施例提供的一种建立链路的方法,能够使两个节点之间的检测链路故障时长相等,从而防止第一节点和第二节点由于链路故障时长不一致而造成的对链路状态的误判,提高了链路的可靠性。
[0106]首先,第一节点向第二节点发送第一初始化报文。其中,第一节点是客户端节点,第二节点是服务端节点,第一初始化报文是客户端节点发送给服务端节点的INIT报文,第一初始化报文用于指示建立第一节点和第二节点间的链路。
[0107]S102、第一节点接收第二节点发送的第一初始化响应报文。
[0108]在第一节点发送第一初始化报文至第二节点后,第一节点接收第二节点发送的第一初始化响应报文。
[0109]可以理解的,第一初始化响应报文可以视为用于响应上述第一初始化报文,后文不再赘述。
[0110]S103、若第一初始化响应报文携带有与第一节点的配置参数相同的第二节点的配置参数,或者,第一初始化响应报文携带有第一标识,第一节点建立与第二节点间的链路。
[0111]其中,第一标识用于指示第一节点根据第一节点的配置参数,建立与第二节点间的链路。
[0112]第一节点接收第二节点发送的第一初始化响应报文后,第一节点需要确认第一初始化响应报文是否携带有第二节点的配置参数或者第一标识,其中,第一标识用于指示第一节点根据第一节点的配置参数,建立与第二节点间的链路。
[0113]首先,第一节点接收第二节点发送的第一初始化响应报文后,解析接收到的第一初始化响应报文,若此时第一节点能够解析出第一初始化响应报文中携带有第二节点的配置参数,第一节点则确认第二节点的配置参数与第一节点的配置参数是否相同。若第一初始化响应报文携带的第二节点的配置参数与第一节点的配置参数相同,则说明此时第一节点的检测链路故障时长与第二节点的检测链路故障时长相等,即不存在第一节点和第二节点之间由于检测链路故障时长不等而引起的链路状态的误判,第一节点直接建立与第二节点间的链路。
[0114]相应的,若此时第一节点不能解析出第一初始化响应报文中携带的第二节点的配置参数,但解析出第一初始化响应报文中携带有第一标识。由于第一标识用于指示第一节点根据第一节点的配置参数,建立与第二节点间的链路,于是第一节点建立与第二节点间的链路。将在下述实施例中进行详细描述,此处不再赘述。
[0115]需要说明的是,配置参数包括链路心跳间隔、重传定时器初始时长、重传定时器最大时长、重传定时器最小时长以及链路的最大偶联重传次数。[0116]具体的,第一初始化响应报文如何携带有第二节点的配置参数,以及第二节点的配置参数在第一初始化响应报文中的位置将在下述实施例中进行详细描述,此处不再赘述。
[0117]S104、若第一初始化响应报文携带有与第一节点的配置参数不同的第二节点的配置参数,第一节点将第二节点的配置参数作为第一节点的配置参数。
[0118]第一节点接收第二节点发送的第一初始化响应报文后,解析接收到的第一初始化响应报文,若此时第一节点能够解析出第一初始化响应报文中携带有第二节点的配置参数,第一节点则确认第二节点的配置参数与第一节点的配置参数是否相同。
[0119]若第一初始化响应报文携带的第二节点的配置参数与第一节点的配置参数不同,则说明第一节点的检测链路故障时长与第二节点的检测链路故障时长不相等,即第一节点和第二节点之间可能发生由于检测链路故障时长不等而引起的链路状态的误判。此时,第一节点将第二节点的配置参数作为第一节点的配置参数,并重新建立第一节点与第二节点之间的链路。
[0120]具体的,第一节点将第二节点的配置参数作为第一节点的配置参数后,如何重新建立第一节点与第二节点之间链路的过程将在下述实施例中进行详细描述,此处不再赘述。
[0121]本发明实施例提供一种建立链路的方法,通过第一节点向第二节点发送第一初始化报文,其中,第一初始化报文用于指示建立第一节点和第二节点间的链路,第一节点接收第二节点发送的第一初始化响应报文,若第一初始化响应报文携带有与第一节点的配置参数相同的第二节点的配置参数,或者,第一初始化响应报文携带有第一标识,第一节点建立与第二节点间的链路,其中,第一标识用于指示第一节点根据第一节点的配置参数,建立与第二节点间的链路,以及若第一初始化响应报文携带有与第一节点的配置参数不同的第二节点的配置参数,第一节点将第二节点的配置参数作为第一节点的配置参数。通过该方案,由于第一节点能够通过接收来自第二节点的携带有第二节点的配置参数的第一初始化响应报文,使第一节点和第二节点的检测链路故障时长相等,解决了第一节点和第二节之间点由于链路故障时长不一致而造成的对链路状态的误判,提高了链路的可靠性。
[0122]本发明实施例提供一种建立链路的方法,如图2所示,该方法包括:
[0123]S201、第一节点向第二节点发送第一初始化报文。
[0124]其中,第一初始化报文用于指示建立第一节点和第二节点间的链路。
[0125]SCTP是一种可靠的传输协议,能够在两个节点之间提供稳定、有序的数据传递服务。SCTP协议在不同的场景下采用相应的算法计算检测链路故障时长:1、当链路上没有数据传输时,可根据两节点之间发送的心跳报文进行故障检测;2、当链路上有数据传输时,可根据两节点之间发送的数据进行故障检测。
[0126]当两个节点相互检测链路是否故障时,例如,节点A向节点B发送心跳报文的同时,节点B也向节点A发送心跳报文,由于节点A和节点B的参数配置不同,根据公式计算出的链路故障时长也不同,链路会在较短的链路故障时长超时后判断链路故障,即便此时链路已经恢复,链路故障时长较短的一方节点仍旧会向系统上报链路故障,因此,容易将已经恢复的链路判断为故障。
[0127]现有技术中,根据SCTP协议,第一节点和第二节点之间建立链路的过程如图3所示,第一节点是客户端节点,第二节点是服务端节点。第一节点首先发送INIT报文至第二节点,第二节点在收到来自第一节点的INIT报文后,发送INIT ACK报文至第一节点。随后第一节点发送COOKIE ECHO报文至第二节点,第二节点在收到来自第一节点的COOKIE ECHO报文后,发送COOKIE ACK报文至第一节点。从而,建立起第一节点和第二节点之间的链路。
[0128]本发明实施例提供的一种建立链路的方法,能够使两个节点之间的检测链路故障时长相等,从而防止第一节点和第二节点由于链路故障时长不一致而造成的对链路状态的误判,提高了链路的可靠性,提升产品性能。
[0129]首先,第一节点向第二节点发送第一初始化报文。其中,第一节点是客户端节点,第二节点是服务端节点,第一初始化报文是客户端节点发送给服务端节点的INIT报文,第一初始化报文用于指示建立第一节点和第二节点间的链路。
[0130]S202、第一节点接收第二节点发送的第一`初始化响应报文。
[0131]在第一节点发送第一初始化报文至第二节点后,第一节点接收第二节点发送的第一初始化响应报文。
[0132]其中,第一初始化响应报文携带有第二节点的配置参数或第一标识,第一标识用于指示第一节点根据第一节点的配置参数,建立与第二节点间的链路。
[0133]需要说明的是,配置参数包括链路心跳间隔、重传定时器初始时长、重传定时器最大时长、重传定时器最小时长以及链路的最大偶联重传次数。
[0134]其中,配置参数属于第一初始化响应报文携带的未确认参数UnrecognizedParameter 的一项。
[0135]根据RFC 4960协议规定,未确认参数Unrecognized Parameter位于可选/可变长度参数 Optional/Variable-Length Parameters 内,其中,Optional/VariabIe-LengthParameters 在 RFC 4960 协议中具体包括:IPv4 (Internet Protocol version 4,第四版互联网协议)地址、IPv6 (Internet Protocol version 6,第六版互联网协议)地址、未确认参数Unrecognized Parameter、主机名称地址Host Name Address等参数。未确认参数Unrecognized Parameter 的长度为 8 字节。
[0136]按照规定,未确认参数Unrecognized Parameter在RFC 4960协议中的格式如下
所示:
[0137]
[0138]
I Cause Code=8ICause LengthI
/Unrecognized Parameters/
\ \[0139]由上述格式可以看出,未确认参数Unrecognized Parameter的长度为8字节。但是,RFC4960协议并没有规定未确认参数Unrecognized Parameter内要写入什么参数,而本发明实施例所提供的第一初始化响应报文携带有第二节点的配置参数,第二节点的配置参数设置于未确认参数Unrecognized Parameter内。因此,将未确认参数UnrecognizedParameter在RFC4960协议中的格式进行了修改,将第二节点的配置参数设置于未确认参数 Unrecognized Parameter 内。
[0140]示例性的,未确认参数Unrecognized Parameter的具体格式如下所示:
[0141]
【权利要求】
1.一种建立链路的方法,其特征在于,包括: 第一节点向第二节点发送第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路; 所述第一节点接收所述第二节点发送的第一初始化响应报文; 若所述第一初始化响应报文携带有与所述第一节点的配置参数相同的第二节点的配置参数,或者,所述第一初始化响应报文携带有第一标识,所述第一节点建立与所述第二节点间的链路,其中,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路; 若所述第一初始化响应报文携带有与所述第一节点的配置参数不同的第二节点的配置参数,所述第一节点将所述第二节点的配置参数作为所述第一节点的配置参数。
2.根据权利要求1所述的建立链路的方法,其特征在于,在所述第一节点将所述第二节点的配置参数作为所述第一节点的配置参数后,所述方法还包括: 所述第一节点向所述第二节点发送链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路; 所述第一节点向所述第二节点发送第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路; 所述第一节点接收所述第二节点发送的第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立; 所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路。`
3.根据权利要求1所述的建立链路的方法,其特征在于,所述方法还包括: 所述第一节点确认所述第二节点的配置参数满足第一预设条件时,所述第一节点判断所述第二节点的配置参数与所述第一节点的配置参数是否相同,其中,所述第一预设条件是指所述第二节点的参数类型值与所述第一节点的参数类型值相等,所述参数类型值属于所述配置参数的一项。
4.根据权利要求1-3中任意一项所述的建立链路的方法,其特征在于,所述配置参数属于所述第一初始化响应报文携带的未确认参数Unrecognized Parameter的一项。
5.根据权利要求1-4中任意一项所述的建立链路的方法,其特征在于,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最高两个比特位。
6.根据权利要求1-5中任意一项所述的建立链路的方法,其特征在于,所述第一节点为客户端节点,所述第二节点为服务端节点。
7.一种建立链路的方法,其特征在于,包括: 第二节点接收第一节点发送的第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路; 所述第二节点向所述第一节点发送第一初始化响应报文,其中,所述第一初始化响应报文携带有所述第二节点的配置参数或第一标识,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路; 所述第二节点建立与所述第一节点间的链路。
8.根据权利要求7所述的建立链路的方法,其特征在于,在所述第二节点建立与所述第一节点间的链路之前,所述方法还包括:所述第二节点接收所述第一节点发送的链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路; 所述第二节点接收所述第一节点发送的第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路; 所述第二节点向所述第一节点发送第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立。
9.根据权利要求7或8所述的建立链路的方法,其特征在于,所述配置参数属于所述第一初始化响应报文携带的Unrecognized Parameter的一项。
10.根据权利要求7-9中任意一项所述的建立链路的方法,其特征在于,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最高两个比特位。
11.根据权利要求7-10中任意一项所述的建立链路的方法,其特征在于,所述第一节点为客户端节点,所述第二节点为服务端节点。
12.—种客户端节点,其特征在于,包括: 发送模块,用于向第二节点发送第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路; 接收模块,用于接收所述第二节点发送的第一初始化响应报文; 链接模块,用于若所述第一初始化响应报文携带有与所述第一节点的配置参数相同的第二节点的配置参数,或者,所述第一初始化响应报文携带有第一标识,建立与所述第二节点间的链路,其中,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路; 更新模块,用于若所述第一初始化响应报文携带有与所述第一节点的配置参数不同的第二节点的配置参数,将所述第二节点的配置参数作为所述第一节点的配置参数。
13.根据权利要求12所述的客户端节点,其特征在于, 所述发送模块,还用于向所述第二节点发送链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路; 所述发送模块,还用于向所述第二节点发送第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路; 所述接收模块,还用于接收所述第二节点发送的第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立; 所述链接模块,还用于根据所述第一节点的配置参数,建立与所述第二节点间的链路。
14.根据权利要求12所述的客户端节点,其特征在于,所述客户端节点还包括: 确认模块,用于确认所述第二节点的配置参数满足第一预设条件时,判断所述第二节点的配置参数与所述第一节点的配置参数是否相同,其中,所述第一预设条件是指所述第二节点的参数类型值与所述第一节点的参数类型值相等,所述参数类型值属于所述配置参数的一项。
15.根据权利要求12-14中任意一项所述的客户端节点,其特征在于,所述配置参数属于所述第一初始化响应报文携带的未确认参数Unrecognized Parameter的一项。
16.根据权利要求12-15中任意一项所述的客户端节点,其特征在于,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最高两个比特位。
17.根据权利要求12-16中任意一项所述的客户端节点,其特征在于,所述第一节点为客户端节点,所述第二节点为服务端节点。
18.一种服务端节点,其特征在于,包括: 接收单元,用于接收第一节点发送的第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路; 发送单元,用于向所述第一节点发送第一初始化响应报文,其中,所述第一初始化响应报文携带有所述第二节点的配置参数或第一标识,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路; 链接单元,用于建立与所述第一节点间的链路。
19.根据权利要求18所述的服务端节点,其特征在于, 所述接收单元,还用于接收所述第一节点发送的链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路; 所述接收单元,还用于接收所述第一节点发送的第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路; 所述发送单元,还用于向所述第一节点发送第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立。
20.根据权利要求18或19所述的服务端节点,其特征在于,所述配置参数属于所述第一初始化响应报文携带的Unrecognized Parameter的一项。
21.根据权利要求18-20中任意一项所述的服务端节点,其特征在于,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最高两个比特位。
22.根据权利要求18-21中任意一项所述的服务端节点,其特征在于,所述第一节点为客户端节点,所述第二节点为服务端节点。
23.—种客户端装置,其特征在于,包括: 发送器,用于向第二节点发送第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路; 接收器,用于接收所述第二节点发送的第一初始化响应报文; 处理器,用于若所述第一初始化响应报文携带有与所述第一节点的配置参数相同的第二节点的配置参数,或者,所述第一初始化响应报文携带有第一标识,建立与所述第二节点间的链路,其中,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路,以及若所述第一初始化响应报文携带有与所述第一节点的配置参数不同的第二节点的配置参数,将所述第二节点的配置参数作为所述第一节点的配置参数。
24.根据权利要求23所述的客户端装置,其特征在于, 所述发送器,还用于向所述第二节点发送链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路; 所述发送器,还用于向所述第二节点发送第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路; 所述接收器,还用于接收所述第二节点发送的第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立;所述处理器,还用于根据所述第一节点的配置参数,建立与所述第二节点间的链路。
25.根据权利要求23所述的客户端装置,其特征在于, 所述处理器,还用于确认所述第二节点的配置参数满足第一预设条件时,判断所述第二节点的配置参数与所述第一节点的配置参数是否相同,其中,所述第一预设条件是指所述第二节点的参数类型值与所述第一节点的参数类型值相等,所述参数类型值属于所述配置参数的一项。
26.根据权利要求23-25中任意一项所述的客户端装置,其特征在于,所述配置参数属于所述第一初始化响应报文携带的未确认参数Unrecognized Parameter的一项。
27.根据权利要求23-26中任意一项所述的客户端装置,其特征在于,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最高两个比特位。
28.根据权利要求23-27中任意一项所述的客户端装置,其特征在于,所述第一节点为客户端节点,所述第二节点为服务端节点。
29.一种服务端装置,其特征在于,包括: 接收器,用于接收第一节点发送的第一初始化报文,其中,所述第一初始化报文用于指示建立所述第一节点和第二节点间的链路; 发送器,用于向所述第一节点发送第一初始化响应报文,其中,所述第一初始化响应报文携带有所述第二节点的配置参数或第一标识,所述第一标识用于指示所述第一节点根据所述第一节点的配置参数,建立与所述第二节点间的链路; 处理器,用于建立与所述第一节点间的链路。
30.根据权利要求29所述的服务端装置,其特征在于, 所述接收器,还用于接收所述第一节点发送的链路终止消息,其中,所述链路终止消息用于指示关闭当前时刻所述第一节点和第二节点间的链路; 所述接收器,还用于接收所述第一节点发送的第二初始化报文,其中,所述第二初始化报文用于指示建立所述第一节点和第二节点间的链路; 所述发送器,还用于向所述第一节点发送第二初始化响应报文,其中,所述第二初始化响应报文用于指示同意所述第一节点和第二节点间链路的建立。
31.根据权利要求29或30所述的服务端装置,其特征在于,所述配置参数属于所述第一初始化响应报文携带的Unrecognized Parameter的一项。
32.根据权利要求29-31中任意一项所述的服务端装置,其特征在于,所述第一标识占用所述第一初始化响应报文携带的标志块Chunk Flags的最高两个比特位。
33.根据权利要求29-32中任意一项所述的服务端装置,其特征在于,所述第一节点为客户端节点,所述第二节点为服务端节点。
【文档编号】H04L29/06GK103733600SQ201380001507
【公开日】2014年4月16日 申请日期:2013年6月28日 优先权日:2013年6月28日
【发明者】席辉 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1