CN108270602A - 一种数据链路的检测方法、装置及系统 - Google Patents
一种数据链路的检测方法、装置及系统 Download PDFInfo
- Publication number
- CN108270602A CN108270602A CN201611263404.5A CN201611263404A CN108270602A CN 108270602 A CN108270602 A CN 108270602A CN 201611263404 A CN201611263404 A CN 201611263404A CN 108270602 A CN108270602 A CN 108270602A
- Authority
- CN
- China
- Prior art keywords
- data link
- node
- address
- source
- request message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据链路的检测方法、装置及系统,涉及网络通信技术领域,其方法包括:源节点向目的节点发送数据链路检测请求报文;所述源节点接收所述数据链路检测请求报文对应的数据链路检测响应报文;所述源节点获取所述数据链路检测响应报文中的源IP地址,并依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种数据链路的检测方法、装置及系统。
背景技术
IPv4(Internet Protocol version 4,互联网协议版本4)是互联网当前所使用的网络层协议,到目前为止,IPv4运行良好稳定。但是,随着互联网及其上所提供的服务突飞猛进的发展,IPv4已经暴露出一些不足之处。IPv6(Internet Protocol version 6,互联网协议版本6)是网络层协议的第二代标准协议,也被称为IPng(IP next generation,下一代互联网),它是IETF(Internet Engineering Task Force,互联网工程任务组)设计的一套规范,是IPv4的升级版本。IPv6具有很多新特性,解决了IPv4很多不足,因此逐步引起越来越多的人的关注,成为新的热点。
IPv6相对于IPv4,除了提供巨大的地址空间外,还在很多方面进行了改进,譬如良好的扩展性。因为IPv6基本报头之后添加了扩展报头,IPv6可以很方便的实现功能扩展。IPv4报头中选项最多可以支持40个字节的选项,与IPv4报头中的选项不同,IPv6扩展报头没有最大长度的限制,因此可以容纳所有扩展数据。利用IPv6的这种扩展特性,可以对传统的数据链路检测方法进行改进。
传统的数据链路检测方法最常用的就是路由跟踪traceroute,目前traceroute数据链路检测的实现原理为:源节点向目的节点发送特定目的端口(该端口实际不可达)的UDP(User Datagram Protocol,用户数据报协议)报文,并且将跳限制设置为1,第一个路由设备收到该报文后将该报文的跳限制修改为0,由于跳限制为0,该路由设备不再继续转发该报文,相反,该路由设备将该数据报文丢弃,并且向源节点发送一份ICMP(InternetControl Message Protocol,Internet控制消息协议)超时报文,该ICMP超时报文的源地址为该路由设备的IP地址,这样源节点就可以知道转发路径上的第一个路由设备的IP地址。然后源节点继续发送一个跳限制为2的以上UDP报文,基于同样的原理,源节点就可以得到转发路径上的第二个路由设备的IP地址。继续这个过程,直到源节点发送的UDP报文到达目的节点,此时目的节点回应一份ICMP端口不可达的错误报文,源节点收到该ICMP端口不可达错误报文时,便可以判断出已经到达目的节点,整个trace过程结束。这样源节点便可以获得到达目的节点之间整个转发路径上的每个路由设备的IP地址。
如果中间路由设备到目的节点的路径发生中断,那么该路由设备在收到源节点发出的到达该路由设备跳限制已经变为1的UDP报文后,丢弃该UDP报文,同样回应ICMP超时报文,源节点在收到该ICMP超时报文后,获得该路由设备的IP地址,然后将UDP报文的跳限制增加1后再次发送,此时该UDP报文到达该路由设备时跳限制值为2,因此该路由设备查找下一跳路由准备转发该UDP报文,但由于该路由设备到达目的节点的路径已经中断,因此找不到下一跳转发该UDP报文,因此丢弃该UDP报文,但此时不会向源节点发送超时的ICMP报文,因此源节点重传多次该UDP报文后,继续将UDP报文的跳限制值进行递增,再次发送,如此反复,一直到源节点发出的UDP报文的跳限制值达到上限(一般为30),源节点认为trace超时,停止trace过程。这样源节点便可以获知到达目的节点的路径发生中断,并且可以获知发生中断的中间路由设备。
从上面的描述过程可以看出,传统的数据链路检测方法主要存在如下几个问题:
问题一、利用了跳限制的方式,在每次进行数据链路检测时和每个中间路由设备都需要进行一次或者多次检测报文和ICMP报文交互,浪费了网络带宽,延长了定位时间,特别是在数据链路发生中断的情况下,由于没有ICMP超时报文返回,需要源节点自身等待超时,非常浪费时间;
问题二、安全性问题,当中间路由设备需要自身产生报文并发送时,是非常消耗路由设备处理器资源的。恶意用户通过发送大量的这种数据链路检测报文,而且在发现路由设备回复ICMP超时报文的情况下,不增加跳限制的值,大量重复发送之前的检测报文攻击该路由设备,使得路由设备不得不处理大量的这种ICMP应答报文,从而大量消耗路由设备的资源,影响路由设备的正常转发工作。
发明内容
根据本发明实施例提供的方案解决的技术问题是数据链路检测的低效率和不安全。
根据本发明实施例提供的一种数据链路的检测方法,包括:
源节点向目的节点发送数据链路检测请求报文;
所述源节点接收所述数据链路检测请求报文对应的数据链路检测响应报文;
所述源节点获取所述数据链路检测响应报文中的源IP地址,并依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断。
优选地,所述源节点依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断包括:
所述源节点将所述源IP地址与所述目的节点的IP地址进行比较;
若所述源IP地址与所述目的节点的IP地址相同,则所述源节点确定所述数据链路未发生中断;
若所述源IP地址与所述目的节点的IP地址不同,则所述源节点确定所述数据链路发生中断。
优选地,在源节点向目的节点发送数据链路检测请求报文之后,所述方法还包括:
第一中间节点接收所述数据链路检测请求报文,并将所述第一中间节点的IP地址添加到所述数据链路检测请求报文;
所述第一中间节点将生成的数据链路检测请求报文转发给下一节点;
其中,所述第一中间节点与所述第一中间节点的下一节点之间的数据链路处于未中断状态。
优选地,在源节点向目的节点发送数据链路检测请求报文之后,所述方法还包括:
第二中间节点接收所述数据链路检测请求报文;
所述第二中间节点依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点;
其中,所述第二中间节点与所述第二中间节点的下一节点之间的数据链路处于中断状态。
优选地,所述第二中间节点依据所述数据链路检测请求报文生成所述数据链路检测响应报文包括:
所述第二中间节点将所述第二中间节点的IP地址作为所述数据链路检测请求报文的源IP地址,将所述源节点的IP地址作为所述数据链路检测请求报文的目的IP地址,生成所述数据链路检测响应报文。
根据本发明实施例提供的一种数据链路的检测装置,包括:
发送模块,用于向目的节点发送数据链路检测请求报文;
接收模块,用于接收所述数据链路检测请求报文对应的数据链路检测响应报文;
确定模块,用于获取所述数据链路检测响应报文中的源IP地址,并依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断。
优选地,所述确定模块包括:
比较单元,用于将所述源IP地址与所述目的节点的IP地址进行比较;
确定单元,用于当所述源IP地址与所述目的节点的IP地址相同,则确定所述数据链路未发生中断,以及当所述响应源IP地址与所述目的节点的IP地址不同,则确定所述数据链路发生中断。
优选地,所述装置还包括第一中间节点,具体包括:
添加单元,用于接收所述数据链路检测请求报文,并将其IP地址添加到所述数据链路检测请求报文;
发送单元,用于将生成的数据链路检测请求报文转发给下一节点;
其中,所述第一中间节点与所述第一中间节点的下一节点之间的数据链路处于未中断状态。
优选地,所述装置还包括第二中间节点,具体包括:
接收单元,用于接收所述数据链路检测请求报文;
生成报文单元,用于依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点;
其中,所述第二中间节点与所述第二中间节点的下一节点之间的数据链路处于中断状态。
优选地,所述生成报文单元具体用于将所述第二中间节点的IP地址作为所述数据链路检测请求报文的源IP地址,将所述源节点的IP地址作为所述数据链路检测请求报文的目的IP地址,生成所述数据链路检测响应报文。
根据本发明实施例提供的一种数据链路的检测系统,包括:
源节点,用于通过向目的节点发送数据链路检测请求报文,接收所述数据链路检测请求报文对应的数据链路检测响应报文,并获取所述数据链路检测响应报文中的源IP地址,依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断;
中间路由节点,用于接收源节点向目的节点发送的所述数据链路检测请求报文,将其IP地址添加到所述数据链路检测请求报文,并转发给下一节点,或者依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点;
目的节点,用于所述源节点到所述目的节点之间的数据链路未发生中断时,接收源节点向目的节点发送的所述数据链路检测请求报文,依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点。
优选地,所述源节点具体用于将所述源IP地址与所述目的节点的IP地址进行比较,当所述源IP地址与所述目的节点的IP地址相同,则确定所述数据链路未发生中断,以及当所述源IP地址与所述目的节点的IP地址不同,则确定所述数据链路发生中断。
根据本发明实施例提供的方案,使得源节点在发送一次数据链路检测报文后,就能准确的获得源节点到目的节点的完整转发路径,当源节点和目的节点之间数据链路中断时,能够准确的获知发生中断的路由设备,以实现提高数据链路检测效率,节省网络带宽,减少检测延迟,提高网络安全性的目的。
附图说明
图1是本发明实施例提供的一种数据链路的检测方法的流程图;
图2是本发明实施例提供的一种数据链路的检测装置的示意图;
图3是本发明实施例提供的IPv6数据链路检测请求报文的报文格式示意图;
图4是本发明实施例提供的IPv6数据链路检测响应报文的报文格式示意图;
图5是本发明实施例提供的IPv6数据链路检测方法获取完整转发路径示意图;
图6是本发明实施例提供的IPv6数据链路检测方法获取路径中断节点示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的一种数据链路的检测方法的流程图,如图1所示,包括:
步骤S101:源节点向目的节点发送数据链路检测请求报文;
步骤S102:所述源节点接收所述数据链路检测请求报文对应的数据链路检测响应报文;
步骤S103:所述源节点获取所述数据链路检测响应报文中的源IP地址,并依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断。
其中,所述源节点依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断包括:所述源节点将所述源IP地址与所述目的节点的IP地址进行比较;若所述源IP地址与所述目的节点的IP地址相同,则所述源节点确定所述数据链路未发生中断;若所述源IP地址与所述目的节点的IP地址不同,则所述源节点确定所述数据链路发生中断。
其中,在源节点向目的节点发送数据链路检测请求报文之后,所述方法还包括:第一中间节点接收所述数据链路检测请求报文,并将所述第一中间节点的IP地址添加到所述数据链路检测请求报文;所述第一中间节点将生成的数据链路检测请求报文转发给下一节点;其中,所述第一中间节点与所述第一中间节点的下一节点之间的数据链路处于未中断状态。
其中,在源节点向目的节点发送数据链路检测请求报文之后,所述方法还包括:第二中间节点接收所述数据链路检测请求报文;所述第二中间节点依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点;其中,所述第二中间节点与所述第二中间节点的下一节点之间的数据链路处于中断状态。具体地说,所述第二中间节点依据所述数据链路检测请求报文生成所述数据链路检测响应报文包括:所述第二中间节点将所述第二中间节点的IP地址作为所述数据链路检测请求报文的源IP地址,将所述源节点的IP地址作为所述数据链路检测请求报文的目的IP地址,生成所述数据链路检测响应报文。
图2是本发明实施例提供的一种数据链路的检测装置的示意图,如图2所示,包括:发送模块201,用于向目的节点发送数据链路检测请求报文;接收模块202,用于接收所述数据链路检测请求报文对应的数据链路检测响应报文;确定模块203,用于获取所述数据链路检测响应报文中的源IP地址,并依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断。
其中,所述确定模块203包括:比较单元,用于将所述源IP地址与所述目的节点的IP地址进行比较;确定单元,用于当所述源IP地址与所述目的节点的IP地址相同,则确定所述数据链路未发生中断,以及当所述响应源IP地址与所述目的节点的IP地址不同,则确定所述数据链路发生中断。
本发明是实施例还包括第一中间节点,具体包括:添加单元,用于接收所述数据链路检测请求报文,并将其IP地址添加到所述数据链路检测请求报文;发送单元,用于将生成的数据链路检测请求报文转发给下一节点;其中,所述第一中间节点与所述第一中间节点的下一节点之间的数据链路处于未中断状态。
本发明实施例还包括第二中间节点,具体包括:接收单元,用于接收所述数据链路检测请求报文;生成报文单元,用于依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点;其中,所述第二中间节点与所述第二中间节点的下一节点之间的数据链路处于中断状态。具体地说,所述生成报文单元具体用于将所述第二中间节点的IP地址作为所述数据链路检测请求报文的源IP地址,将所述源节点的IP地址作为所述数据链路检测请求报文的目的IP地址,生成所述数据链路检测响应报文。
本发明实施例提供一种IPv6的数据链路检测系统,包括:
源节点,用于通过向目的节点发送数据链路检测请求报文,接收所述数据链路检测请求报文对应的数据链路检测响应报文,并获取所述数据链路检测响应报文中的源IP地址,依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断;
中间路由节点,用于接收源节点向目的节点发送的所述数据链路检测请求报文,将其IP地址添加到所述数据链路检测请求报文,并转发给下一节点,或者依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点;
目的节点,用于所述源节点到所述目的节点之间的数据链路未发生中断时,接收源节点向目的节点发送的所述数据链路检测请求报文,依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点。
其中,所述源节点具体用于将所述源IP地址与所述目的节点的IP地址进行比较,当所述源IP地址与所述目的节点的IP地址相同,则确定所述数据链路未发生中断,以及当所述源IP地址与所述目的节点的IP地址不同,则确定所述数据链路发生中断。
其中源节点、中间路由设备以及目的节点分别执行的以下步骤:
a、源节点向目的节点发送数据链路检测请求报文,强制或推荐源节点到目的节点链路中的各中间路由设备均需要对所述数据链路检测请求报文进行处理;
b、各中间路由设备接收到数据链路检测请求报文后,均将其接收到该报文的接口的IPv6地址反映在数据链路检测请求报文中,然后进行转发;
c、目的节点接收到数据链路检测请求报文后,将其接收到该报文的接口的IPv6地址反映在数据链路检测请求报文中,并向源节点发送数据链路检测响应报文,将数据链路检测请求报文中承载的数据转发路径信息发送至源节点;
d、源节点根据其接收到的数据链路检测响应报文,判断为目的节点的响应报文,提取出到目的节点之间的数据转发路径,提交给上层应用做进一步用途;
e、如果源节点和目的节点之间的数据链路发生中断,中断处的路由设备,将其接收到数据链路检测请求报文的接口的IPv6地址反映在请求报文中,并向源节点发送数据链路检测响应报文,将数据链路请求报文中承载的数据转发路径信息发送至源节点;
f、源节点根据其接收到的数据链路检测响应报文,判断为中间路由设备的响应报文,提取出数据链路检测响应报文中的数据转发路径,获取中断点,提交给上层应用做进一步用途。
其中,所述步骤a中IPv6数据链路检测请求报文为:设置有IPv6逐跳选项的数据报文。所述IPv6逐跳选项的选项类型的高位的前两比特位为:00,高位的第3比特位为1,且所述IPv6逐跳选项的选项数据为:IPv6地址值
所述步骤a具体包括:
源节点在上层应用要求探测至目的节点的转发路径时,或探测至目的节点转发路径上的中断节点时,或按照设置的预定时间间隔,在预定时间间隔超时后,源节点确定需要向目的节点发出数据链路检测请求报文。
源节点在确定需要向目的节点发送数据链路检测请求报文时,根据目的节点的IPv6地址和自身的路由表,确定发送数据链路检测请求报文的接口,并将该接口的IPv6地址填写在所述数据链路检测请求报文逐跳选项的选项数据部分。
所述步骤b具体包括:
中间路由设备接收到所述数据链路检测请求报文,检查逐跳选项的选项类型,确定为数据链路检测请求报文,将自己收到检测请求报文的接口的IPv6地址附加到所述数据链路检测请求报文逐跳选项的选项数据中,然后根据路由转发表继续转发数据链路检测请求报文。
其中,所述步骤c中IPv6数据链路检测响应报文为:设置有IPv6逐跳选项的数据报文。所述IPv6逐跳选项的选项类型的高位的前两比特位为:00,高位的第3比特位为0,且所述IPv6逐跳选项头选项数据为:拷贝数据链路检测请求报文逐跳选项的选项数据。
所述步骤c具体包括:
目的端节点接收到所述数据链路检测请求报文,检查逐跳选项的选项类型,确定为数据链路检测请求报文,将自己收到检测请求报文的接口的IPv6地址附加到该选项类型的选项数据中,并对检测请求报文进行响应,只需要将所述检测请求报文的目的IPV6地址和源IPV6地址对调,并修改检测请求报文中逐跳选项的选项类型为检测响应报文的类型,然后将此响应报文发送给源节点。
所述步骤d具体包括:
源节点接收到所述数据链路检测响应报文,检查逐跳选项的选项类型,确定为数据链路检测响应报文,提取所述数据链路检测响应报文逐跳选项中的选项数据,如果选项数据中最后一个IPv6地址和响应报文的源地址一致,则判断此响应报文为目的节点所响应的,根据提取的选项数据中的信息,便可以获得源节点到目的节点的完整转发路径。
所述步骤e具体包括:
如果源节点和目的节点之间的数据链路发生中断,中断处的路由设备接收到所述数据链路检测请求报文,检查逐跳选项的选项类型,确定为数据链路检测请求报文,将自己收到检测请求报文的接口的IPv6地址附加到所述数据链路检测请求报文逐跳选项的选项数据中,并对检测请求报文进行响应,只需要将所述检测请求报文的目的IPV6地址和源IPV6地址对调,并修改检测请求报文中逐跳选项的选项类型为检测响应报文的类型,然后将此响应报文发送给源节点。
所述步骤f具体包括:
源节点接收到所述数据链路检测响应报文,检查逐跳选项的选项类型,确定为数据链路检测响应报文,提取所述数据链路检测响应报文逐跳选项中的选项数据,如果选项数据中最后一个IPv6地址和响应报文的源地址不一致,则判断此响应报文为中间路由设备所响应的,根据提取的选项数据中的信息,便可以获得源节点到中断处路由设备的的转发路径,并判断出中断路由节点。
下面结合附图3至附图6对本发明实施例进行进一步的说明。
如图5所示,描述了获取源节点和目的节点之间完整转发路径的一个实例。设定源节点和目的节点均为PC终端,即PCA和PCB,源节点和目的节点之间设置有2个路由器,即路由器RTA,路由器RTB。
5.1、当上层应用需要获取到目的节点PCB的完整转发路径,或者需要诊断到目的节点PCB的转发路径是否正常,并在不正常时进一步获取中断节点,或者预设的检测周期定时器超时时,源节点PCA确定需要发送到目的节点PCB的DLDReq(Data Link DetectionRequest,数据链路检测请求)报文。
IPv6数据链路检测请求报文的结构如图3所示,除了正常的IPv6固定头部字段外,增加了一个IPv6逐跳选项头(Hop-by-Hop Options Header)。所述IPv6逐跳选项头包括Option Type、Opt Data Len、the first IPv6Address、……以及the last IPv6Address。其中,IPv6逐跳选项头的选项类型(option-type)的高位的前两比特为00,表示当网络设备不识别此选项时跳过此选项的处理,这样,有效的保证了DLDReq报文能够被正常转发;高位的第3比特位为1,表示从源节点到目的节点的中间路径上各中间路由设备可以更改选项数据。本发明对选项类型中的其他比特位没有限制,如本发明可以将IPv6选项头的选项类型设置为53,即二进制的00110101。
本发明实施例需要保证数据链路请求报文的大小不超过IPv6协议所规定的IPv6链路的最小MTU(Maximum Transmission Unit,最大传输单元)值即1280字节,整个IPv6报文长度不大于1280就不会在链路上被丢弃,从而使该数据链路检测请求报文能够正常到达目的节点。因此对于数据链路检测请求报文中承载的静荷数据建议应该尽量的小,建议不超过16字节,这样按照数据链路检测请求报文不大于1280字节计算,在逐跳选项的选项数据部分最大可以承载75个IPv6地址,可以满足正常路由跟踪需求。
在源节点PCA发送DLDReq报文时,请求报文中的选项数据添加第一个IPv6地址值,该IPv6地址应该设置为源节点PCA向目的节点PCB发出此请求报文的出接口的IPv6地址值。
5.2、路由器RTA接收到该DLDReq报文后,由于该请求报文带有IPv6逐跳选项头,所以,路由器RTA需要对此数据报文进行处理。路由器RTA对请求报文的具体处理方法为:接收到请求报文,判断携带有逐跳选项头,对该逐跳选项头进行处理,根据该逐跳选项头的选项类型,判断为数据链路请求报文,由于该选项类型的高位的第3比特为1,因此路由器RTA可以修改该选项类型对应的选项数据,于是路由器RTA将接收到该请求报文的接口Port1的IPv6地址附加到该选项类型对应的选项数据中(此时选项数据中包含了PCA的IPv6地址和RTA Port1的IPv6地址),然后路由器RTA根据路由表,确定该请求报文的目的地址对应的出接口,从该出接口将该DLDReq报文转发出去。
5.3、路由器RTB接收到DLDReq报文后,和路由器RTA的处理方式一样,将自己接收到DLDReq报文的接口Port1的IPv6地址附加到DLDReq报文逐跳选项的选项数据中(此时选项数据中包含了PCA的IPv6地址,RTA Port1的IPv6地址和RTB Port1的IPv6地址),然后根据目的地址和路由表继续转发DLDReq报文。
5.4、目的节点PCB接收到DLDReq报文后,初始和步骤5.2和5.3中的RTA/RTB的处理方式一样,将自己接收到DLDReq报文的接口的IPv6地址附加到DLDReq报文逐跳选项的选项数据中(此时选项数据中包含了PCA的IPv6地址,RTA Port1的IPv6地址,RTB Port1的IPv6地址和PCB的IPv6地址),然后对DLDReq报文进行响应,按照以下方法构造数据链路检测响应报文。
数据链路检测响应报文的结构如图4所示。
目的节点PCB构造数据链路检测响应报文的方法为:将目的节点PCB接收到的数据链路检测请求报文的源地址和目的地址对调,并将IPv6逐跳选项中的选项类型中的高位的前3比特设置为000,表示目的节点PCB到源节点PCA的路径上的各路由设备不可以更改此选项数据。本发明对数据链路检测响应报文的选项类型的其他比特位的取值没有限制,如与以上数据链路检测请求报文相对应,数据链路检测响应报文的选项类型设置为21。数据链路检测响应报文的选项数据直接拷贝请求报文中的选项数据。
构造好数据链路检测响应报文后,目的节点PCB根据该报文目的地址(图中源节点PCA地址)发送DLDRes(Data Link Detection Response,数据链路检测响应)报文(此时选项数据中包含了PCA的IPv6地址,RTA Port1的IPv6地址,RTB Port1的IPv6地址和PCB的IPv6地址)。
5.5、路由器RTB接收到DLDRes报文后,由于该响应报文带有IPv6逐跳选项头,所以,路由器RTB需要对此数据报文进行处理。路由器RTB对响应报文的具体处理方法为:接收到响应报文,判断携带有逐跳选项头,对该逐跳选项头进行处理,根据该逐跳选项头的选项类型,判断为数据链路响应报文,由于该选项类型的高位的第3比特为0,因此路由器RTB不对选项数据做任何修改,然后路由器RTB根据路由表,确定该响应报文的目的地址对应的出接口,从该出接口将该DLDRes报文转发出去。
5.6、路由器RTA接收到DLDRes报文后,处理方式和路由器RTB一样,不对响应报文做任何修改,直接转发。
5.7、源节点PCA接收到DLDRes报文后,对该响应报文进行处理:接收到响应报文,判断携带有逐跳选项头,对该逐跳选项头进行处理,根据该逐跳选项头的选项类型,判断为数据链路响应报文,提取逐跳选项头中的选项数据部分,即源节点PCAA IPv6地址->路由器RTA Port1IPv6地址->路由器RTB Port1IPv6地址->PCB IPv6地址,通过对DLDRes报文源IPv6地址和提取出来的转发路径的最后一个IPv6地址的对比,由于都是目的节点PCB的IPv6地址,因此源节点PCA认为到目的节点PCB的路径可达,提取出的转发路径为源节点PCA到目的节点PCB之间的完整转发路径,并提交给上层应用进行显示或者用于进一步分析,如分析源节点PCA到目的节点PCB之间路由的稳定性。
如图6所示,描述了本发明在源节点和目的节点之间发生链路中断,获取转发路径中中断节点的一个实例。设定源节点和目的节点均为PC终端,即PCA和PCB,源节点PCA和目的节点PCB之间设置有3个路由器,即路由器RTA,路由器RTB,路由器RTC,路由器RTB和路由器RTC之间发生中断。
6.1、同步骤5.1一样,源节点PCA发出DLDReq报文。
6.2、路由器RTA在接收到DLDReq报文后,同步骤5.2一样,在DLDReq报文中的逐跳选项中的选项类型为53的选项数据中附加上自己Port1的IPv6地址(此时选项数据中包含了PCA的IPv6地址,RTA Port1的IPv6地址),然后根据目的地址和路由表转发DLDReq报文。
6.3、路由器RTB接收到DLDReq报文后,同步骤5.3一样,在DLDReq报文中的逐跳选项中的选项类型为53的选项数据中附加上自己Port1的IPv6地址(此时选项数据中包含了PCA的IPv6地址,RTA Port1的IPv6地址和RTB Port1的IPv6地址),然后根据目的地址和路由表转发DLDReq报文,但由于路由器RTB和路由器RTC之间的链路中断,路由器RTB中没有到达目的节点PCB所在网段的路由,因此无法转发DLDReq报文,因此路由器RTB负责对该请求报文进行响应。
RTB构造数据链路检测响应报文的方法和5.4中目的节点PCB构造数据链路检测响应报文的方法完全一致。
构造好数据链路检测响应报文后,目的节点PCB根据该报文目的地址(图中源节点PCA地址)发送DLDRes报文(此时选项数据中包含了PCA的IPv6地址,RTA Port1的IPv6地址和RTB Port1的IPv6地址)。
6.4、路由器RTA接收到DLDRes报文后,同步骤5.6一样,不对响应报文做任何修改,直接转发。
6.5、源节点PCA接收到DLDRes报文后,同步骤5.7一样,对该响应报文进行处理,提取逐跳选项头中的选项数据部分,即源节点PCAA IPv6地址->路由器RTA Port1IPv6地址->路由器RTB Port1IPv6地址,通过对DLDRes报文源IPv6地址(目的节点PCB的IPv6地址)和提取出来的转发路径的最后一个IPv6地址(路由器RTB Port1的IPv6地址)的对比,由于两个地址不一样,因此源节点PCA认为到目的节点PCB的路径发生中断,提取出的转发路径为源节点PCA到目的节点PCB之间的部分转发路径,并可知中断发生在路由器RTB上,将结果提交给上层应用进行显示或者用于进一步分析。
根据本发明实施例提供的方案,通过使源节点,各中间路由节点和目的节点均将其各自的特定接口IPv6地址反映在数据链路检测请求报文中,使源节点能够在一次发送数据报文后,准确获知其与目的节点之间完整转发路径,并在链路中断的时候,准确获知中断路由节点,避免了现有的traceroute技术源节点需要多次发送数据报文,才能达到同样目的现象,保证了网络的最佳吞吐量。同时本发明中的网络中各节点不需要生成并发送ICMP应答报文,有效避免了恶意用户的网络攻击,提高了网络安全性。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (12)
1.一种数据链路的检测方法,其特征在于,包括:
源节点向目的节点发送数据链路检测请求报文;
所述源节点接收所述数据链路检测请求报文对应的数据链路检测响应报文;
所述源节点获取所述数据链路检测响应报文中的源IP地址,并依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断。
2.根据权利要求1所述的方法,其特征在于,所述源节点依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断包括:
所述源节点将所述源IP地址与所述目的节点的IP地址进行比较;
若所述源IP地址与所述目的节点的IP地址相同,则所述源节点确定所述数据链路未发生中断;
若所述源IP地址与所述目的节点的IP地址不同,则所述源节点确定所述数据链路发生中断。
3.根据权利要求1所述的方法,其特征在于,在源节点向目的节点发送数据链路检测请求报文之后,所述方法还包括:
第一中间节点接收所述数据链路检测请求报文,并将所述第一中间节点的IP地址添加到所述数据链路检测请求报文;
所述第一中间节点将生成的数据链路检测请求报文转发给下一节点;
其中,所述第一中间节点与所述第一中间节点的下一节点之间的数据链路处于未中断状态。
4.根据权利要求1所述的方法,其特征在于,在源节点向目的节点发送数据链路检测请求报文之后,所述方法还包括:
第二中间节点接收所述数据链路检测请求报文;
所述第二中间节点依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点;
其中,所述第二中间节点与所述第二中间节点的下一节点之间的数据链路处于中断状态。
5.根据权利要求4所述的方法,其特征在于,所述第二中间节点依据所述数据链路检测请求报文生成所述数据链路检测响应报文包括:
所述第二中间节点将所述第二中间节点的IP地址作为所述数据链路检测请求报文的源IP地址,将所述源节点的IP地址作为所述数据链路检测请求报文的目的IP地址,生成所述数据链路检测响应报文。
6.一种数据链路的检测装置,其特征在于,包括:
发送模块,用于向目的节点发送数据链路检测请求报文;
接收模块,用于接收所述数据链路检测请求报文对应的数据链路检测响应报文;
确定模块,用于获取所述数据链路检测响应报文中的源IP地址,并依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断。
7.根据权利要求6所述的装置,其特征在于,所述确定模块包括:
比较单元,用于将所述源IP地址与所述目的节点的IP地址进行比较;
确定单元,用于当所述源IP地址与所述目的节点的IP地址相同,则确定所述数据链路未发生中断,以及当所述响应源IP地址与所述目的节点的IP地址不同,则确定所述数据链路发生中断。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括第一中间节点,具体包括:
添加单元,用于接收所述数据链路检测请求报文,并将其IP地址添加到所述数据链路检测请求报文;
发送单元,用于将生成的数据链路检测请求报文转发给下一节点;
其中,所述第一中间节点与所述第一中间节点的下一节点之间的数据链路处于未中断状态。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括第二中间节点,具体包括:
接收单元,用于接收所述数据链路检测请求报文;
生成报文单元,用于依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点;
其中,所述第二中间节点与所述第二中间节点的下一节点之间的数据链路处于中断状态。
10.根据权利要求9所述的装置,其特征在于,所述生成报文单元具体用于将所述第二中间节点的IP地址作为所述数据链路检测请求报文的源IP地址,将所述源节点的IP地址作为所述数据链路检测请求报文的目的IP地址,生成所述数据链路检测响应报文。
11.一种数据链路的检测系统,其特征在于,包括:
源节点,用于通过向目的节点发送数据链路检测请求报文,接收所述数据链路检测请求报文对应的数据链路检测响应报文,并获取所述数据链路检测响应报文中的源IP地址,依据所述源IP地址确定所述源节点到所述目的节点之间的数据链路是否发生中断;
中间路由节点,用于接收源节点向目的节点发送的所述数据链路检测请求报文,将其IP地址添加到所述数据链路检测请求报文,并转发给下一节点,或者依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点;
目的节点,用于所述源节点到所述目的节点之间的数据链路未发生中断时,接收源节点向目的节点发送的所述数据链路检测请求报文,依据所述数据链路检测请求报文生成所述数据链路检测响应报文,并发送给所述源节点。
12.根据权利要求11所述的方法,其特征在于,所述源节点具体用于将所述源IP地址与所述目的节点的IP地址进行比较,当所述源IP地址与所述目的节点的IP地址相同,则确定所述数据链路未发生中断,以及当所述源IP地址与所述目的节点的IP地址不同,则确定所述数据链路发生中断。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611263404.5A CN108270602B (zh) | 2016-12-30 | 2016-12-30 | 一种数据链路的检测方法、装置及系统 |
PCT/CN2017/118934 WO2018121589A1 (zh) | 2016-12-30 | 2017-12-27 | 数据链路的检测方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611263404.5A CN108270602B (zh) | 2016-12-30 | 2016-12-30 | 一种数据链路的检测方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108270602A true CN108270602A (zh) | 2018-07-10 |
CN108270602B CN108270602B (zh) | 2022-07-08 |
Family
ID=62710859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611263404.5A Active CN108270602B (zh) | 2016-12-30 | 2016-12-30 | 一种数据链路的检测方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108270602B (zh) |
WO (1) | WO2018121589A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110519114A (zh) * | 2019-07-11 | 2019-11-29 | 视联动力信息技术股份有限公司 | 一种基于视联网的数据链路查询方法及系统 |
CN110875855A (zh) * | 2018-08-30 | 2020-03-10 | 北京华为数字技术有限公司 | 检测网络链路状态的方法和网络设备 |
CN112583897A (zh) * | 2020-11-30 | 2021-03-30 | 北京百度网讯科技有限公司 | 规则引擎的数据目的地创建方法、装置、电子设备和存储介质 |
CN112688826A (zh) * | 2019-10-18 | 2021-04-20 | 中车株洲电力机车研究所有限公司 | 链路诊断方法、终端设备、链路诊断系统和存储介质 |
CN114363253A (zh) * | 2021-12-23 | 2022-04-15 | 南京中新赛克科技有限责任公司 | 一种基于混合链路的双向ip资源的筛选方法及系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111682978A (zh) * | 2020-05-21 | 2020-09-18 | 河南理工大学 | 一种网络通信增强方法及系统 |
CN112367179B (zh) * | 2020-09-25 | 2022-03-29 | 新华三信息安全技术有限公司 | 一种链路切换方法及装置 |
CN114448822A (zh) * | 2022-01-21 | 2022-05-06 | 中国电子信息产业集团有限公司第六研究所 | 节点探测数据表示方法、装置、电子设备及存储介质 |
CN115933615B (zh) * | 2023-01-03 | 2024-06-14 | 重庆长安汽车股份有限公司 | 车辆控制器测试方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217378A (zh) * | 2011-05-27 | 2011-10-12 | 华为技术有限公司 | 探测路径信息的方法、设备及系统 |
CN102238084A (zh) * | 2011-05-03 | 2011-11-09 | 福建星网锐捷网络有限公司 | 一种跨域报文的转发方法、装置、路由设备和客户端 |
CN102347903A (zh) * | 2011-10-13 | 2012-02-08 | 北京星网锐捷网络技术有限公司 | 一种数据报文转发方法、装置及系统 |
CN104301912A (zh) * | 2014-09-28 | 2015-01-21 | 北京盈进科技有限公司 | 一种路径通断的检测方法和装置 |
WO2016082588A1 (zh) * | 2014-11-26 | 2016-06-02 | 中兴通讯股份有限公司 | 链路连通性检测方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102263672A (zh) * | 2010-05-26 | 2011-11-30 | 华为技术有限公司 | 一种ieee 1588链路检测方法、系统和ieee 1588链路装置 |
CN102035694A (zh) * | 2010-12-20 | 2011-04-27 | 中兴通讯股份有限公司 | 链路检测装置及方法 |
CN102404171A (zh) * | 2011-11-24 | 2012-04-04 | 中兴通讯股份有限公司 | 以太网链路检测方法及装置 |
-
2016
- 2016-12-30 CN CN201611263404.5A patent/CN108270602B/zh active Active
-
2017
- 2017-12-27 WO PCT/CN2017/118934 patent/WO2018121589A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238084A (zh) * | 2011-05-03 | 2011-11-09 | 福建星网锐捷网络有限公司 | 一种跨域报文的转发方法、装置、路由设备和客户端 |
CN102217378A (zh) * | 2011-05-27 | 2011-10-12 | 华为技术有限公司 | 探测路径信息的方法、设备及系统 |
CN102347903A (zh) * | 2011-10-13 | 2012-02-08 | 北京星网锐捷网络技术有限公司 | 一种数据报文转发方法、装置及系统 |
CN104301912A (zh) * | 2014-09-28 | 2015-01-21 | 北京盈进科技有限公司 | 一种路径通断的检测方法和装置 |
WO2016082588A1 (zh) * | 2014-11-26 | 2016-06-02 | 中兴通讯股份有限公司 | 链路连通性检测方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110875855A (zh) * | 2018-08-30 | 2020-03-10 | 北京华为数字技术有限公司 | 检测网络链路状态的方法和网络设备 |
CN110519114A (zh) * | 2019-07-11 | 2019-11-29 | 视联动力信息技术股份有限公司 | 一种基于视联网的数据链路查询方法及系统 |
CN112688826A (zh) * | 2019-10-18 | 2021-04-20 | 中车株洲电力机车研究所有限公司 | 链路诊断方法、终端设备、链路诊断系统和存储介质 |
CN112688826B (zh) * | 2019-10-18 | 2022-05-20 | 中车株洲电力机车研究所有限公司 | 链路诊断方法、终端设备、链路诊断系统和存储介质 |
CN112583897A (zh) * | 2020-11-30 | 2021-03-30 | 北京百度网讯科技有限公司 | 规则引擎的数据目的地创建方法、装置、电子设备和存储介质 |
CN114363253A (zh) * | 2021-12-23 | 2022-04-15 | 南京中新赛克科技有限责任公司 | 一种基于混合链路的双向ip资源的筛选方法及系统 |
CN114363253B (zh) * | 2021-12-23 | 2024-04-02 | 南京中新赛克科技有限责任公司 | 一种基于混合链路的双向ip资源的筛选方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2018121589A1 (zh) | 2018-07-05 |
CN108270602B (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108270602A (zh) | 一种数据链路的检测方法、装置及系统 | |
CN103401726B (zh) | 网络路径探测方法及装置、系统 | |
CN101573927B (zh) | 网络系统中的路径最大传输单元发现 | |
KR101253390B1 (ko) | 라우터 검출 | |
US7782796B2 (en) | Method for generating an annotated network topology | |
CN102340451B (zh) | 一种跟踪路由测试方法、系统、装置及设备 | |
CN113411260B (zh) | 一种IPv6网络中数据报文的发送方法及装置 | |
US9825855B2 (en) | Information processing apparatus and route setting method | |
JP2011520168A (ja) | ネットワーク性能データを収集し解析する方法 | |
CN107947994B (zh) | 网络拓扑自发现方法、装置、网络设备及计算机存储介质 | |
CN103117930B (zh) | 静态路由配置的检测方法和装置 | |
CN105009529A (zh) | 一种处理报文的方法和转发器 | |
US12047258B2 (en) | Clock skew determination in a network | |
CN101815028A (zh) | 组播路由跟踪的方法、系统和路由设备 | |
US8593997B2 (en) | Full duplex/half duplex mismatch detecting method and full duplex/half duplex mismatch detecting apparatus applicable with the method | |
CN102739462B (zh) | 一种测试报文的发送方法以及装置 | |
JP2006174451A (ja) | 複数のノードを含むワイヤレスネットワークにおいてルートを追跡する方法及びルートを追跡するように構成されるノードのワイヤレスネットワーク | |
US20170171092A1 (en) | Network analysis and monitoring tool | |
CN108924000B (zh) | 一种基于tcp协议实现的新型网络路径探测方法 | |
CN109274551A (zh) | 一种精确高效的工控资源定位方法 | |
Srinivasan et al. | M-coop: A scalable infrastructure for network measurement | |
CN108923978A (zh) | 一种自组网节点信号强度分析方法 | |
US20080172456A1 (en) | Method for detecting the ipv6 network application layer protocol | |
JP6591950B2 (ja) | 集中式コントロールプレーンに基づくパス状態の報告演算方法 | |
CN105025028B (zh) | 基于流量分析的ip黑洞发现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |