一种通信链路的检测方法及装置与流程

文档序号:12889929阅读:254来源:国知局
一种通信链路的检测方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种通信链路的检测方法及装置。



背景技术:

当网络中连接两个网络设备之间的通信链路出现故障,而两个网络设备并不知悉通信链路已故障,仍然通过该通信链路发送报文时,将导致通信异常。对此,提出了双向转发检测(bidirectionalforwardingdetection,缩写bfd)技术,当主链路出现网络故障时,可以通过bfd技术将数据切换到备份链路进行传输;当主链路故障修复完毕时,可以通过bfd技术将数据回切到主链路进行传输。当bfd技术为双向检测时,通信链路两端的网络设备,第一网络设备和第二网络设备,均需配置bfd,如果第一网络设备和第二网络设备属于不同厂商,需要确认第一网络设备和第二网络设备是否均支持bfd的配置,适用的应用场景有限,操作繁琐。当bfd技术为单跳检测时,仅需第一网络设备和第二网络设备中的任一结点设备配置bfd,但只适用于单跳链路,无法检测多跳组网。



技术实现要素:

本申请提供一种通信链路的检测方法及装置,可快速检测通信链路是否发生故障,提高链路检测的可靠性。

第一方面,提供了一种通信链路的检测方法,所述方法应用于第一网络设备,第一网络设备和第二网络设备之间存在通信链路,包括:

检测第一网络设备当前的端口状态,当第一网络设备当前的端口状态不是去激活状态时,通过该通信链路向第二网络设备发送探测报文,当在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,确定该通信链路正常,并将第一网络设备的端口状态更新为激活状态;当在第一预设时长内未接收到第二网络设备发送的应答报文时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。其中,端口状态可以包括去激活状 态、激活状态或者暂停数据传输状态。探测报文用于检测通信链路是否故障,探测报文包括地址解析协议(addressresolutionprotocol,缩写arp)请求报文、网络控制报文协议(internetcontrolmessageprotocol,缩写icmp)请求报文或者传输控制协议(transmissioncontrolprotocol,缩写tcp)报文。

在该技术方案中,第一网络设备需要检测通信链路是否故障时,可以检测第一网络设备当前的端口状态,当第一网络设备当前的端口状态不是去激活状态时,第一网络设备可以通过通信链路向第二网络设备发送探测报文,如果第一网络设备的端口状态为激活状态,且第一网络设备在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文,则第一网络设备可以确定通信链路正常,即第二网络设备可成功接收第一网络设备通过该通信链路发送的数据,进而保持第一网络设备的端口状态为激活状态;如果第一网络设备的端口状态为暂停数据传输状态,且第一网络设备在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文,则第一网络设备可以确定该通信链路故障修复完毕,已恢复正常,即第二网络设备可成功接收第一网络设备通过该通信链路发送的数据,进而将第一网络设备的端口状态由暂停数据传输状态更新为激活状态。

如果第一网络设备的端口状态为激活状态,且第一网络设备在第一预设时长内未接收到第二网络设备响应探测报文所发送的应答报文,则第一网络设备可以确定通信链路故障,即第一网络设备通过该通信链路发送的数据将被丢弃,第二网络设备无法成功接收该数据,进而第一网络设备可以将第一网络设备的端口状态由激活状态更新为暂停数据传输状态;如果第一网络设备的端口状态为暂停数据传输状态,且第一网络设备在第一预设时长内未接收到第二网络设备响应探测报文所发送的应答报文,则第一网络设备可以确定通信链路故障未修复,即第一网络设备通过该通信链路发送的数据将被丢弃,第二网络设备无法成功接收该数据,进而第一网络设备可以保持第一网络设备的端口状态为暂停数据传输状态。

其中,探测报文可以包括arp请求报文、icmp请求报文或者tcp报文,由于arp协议位于数据链路层,icmp协议位于网络层,tcp协议位于传输层,只要客户端或者服务器支持arp协议、icmp协议或tcp协议,则本发明实施例提供的方法可灵活支持任意厂商生成的设备,无需配置,可检测不同应用场 景的通信链路,以快速检测通信链路是否发生故障,提高链路检测的可靠性。

结合第一方面,在第一方面的第一种可能的实现中,第一网络设备通过通信链路向第二网络设备发送探测报文的具体方式可以为:通过通信链路向第二网络设备发送arp请求报文,arp请求报文包括第二网络设备的网际协议(internetprotocol,缩写ip)地址。

进一步的,当在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,确定通信链路正常,包括:当在第一预设时长内接收到第二网络设备响应arp请求报文所发送的arp应答报文时,第一网络设备确定通信链路正常。

当在第一预设时长内未接收到第二网络设备响应探测报文所发送的应答报文时,确定通信链路故障,包括:当在第一预设时长内未接收到第二网络设备响应arp请求报文所发送的arp应答报文时,确定通信链路故障。

在该技术方案中,第一网络设备需要检测与第二网络设备之间的通信链路是否故障时,通过该通信链路广播包含第二网络设备的ip地址的arp请求报文。如果第一网络设备在第一预设时长内接收到第二网络设备返回的arp应答报文,所述arp应答报文是对所述第一网络设备发送的arp请求报文的响应,则所述第一网络设备可以确定通信链路正常,并将第一网络设备的端口状态更新为激活状态。如果第一网络设备在第一预设时长内未接收到arp应答报文,第一网络设备可以确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

由于arp协议位于数据链路层,则本发明实施例可检测通信链路位于数据链路层是否故障,避免第一网络设备向第二网络设备发送数据之后,第二网络设备无法成功接收到该数据,提高数据传输的可靠性。

结合第一方面或第一方面的第一种可能的实现,在第一方面的第二种可能的实现中,第一网络设备可以根据第二网络设备的mac地址,将icmp请求报文通过通信链路发送给第二网络设备,当第一网络设备在第一预设时长内接收到第二网络设备响应icmp请求报文所发送的icmp应答报文时,确定该通信链路正常;当第一网络设备在第一预设时长内未接收到第二网络设备响应icmp请求报文所发送的icmp应答报文时,确定该通信链路故障。

如果第一网络设备在发送icmp请求报文之前不知道第二网络设备的mac 地址,第一网络设备可以通过如下方式获取第二网络设备的mac地址:通过通信链路向第二网络设备发送arp请求报文,arp请求报文包括第二网络设备的ip地址,接收第二网络设备响应arp请求报文所发送的arp应答报文,其中,arp应答报文包括第二网络设备的媒介访问控制(mediaaccesscontrol,缩写mac)地址。

在该技术方案中,一种方式中,第一网络设备根据第二网络设备的mac地址,将icmp请求报文发送给第二网络设备。第二网络设备接收到icmp请求报文之后,可以生成icmp应答报文,并将生成的icmp应答报文发送给第一网络设备。如果第一网络设备在从发送icmp请求报文开始经过第一预设时长的时间段内接收到icmp应答报文,则第一网络设备可以确定通信链路正常,并将第一网络设备的端口状态更新为激活状态。如果第一网络设备向第二网络设备发送icmp请求报文之后,在从发送icmp请求报文开始经过第一预设时长的时间段内未接收到icmp应答报文,第一网络设备可以确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

由于icmp协议位于网络层,则本发明实施例可检测通信链路位于网络层是否故障。

另一种方式中,第一网络设备先发送arp请求报文,并在确定通信链路位于数据链路层正常的情况下,进一步的根据第二网络设备的mac地址,将icmp请求报文通过通信链路发送给第二网络设备,当第一网络设备在第一预设时长内接收到第二网络设备响应icmp请求报文所发送的icmp应答报文时,确定该通信链路位于网络层正常;当第一网络设备在第一预设时长内未接收到第二网络设备响应icmp请求报文所发送的icmp应答报文时,确定该通信链路位于网络层故障。这样,在链路层探测没有故障的情况下,进一步对网络层进行探测,通过对该通信链路不同层次的故障探测,可以提高检测精度。

如果第一网络设备通过arp请求报文探测,确定通信链路位于数据链路层故障的情况下,则无需检测该通信链路位于网络层是否故障,即第一网络设备检测到通信链路位于数据链路层故障时,无需再执行将icmp请求报文通过通信链路发送给第二网络设备,探测该通信链路的网络层是否故障的步骤。

结合第一方面和第一方面的第一种和第二种可能的实现中的任一种,在第一方面的第三种可能的实现中,第一网络设备根据第二网络设备的mac地址, 与第二网络设备之间进行三次握手建立连接,以及与第二网络设备之间进行四次握手断开连接,当在第一预设时长内三次握手以及四次握手均完成时,第一网络设备可以确定通信链路正常;当在第一预设时长内三次握手和四次握手中任一次未完成时,第一网络设备可以确定通信链路故障,具体为通信链路的传输层故障。

其中,三次握手建立连接的具体方式可以为:第一网络设备根据第二网络设备的mac地址,将第一tcp报文通过通信链路发送给第二网络设备,第一tcp报文用于指示第一网络设备请求与第二网络设备之间建立tcp连接,第一网络设备接收第二网络设备响应第一tcp报文所发送的第一tcp应答报文,第一网络设备将第二tcp报文通过通信链路发送给第二网络设备,第二tcp报文用于指示成功建立tcp连接。

其中,四次握手断开连接的具体方式可以为:第一网络设备将第三tcp报文通过通信链路发送给第二网络设备,第三tcp报文用于指示第一网络设备请求结束tcp连接;第一网络设备接收第二网络设备响应第三tcp报文所发送的第二tcp应答报文;第一网络设备接收第二网络设备通过通信链路发送的第三tcp报文;第一网络设备将响应第三tcp报文所生成的第三tcp应答报文发送给第二网络设备。

其中,当在第一预设时长内三次握手以及四次握手均完成时,第一网络设备确定通信链路正常,具体可以为:第一网络设备根据第二网络设备的mac地址,将第一tcp报文通过通信链路发送给第二网络设备,第一网络设备接收第二网络设备响应第一tcp报文所发送的第一tcp应答报文,第一网络设备将第二tcp报文通过通信链路发送给第二网络设备,第一网络设备将第三tcp报文通过通信链路发送给第二网络设备,第一网络设备接收第二网络设备响应第三tcp报文所发送的第二tcp应答报文,第一网络设备接收第二网络设备通过通信链路发送的第三tcp报文,当第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内将响应第三tcp报文所生成的第三tcp应答报文发送给第二网络设备时,确定通信链路正常。

其中,当在第一预设时长内三次握手和四次握手中任一次未完成时,第一网络设备确定通信链路故障,具体可以为:如果第一网络设备在从发送arp请求报文开始经过第一预设时长的时间段内未接收到第二网络设备发送的arp应 答报文,第一网络设备可以确定通信链路故障。可选的,第一网络设备将第一tcp报文发送给第二网络设备之后,如果第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第一tcp应答报文时,第一网络设备可以确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。可选的,第一网络设备将第三tcp报文发送给第二网络设备之后,如果第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第二tcp应答报文时,第一网络设备可以确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。可选的,第一网络设备接收第二网络设备响应第三tcp报文所发送的tcp应答报文之后,如果第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第二网络设备发送的第三tcp报文时,第一网络设备可以确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

在该技术方案中,一种方式中,第一网络设备根据第二网络设备的mac地址,将第一tcp报文发送给第二网络设备。当第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内接收到第二网络设备响应第一tcp报文所发送的第一tcp应答报文时,第一网络设备可以将第二tcp报文发送给第二网络设备。第一网络设备还可以将第三tcp报文发送给第二网络设备。当第一网络设备接收第二网络设备响应第三tcp报文所发送的第二tcp应答报文,且接收第二网络设备发送的第三tcp报文之后,在从发送arp请求报文开始经过第一预设时长的时间段内将响应第三tcp报文所生成的第三tcp应答报文发送给第二网络设备,则第一网络设备可以确定通信链路正常,并将第一网络设备的端口状态更新为激活状态。由于tcp协议位于传输层,则本发明实施例可检测通信链路位于传输层是否故障,当通信链路位于传输层正常时,第一网络设备可将在传输层传输的数据通过该通信链路发送给第二网络设备。

另一中方式中,第一网络设备先通过通信链路向第二网络设备发送arp请求报文,在确定通信链路位于数据链路层正常的情况下,进一步根据第二网络设备的mac地址,将icmp请求报文通过通信链路发送给第二网络设备,在确定该通信链路位于网络层正常的情况下,进一步根据第二网络设备的mac地址,与第二网络设备之间进行三次握手建立连接,以及与第二网络设备之间进行四次握手断开连接,当在第一预设时长内三次握手以及四次握手均完成时,确定 通信链路位于传输层正常;当在第一预设时长内三次握手或者四次握手中任一次未完成时,确定通信链路位于传输层故障。这样,在该通信链路的数据链路层和网络层没有故障的情况下,进一步对传输层进行探测,通过对该通信链路不同层次的故障探测,可以提高检测精度。

如果确定通信链路的数据链路层或网络层任一个出现故障,则第一网络设备无需检测该通信链路位于网络层以及传输层是否故障。即第一网络设备无需执行根据第二网络设备的mac地址,与第二网络设备之间进行三次握手建立连接,以及与第二网络设备之间进行四次握手断开连接的步骤。

结合第一方面和第一方面的第一至三中可能的实现中的任一种,在第一方面的第四种可能的实现中,第一网络设备按照第二预设时长为时间周期检测第一网络设备的端口状态,针对当前时间周期发送的探测报文,当在第一预设时长内接收到第二网络设备发送的应答报文时,第一网络设备可以确定通信链路正常,并将第一网络设备的端口状态更新为激活状态;当在第一预设时长内未接收到第二网络设备发送的应答报文时,第一网络设备可以确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

在该技术方案中,第一网络设备按照第二预设时长为时间周期通过通信链路向第二网络设备发送探测报文。第一网络设备针对上一个时间周期发送的探测报文,当在第一预设时长内接收到第二网络设备发送的应答报文时,第一网络设备可以确定该通信链路正常,并将第一网络设备的端口状态更新为激活状态。针对当前时间周期,第一网络设备检测到第一网络设备的端口状态为激活状态,即第一网络设备的端口状态不是去激活状态,则第一网络设备可以通过该通信链路向第二网络设备发送探测报文,当在从当前时间周期发送探测报文开始经过第一预设时长的时间段内接收到第二网络设备发送的应答报文时,第一网络设备可以确定该通信链路正常,进而保持第一网络设备的端口状态为激活状态不变;当在从当前时间周期发送探测报文开始经过第一预设时长的时间段内未接收到第二网络设备发送的应答报文时,第一网络设备可以确定该通信链路在当前时间周期故障,进而将第一网络设备的端口状态更新为暂停数据传输状态。

第一网络设备针对上一个时间周期发送的探测报文,当在第一预设时长内未接收到第二网络设备发送的应答报文时,第一网络设备可以确定通信链路故 障,并将第一网络设备的端口状态更新为暂停数据传输状态。针对当前时间周期,第一网络设备检测到第一网络设备的端口状态为暂停数据传输状态,即第一网络设备的端口状态不是去激活状态,则第一网络设备可以通过该通信链路向第二网络设备发送探测报文,当在从当前时间周期发送探测报文开始经过第一预设时长的时间段内接收到第二网络设备发送的应答报文时,第一网络设备可以确定该通信链路故障修复完毕,进而将第一网络设备的端口状态更新为激活状态;当在从当前时间周期发送探测报文开始经过第一预设时长的时间段内未接收到第二网络设备发送的应答报文时,第一网络设备可以确定通信链路保持故障不变,进而保持第一网络设备的端口状态为暂停数据传输状态不变。

本发明实施例可实时监控第一网络设备和第二网络设备之间的通信链路是否故障,检测到该通信链路故障时,第一网络设备将第一网络设备的端口状态更新为暂停数据传输状态,暂停数据传输状态用于指示第一网络设备和第二网络设备暂停通过该通信链路传输数据;检测到该通信链路正常时,第一网络设备将第一网络设备的端口状态更新为激活状态,激活状态用于指示第一网络设备和第二网络设备可通过该通信链路成功传输数据。

第二方面提供了一种通信链路的检测装置,该通信链路的检测装置具有实现上述通信链路的检测方法的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,所述硬件或软件可以包括一个或多个与上述功能相对应的模块。

第二方面的一种可能的实现中,该通信链路的检测装置包括端口状态检测模块、报文发送模块以及链路检测模块,其中:

端口状态检测模块,用于检测第一网络设备当前的端口状态,端口状态包括去激活状态、激活状态或者暂停数据传输状态;

报文发送模块,用于当第一网络设备当前的端口状态不是去激活状态时,通过通信链路向第二网络设备发送探测报文,探测报文用于检测通信链路是否故障,探测报文包括arp请求报文、icmp请求报文或者tcp报文;

链路检测模块,用于当在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,确定通信链路正常,并将第一网络设备的端口状态更新为激活状态;当在第一预设时长内未接收到第二网络设备发送的应答报文时, 确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

第二方面的另一种可能的实现中,该通信链路的检测装置包括:处理器和存储器;该通信链路的检测装置还包括通信接口;处理器、存储器以及通信接口通过总线相互连接,处理器调用存储器中的程序指令用于执行以下操作:

检测第一网络设备当前的端口状态,端口状态包括去激活状态、激活状态或者暂停数据传输状态;

当第一网络设备当前的端口状态不是去激活状态时,通过与第二网络设备之间的通信链路向第二网络设备发送探测报文,探测报文用于检测通信链路是否故障,探测报文包括arp请求报文、icmp请求报文或者tcp报文;

当在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,确定通信链路正常,并将第一网络设备的端口状态更新为激活状态;

当在第一预设时长内未接收到第二网络设备发送的应答报文时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

第三方面提供了一种通信链路的检测系统,包括第一网络设备和第二网络设备,所述系统可以用于实施结合第一方面的部分或全部步骤。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例中提供的一种通信链路的检测系统的结构示意图;

图2是本发明实施例中提供的一种通信链路的检测方法的流程示意图;

图3是本发明另一实施例中提供的一种通信链路的检测方法的流程示意图;

图4是本发明另一实施例中提供的一种通信链路的检测方法的流程示意图;

图5是本发明实施例中提供的一种通信链路的检测装置的结构示意图;

图6是本发明实施例中提供的一种网络设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。

本申请提供的技术方案中,通信链路任意一端的网络设备的端口状态包括:去激活状态、激活状态和暂停数据传输状态;并可以在三个状态(去激活状态、激活状态和暂停数据传输状态)之间进行转换。当网络设备的端口状态为去激活状态时,该网络设备无法发送或者接收任何信息,例如数据或者探测报文等。当网络设备的端口状态为激活状态时,网络设备可以发送或者接收任何信息,例如数据或者探测报文等。当网络设备的端口状态为暂停数据传输状态时,该网络设备仅可发送探测报文以及接收探测应答报文,但是无法发送或者接收数据。

请参见图1,图1是本发明实施例中提供的一种通信链路的检测系统的结构示意图,该通信链路的检测系统可以包括第一网络设备和第二网络设备,第一网络设备和第二网络设备之间存在通信链路,其中:

第一网络设备位于通信链路的一端,第二网络设备位于该通信链路的另一端。第一网络设备和第二网络设备之间可以存在至少一条通信链路。第一网络设备或者第二网络设备可以为路由器、服务器、基站或者个人计算机(personalcomputer,缩写pc)等。

第一网络设备检测到第一网络设备当前的端口状态为激活状态或者暂停数据传输状态时,第一网络设备可以通过与第二网络设备之间的通信链路向第二网络设备发送探测报文,当在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,第一网络设备可以确定该通信链路正常,并将第一网络设备的端口状态更新为激活状态。当在第一预设时长内未接收到第二网络设备响应探测报文所发送的应答报文时,第一网络设备可以确定该通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

可选的,第一网络设备的端口状态更新为激活状态之后,第一网络设备可以通过该通信链路和第二网络设备之间传输数据。

可选的,当第一网络设备和第二网络设备之间存在第一通信链路和第二通信链路,且第一网络设备检测到第一通信链路故障时,第一网络设备可以将数据通过第二通信链路发送给第二网络设备,以确保第二网络设备可成功接收到第一网络设备发送的数据,提高数据传输的可靠性。

可选的,第一网络设备可以按照第二预设时长为时间周期检测第一网络设备的端口状态。针对当前时间周期,当第一网络设备的端口状态不是去激活状态时,第一网络设备可以通过该通信链路向第二网络设备发送探测报文,当第一网络设备在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,第一网络设备可以确定该通信链路正常,并将第一网络设备的端口状态更新为激活状态;当第一网络设备在第一预设时长内未接收到第二网络设备发送的应答报文时,第一网络设备可以确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

其中,探测报文可以包括arp请求报文、icmp请求报文或者tcp报文。当通信链路的检测系统支持arp请求报文传输时,第一网络设备可以定制arp协议,第一网络设备在检测到第一网络设备的端口状态不是去激活状态时,向第二网络设备发送arp请求报文。当通信链路的检测系统支持icmp请求报文传输时,第一网络设备可以定制icmp协议,第一网络设备在检测到第一网络设备的端口状态不是去激活状态时,向第二网络设备发送icmp请求报文。当通信链路的检测系统支持tcp报文传输时,第一网络设备可以定制tcp协议,第一网络设备在检测到第一网络设备的端口状态不是去激活状态时,向第二网络设备发送tcp报文。

需要说明的是,本发明实施例中的探测报文包含但不局限于arp报文、icmp报文或者tcp报文,通信链路的检测系统可根据数据传输的不同需求定制探测报文的协议类型,例如第一网络设备需要将在会话层传输的数据发送给第二网络设备,第一网络设备可以确定探测报文为安全外壳协议(secureshell,缩写ssh)报文,具体不受本发明实施例的限制。

其中,第一预设时长可以是预先设定的时间段,例如10s或者30s等,第一预设时长可以是第一网络设备在出厂前配置的,也可以是用户根据不同需求所配置的,具体不受本发明实施例的限制。

其中,第二预设时长可以是预先设定的时间段,例如30s或者40s等,第二预设时长可以大于或者等于第一预设时长,第二预设时长可以是第一网络设备在出厂前配置的,也可以是用户根据不同需求所配置的,具体不受本发明实施例的限制。

请参见图2,图2是本发明实施例中提供的一种通信链路的检测方法的流程示意图,如图所示本发明实施例中的通信链路的检测方法至少可以包括:

s201,第一网络设备检测第一网络设备当前的端口状态。

第一网络设备需要检测与第二网络设备之间的通信链路是否故障时,可以判断第一网络设备当前的端口状态是否为去激活状态,如果第一网络设备当前的端口状态为激活状态或者暂停数据传输状态,第一网络设备可以通过该通信链路和第二网络设备之间传输探测报文,进而执行步骤s202;如果第一网络设备当前的端口状态为去激活状态,第一网络设备无法和第二网络设备之间传输任何信息,则第一网络设备可以经过第二预设时长之后检测第一网络设备的端口状态。

示例性的,第一网络设备的端口的初始状态为去激活状态,当第一网络设备和第二网络设备之间建立通信连接时,第一网络设备的端口状态更新为激活状态,第一网络设备检测到第一网络设备当前的端口状态不是去激活状态时,可以通过该通信链路向第二网络设备发送arp请求报文,其中arp请求报文可以包括第二网络设备的ip地址。本发明实施例所述的端口与通信链路一一对应,即第一网络设备将arp请求报文通过端口输出,由该端口对应的通信链路承载至第二网络设备。

在可选实施例中,第一网络设备可以按照第二预设时长为时间周期检测第一网络设备的端口状态。例如,当第二预设时长为30s时,第一网络设备可以每间隔30s检测第一网络设备的端口状态。

s202,当第一网络设备当前的端口状态不是去激活状态时,第一网络设备通过通信链路向第二网络设备发送arp请求报文。

当第一网络设备当前的端口状态不是去激活状态时,第一网络设备可以通过与第二网络设备之间的通信链路向第二网络设备发送arp请求报文。

s203,第一网络设备判断在第一预设时长内是否接收到第二网络设备响应arp请求报文所发送的arp应答报文。

第一网络设备通过该通信链路向第二网络设备发送arp请求报文之后,可以判断在第一预设时长内是否通过该通信链路接收到第二网络设备响应arp请求报文所发送的arp应答报文,当在第一预设时长内接收到arp应答报文时,第一网络设备进一步执行步骤s204;当在第一预设时长内未接收到arp应答报 文时,第一网络设备进一步执行步骤s205。例如,第一预设时长为10s,第一网络设备通过通信链路将arp请求报文发送给第二网络设备之后,第一网络设备可以获取arp请求报文的发送时间,如果第一网络设备在从发送时间开始经过10s的时间段内接收到第二网络设备响应arp请求报文所发送的arp应答报文,第一网络设备可以执行步骤s204;如果第一网络设备在从发送时间开始经过10s的时间段内未接收到第二网络设备响应arp请求报文所发送的arp应答报文,第一网络设备可以执行步骤s205。

具体实现中,第一网络设备通过通信链路向第二网络设备发送arp请求报文之后,如果该通信链路正常,第二网络设备将成功接收到arp请求报文,并响应该arp请求报文以生成arp应答报文,第二网络设备将生成的arp应答报文发送给第一网络设备。如果该通信链路故障,第二网络设备无法接收到该arp请求报文,则第二网络设备不会生成arp应答报文,也不会将arp应答报文发送给第一网络设备。对此,第一网络设备通过该通信链路向第二网络设备发送arp请求报文之后,可以判断在第一预设时长内是否接收到第二网络设备响应arp请求报文所发送的arp应答报文,当在第一预设时长内接收到arp应答报文时,第一网络设备可以确定该通信链路正常,并将第一网络设备的端口状态更新为激活状态;当在第一预设时长内未接收到arp应答报文时,第一网络设备可以确定该通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

在可选实施例中,如果第一网络设备是按照第二预设时长为时间周期检测第一网络设备的端口状态的,则针对当前时间周期,当第一网络设备检测到第一网络设备的端口状态不是去激活状态时,通过该通信链路向第二网络设备发送arp请求报文,第一网络设备可以判断是否在第一预设时长内接收到第二网络设备响应该arp请求报文所发送的arp应答报文,如果在第一预设时长内接收到arp应答报文,第一网络设备可以确定该通信链路当前正常;如果在第一预设时长内未接收到arp应答报文,第一网络设备可以确定该通信链路当前故障。

s204,第一网络设备当在第一预设时长内接收到arp应答报文时,确定通信链路正常,并将第一网络设备的端口状态更新为激活状态。

第一网络设备通过该通信链路向第二网络设备发送arp请求报文之后,如 果在第一预设时长内接收到第二网络设备发送的arp应答报文,第一网络设备可以确定该通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。具体实现中,当第一网络设备的端口状态为激活状态,且第一网络设备在第一预设时长内接收到arp应答报文时,第一网络设备可以保持第一网络设备的端口状态为激活状态不变;当第一网络设备的端口状态为暂停数据传输状态,且第一网络设备在第一预设时长内接收到arp应答报文时,第一网络设备可以将端口状态更新为激活状态。

s205,第一网络设备当在第一预设时长内未接收到arp应答报文时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

第一网络设备通过该通信链路向第二网络设备发送arp请求报文之后,如果在第一预设时长内未接收到第二网络设备发送的arp应答报文,第一网络设备可以确定该通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。具体实现中,当第一网络设备的端口状态为激活状态,且第一网络设备在第一预设时长内未接收到arp应答报文时,第一网络设备可以确定该通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态;当第一网络设备的端口状态为暂停数据传输状态,且第一网络设备在第一预设时长内未接收到arp应答报文时,第一网络设备可以确定该通信链路故障,并保持第一网络设备的端口状态为暂停数据传输状态不变。需要说明的是,如果第一网络设备的当前端口状态为去激活状态,第一网络设备将断开和第二网络设备之间的通信连接,无法进行数据或者报文的传输。

在图2所示的通信链路的检测方法中,第一网络设备检测到第一网络设备的端口状态不是去激活状态时,通过通信链路向第二网络设备发送arp请求报文,当在第一预设时长内接收到第二网络设备响应arp请求报文所发送的arp应答报文时,第一网络设备确定该通信链路正常,并将第一网络设备的端口状态更新为激活状态;当在第一预设时长内未接收到arp应答报文时,第一网络设备确定该通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态,可快速检测通信链路是否发生故障,提高数据传输的可靠性。

请参见图3,图3是本发明实施例中提供的一种通信链路的检测方法的流程示意图,如图所示本发明实施例中的通信链路的检测方法至少可以包括:

s301,第一网络设备检测第一网络设备当前的端口状态。

在可选实施例中,第一网络设备可以按照第二预设时长为时间周期检测第一网络设备的端口状态。

s302,当第一网络设备当前的端口状态不是去激活状态时,第一网络设备通过通信链路向第二网络设备发送arp请求报文,arp请求报文包括第二网络设备的ip地址。

s303,第二网络设备响应arp请求报文以生成arp应答报文,arp应答报文包括第二网络设备的mac地址。

s304,第二网络设备通过该通信链路向第一网络设备发送arp应答报文。

在可选实施例中,第一网络设备向第二网络设备发送arp请求报文之后,可以判断在从发送arp请求报文开始经过第一预设时长的时间段内是否接收到第二网络设备发送的arp应答报文,当第一网络设备在从发送arp请求报文开始经过第一预设时长的时间段内接收到第二网络设备发送的arp应答报文时,第一网络设备可以执行步骤s305。当第一网络设备在从发送arp请求报文开始经过第一预设时长的时间段内未接收到第二网络设备发送的arp应答报文时,第一网络设备可以确定该通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

s305,第一网络设备根据第二网络设备的mac地址,对icmp请求报文进行封装。

第一网络设备接收到arp应答报文之后,可以将第二网络设备的mac地址封装到icmp请求报文中,以便根据第二网络设备的mac地址,将icmp请求报文通过该通信链路发送给第二网络设备。

s306,第一网络设备通过该通信链路将icmp请求报文发送给第二网络设备。

s307,第一网络设备判断在从发送icmp请求报文开始经过第一预设时长的时间段内是否接收到第二网络设备响应icmp请求报文所发送的icmp应答报文。

第一网络设备通过该通信链路向第二网络设备发送icmp请求报文之后,可以判断在从发送icmp请求报文开始经过第一预设时长的时间段内是否通过通信链路接收到第二网络设备响应icmp请求报文所发送的icmp应答报文,当 在从发送icmp请求报文开始经过第一预设时长的时间段内接收到icmp应答报文时,第一网络设备进一步执行步骤s308;当在从发送icmp请求报文开始经过第一预设时长的时间段内未接收到icmp应答报文时,第一网络设备进一步执行步骤s309。

具体实现中,第一网络设备通过该通信链路向第二网络设备发送icmp请求报文之后,如果该通信链路正常,第二网络设备将成功接收到icmp请求报文,并响应该icmp请求报文以生成icmp应答报文,第二网络设备将生成的icmp应答报文通过该通信链路发送给第一网络设备。如果该通信链路故障,第二网络设备无法接收到该icmp请求报文,则第二网络设备不会生成icmp应答报文,也不会将icmp应答报文发送给第一网络设备。对此,第一网络设备通过该通信链路向第二网络设备发送icmp请求报文之后,可以判断在从发送icmp请求报文开始经过第一预设时长的时间段内是否接收到第二网络设备响应icmp请求报文所发送的icmp应答报文,当在从发送icmp请求报文开始经过第一预设时长的时间段内接收到icmp应答报文时,第一网络设备可以确定该通信链路正常,并将第一网络设备的端口状态更新为激活状态;当在从发送icmp请求报文开始经过第一预设时长的时间段内未接收到icmp应答报文时,第一网络设备可以确定该通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

在可选实施例中,如果第一网络设备是按照第二预设时长为时间周期检测第一网络设备的端口状态的,则针对当前时间周期,当检测到第一网络设备的端口状态不是去激活状态时,第一网络设备可以通过该通信链路向第二网络设备发送arp请求报文,接收第二网络设备响应arp请求报文所发送的arp应答报文,根据arp应答报文包括的第二网络设备的mac地址,向第二网络设备发送icmp请求报文,第一网络设备可以判断是否在从发送icmp请求报文开始经过第一预设时长的时间段内接收到第二网络设备响应该icmp请求报文所发送的icmp应答报文,如果在从发送icmp请求报文开始经过第一预设时长的时间段内接收到icmp应答报文,第一网络设备可以确定该通信链路当前正常,并将第一网络设备的端口状态更新为激活状态;如果在从发送icmp请求报文开始经过第一预设时长的时间段内未接收到icmp应答报文,第一网络设备可以确定该通信链路当前故障,并将第一网络设备的端口状态更新为暂停数据传 输状态。

s308,第一网络设备当在从发送icmp请求报文开始经过第一预设时长的时间段内接收到icmp应答报文时,确定通信链路正常,并将第一网络设备的端口状态更新为激活状态。

第一网络设备通过该通信链路向第二网络设备发送icmp请求报文之后,如果在从发送icmp请求报文开始经过第一预设时长的时间段内接收到第二网络设备发送的icmp应答报文,第一网络设备可以确定通信链路正常,并将第一网络设备的端口状态更新为激活状态。具体实现中,当第一网络设备的端口状态为激活状态,且第一网络设备在从发送icmp请求报文开始经过第一预设时长的时间段内接收到icmp应答报文时,第一网络设备可以保持第一网络设备的端口状态为激活状态不变;当第一网络设备的端口状态为暂停数据传输状态,且第一网络设备在从发送icmp请求报文开始经过第一预设时长的时间段内接收到icmp应答报文时,第一网络设备可以将第一网络设备的端口状态更新为激活状态。

s309,第一网络设备当在从发送icmp请求报文开始经过第一预设时长的时间段内未接收到icmp应答报文时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

第一网络设备通过该通信链路向第二网络设备发送icmp请求报文之后,如果在从发送icmp请求报文开始经过第一预设时长的时间段内未接收到第二网络设备发送的icmp应答报文,第一网络设备可以确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。具体实现中,当第一网络设备的端口状态为激活状态,且第一网络设备在从发送icmp请求报文开始经过第一预设时长的时间段内未接收到icmp应答报文时,第一网络设备可以将第一网络设备的端口状态更新为暂停数据传输状态;当第一网络设备的端口状态为暂停数据传输状态,且第一网络设备在从发送icmp请求报文开始经过第一预设时长的时间段内未接收到icmp应答报文时,第一网络设备可以保持第一网络设备的端口状态为暂停数据传输状态不变。

在图3所示的通信链路的检测方法中,第一网络设备检测到第一网络设备的端口状态不是去激活状态时,通过通信链路向第二网络设备发送arp请求报文,接收第二网络设备响应arp请求报文所发送的arp应答报文,根据arp 应答报文包括的第二网络设备的mac地址,将icmp请求报文发送给第二网络设备,第一网络设备当在从发送icmp请求报文开始经过第一预设时长的时间段内接收到第二网络设备响应icmp请求报文所发送的icmp应答报文时,确定通信链路正常,并将第一网络设备的端口状态更新为激活状态;当在从发送icmp请求报文开始经过第一预设时长的时间段内未接收到icmp应答报文时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态,可快速检测通信链路是否发生故障,提高数据传输的可靠性。

请参见图4,图4是本发明实施例中提供的一种通信链路的检测方法的流程示意图,如图所示本发明实施例中的通信链路的检测方法至少可以包括:

s401,第一网络设备检测第一网络设备当前的端口状态。

在可选实施例中,第一网络设备可以按照第二预设时长为时间周期检测第一网络设备的端口状态。

s402,当第一网络设备当前的端口状态不是去激活状态时,第一网络设备通过通信链路向第二网络设备发送arp请求报文,arp请求报文包括第二网络设备的ip地址。

s403,第二网络设备响应arp请求报文以生成arp应答报文,arp应答报文包括第二网络设备的mac地址。

s404,第二网络设备通过该通信链路向第一网络设备发送arp应答报文。

在可选实施例中,第一网络设备向第二网络设备发送arp请求报文之后,可以判断在从发送arp请求报文开始经过第一预设时长的时间段内是否接收到第二网络设备发送的arp应答报文,当第一网络设备在从发送arp请求报文开始经过第一预设时长的时间段内接收到第二网络设备发送的arp应答报文时,第一网络设备可以执行步骤s405。当第一网络设备在从发送arp请求报文开始经过第一预设时长的时间段内未接收到第二网络设备发送的arp应答报文时,第一网络设备可以确定该通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

s405,第一网络设备根据第二网络设备的mac地址,通过通信链路向第二网络设备发送第一tcp报文。

具体实现中,第一网络设备接收到arp应答报文之后,可以将第二网络设 备的mac地址封装到第一tcp报文中,以便根据第二网络设备的mac地址,将第一tcp报文通过该通信链路发送给第二网络设备。其中,第一tcp报文用于指示第一网络设备请求与第二网络设备之间建立tcp连接,例如第一tcp报文可以为tcpsyn报文。

s406,第一网络设备判断在从发送第一tcp报文开始经过第一预设时长的时间段内是否接收到第二网络设备响应第一tcp报文所发送的第一tcp应答报文。

第一网络设备通过该通信链路向第二网络设备发送第一tcp报文之后,可以判断在从发送第一tcp报文开始经过第一预设时长的时间段内是否通过该通信链路接收到第二网络设备响应第一tcp报文所发送的第一tcp应答报文,当在从发送第一tcp报文开始经过第一预设时长的时间段内接收到第一tcp应答报文时,第一网络设备进一步执行步骤s407。

在可选实施例中,如果第一网络设备是按照第二预设时长为时间周期检测第一网络设备的端口状态的,则针对当前时间周期,当检测到第一网络设备的端口状态不是去激活状态时,第一网络设备可以通过该通信链路向第二网络设备发送arp请求报文,接收第二网络设备响应arp请求报文所发送的arp应答报文,根据arp应答报文包括的第二网络设备的mac地址,向第二网络设备发送第一tcp报文,第一网络设备可以判断是否在从发送第一tcp报文开始经过第一预设时长的时间段内接收到第二网络设备响应该第一tcp报文所发送的第一tcp应答报文,如果在从发送第一tcp报文开始经过第一预设时长的时间段内接收到第一tcp应答报文,第一网络设备可以执行步骤s407;如果在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第一tcp应答报文,第一网络设备可以确定该通信链路当前故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

在可选实施例中,第一网络设备当在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第一tcp应答报文时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

具体实现中,当第一网络设备的端口状态为激活状态,且第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第一tcp应答报文时,第一网络设备可以将第一网络设备的端口状态更新为暂停数据传输状 态;当第一网络设备的端口状态为暂停数据传输状态,且第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第一tcp应答报文时,第一网络设备可以保持第一网络设备的端口状态为暂停数据传输状态不变。

s407,第一网络设备当在从发送第一tcp报文开始经过第一预设时长的时间段内接收到第一tcp应答报文时,通过该通信链路将第二tcp报文发送给第二网络设备。

其中,第二tcp报文用于指示成功建立tcp连接,第二tcp报文可以为tcpack报文。

s408,第一网络设备通过该通信链路将第三tcp报文发送给第二网络设备。

其中,第三tcp报文用于指示第一网络设备请求结束tcp连接,第三tcp报文可以为fin报文。

s409,第一网络设备判断在从发送第一tcp报文开始经过第一预设时长的时间段内是否接收到第二网络设备响应第三tcp报文所发送的第二tcp应答报文。

第一网络设备通过该通信链路向第二网络设备发送第三tcp报文之后,可以判断在从发送第一tcp报文开始经过第一预设时长的时间段内是否通过该通信链路接收到第二网络设备响应第三tcp报文所发送的第二tcp应答报文,当在从发送第一tcp报文开始经过第一预设时长的时间段内接收到第二tcp应答报文时,第一网络设备进一步执行步骤s410。

在可选实施例中,第一网络设备当在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第二tcp应答报文时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

具体实现中,当第一网络设备的端口状态为激活状态,且第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第二tcp应答报文时,第一网络设备可以将第一网络设备的端口状态更新为暂停数据传输状态;当第一网络设备的端口状态为暂停数据传输状态,且第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第二tcp应答报文时,第一网络设备可以保持第一网络设备的端口状态为暂停数据传输状态不变。

s410,第一网络设备当在从发送第一tcp报文开始经过第一预设时长的时间段内接收到第二tcp应答报文时,判断在从发送第一tcp报文开始经过第一 预设时长的时间段内是否接收到第二网络设备通过该通信链路发送的第三tcp报文。

在可选实施例中,第一网络设备当在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第三tcp报文时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

具体实现中,当第一网络设备的端口状态为激活状态,且第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第三tcp报文时,第一网络设备可以将第一网络设备的端口状态更新为暂停数据传输状态;当第一网络设备的端口状态为暂停数据传输状态,且第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内未接收到第三tcp报文时,第一网络设备可以保持第一网络设备的端口状态为暂停数据传输状态不变。

s411,第一网络设备当在从发送第一tcp报文开始经过第一预设时长的时间段内接收到第三tcp报文时,响应第三tcp报文以生成第三tcp应答报文。

第一网络设备生成第三tcp应答报文之后,可以将第三tcp应答报文发送给第二网络设备。

s412,第一网络设备当在从发送第一tcp报文开始经过第一预设时长的时间段内将第三tcp应答报文通过该通信链路发送给第二网络设备时,确定该通信链路正常,并将第一网络设备的端口状态更新为激活状态。

具体实现中,当第一网络设备的端口状态为激活状态,且第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内将第三tcp应答报文发送给第二网络设备时,第一网络设备可以保持第一网络设备的端口状态为激活状态不变;当第一网络设备的端口状态为暂停数据传输状态,且第一网络设备在从发送第一tcp报文开始经过第一预设时长的时间段内将第三tcp应答报文发送给第二网络设备时,第一网络设备可以将第一网络设备的端口状态更新为激活状态。

在图4所示的通信链路的检测方法中,第一网络设备检测到第一网络设备的端口状态不是去激活状态时,通过通信链路向第二网络设备发送arp请求报文,接收第二网络设备响应arp请求报文所发送的arp应答报文,根据arp应答报文包括的第二网络设备的mac地址,向第二网络设备发送第一tcp报文,当在从发送第一tcp报文开始经过第一预设时长的时间段内接收到第二网 络设备响应第一tcp报文所发送的第一tcp应答报文时,第一网络设备将第二tcp报文发送给第二网络设备,将第三tcp报文发送给第二网络设备,当在从发送第一tcp报文开始经过第一预设时长的时间段内接收到第二网络设备响应第三tcp报文所发送的第二tcp应答报文,且接收到第二网络设备发送的第三tcp报文时,响应第三tcp报文以生成第三tcp应答报文,当在从发送第一tcp报文开始经过第一预设时长的时间段内将第三tcp应答报文发送给第二网络设备时,第一网络设备确定通信链路正常,并将第一网络设备的端口状态更新为激活状态,可快速检测通信链路是否发生故障,提高数据传输的可靠性。

请参见图5,图5是本发明实施例中提供的第一网络设备的结构示意图。如图5所示,该第一网络设备可以包括:处理器501、存储器502、通信接口503。处理器501连接到存储器502以及网络接口503,例如处理器501可以通过总线连接到存储器502以及网络接口503。

其中,处理器501可以是cpu,网络处理器(networkprocessor,缩写np)等。

存储器502具体可以用于存储第二网络设备的mac地址等。存储器502可以包括易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,缩写ram);存储器也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,缩写rom),快闪存储器(flashmemory),硬盘(harddiskdrive,缩写hdd)或固态硬盘(solid-statedrive,缩写ssd);存储器还可以包括上述种类的存储器的组合。

通信接口503可选的可以包括标准的有线接口、无线接口(如wi-fi接口)等。

可选地,存储器502还可用于存储程序指令,处理器501调用存储器502中的程序指令,可以执行以下操作:

处理器501检测第一网络设备当前的端口状态。

当第一网络设备当前的端口状态不是去激活状态时,通信接口503通过通信链路向第二网络设备发送探测报文。

当通信接口503在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,确定通信链路正常,并将第一网络设备的端口状态更新为激 活状态。

当通信接口503在第一预设时长内未接收到第二网络设备发送的应答报文时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

具体的,所述处理器501,还用于通过通信接口503获取第二网络设备的mac地址;

处理器501通过通信链路向第二网络设备发送探测报文,具体可以为:

根据第二网络设备的mac地址,将icmp请求报文通过通信链路发送给第二网络设备;

当通信接口503在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,处理器501确定通信链路正常,具体可以为:

当通信接口503在第一预设时长内接收到第二网络设备响应icmp请求报文所发送的icmp应答报文时,处理器501确定通信链路正常。

当通信接口503在第一预设时长内未接收到第二网络设备响应探测报文所发送的应答报文时,处理器501确定通信链路故障,具体可以为:

当通信接口503在第一预设时长内未接收到第二网络设备响应icmp请求报文所发送的icmp应答报文时,处理器501确定通信链路故障。

本发明实施例中介绍的网络设备可以用以实施本发明结合图2~图4介绍的通信链路的检测方法实施例中的部分或全部流程。

请参见图6,图6是本发明实施例中提供的一种通信链路的检测装置的结构示意图,其中本发明实施例提供的通信链路的检测装置可以结合图5中的处理器501,如图所示本发明实施例中的通信链路的检测装置至少可以包括端口状态检测模块601、报文发送模块602以及链路检测模块603,其中:

端口状态检测模块601,用于检测第一网络设备当前的端口状态。

报文发送模块602,用于当第一网络设备当前的端口状态不是去激活状态时,通过通信链路向第二网络设备发送探测报文。

链路检测模块603,用于当在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,确定通信链路正常,并将第一网络设备的端口状态更新为激活状态;当在第一预设时长内未接收到第二网络设备发送的应答报文 时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

在可选实施例中,报文发送模块602,具体用于:

通过通信链路向第二网络设备发送arp请求报文,arp请求报文包括第二网络设备的ip地址。

链路检测模块603当在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,确定通信链路正常,具体用于:

当在第一预设时长内接收到第二网络设备响应arp请求报文所发送的arp应答报文时,确定通信链路正常,arp应答报文包括第二网络设备的mac地址。

在可选实施例中,所述装置还包括:

地址获取模块604,用于报文发送模块602通过通信链路向第二网络设备发送探测报文之前,获取第二网络设备的mac地址。

报文发送模块602,具体用于根据第二网络设备的mac地址,通过通信链路将icmp请求报文发送给第二网络设备。

链路检测模块603当在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,确定通信链路正常,具体用于:

当在第一预设时长内接收到第二网络设备响应icmp请求报文所发送的icmp应答报文时,确定通信链路正常。

在可选实施例中,所述装置还包括:

地址获取模块604,用于报文发送模块602通过通信链路向第二网络设备发送探测报文之前,获取第二网络设备的mac地址。

报文发送模块602,具体用于根据第二网络设备的mac地址,与第二网络设备之间进行三次握手建立连接,以及与第二网络设备之间进行四次握手断开连接。

链路检测模块603当在第一预设时长内接收到第二网络设备响应探测报文所发送的应答报文时,确定通信链路正常,具体用于当在第一预设时长内三次握手以及四次握手均完成时,确定通信链路正常。

链路检测模块603当在第一预设时长内未接收到第二网络设备发送的应答报文时,确定通信链路故障,具体用于当在第一预设时长内三次握手或者四次 握手中任一次未完成时,确定通信链路故障。

在可选实施例中,端口状态检测模块601,用于按照第二预设时长为时间周期检测第一网络设备的端口状态。

链路检测模块603,用于针对当前时间周期发送的探测报文,当在第一预设时长内接收到第二网络设备发送的应答报文时,确定所述通信链路正常,并将所述第一网络设备的端口状态更新为激活状态。

链路检测模块603,还用于当在第一预设时长内未接收到第二网络设备发送的应答报文时,确定通信链路故障,并将第一网络设备的端口状态更新为暂停数据传输状态。

具体的,本发明实施例中介绍的通信链路的检测装置可以用以实施本发明结合图2~图4介绍的通信链路的检测方法实施例中的部分或全部流程。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的程序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包括、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线 的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器,只读存储器,可擦除可编辑只读存储器,光纤装置,以及便携式光盘只读存储器。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。

此外,在本发明各个实施例中的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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