一种网络故障检测方法及装置制造方法及图纸

技术编号:20627771 阅读:20 留言:0更新日期:2019-03-20 17:22
本发明专利技术公开了一种网络故障检测方法,应用于交换设备的可编程交换芯片中,所述方法包括:所述可编程交换芯片对接收到的传输控制协议TCP报文进行数据流检测,获取所述TCP报文的五元组信息以及TCP序列号;当记录有所述TCP报文的五元组信息时,判断所述TCP序列号是否大于所述五元组信息对应的记录序列号;若所述TCP序列号不大于所述记录序列号,则将所述五元组信息对应的重传次数加一,并将所述记录序列号更新为所述TCP序列号;判断所述重传次数是否大于预设重传次数阈值;若所述重传次数大于所述预设重传次数阈值,则将所述TCP报文确定为故障报文并发送给故障处理设备以进行故障处理。本发明专利技术实施例能够提高网络故障检测的准确率。

A Network Fault Detection Method and Device

The invention discloses a network fault detection method, which is applied to the programmable switching chip of switching equipment. The method includes: the programmable switching chip detects the data flow of the received transmission control protocol TCP message, obtains the five-tuple information of the TCP message and the TCP serial number, and judges the TCP sequence when recording the five-tuple information of the TCP message. If the TCP sequence number is not greater than the record sequence number corresponding to the five-tuple information, the number of retransmissions corresponding to the five-tuple information is increased by one, and the record sequence number is updated to the TCP sequence number; whether the number of retransmissions is greater than the preset threshold of retransmissions is judged; if the number of retransmissions is greater than the preset threshold of retransmissions, the number of retransmissions is increased by one. Value, then the TCP message is identified as a fault message and sent to the fault processing equipment for fault processing. The embodiment of the invention can improve the accuracy of network fault detection.

【技术实现步骤摘要】
一种网络故障检测方法及装置
本专利技术涉及通信
,尤指一种网络故障检测方法及装置。
技术介绍
网络故障一直是数据中心网络需要解决的问题,随着网络环境愈加复杂,越难以及时准确地发现哪里发生了故障。TCP协议会通过报文重传的方式处理少量的报文丢包,但如果网络出现故障则会出现大量的重传报文。因此,少量的TCP重传并不一定说明网络发生故障,而网络故障必然会导致大量的报文重传,因此可以通过一定时间内的重传数量大小来粗略判断网络是否发生故障。现有检测网络故障主要是在网络外部进行探测,当通信主机的TCP报文大量重传,得知网络出现故障时,在网络外部通过traceroute等手段来探测网络的连通性。但这种方法无法精确感知网络内部情况,还有多径等多种因素影响,准确性不高。因此,现有网络故障的检测方案准确率不高,效率太低。
技术实现思路
本专利技术实施例提供一种网络故障检测方法及装置,用以解决现有技术中网络故障检测准确率不高、效率低下的问题。一种网络故障检测方法,应用于交换设备的可编程交换芯片中,所述方法包括:所述可编程交换芯片对接收到的传输控制协议TCP报文进行数据流检测,获取所述TCP报文的五元组信息以及TCP序列号;当根据所述TCP报文的五元组信息找到对应的记录序列号时,判断所述TCP序列号是否大于所述记录序列号;若所述TCP序列号不大于所述记录序列号,则将所述五元组信息对应的重传次数加一,并将所述记录序列号更新为所述TCP序列号;判断所述重传次数是否大于预设重传次数阈值;若所述重传次数大于所述预设重传次数阈值,则将所述TCP报文确定为故障报文并发送给故障处理设备以进行故障处理。进一步地,当根据所述TCP报文的五元组信息未找到对应的记录序列号时,所述方法,还包括:将所述TCP报文的TCP序列号记录为所述五元组信息对应的记录序列号,并设置所述五元组信息对应的重传次数为0;所述五元组信息包括源IP、目的IP、协议号、目的端口号、源端口号。其中,所述将所述TCP报文的TCP序列号记录为所述五元组信息对应的记录序列号,并设置所述五元组信息对应的重传次数为0,具体为:将所述五元组信息进行哈希算法,得到五元组哈希值;分别将所述TCP序列号和初始化为0的重传次数存入以所述五元组哈希值为索引的两个缓存中。进一步地,在将所述TCP报文确定为故障报文并发送给故障处理设备以进行故障处理之后,所述方法,还包括:将所述五元组信息对应的重传次数清零。其中,所述将所述TCP报文确定为故障报文并发送给故障处理设备以进行故障处理,包括:将所述TCP报文确定为故障报文并复制给所述交换设备的CPU进行故障处理;或者将所述TCP报文确定为故障报文并镜像所述TCP报文至监控设备进行故障处理。一种网络故障检测装置,所述装置应用于交换设备的可编程交换芯片,包括:检测单元、第一判断单元、处理单元、第二判断单元、故障报文发送单元;其中,所述检测单元,用于对接收到的传输控制协议TCP报文进行数据流检测,获取所述TCP报文的五元组信息以及TCP序列号;所述第一判断单元,用于当根据所述TCP报文的五元组信息找到对应的记录序列号时,判断所述TCP序列号是否大于所述记录序列号;所述处理单元,用于若所述TCP序列号不大于所述记录序列号,则将所述五元组信息对应的重传次数加一,并将所述记录序列号更新为所述TCP序列号;所述第二判断单元,用于判断所述重传次数是否大于预设重传次数阈值;所述故障报文发送单元,用于若所述重传次数大于所述预设重传次数阈值,则将所述TCP报文确定为故障报文并发送给故障处理设备以进行故障处理。进一步地,所述装置,还包括:记录单元;用于当根据所述TCP报文的五元组信息未找到对应的记录序列号时,将所述TCP报文TCP序列号记录为所述五元组信息对应的记录序列号,并设置所述五元组信息对应的重传次数为0;所述五元组信息包括源IP、目的IP、协议号、目的端口号、源端口号。其中,所述记录单元,具体用于将所述五元组信息进行哈希算法,得到五元组哈希值;分别将所述TCP序列号和初始化为0的重传次数存入以所述五元组哈希值为索引的两个缓存中。进一步地,所述装置,还包括:清零单元,用于在故障报文发送单元将所述TCP报文确定为故障报文并发送给故障处理设备以进行故障处理之后,将所述五元组信息对应的重传次数清零。其中,所述故障报文发送单元,具体用于将所述TCP报文确定为故障报文并复制给所述交换设备的CPU进行故障处理;或者将所述TCP报文确定为故障报文并镜像所述TCP报文至监控设备进行故障处理。本专利技术有益效果如下:本专利技术实施例提供的网络故障检测方法及装置,交换设备的可编程交换芯片对接收到的TCP报文进行故障报文的检测,由于可编程交换芯片可在数据平面即可完成对报文的检测,因此所有的检测、判断逻辑都可在报文线速转发的过程中同时完成,既不会产生大量的额外带宽消耗,也不会对转发性能有任何影响。通过可编程交换芯片来进行故障报文的筛选,性能远远超过监控服务器使用CPU来进行故障报文判断,并且可编程交换芯片位于数据中心网络内部,不仅能感知到网络故障,并且准确率较高。附图说明图1为本专利技术实施例中网络故障检测方法的流程图;图2为本专利技术实施例中TCP报文的五元组信息、TCP序列号及重传次数的存储示意图;图3为本专利技术实施例中网络故障检测装置的结构示意图。具体实施方式对于数据中心网络内部,服务器只能通过重传TCP报文来尝试恢复连接,无法定位故障位置,因此亟需一种网络故障检测方法,能够及时发现TCP流的故障并进行定位。针对现有技术中存在的网络故障检测准确率低、效率不高的问题,本专利技术实施例提供的一种网络故障检测方法,该方法应用于交换设备的可编程交换芯片中先。本专利技术方法的流程如图1所示,执行步骤如下:步骤101,所述可编程交换芯片对接收到的传输控制协议TCP报文进行数据流检测,获取所述TCP报文的五元组信息以及TCP序列号;这里,所述可编程交换芯片具体可以为用于数据平面可编程的交换芯片,如P4(ProgrammingProtocol-IndependentPacketProcessors)可编程交换芯片。具体地,所述可编程交换芯片对TCP报文进行数据流检测,获得该TCP报文的五元组信息,并查询自身是否存有该五元组信息对应的记录序列号,若是,则执行步骤102,否则,所述方法,还包括:将所述TCP报文的TCP序列号记录为所述五元组信息对应的记录序列号,并设置所述五元组信息对应的重传次数为0;所述五元组信息包括源IP、目的IP、协议号、目的端口号、源端口号,这里,记录下的TCP序列号与五元组信息一一对应,即为前述五元组信息对应的记录序列号。进一步地,将所述TCP报文的TCP序列号记录为所述五元组信息对应的记录序列号,并设置所述五元组信息对应的重传次数为0,具体可以为:将所述五元组信息进行哈希算法,得到五元组哈希值;这里,对五元组信息进行处理的算法也可以不限于哈希算法,能实现同样功能的算法均可实现,本专利技术实施例并不对此进行限定。分别将所述TCP序列号和初始化为0的重传次数存入以所述五元组哈希值为索引的两个缓存(Register)中。例如,参考图2,新的数据流报文Packet进入,首先对该数据报文进行计算得到五元组hash值本文档来自技高网...

【技术保护点】
1.一种网络故障检测方法,其特征在于,应用于交换设备的可编程交换芯片中,所述方法包括:所述可编程交换芯片对接收到的传输控制协议TCP报文进行数据流检测,获取所述TCP报文的五元组信息以及TCP序列号;当根据所述TCP报文的五元组信息找到对应的记录序列号时,判断所述TCP序列号是否大于所述记录序列号;若所述TCP序列号不大于所述记录序列号,则将所述五元组信息对应的重传次数加一,并将所述记录序列号更新为所述TCP序列号;判断所述重传次数是否大于预设重传次数阈值;若所述重传次数大于所述预设重传次数阈值,则将所述TCP报文确定为故障报文并发送给故障处理设备以进行故障处理。

【技术特征摘要】
1.一种网络故障检测方法,其特征在于,应用于交换设备的可编程交换芯片中,所述方法包括:所述可编程交换芯片对接收到的传输控制协议TCP报文进行数据流检测,获取所述TCP报文的五元组信息以及TCP序列号;当根据所述TCP报文的五元组信息找到对应的记录序列号时,判断所述TCP序列号是否大于所述记录序列号;若所述TCP序列号不大于所述记录序列号,则将所述五元组信息对应的重传次数加一,并将所述记录序列号更新为所述TCP序列号;判断所述重传次数是否大于预设重传次数阈值;若所述重传次数大于所述预设重传次数阈值,则将所述TCP报文确定为故障报文并发送给故障处理设备以进行故障处理。2.根据权利要求1所述的方法,其特征在于,当根据所述TCP报文的五元组信息未找到对应的记录序列号时,所述方法,还包括:将所述TCP报文的TCP序列号记录为所述五元组信息对应的记录序列号,并设置所述五元组信息对应的重传次数为0;所述五元组信息包括源IP、目的IP、协议号、目的端口号、源端口号。3.根据权利要求2所述的方法,其特征在于,所述将所述TCP报文的TCP序列号记录为所述五元组信息对应的记录序列号,并设置所述五元组信息对应的重传次数为0,具体为:将所述五元组信息进行哈希算法,得到五元组哈希值;分别将所述TCP序列号和初始化为0的重传次数存入以所述五元组哈希值为索引的两个缓存中。4.根据权利要求1所述的方法,其特征在于,在将所述TCP报文确定为故障报文并发送给故障处理设备以进行故障处理之后,所述方法,还包括:将所述五元组信息对应的重传次数清零。5.根据权利要求1至4任一所述的方法,其特征在于,所述将所述TCP报文确定为故障报文并发送给故障处理设备以进行故障处理,包括:将所述TCP报文确定为故障报文并复制给所述交换设备的CPU进行故障处理;或者将所述TCP报文确定为故障报文并镜像所述TCP报文至监控设备进行故障处理。6.一种网络故障检测装置,其...

【专利技术属性】
技术研发人员:郑文楷
申请(专利权)人:锐捷网络股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1