通信链路检测方法、通信装置、存储介质与流程

文档序号:25032835发布日期:2021-05-11 17:03阅读:77来源:国知局
通信链路检测方法、通信装置、存储介质与流程

本公开涉及通信网络领域,具体地,涉及一种第一通信链路检测方法、一种第二通信链路检测方法、一种通信装置和一种计算机可读存储介质。



背景技术:

对于通信系统而言,快速感知通信链路质量可加快发现通信故障的速度,并有利于帮助通信系统快速恢复通信。随着现代通信技术的发展,快速检测通信链路的质量已经成为通信系统中网络设备的重要性能指标之一。

因此,如何有效地检测两个网络之间的通信链路是否异常成为本领域亟待解决的技术问题。



技术实现要素:

本公开的目的在于提供一种通信链路检测方法,该通信链路检测方法能够有效检测通信链路是否出现拥塞问题。

作为本公开的一个方面,提供一种第一通信链路检测方法,包括:

在预定时间段内依次向对端发送多个控制报文,所述控制报文携带有表示发送该控制报文的次序的信息。

可选地,表示发送该控制报文的次序的信息为发送所述控制报文的序号,所述控制报文的格式为ipv4报文,所述控制报文的标识identifier字段携带有发送该控制报文的序号。

可选地,在第一个被发送的控制报文中,identifier字段数值为0;

在先后发送的两个控制报文中,后发送的控制报文的identifier字段数值比先发送的控制报文的identifier字段大1。

可选地,所述控制报文的旗标flag字段携带的最后一位信息为0。

可选地,所述控制报文为双向转发检测bfd控制报文。

作为本公开的第二个方面,提供一种第二通信链路检测方法,包括:

接收通过本公开所提供的上述第一通信链路检测方法所发送的多个控制报文;

对接收到的控制报文的报头中表示发送该控制报文的次序的信息进行解析,根据多个控制报文中表示发送该控制报文的次序的信息判断通信链路是否故障。

可选地,所述方法还包括:

根据多个控制报文中表示发送该控制报文的次序的信息判断是否接收到发送端发送的所有控制报文;

当未接收到发送端发送的所有控制报文时,判定所述通信链路中发生丢包。

可选地,表示发送该控制报文的次序的信息为发送所述控制报文的序号,所述控制报文的格式为ipv4报文,所述控制报文的标识identifier字段携带有发送该控制报文的序号,

判断是否接收到所有控制报文的步骤包括:

判断接收到的控制报文的序号是否连续;

至少在接收到的控制报文的序号不连续时,判定未接收到所有控制报文。

可选地,当接收到所有控制报文时,所述第二通信链路检测方法还包括:

比较序号相邻的两个控制报文的接收时间之间的时间间隔;

根据所述时间间隔的长度确定所述第二通信链路的拥塞程度。

作为本公开的第三个方面,提供一种通信装置,包括:

存储模块,所述存储模块上存储有第一应用程序和/或第二应用程序;

一个或多个第一处理器,当所述第一应用程序被所述一个或多个第一处理器执行时,所述一个或多个第一处理器实现所述第一通信链路检测方法,当所述第二应用程序被所述一个或多个第一处理器执行时,所述一个或多个第一处理器实现所述第二通信链路检测方法。

作为本公开的第四个方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有第一可执行程序和/或第二可执行程序,

当所述第一可执行程序被执行时能够实现所述第一通信链路检测方法;

当所述第二可执行程序被执行时能够实现所述第二通信链路检测方法。

在本公开提供的第一通信链路检测方法、第二通信链路检测方法、通信装置以及包括本公开提供的计算机可读存储介质的设备或系统中,发送端发送给对端(即,接收端)的每个控制报文都携带有表示发送该控制报文的次序的信息;接收端在接收到多个所述控制报文后,能够对这些控制报文中表示发送该控制报文的次序的信息进行解析,进而在控制报文的序号出现错误(例如,个别控制报文丢失)或者个别控制报文的接收时间滞后时判定通信链路出现了拥塞问题。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是相关技术中网络设备检测通信链路的方案的示意图;

图2是相关技术中发送端向接收端发送控制报文时的一种故障情况的示意图;

图3是相关技术中发送端向接收端发送控制报文时的另一种故障情况的示意图;

图4是本公开实施例提供的第一通信链路检测方法的一种流程示意图;

图5是本公开实施例控制报文的一种信息组成的示意图;

图6是本公开实施例中发送端向接收端发送控制报文时的一种故障情况的示意图;

图7是本公开实施例中发送端向接收端发送控制报文时的另一种故障情况的示意图;

图8是本公开实施例提供的第二通信链路检测方法的一种流程示意图;

图9是本公开实施例提供的第二通信链路检测方法的另一种流程示意图;

图10是本公开实施例提供的第二通信链路检测方法的另一种流程示意图;

图11是本公开实施例提供的第二通信链路检测方法的另一种流程示意图;

图12是本公开实施例提供的通信装置的结构示意图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

相关技术中,双向转发检测(bfd,bidirectionalforwardingdetection)协议,是一种能够检测两个网络系统之间通信是否异常的协议。

bfd协议类似于多数路由协议中的hello机制,如图1所示,两个网络设备周期性地向对端发送bfd控制报文的数据包,若一端在限定时间(即图中timeout线)内没有接收到bfd控制报文,则判定两个网络设备之间的通信链路出现了通信故障。但是,bfd协议自身具有容差机制,不能精准地判断通信链路是否出现故障。

具体地,报文发送系统的发送效率、报文接收系统的处理效率、链路的拥塞程度、链路的传输延迟、链路的丢包率都存在不确定性,导致bfd控制报文到达报文接收系统的最终环节的时间都存在不确定性。例如,通信链路拥塞程度不定时,报文接收系统接收到报文发送系统发送过来的bfd控制报文的时间间隔不一致(如图2所示)。再例如,当通信链路上存在一定丢包率时,报文接收系统不能接收到报文发送系统发送的所有bfd控制报文(如图3所示)。

鉴于上述两种情况,bfd协议本身只关注在固定周期内能否接收到bfd控制报文,不关注固定周期内接收到的bfd控制报文的时间间隔变化、以及通信链路上是否存在丢包率,从而不能精准地判断通信链路是否出现故障。

有鉴于此,作为本公开的一个方面,提供一种第一通信链路检测方法,如图4所示,所述方法包括:

s01、在预定时间段内依次向对端发送多个控制报文,所述控制报文携带有表示发送该控制报文的次序的信息。

本公开所提供的第一通信链路检测方法用于发送端。需要指出的是,在通信系统中,每一个通信设备(或网络系统)都可以用作发送端,也可以用作接收端。

在本公开提供的第一通信链路检测方法中,发送端发送给对端(即,接收端)的每个控制报文都携带有表示发送该控制报文的次序的信息,以使得接收端在接收到多个控制报文后,能够对这些控制报文进行解析并获得接收到的各个控制报文的发送次序信息,进而在控制报文序号出现错误(例如,个别控制报文丢失)或者个别控制报文的接收时间滞后时判定发送端和接收端之间的通信链路出现了拥塞问题。

本公开对所述控制报文如何携带被发送的次序信息不作具体限定,例如,可选地,表示发送该控制报文的次序的信息为发送所述控制报文的序号,所述控制报文的格式为ipv4报文,所述控制报文的标识identifier字段携带有发送该控制报文的序号。

如图5所示为本公开中所述控制报文的一种信息组成的示意图,所述控制报文中的信息可以包括版本(version)、首部长度(ihl,internetheaderlength)、服务类型(typeofservice)、总长度(totallength)、标识(identification)、旗标(flag)、片偏移(fragmentoffset)、生成时间(timetolive)、协议(protocol)、首部校验和(headerchecksum)、源地址(sourceaddress)、目的地址(destinationaddress)、选项(option)、填充字段(padding)。

其中,标识(identification)即为控制报文的标识identifier字段,本公开中利用标识(identification)的数字变化表示发送控制报文的先后次序,以便于接收端在接收到多个控制报文后,根据控制报文的标识identifier字段大小识别多个控制报文的发送次序,并进行相应的分析。

本公开对控制报文的标识identifier字段如何表示控制报文被发送的次序不作具体限定,例如,可选地,在第一个被发送的控制报文中,identifier字段数值为0,在先后发送的两个控制报文中,后发送的控制报文的identifier字段数值比先发送的控制报文的identifier字段大1。

在本公开中,identifier字段的长度默认为16比特(bit),即identifier字段仅能够表示0~65535共65536个数字。因此,在本公开中,按次序发出的多个控制报文的identifier字段以65536个控制报文为一循环发生递增变化,在某一条控制报文的序号(identifier字段)取到65535时,其后一条控制报文的序号(identifier字段)重新置为0,且后面的控制报文的序号继续以0为基准递增。

本公开对所述控制报文中其他字段的内容不作具体限定,例如,可选地,所述控制报文的旗标flag字段携带的最后一位信息为0。

旗标flag字段的长度为3比特(bit),其中第3个比特(bit)用于表示当前控制报文之后是否有更多片位(fragment),当第3个比特(bit)置位1时表示后面还有更多片位,此时接收端将等待接收后续的控制报文,并在接收到后续控制报文后将当前控制报文片位与后续控制报文片位重组为一个完整的信息以供后续分析。而在本公开中,为了实时检测通信链路,每一控制报文均为一条独立信息,因此,将所述控制报文的旗标flag字段的最后一位的信息置为0,以便于接收端将每一条控制报文作为一条独立的信息进行分析处理。

如图6、图7所示为本公开中链路出现拥塞问题时,接收端接收带有被发送的次序信息(如,序号1、2、3)的控制报文数据包的两种情况的示意图。其中,图6所示为个别控制报文数据包因网络延迟滞后到达接收端的情况;图7所示为个别控制报文数据包丢包而未到达接收端的情况。

本公开对所述控制报文的种类不作具体限定,例如,可选地,所述控制报文为双向转发检测bfd控制报文。

作为本公开的第二个方面,提供一种第二通信链路检测方法,如图8所示,所述方法包括:

s10、接收通过本公开所提供的上述第一通信链路检测方法所发送的多个控制报文;

s20、对接收到的控制报文的报头中表示发送该控制报文的次序的信息进行解析,根据多个控制报文中表示发送该控制报文的次序的信息判断所述第二通信链路是否故障。

本公开所提供的第二通信链路检测方法用于通信系统中的接收端。在本公开提供的第二通信链路检测方法中,接收端接收发送端发出的多个控制报文,每个所述控制报文均携带有表示发送该控制报文的次序的信息。接收端在接收到多个控制报文后,对这些控制报文中表示发送该控制报文的次序的信息进行解析,进而在控制报文的序号出现错误(例如,个别控制报文丢失)或者个别控制报文的接收时间滞后时判定发送端和接收端之间的通信链路出现了故障。

在本公开中,所谓的“故障”至少包括两种情况,一种是链路拥塞、另一种是链路丢包。

本公开对如何具体判断所述通信链路出现何种故障不作具体限定,例如,可选地,如图9所示,所述方法还包括:

s30、根据多个控制报文中表示发送该控制报文的次序的信息判断是否接收到发送端发送的所有控制报文;

当未接收到发送端发送的所有控制报文时,判定所述通信链路中发生丢包。

在本公开中,每一控制报文均携带有表示发送该控制报文的次序的信息,因此,仅需要按发送次序对控制报文进行分析,即可判断是否接收到发送端发送的所有控制报文,当未接收到发送端发送的所有控制报文时,则可以确定个别控制报文未被接收到,进而可以判定所述第二通信链路中发生了丢包。

bfd会话具有容差机制,在判定所述通信链路中发生丢包之后,接收端还可以进一步检测bfd会话是否发生断链,若bfd会话未发生断链,则给出链路丢包的相关信息,并利用该链路丢包的相关信息提醒相关业务。

本公开对如何判断是否接收到所有控制报文不作具体限定,例如,可选地,所述控制报文的格式为ipv4报文,所述控制报文的标识identifier字段携带表示发送该控制报文的次序的信息。

如图10所示,判断是否接收到所有控制报文的步骤s30包括:

s31、判断接收到的控制报文的序号是否连续;

s32、至少在接收到的控制报文的序号不连续时,判定未接收到发送端发送的所有控制报文。

如图7所示为个别控制报文数据包丢包而未到达接收端的情况,相关技术中,即便个别控制报文(数据包2)未到达接收端,在其后一条控制报文(数据包3)在限定时间内(即图中timeout线内)到达接收端的情况下,该个别控制报文(数据包2)的丢包情况也并不会被检测到。而在本公开中,接收端主动判断接收到的控制报文的序号是否连续,从而判断是否接收到发送端发送的所有控制报文,进而能够精确地检测到是否出现丢包现象。

可选地,如图11所示,当接收到发送端发送的所有控制报文时,所述第二通信链路检测方法还包括:

s41、比较序号相邻的两个控制报文的接收时间之间的时间间隔;

s42、根据所述时间间隔的长度确定所述第二通信链路的拥塞程度。

如图6所示为个别控制报文数据包因网络延迟滞后到达接收端的情况,相关技术中,即便个别控制报文由发出至到达的时间间隔超出正常范围,在其未超出限定时间(即图中timeout线内)的情况下也并不会被检测到。而在本公开中,接收端主动对序号相邻的两个控制报文的接收时间之间的时间间隔进行比较,当存在控制报文之间的时间间隔的长度超出预定时长时,则可以判定通信链路的延迟上升,并根据所述时间间隔的长度确定所述通信链路的拥塞程度。

作为本公开的第三个方面,提供一种通信装置,如图12所示,所述通信装置包括:

存储模块10,所述存储模块10上存储有第一应用程序和/或第二应用程序;

一个或多个第一处理器20,当所述第一应用程序被所述一个或多个第一处理器20执行时,所述一个或多个第一处理器20实现上文中所述的第一通信链路检测方法,当所述第二应用程序被所述一个或多个第一处理器20执行时,所述一个或多个第一处理器20实现上文中所述的第二通信链路检测方法。

当本公开提供的所述通信装置与其他通信装置连接、或者多个本公开提供的所述通信装置相互连接时,作为发送端的所述通信装置发送给对端(即,接收端)的每个控制报文都携带有表示发送该控制报文的次序的信息;作为接收端的所述通信装置在接收到多个所述控制报文后,对这些控制报文中表示发送该控制报文的次序的信息进行解析,进而在控制报文的序号出现错误(例如,个别控制报文丢失)或者个别控制报文的接收时间滞后时判定通信链路出现了拥塞问题。

作为本公开的第四个方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有第一可执行程序和/或第二可执行程序,

当所述第一可执行程序被执行时能够实现上文中所述的第一通信链路检测方法;

当所述第二可执行程序被执行时能够实现上文中所述的第二通信链路检测方法。

其中,计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储介质、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。

本公开提供的所述可读存储介质可用于通信装置或通信系统中,该通信装置(或通信系统)作为发送端时,其发送给对端(即,接收端)的每个控制报文都携带有表示发送该控制报文的次序的信息;该通信装置(或通信系统)作为接收端时,其能够在接收到多个所述控制报文后,对这些控制报文中表示发送该控制报文的次序的信息进行解析,进而在控制报文的序号出现错误(例如,个别控制报文丢失)或者个别控制报文的接收时间滞后时判定通信链路出现了拥塞问题。

可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1