掌桥专利:专业的专利平台
掌桥专利
首页

一种通信连接检测方法及装置

文献发布时间:2023-06-19 11:49:09


一种通信连接检测方法及装置

本申请是向中国知识产权局提交的申请日为2017年9月22日、申请号为201710866379.8、发明名称为“一种通信连接检测方法及装置”的申请的分案申请。

技术领域

本申请涉及信息技术领域,尤其涉及一种通信连接检测方法及装置。

背景技术

自动发现虚拟私有网(auto discovery virtual private network,ADVPN)允许作为中心节点的集线器(hub)节点采用静态互联网协议(nternet Protocol,IP)地址,作为分支节点的路由器(spoke)节点可以采用动态IP地址。hub节点通过多点通用路由封装协议(multipoint generic routing encapsulation,MGRE)接口和所有spoke节点之间建立静态隧道,而spoke间的数据流量可以通过spoke间建立的动态隧道来传输,不需要经过hub中转,可以降低hub节点的开销。

Spoke节点间建立动态隧道可以通过下一跳解析协议(next hop resolutionprotocol,NHRP)来实现。其中NHRP协议用于解决源spoke节点如何获取目的spoke节点的动态公网地址的问题。

现有方案仅解决了spoke节点和hub节点间保活的问题。但是现有技术中,并没有一种有效的方式来解决:spoke节点与spoke节点之间链路中断后,如何来恢复spoke节点与spoke节点之间的数据流量。

发明内容

本申请提供一种通信连接检测方法及装置,提供一种有效的方式恢复spoke节点与spoke节点之间的数据流量的传输。

第一方面,本申请实施例提供了一种通信连接检测方法,包括:第一网络节点向第二网络节点发送检测请求报文,所述检测请求报文用于检测所述第一网络节点与所述第二网络节点之间是否处于连接状态;所述第一网络节点在确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文时,所述第一网络节点删除NHRP表,所述检测响应报文为响应于所述检测请求报文的响应报文,所述NHRP表用于所述第一网络节点与所述第二网络节点间数据流量的转发。

现有在两个节点间发生链路故障时,第一网络节点与第二网络节点间的NHRP表并不会自动消失,直到NHRP表老化,而在NHRP表老化之前,第一网络节点与第二网络节点之间的数据流量,第一网络节点依然会基于NHRP表被发送,从而会占用第一网络节点的传输资源,通过本申请实施例提供的方式,第一网络节点作为检测发起设备,在确定所述第一网络节点未接收到所述第二网络节点发送的所述检测响应报文后,则删除所述第一网络节点与所述第二网络节点间用于转发数据流量所采用的NHRP表,从而在两个节点间发生链路故障时,能够保证数据流量不再被发送,不再占用传输资源。

本申请实施例在第一网络节点以及第二网络节点均为分支节点时,在第一网络节点删除第一网络节点与第二网络节点间的NHRP表后,该NHRP表用于所述第一网络节点通过所述第一网络节点与所述第二网络节点之间建立的隧道向所述第二网络节点转发数据流量,所述第一网络节点与所述第二网络节点之间传输数据流量不再查询该NHRP表,而是通过中心节点转发,从而在第一网络节点与第二网络节点之间建立的隧道故障后,恢复第一网络节点与第二网络节点之间的数据流量的传输。

上述方法可以但不仅限于应用多点通用路由封装协议GRE隧道组网中,当然其它的能够应用NHRP的组网方式,均适用于本申请实施例。

在一种可能的设计中,所述第一网络节点在未接收到所述第二网络节点发送的数据流量时,向第二网络节点发送检测请求报文。由于,第一网络节点在能够接收到第二网络节点传输数据流量时,可以确定第一网络节点与第二网络节点之间的链路正常,因此,第一网络节点在接收不到第二网络节点发送的数据流量时,即数据流量接收停止时,第一网络节点就可以向第二网络节点发送检测请求报文。从而可以提前确定两个节点之间流量停止是否是因为链路故障,可以提高发现链路的故障的可靠性。

一种可能的实现方式中,所述第一网络节点在第一预设时长内未接收到所述第二网络节点发送的数据流量时,向第二网络节点发送检测请求报文。由于第一网络节点未接收到第二网络节点发送的数据流量可能是第二网络节点向第一网络节点发送的数据流量传输完成了,因此,第一网络节点可以在未接收到第二网络节点发送的数据流量持续的时长达到第一预设时长时,即数据流量接收停止的时长达到第一预设时长时,第一网络节点向第二网络节点发送检测请求报文。从而可以提前确定两个节点之间流量停止是否是因为链路故障,可以提高发现链路的故障的可靠性。

在一种可能的设计中,所述第一网络节点未接收到所述第二网络节点发送的数据流量且所述第一网络节点停止向所述第二网络节点发送数据流量时,向第二网络节点发送检测请求报文。在第一网络节点未接收到第二网络节点发送的数据流量时,如果第一网络节点在向所述第二网络节点发送数据流量,第一网络节点不会触发发送检测请求报文,而在第一网络节点停止向第二网络节点发送数据流量时,才向所述第二网络节点发送检测请求报文,即所述第一网络节点未向第二网络节点发送数据流量且未接收到第二网络节点发送的数据流量时,所述第一网络节点才向第二网络节点发送数据流量。

在一种可能的设计中,所述第一网络节点未接收到所述第二网络节点发送的数据流量且所述第一网络节点停止向所述第二网络节点发送数据流量持续的时长超过第二预设时长时,向第二网络节点发送检测请求报文。

在一种可能的设计中,所述第一网络节点确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文,包括:

所述第一网络节点确定在第三预设时长内未收到所述第二网络节点发送的所述检测响应报文;或者,所述第一网络节点确定在所述第三预设时长内未收到所述第二网络节点发送的所述检测响应报文,且重复N次向所述第二网络节点发送所述检测请求报文后,均未收到所述第二网络节点发送的所述检测响应报文,N为大于1的整数。

上述设计,提供了两种简单有效的确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文的方式。

在一种可能的设计中,所述检测请求报文为NHRP报文,所述NHRP报文包括第一字段,所述第一字段用于指示所述NHRP报文为用于检测所述第一网络节点与所述第二网络节点之间是否处于连接状态的报文。

上述设计,通过多点GRE隧道组网中本身存在的协议报文,即NHRP协议报文,无需组网中各个节点配置其它检测报文,比如BFD,从而节省了节点的资源。

在一种可能的设计中,所述NHRP报文还包括第二字段,所述第二字段用于所述第二网络节点检测所述检测请求报文是否安全。从而提高了检测请求报文的安全性,提高了链路的安全性。

在一种可能的设计中,所述NHRP报文还包括第三字段,所述第三字段用于标识所述NHRP报文的序列号,所述序列号用于指示所述NHRP报文是否为重放报文。从而在一定程度上防止网络节点被攻击。

在一种可能的设计中,所述检测请求报文为失效对端检测DPD报文。在多点GRE隧道组网中应用IP安全联盟技术,从而采用IP安全联盟技术自身的DPD报文,无需组网中各个节点配置其它检测报文,比如BFD,从而节省了节点的资源。

在一种可能的设计中,所述第一网络节点在确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文时,所述方法还包括:所述第一网络节点删除IP安全联盟信息,IP安全联盟信息用于所述第一网络节点对与所述第二网络节点之间传输的数据流量进行加密。

上述设计,在所述第一网络节点与所述第二网络节点之间传输链路出现故障时,及时删除IP安全联盟信息,能够节省节点的存储资源。

在一种可能的设计中,所述第一网络节点和所述第二网络节点均为分支节点,所述第一网络节点在确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文时,所述第一网络节点删除第一网络节点与第二网络节点间的NHRP表,并且所述第一网络节点恢复所述第一网络节点与中心节点之间的聚合路由功能,所述聚合路由功能用于将所述第一网络节点与所述第二网络节点之间传输的数据流量通过所述中心节点转发。

通过上述设计,当两个分支节点之间出现链路故障后,可以恢复由中心节点转发,使得分支节点之间的数据流量传输得以恢复。

在一种可能的设计中,所述第一网络节点在确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文时,所述方法还包括:所述第一网络节点发出告警信号,所述告警信号用于指示所述第一网络节点与所述第二网络节点之间的传输链路出现故障。

通过上述设计,在第一网络节点与第二网络节点之间的传输链路出现故障时,可以提醒用户,从而用户能够及时的修复链路故障。

第二方面,基于与上述第一方面所述的实施例同样的发明构思,本申请实施例提供了一种通信连接检测装置,所述装置应用于第一网络节点,包括:

第一发送模块,用于向第二网络节点发送检测请求报文,所述检测请求报文用于检测所述第一网络节点与所述第二网络节点之间是否处于连接状态;

第一接收模块,用于接收所述第二网络节点发送的检测响应报文;

处理模块,用于在确定所述第一接收模块未接收到所述第二网络节点发送的检测响应报文时,所述第一网络节点删除NHRP表,以使得所述第一网络节点与所述第二网络节点之间传输的数据流量通过中心节点转发;所述NHRP表用于所述第一网络节点通过所述第一网络节点与所述第二网络节点之间建立的隧道向所述第二网络节点转发数据流量。

通过上述方式,第一网络节点作为检测发起设备,在确定第二网络节点未收到检测请求报文后,则删除所述第一网络节点与所述第二网络节点间用于转发数据流量所采用的NHRP表,从而在两个节点间发生链路故障时,能够保证数据流量不再被发送,不再占用传输资源。

在一种可能的设计中,所述装置还包括:

第二接收模块,用于接收所述第二网络节点发送的数据流量;

第二发送模块,用于向所述第二网络节点发送数据流量;

所述第一发送模块,具体用于在确定满足以下条件中任意一项时,向所述第二网络节点发送检测请求报文:

所述第二接收模块未接收到所述第二网络节点发送的数据流量;

所述第二接收模块在第一预设时长内未接收到所述第二网络节点发送的数据流量;

所述第二接收模块未接收到所述第二网络节点发送的数据流量且所述第二发送模块未向所述第二网络节点发送数据流量;和,

所述第二接收模块未接收到所述第二网络节点发送的数据流量且所述第二发送模块未向所述第二网络节点发送数据流量持续的时长超过第二预设时长。

通过上述设计,可以提高发现链路故障的可靠性。

在一种可能的设计中,所述处理模块,在确定所述第一接收模块未接收到所述第二网络节点发送的检测响应报文时,具体用于:

确定所述第一接收模块在第三预设时长内未收到所述第二网络节点发送的所述检测响应报文;或者,

确定所述第一接收模块在所述第三预设时长内未收到所述第二网络节点发送的所述检测响应报文,且在所述第一发送模块重复N次向所述第二网络节点发送所述检测请求报文后,所述第一接收模块均未收到所述第二网络节点发送的检测响应报文,N为大于1的整数。

上述设计,提供了两种简单有效的确定所述第一接收模块未接收到所述第二网络节点发送的检测响应报文的方式。

在一种可能的设计中,所述检测请求报文为NHRP报文,所述NHRP报文包括第一字段,所述第一字段用于指示所述NHRP报文为用于检测所述第一网络节点与所述第二网络节点之间是否处于连接状态的报文。上述设计,通过多点GRE隧道组网中本身存在的协议报文,即NHRP协议报文,无需组网中各个节点配置其它检测报文,比如BFD,从而节省了节点的资源。

在一种可能的设计中,所述NHRP报文还包括第二字段,所述第二字段用于所述网络节点检测所述检测请求报文是否安全。从而提高了检测请求报文的安全性,提高了链路的安全性。

在一种可能的设计中,所述NHRP报文还包括第三字段,所述第三字段用于标识所述NHRP报文的序列号,所述序列号用于指示所述NHRP报文是否为重放报文。从而在一定程度上防止网络节点被攻击。

在一种可能的设计中,所述检测请求报文为失效对端检测DPD报文。在多点GRE隧道组网中应用IP安全联盟技术,从而采用IP安全联盟技术自身的DPD报文,无需组网中各个节点配置其它检测报文,比如BFD,从而节省了节点的资源。

在一种可能的设计中,所述处理模块,还用于在确定所述第一接收模块未接收到所述第二网络节点发送的检测响应报文时,删除IP安全联盟信息,IP安全联盟信息用于所述第一网络节点与所述第二网络节点之间传输的数据流量的加密。上述设计,在所述第一网络节点与所述第二网络节点之间传输链路出现故障时,及时删除IP安全联盟信息,能够节省节点的存储资源。

在一种可能的设计中,所述第一网络节点和所述第二网络节点均为分支节点,所述处理模块,还用于在确定所述第一接收模块未接收到所述第二网络节点发送的检测响应报文时,恢复所述第一网络节点与中心节点之间的聚合路由功能,所述聚合路由功能用于所述处理模块将所述第一网络节点与所述第二网络节点之间传输的数据流量通过所述中心节点转发。通过上述设计,当两个分支节点之间出现链路故障后,可以恢复由中心节点转发,使得分支节点之间的数据流量传输得以恢复。

在一种可能的设计中,所述处理模块,还用于在确定所述第一接收模块未接收到所述第二网络节点发送的检测响应报文时,发出告警信号,所述告警信号用于指示所述第一网络节点与所述第二网络节点之间的传输链路出现故障。通过上述设计,在第一网络节点与第二网络节点之间的传输链路出现故障时,可以提醒用户,从而用户能够及时的修复链路故障。

第三方面,本申请实施例提供了一种通信连接检测网络节点,包括通信接口、存储器以及处理器;

所述通信接口,用于收发数据;

所述存储器,用于存储所述处理器执行的程序;

所述处理器,用于执行所述存储器存储的程序,通过所述通信接口收发数据来实现上述第一方面的任意一种设计所述的方法。

第四方面,本申请实施例提供了一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述第一方面的任意一种设计所述的方法。

第五方面,本申请实施例提供了一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述第一方面的任意一种设计所述的方法。

附图说明

图1为本申请实施例提供的多点GRE隧道组网架构图;

图2为本申请实施例提供的通信连接检测方法流程图;

图3A为本申请实施例提供的一种通信连接检测方法流程示意图;

图3B为本申请实施例提供的另一种通信连接检测方法流程示意图;

图4为本申请实施例提供的NHRP表示意图;

图5为本申请实施例提供的NHRP报文示意图;

图6为本申请实施例提供的通信连接检测装置结构示意图;

图7为本申请实施例提供的一种第一网络节点结构示意图;

图8为本申请实施例提供的另一种第一网络节点结构示意图。

具体实施方式

本申请实施例提出一种通信连接检测方法及装置,在第一网络节点与第二网络节点之间建立的隧道故障时,删除NHRP表,从而在两个节点间发生链路故障时,能够保证数据流量不再被发送,不再占用传输资源。进一步还能够触发所述第一网络节点与所述第二网络节点之间传输的数据流量通过中心节点转发,进而恢复第一网络节点与第二网络节点之间的数据流量的传输。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。

本申请实施例提出的通信连接检测方法及装置,可以但不仅限于应用多点GRE隧道组网中,其它能够通过应用NHRP协议的组网方式均适用于本申请。本申请实施例中以应用于多点GRE隧道组网为例进行说明,多点GRE隧道组网中包括一个中心节点以及多个分支节点。参见图1所示,以多点GRE隧道组网中包括一个中心节点,图1中以hub节点为例,还包括两个分支节点,图1中以spoke1和spoke2为例。hub节点与两个spoke节点之间分别建立有hub-spoke隧道,spoke1与spoke2之间基于NHRP协议建立有spoke-spoke隧道。spoke1与spoke2之间的数据流量可以通过所述spoke-spoke隧道传输。

本申请实施例中涉及到的网络节点可以为中心节点,也可以为分支节点。本申请实施例中涉及到的多个,是指两个或两个以上。

另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。

参见图2所示,为本申请实施例提供的通信连接检测方法流程示意图。该方法包括:

S201,第一网络节点向第二网络节点发送检测请求报文,所述检测请求报文用于检测所述第一网络节点与所述第二网络节点之间是否处于连接状态。其中,第一网络节点向第二网络节点发送检测请求报文后,所述第二网络节点在接收到所述第一网络节点发送的检测请求报文时,会向第一网络节点发送检测响应报文。其中,所述检测响应报文为响应于所述检测请求报文的响应报文。

S202,所述第一网络节点在确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文时,所述第一网络节点删除所述第一网络节点与所述第二网络节点间的NHRP表,所述NHRP表用于所述第一网络节点与所述第二网络节点间数据流量的转发。

现有在两个节点间发生链路故障时,第一网络节点与第二网络节点间的NHRP表并不会自动消失,直到NHRP表老化,而在NHRP表老化之前,第一网络节点依然会基于NHRP表发送第一网络节点与第二网络节点之间的数据流量,从而会占用第一网络节点的传输资源,通过本申请实施例提供的方式,第一网络节点作为检测发起设备,在确定第二网络节点未收到检测请求报文后,则删除所述第一网络节点与所述第二网络节点间用于转发数据流量所采用的NHRP表,从而在两个节点间发生链路故障时,能够保证数据流量不再被发送,不再占用第一网络节点的传输资源。

本申请实施例在第一网络节点以及第二网络节点均为分支节点时,第一网络节点与第二网络节点间的NHRP表用于所述第一网络节点通过所述第一网络节点与所述第二网络节点之间建立的隧道向所述第二网络节点转发数据流量。基于此,在第一网络节点删除第一网络节点与第二网络节点间的NHRP表,即第一网络节点在确定需要发送给第二网络节点的数据流量时,不再查询第一网络节点与第二网络节点间的NHRP表,从而第一网络节点与第二网络节点之间的传输的数据流量需要绕行中心节点,进而保证在第一网络节点与第二网络节点之间建立的隧道故障时,恢复第一网络节点与第二网络节点之间数据流量的传输。

本申请实施例中,在所述第一网络节点和所述第二网络节点均为分支节点的情况下,所述第一网络节点在确定第一网络节点未接收到所述第二网络节点发送的检测响应报文时,删除所述第一网络节点与所述第二网络节点间用于转发数据流量所采用的NHRP表后,第一种方式是删除NHRP表,即默认的恢复了聚合路由功能,所述聚合路由功能用于将所述第一网络节点与所述第二网络节点之间传输的数据流量通过所述中心节点转发。第二种方式是删除NHRP,并不是默认恢复了聚合路由功能。在第二种方式下,所述第一网络节点在删除所述第一网络节点与所述第二网络节点间用于转发数据流量所采用的NHRP表后,恢复所述第一网络节点与中心节点之间的聚合路由功能,这样当两个分支节点之间出现链路故障后,可以恢复由中心节点转发,使得分支节点之间的数据流量传输得以恢复。

本申请实施例中,所述第一网络节点确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文,可以通过如下方式实现:

第一种实现方式:

所述第一网络节点确定在第三预设时长内未收到所述第二网络节点发送的检测响应报文。具体的,第一网络节点向第二网络节点发送检测请求报文后的第三预设时长内未收到所述第二网络节点发送的检测响应报文时,则删除所述第一网络节点与所述第二网络节点间的NHRP表。

第二种实现方式:

所述第一网络节点确定在第三预设时长内未收到所述第二网络节点发送的检测响应报文,且重复N次向所述第二网络节点发送所述检测请求报文后,均未收到所述第二网络节点发送的检测响应报文。具体的,所述第一网络节点向所述第二网络节点发送检测请求报文后,若在第三预设时长内未收到所述第二网络节点发送的检测响应报文,再次发送,反复N次后,未收到所述第二网络节点发送的检测响应报文,则所述第一网络节点删除所述第一网络节点与所述第二网络节点间的NHRP表。

具体的,参见图3A或图3B所示。S201,第一网络节点向第二网络节点发送检测请求报文后,还可以包括S301或者S303。

S301,所述第二网络节点接收到所述检测请求报文,则向所述第一网络节点发送检测响应报文。

S302,所述第一网络节点在第三预设时长内接收到所述第二网络节点发送的检测响应报文,确定所述第一网络节点与所述第二网络节点之间链路正常。

S303,所述第一网络节点在第三预设时长内未收到所述第二网络节点发送的检测响应报文。

S304,所述第一网络节点确定未达到最大重传次数N,再次向所述第二网络节点发送检测请求报文。

S305,所述第一网络节点在第三预设时长内未收到所述第二网络节点发送的检测响应报文。

S306,所述第一网络节点确定达到最大重传次数N。

S307,所述第一网络节点删除所述第一网络节点与所述第二网络节点间的NHRP表。

其中,所述第一网络节点可以为hub节点或者spoke节点。在第一网络节点为hub节点时,第二网络节点为spoke节点;在第一网络节点为spoke节点时,则第二网络节点可以为hub节点,也可以为hub节点。

例如,如图4所示,在多点GRE隧道组网建立时,两个spoke以及hub通过NHRP协议学习到NHRP表以及路由表。

其中,hub所在子网的IP地址为192.168.1.0/24,hub的公网IP地址(GE1/0/0)为202.1.1.10/24,hub的隧道接口地址(tunnel0/0/0)为172.10.1.1/24。spoke1所在的子网的IP地址为192.168.2.0/24,spoke1的公网IP地址为202.1.2.10/24,spoke1的隧道接口地址为172.10.1.2/24;spoke2所在的子网的IP地址为192.168.3.0/24,spoke2的公网IP地址为202.1.3.10/24,spoke2的隧道接口地址为172.10.1.3/24。

其中,各个节点的公网IP地址可以看成是非广播-多路访问网络(Non-BroadcastMultiple Access,NBMA)地址,隧道接口地址与其他物理接口上的IP地址一样,用于节点之间的通信(例如获取路由信息等)。节点在子网的IP地址为在局域网中的IP地址。

其中,路由表用于表征不同的节点的公网IP地址与隧道接口地址之间的对应关系。NHRP表用于表征数据流量的目的IP地址对应的下一跳的IP地址,图4方框中所示。数据流量的目的IP地址为目标节点所在的子网的IP地址,对应的下一跳的IP地址为源节点与目标节点之间建立的隧道的在源节点上的隧道接口地址。比如spoke1发往spoke2的数据流量,数据流量的目的IP地址为192.168.3.0,则对应的下一跳的IP地址为172.10.1.2。现有中,如果spoke1与spoke2之间发生链路故障,spoke1与spoke2之间的NHRP表并不会自动消失,直到NHRP表老化,而在NHRP表老化之前,spoke1发往spoke2的流量经过查询NHRP表后还是会被发送,从而占用spoke1的传输资源。

因此,通过本申请实施例提供的方案,第一网络节点作为检测发起设备,在确定未收到第二网络节点发送的检测响应报文后,则删除所述第一网络节点与所述第二网络节点间用于转发数据流量所采用的NHRP表,从而在两个节点间发生链路故障时,能够保证数据流量不再被发送,不再占用传输资源。

现有技术中,spoke节点与hub节点之间保活通过双向转发检测(bidirectionalforwarding detection,BFD)报文。BFD是一种常规链路检测手段,可以将BFD报文应用于spoke节点间的链路检测。BFD检测首先需要全网所有的spoke节点均要支持且配置BFD协议,但是在BFD协议的异步模式下,BFD报文一直处于周期发送状态,从而会对全网spoke节点造成压力,浪费资源。

一种可能的实现方式中,所述第一网络节点在未接收到所述第二网络节点发送的数据流量时,向第二网络节点发送检测请求报文。由于,第一网络节点在能够接收到第二网络节点传输数据流量时,可以确定第一网络节点与第二网络节点之间的链路正常,因此,第一网络节点在接收不到第二网络节点发送的数据流量时,即数据流量接收停止时,第一网络节点就可以向第二网络节点发送检测请求报文。其中,第一网络节点可以按预设时间间隔重复发送检测请求报文,直到接收到第二网络节点发送的检测响应报文或者达到预设的重传次数(比如N次)停止发送。从而可以提前确定两个节点之间流量停止是否是因为链路故障,可以提高发现链路的故障的可靠性,并且相比现有技术能够节省资源。

另一种可能的实现方式中,所述第一网络节点在第一预设时长内未接收到所述第二网络节点发送的数据流量时,向第二网络节点发送检测请求报文。由于第一网络节点未接收到第二网络节点发送的数据流量可能是第二网络节点向第一网络节点发送的数据流量传输完成了,因此,第一网络节点可以在未接收到第二网络节点发送的数据流量持续的时长达到第一预设时长时,即数据流量接收停止的时长达到第一预设时长时,第一网络节点向第二网络节点发送检测请求报文。其中,第一网络节点可以按预设时间间隔重复发送检测请求报文,直到接收到第二网络节点发送的检测响应报文或者达到预设的重传次数(比如N次)停止发送。从而可以提前确定两个节点之间流量停止是否是因为链路故障,可以提高发现链路的故障的可靠性。

又一种可能的实现方式中,所述第一网络节点未接收到所述第二网络节点发送的数据流量且所述第一网络节点停止向所述第二网络节点发送数据流量时,向第二网络节点发送检测请求报文。在第一网络节点未接收到第二网络节点发送的数据流量时,如果第一网络节点在向所述第二网络节点发送数据流量,第一网络节点不会触发发送检测请求报文,而在第一网络节点停止向第二网络节点发送数据流量时,才向所述第二网络节点发送检测请求报文,即所述第一网络节点未向第二网络节点发送数据流量且未接收到第二网络节点发送的数据流量时,所述第一网络节点才向第二网络节点发送数据流量。相比前两种可能的实现方式,比较节省处理资源。

又一种可能的实现方式中,所述第一网络节点未接收到所述第二网络节点发送的数据流量且所述第一网络节点停止向所述第二网络节点发送数据流量持续的时长超过第二预设时长时,向第二网络节点发送检测请求报文。

本申请实施例中,检测请求报文可以为NHRP报文。具体的,本申请实施例中可以在NHRP标准报文的基础上,定义新的报文类型用于检测所述第一网络节点与所述第二网络节点之间是否处于连接状态。

本申请实施例定义的NHRP报文可以包括第一字段,所述第一字段用于指示所述NHRP报文为用于检测所述第一网络节点与所述第二网络节点之间是否处于连接状态的报文。参见图5所示type=10的字段,扩展类型type=10时,表明该报文为检测所述第一网络节点与所述第二网络节点之间是否处于连接状态的报文。

本申请实施例定义的NHRP报文还可以包括第二字段,所述第二字段用于第二网络节点检测所述检测请求报文是否安全。该第二字段可以为NHRP报文中的认证字段,第一网络节点通过获取配置的密码,通过配置的密码生成认证字段的内容,从而第二网络节点在接收到该NHRP报文时,根据配置的密码确定该NHRP报文是否安全。所述认证字段可以位于NHRP报文中报文头以及数据字段之间。

本申请实施例定义的NHRP报文还可以包括第三字段,所述第三字段用于标识所述NHRP报文的序列号,所述序列号用于指示所述NHRP报文是否为重放报文。其中,序列号可以为从1开始单增的序列号,不允许重复,唯一的标识每一个发送的数据流量包。第二网络节点根据序列号结合防重放窗口以及报文验证防御重放报文的攻击。比如,如果报文的序列号落在防重放窗口内,若否,则认为是正常报文,若落在防重放窗口内,且报文的序列号落在防重放窗口右侧,则验证为正常报文,则将防重放窗口右边界滑动到该序列号处,若报文的序列号落在防重放窗口左侧,则确定是重放报文。

参见图5所示为本申请实施例定义的NHRP报文,Sequence number字段为第三字段。认证字段可以位于图5所示的Sequence number字段之后。

其中,图5中,SNAP表示该NHRP报文可以采用子网访问协议(subnetwork accessprotocol,SNAP)编码传输的数据流量。protocol_type表示以外网层采用的协议类型。hop_count表示条数,用于指示允许NHRP数据流量包跨越的最大数值。packet_size表示NHRP数据流量包的大小。checksum表示校验和,用于针对NHRP报文头进行纠错。源NBMA地址也就是源节点的公网地址。源NBMA子网地址也就是源节点的所在的子网地址。源协议地址也就是源节点的隧道接口地址。目的协议地址也就是下一跳地址,也就是要探测的目的节点的隧道接口地址。C用于指定NHRP报文的功能。U为未使用位。

本申请实施例中的多点GRE隧道组网还可以应用IPsec SA(安全联盟)技术。在多点GRE隧道组网应用IPsec SA(安全联盟)技术的情况下,检测请求报文可以是上述的NHRP报文,还可以采用IPsec SA(安全联盟)技术本身的失效对端检测(dead peer detection,DPD)报文。

本申请实施例中的多点GRE隧道组网应用IPsec SA(安全联盟)技术的情况下,在步骤S202中所述第一网络节点在确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文时,所述第一网络节点还可以删除IP安全联盟信息,以及联动删除所述第一网络节点与所述第二网络节点间用于转发数据流量所采用的NHRP表。其中,该IP安全联盟信息用于对所述第一网络节点与所述第二网络节点之间传输的数据流量进行加密。在所述第一网络节点与所述第二网络节点之间传输链路出现故障时,及时的删除IP安全联盟信息,能够节省网络节点的存储资源,另外,能够防止网络节点依据IP安全联盟信息针对数量流量进行加密,从而降低网络节点的处理资源。

可选地,在所述第一网络节点和所述第二网络节点均为分支节点的情况下,所述第一网络节点在确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文时,删除IP安全联盟信息以及所述第一网络节点与所述第二网络节点间用于转发数据流量所采用的NHRP表后,一种方式是,删除IP安全联盟信息以及删除NHRP表,即默认的恢复了聚合路由功能,另一种方式是,删除IP安全联盟信息以及删除NHRP表,并不是默认恢复了聚合路由功能,在该方式下,所述第一网络节点在删除IP安全联盟信息以及NHRP表后,恢复所述第一网络节点与中心节点之间的聚合路由功能,从而所述第一网络节点与所述第二网络节点之间的数据流量传输可以通过所述中心节点转发。两个分支节点之间链路故障后,可以恢复由中心节点转发,分支节点之间数据流量传输得以恢复。

可选地,本申请实施例中所述第一网络节点在确定所述第一网络节点未接收到所述第二网络节点发送的检测响应报文时,即确定第一网络节点与所述第二网络节点之间传输链路故障,从而所述第一网络节点可以向用户发出告警信号,所述告警信号用于指示所述第一网络节点与所述第二网络节点之间的传输链路出现故障。

另外,告警信号可以是能够被用户听见的警告声(例如,一种蜂鸣声,警报器,等),还可以是能够被用户看见的警告(例如,照明光,闪灯,图像在显示器上,提示文字在显示器上等),或者可以是能够被用户触觉到的警报(例如,振动),本申请对此不作具体限定。

本申请实施例中,第一网络节点若接收到第二网络节点发送的检测请求报文,则向所述第二网络节点发送检测响应报文,以便于所述第二网络节点确定第一网络节点与第二网络节点之间链路正常。

基于与上述方法实施例同样的发明构思,本申请实施例提供了一种通信连接检测装置,所述装置可以应用于多点通用路由封装协议GRE隧道组网中的第一网络节点,该装置具体用于实现图2至图5所示的实施例中第一网络节点执行的方法。参见图6所示,该装置可以包括:

第一发送模块61,用于向第二网络节点发送检测请求报文,所述检测请求报文用于检测所述第一网络节点与所述第二网络节点之间是否处于连接状态。

第一接收模块65,用于接收所述第二网络节点发送的检测响应报文;

处理模块62,用于在确定所述第一接收模块65未接收到所述第二网络节点发送的检测响应报文时,所述第一网络节点删除所述第一网络节点与所述第二网络节点间的NHRP表,以使得所述第一网络节点与所述第二网络节点之间传输的数据流量通过中心节点转发;所述NHRP表用于所述第一网络节点通过所述第一网络节点与所述第二网络节点之间建立的隧道向所述第二网络节点发送数据流量。

可选地,所述装置还可以包括:

第二接收模块63,用于接收所述第二网络节点发送的数据流量;

第二发送模块64,用于向所述第二网络节点发送数据流量;

所述第一发送模块61,具体用于在确定未接收到所述第二网络节点发送的数据流量时,向所述第二网络节点发送检测请求报文:或者,确定在第一预设时长内未接收到所述第二网络节点发送的数据流量时,向所述第二网络节点发送检测请求报文;或者,确定未接收到所述第二网络节点发送的数据流量且所述第二发送模块64未向所述第二网络节点发送数据流量时,向所述第二网络节点发送检测请求报文;或者,确定未接收到所述第二网络节点发送的数据流量且所述第二发送模块64未向所述第二网络节点发送数据流量持续的时长超过第二预设时长时,向所述第二网络节点发送检测请求报文。

可选地,所述装置还可以包括:

所述处理模块62,在确定所述第一接收模块65未接收到所述第二网络节点发送的检测响应报文时,具体用于:

确定所述第一接收模块65在第三预设时长内未收到所述第二网络节点发送的检测响应报文;或者,

确定所述第一接收模块65在所述第三预设时长内未收到所述第二网络节点发送的检测响应报文,且在所述第一发送模块61重复N次向所述第二网络节点发送所述检测请求报文后,所述第一接收模块65均未收到所述第二网络节点发送的检测响应报文,N为大于1的整数。

可选地,所述检测请求报文为NHRP报文,所述NHRP报文包括第一字段,所述第一字段用于指示所述NHRP报文为用于检测所述第一网络节点与所述第二网络节点之间是否处于连接状态的报文。

可选地,所述NHRP报文还包括第二字段,所述第二字段用于第二网络节点检测所述检测请求报文是否安全。

可选地,所述NHRP报文还包括第三字段,所述第三字段用于标识所述NHRP报文的序列号,所述序列号用于指示所述NHRP报文是否为重放报文。

可选地,所述检测请求报文为DPD报文。

可选地,所述处理模块62,还用于在确定所述第一接收模块65未接收到所述第二网络节点发送的检测响应报文时,删除IP安全联盟信息,IP安全联盟信息用于所述第一网络节点与所述第二网络节点之间传输的数据流量的加密。

可选地,所述第一网络节点和所述第二网络节点均为分支节点,所述处理模块62,还用于在确定所述第一接收模块65未接收到所述第二网络节点发送的检测响应报文时,恢复所述第一网络节点与中心节点之间的聚合路由功能,所述聚合路由功能用于所述处理模块62将所述第一网络节点与所述第二网络节点之间传输的数据流量通过所述中心节点转发。

可选地,所述处理模块62,还用于在确定所述第一接收模块65未接收到所述第二网络节点发送的检测响应报文时,发出告警信号,所述告警信号用于指示所述第一网络节点与所述第二网络节点之间的传输链路出现故障。

本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个或者多个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。因此,本申请上述任一实施例所述的方法可以由第一网络节点中一个或者多个处理器实现。这里所述的第一网络节点可以是分支节点,也可以是中心节点。本申请实施例中第一网络节点与第二网络节点的结构相同,第二网络节点的结构参见第一网络节点,不再赘述。

其中,第一网络节点采用硬件实现时,可以通过图7所示的结构实现,也可以通过图8所示的结构实现。

参见图7所示,为本申请实施例提供的一种第一网络节点的结构示意图,第一网络节点可以包括主控板510、交换网板520、接口板530以及接口板540。其中主控板510中包括中央处理器511,接口板530中包括存储器534、网络处理器532以及物理接口卡533;接口板540中包括存储器544、网络处理器542以及物理接口卡543。

所述交换网板520主要用于在所述接口板530以及接口板540之间转发数据流量包。

其中,接口板530作为接收板,接口板540中作为发送板。

网络处理器532根据运营管理器(operation manager,OM)配置的检测间隔(第一预设时长),检查在配置的时间间隔内没有接收到第二网络节点发来的数据流量,认为流量异常,向中央处理器511发送检测请求消息。

中央处理器511收到检测请求消息后,构造检测请求报文。根据检测请求报文的目的地址查询本地路由表,找到出接口所在接口板530,然后将检测请求报文下发给网络处理器532。

网络处理器532根据出接口等信息,在完成链路层封装后,将检测请求报文从物理接口卡533发送出去,即向第二网络节点发送。

物理接口卡543从网络上接收到第二网络节点发送的检测响应报文后,发送给网络处理器542。

物理接口卡543:从网络上接收到检测响应报文,在完成相关校验后,提交给网络处理器542处理。

网络处理器542使用检测响应报文的目的地址查询存储器544存储的NHRP表,确定为本机报文,发送给中央处理器511处理。

中央处理器511根据接收到的检测响应报文中携带的检测地址、序列号等信息匹配检测请求报文,如果匹配成功,则认为链路状态正常。如果中央处理器511在第三预设时长内未收到第二网络节点发送的检测响应报文,会进行检测请求报文的有限次重传。在重传N次后没有收到第二网络节点发送的检测响应报文后,则确定第一网络节点与第二网络节点之间链路故障,可以将链路置DOWN,将存储器544以及存储器533中存储的用于转发第一网络节点与第二网络节点之间数据流量的NHRP表删除。

可选地,物理接口卡543从网络上接收到第二网络节点发来的检测请求报文,并提交给网络处理器542处理。

网络处理器542使用检测请求报文的目的地址查询本地路由,确定是本机报文,上送中央处理器511处理。

中央处理器511:根据接收到的检测请求报文的报文特征信息进行校验后,确定该检测请求报文是用于检测所述第一网络节点与所述第二网络节点之间是否处于连接状态的报文,构造检测响应报文。根据检测响应报文的目的地址查询存储器534中存储的NHRP表,找到出接口所在接口板530,然后将检测响应报文下发给网络处理器532。

网络处理器532根据出接口等信息,在完成链路层封装后,将检测响应报文从物理接口卡533发送出去,即向第二网络节点发送。

参见图8所示,为本申请实施例提供的另一种第一网络节点的结构示意图。第一网络节点包括通信接口610、处理器620以及存储器630。处理器620通过收发器610收发数据流量以及检测请求报文、检测响应报文,并用于实现图2至图4中所述的第一网络节点所执行的方法。在实现过程中,处理流程的各步骤可以通过处理器620中的硬件的集成逻辑电路或者软件形式的指令完成。处理器620包括通用处理器、网络处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等中的一个或者多个,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件单元组合执行完成。处理器620用于实现上述方法所执行的程序代码可以存储在存储器630中。存储器630可以是非易失性存储器,比如硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)等,还可以是易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-access memory,缩写:RAM)。存储器630是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

本申请实施例中不限定上述收发器610、处理器620以及存储器630之间的具体连接介质。本申请实施例在图8中以存储器630、处理器620以及收发器610之间通过总线640连接,总线在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述实施例提供的方法。所述计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

基于以上实施例,本申请实施例还提供一种芯片系统,该芯片系统包括处理器,用于支持分布式单元、集中式单元以及基站以实现上述实施例中所涉及的功能,例如,例如生成或处理上述方法中所涉及的数据和/或信息。可选地,所述芯片系统还包括存储器,所述存储器,用于保存分布式单元、集中式单元以及网络节点必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 一种通信连接检测方法及装置
  • 一种基于视联网的通信连接检测方法及装置
技术分类

06120113063377