一种测试报文的发送方法以及装置.pdf

上传人:a*** 文档编号:4298999 上传时间:2018-09-13 格式:PDF 页数:19 大小:588.61KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110088580.0

申请日:

2011.04.08

公开号:

CN102739462A

公开日:

2012.10.17

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/26申请日:20110408|||公开

IPC分类号:

H04L12/26; H04L12/56

主分类号:

H04L12/26

申请人:

中国移动通信集团公司

发明人:

黄璐

地址:

100032 北京市西城区金融大街29号

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司 11291

代理人:

郭润湘

PDF下载: PDF下载
内容摘要

本发明公开了一种测试报文的发送方法以及装置,主要包括:第一路由设备接收由源主机发送或由第二路由设备转发的来自源主机的第一测试报文;第一路由设备确定到达第一测试报文携带的目的主机地址的路由网段被添加设定标识;第一路由设备在确定第一测试报文满足携带的TTL大于1、且作为第一路由设备下一跳的第三路由设备可达的转发条件时,将第一测试报文转发给第三路由设备;第一路由设备在确定第一测试报文携带的TTL大于1、且作为第一路由设备下一跳的第三路由设备不可达时,丢弃第一测试报文。采用该技术方案进行测试报文的发送,源主机能够定位出路由路径上的故障位置。

权利要求书

权利要求书1.  一种测试报文的发送方法,其特征在于,包括:第一路由设备接收由源主机发送或由第二路由设备转发的来自所述源主机的第一测试报文;其中,若所述第一测试报文由所述第二路由设备转发,则所述第一测试报文是所述源主机在接收到所述第一路由设备针对与所述第一测试报文具有相同目的主机地址的第二测试报文反馈的生存时间TTL超时的报文响应后发送的;第一路由设备确定到达所述第一测试报文携带的目的主机地址的路由网段被添加设定标识,其中,所述设定标识用于指示通过所述路由网段到达的目的主机地址不可达、且用于指示所述第一测试报文在满足转发条件时继续被转发;第一路由设备在确定所述第一测试报文满足携带的TTL大于1、且作为所述第一路由设备下一跳的第三路由设备可达的转发条件时,将所述第一测试报文转发给所述第三路由设备;第一路由设备在确定所述第一测试报文携带的TTL大于1、且作为所述第一路由设备下一跳的第三路由设备不可达时,丢弃所述第一测试报文。2.  如权利要求1所述的方法,其特征在于,还包括:第一路由设备在确定所述第一测试报文携带的TTL等于1时,丢弃所述第一测试报文,并向所述源主机反馈TTL超时的报文响应。3.  如权利要求1或2所述的方法,其特征在于,所述测试报文包括:目的端口号异常的用户数据包协议数据报文;或控制报文协议应答请求报文。4.  如权利要求1所述的方法,其特征在于,第一路由设备接收由源主机发送或由第二路由设备转发的来自所述源主机的第一测试报文之前,还包括:第一路由设备在确定作为所述第一路由设备下一跳的第三路由设备不可达时,为通过所述第三路由设备到达的目的主机地址所对应的路由网段添加所述设定标识;以及向到达所述目的主机地址的路由路径上的各路由设备转发被添加所述设定标识的路由网段信息。5.  如权利要求4所述的方法,其特征在于,第一路由设备为通过所述第三路由设备到达的目的主机地址所对应的路由网段添加所述设定标识,以及向所述路由路径上的各路由设备转发被添加所述设定标识的路由网段信息后,还包括:第一路由设备在确定作为所述第一路由设备下一跳的第三路由设备可达时,删除为通过所述第三路由设备到达的目的主机地址所对应的路由网段添加的所述设定标识;以及向所述路由路径上的各路由设备转发删除所述被添加所述设定标识的路由网段信息的指示。6.  如权利要求1所述的方法,其特征在于,所述设定标识为最大开销cost值。7.  一种测试报文的发送装置,其特征在于,包括:测试报文接收单元,用于接收由源主机发送或由第二路由设备转发的来自所述源主机的第一测试报文;其中,若所述第一测试报文由所述第二路由设备转发,则所述第一测试报文是所述源主机在接收到第一路由设备针对与所述第一测试报文具有相同目的主机地址的第二测试报文反馈的生存时间TTL超时的报文响应后发送的;设定标识识别单元,用于确定到达所述第一测试报文携带的目的主机地址的路由网段被添加设定标识,其中,所述设定标识用于指示通过所述路由网段到达的目的主机地址不可达、且用于指示所述第一测试报文在满足转发条件时继续被转发;测试报文处理单元,用于在确定所述第一测试报文满足携带的TTL大于1、且作为所述第一路由设备下一跳的第三路由设备可达的转发条件时,将所述第一测试报文转发给所述第三路由设备;以及,在确定所述第一测试报文携带的TTL大于1、且作为所述第一路由设备下一跳的第三路由设备不可达时,丢弃所述第一测试报文。8.  如权利要求7所述的装置,其特征在于,所述测试报文处理单元,还用于:在确定所述第一测试报文携带的TTL等于1时,丢弃所述第一测试报文,并向所述源主机反馈TTL超时的报文响应。9.  如权利要求7所述的装置,其特征在于,还包括:设定标识添加单元,用于在所述测试报文接收单元接收由源主机发送或由第二路由设备转发的来自所述源主机的第一测试报文之前,在确定作为所述第一路由设备下一跳的第三路由设备不可达时,为通过所述第三路由设备到达的目的主机地址所对应的路由网段添加所述设定标识;以及向到达所述目的主机地址的路由路径上的各路由设备转发被添加所述设定标识的路由网段信息。10.  如权利要求9所述的装置,其特征在于,还包括:设定标识删除单元,用于在所述设定标识添加单元为通过所述第三路由设备到达的目的主机地址所对应的路由网段添加所述设定标识,以及向所述路由路径上的各路由设备转发被添加所述设定标识的路由网段信息后,在确定作为所述第一路由设备下一跳的第三路由设备可达时,删除为通过所述第三路由设备到达的目的主机地址所对应的路由网段添加的所述设定标识;以及向所述路由路径上的各路由设备转发删除所述被添加所述设定标识的路由网段信息的指示。11.  一种路由设备,其特征在于,包括权利要求7至10任一项所述的测试报文的发送装置。

说明书

说明书一种测试报文的发送方法以及装置
技术领域
[0001]本发明涉及网络通信技术领域,尤其涉及一种测试报文的发送方法以及装置。
背景技术
[0002] 随着信息通信技术的飞速发展,计算机网络已经成为人们不可或缺的一部分。一旦网络通讯发生故障,可能导致工作陷入瘫痪状态,使人们的工作和生活蒙受损失。因此,当网络发生故障时,如何快速有效的定位出故障位置,一直是业界探求和期待解决的问题。[0003] 路由追踪(Traceroute)技术常用来检测数据报文从源主机到目的主机所经过的路由路径,以及检测到达目的主机地址的路由路径是否可达。目前,Traceroute技术主要通过源主机向目的主机发送测试报文的方式检测源主机到目的主机的路由路径,所使用的测试报文可以为目的端口号异常的用户数据包协议(UserDatagramProtocol,简称UDP)数据报文(如设置目的端口号超大),也可以是控制报文协议(InternetControlMessageProtocol)Internet,简称ICMP)应答请求报文。以下结合图1对通过Traceroute技术检测源主机到目的主机的路由路径的主要过程进行说明,该图1示出了源主机1到目的主机
2之间的路由路径,假设目的主机对应的IP地址为1.1.1.1,从源主机1到目的主机2要经历的路由设备包括:路由设备A、路由设备B、路由设备C以及路由设备D,其中,路由设备A中保存的指向目的主机的路由表的下一跳为路由设备B,路由设备B中保存的指向目的主机的路由表的下一跳为路由设备C,路由设备C中保存的指向目的主机的路由表的下一跳为路由设备D。
[0004] 如图2所示,检测源主机1到目的主机2之间的路由路径,主要包括如下步骤:[0005] 步骤201、源主机1发送一个生存时间(TimeToLive,简称TTL)为1的测试报文给目的主机2。
[0006]步骤202、处理该测试报文的第一个路由设备A接收该测试报文后,将该测试报文中携带的TTL减1得到TTL为0的测试报文,丢弃该测试报文,并向源主机1发送TTL超时的ICMP报文。
[0007]步骤203、源主机1根据路由设备A发送的TTL超时的ICMP报文,获得该路由设备
A的地址。
[0008] 步骤204、源主机1保存路由设备A的地址,并向路由设备A发送一个TTL为2的测试报文,获得路由设备B的地址。
[0009]该步骤204中,测试报文到达路由设备A后,路由设备A将该测试报文的TTL减1得到TTL为1的测试报文,该路由设备A根据保存的路由表将该TTL为1的测试报文转发给路由设备B;路由设备B接收该TTL为1的测试报文后,将该测试报文的TTL减1得到TTL为0的测试报文,丢弃该测试报文,并发送一个TTL超时的ICMP报文,该TTL超时的ICMP报文通过路由设备A到达源主机1,源主机1根据路由设备B发送的该TTL超时的ICMP报文,获得该路由设备B的地址。
[0010]步骤205、源主机1保存路由设备B的地址,并向路由设备A发送一个TTL为3的
测试报文,获得路由设备C的地址。
[0011] 该步骤205的具体处理过程与上述步骤204的具体处理过程基本相同,即测试报文到达路由设备A后,路由设备A将该测试报文的TTL减1得到TTL为2的测试报文,该路由设备A根据保存的路由表将该TTL为2的测试报文转发给路由设备B;路由设备B接收该TTL为2的测试报文后,将测试报文的TTL减1得到TTL为1的测试报文,该路由设备B进一步根据保存的路由表将该TTL为1的测试报文转发给路由设备C;路由设备C接收该TTL为1的测试报文后,将该测试报文的TTL减1得到TTL为0的测试报文,路由设备C丢弃该测试报文,并发送一个TTL超时的ICMP报文,该TTL超时的ICMP报文通过路由设备B、路由设备A到达源主机1,源主机1根据路由设备C发送的TTL超时的ICMP报文,获得路由设备C的地址。
[0012] 步骤206、源主机1保存获得的路由设备C的地址,向路由设备A发送一个TTL为
4的测试报文,获得路由设备D的地址。
[0013] 该步骤206的具体处理过程与上述步骤204的具体处理过程基本相同,即测试报文到达路由设备A后,路由设备A将该测试报文的TTL减1得到TTL为3的测试报文,该路由设备A根据保存的路由表将该TTL为3的测试报文转发给路由设备B;路由设备B接收该TTL为3的测试报文后,将该测试报文的TTL减1得到TTL为2的测试据报文,该路由设备B根据保存的路由表将该TTL为2的测试报文转发给路由设备C;路由设备C接收该TTL为2的测试报文后,将该测试报文的TTL减1得到TTL为1的测试报文,该路由设备C根据保存的路由表将该TTL为1的测试报文转发给路由设备D;路由设备D接收该TTL为1的测试报文后,将该测试报文的TTL减1得到TTL为0的测试报文,路由设备D丢弃该测试报文,并发送一个TTL超时的ICMP报文,该TTL超时的ICMP报文通过路由设备C、路由设备B、路由设备A到达源主机1后,源主机1根据路由设备D发送的该TTL超时的ICMP报文,获得路由设备D的地址。
[0014] 步骤207、源主机1保存路由设备D的地址,向路由设备A发送一个TTL为5的测试报文到目的主机2,并接收目的主机2针对接收到的测试报文的反馈信息。
[0015] 该步骤207中,若测试报文为端口号超大的UDP数据报文,则目的主机2接收到该报文后,由于目的主机的任何一个应用程序都没有使用该端口号,目的主机会产生端口不可达的错误的ICMP报文作为反馈信息发送给源主机1;若测试报文为ICMP应答请求报文,目的主机2接收到该报文后,向源主机1发送一个正常的ICMP应答报文。
[0016] 通过上述流程,源主机1可以保存到达目的主机2的路由路径上各路由设备的地址,从而确定数据报文到达目的主机2的路由路径。
[0017]在IP路由网络中,当出现链路故障(或其它故障)导致到达某个目的主机地址的路由路径不可达时,该路由路径会在全网失效,源主机可以通过Traceroute技术检测该路由路径是否可达。具体地,假设图1中的路由设备D出现故障,则路由设备C会在全网发布路由失效消息,接收到路由失效消息的各路由设备(如路由设备A以及路由设备B)将路由表中指向该目的主机地址的路由网段设置为失效,这样,当源主机1需要检测到目的地址2的路由路径是否可达时,会发送检测报文到目的主机2,由于指向该报文的目的地址的路由网段被设置为无效,则路由设备A会将该检测报文直接丢弃,而不会进行后续转发,也不会向源主机1反馈相应的信息,在这种情况下,源主机1在设定时长内未收到路由设备A反馈
的信息,则确定到目的主机2的路由路径不可达。
[0018]根据上述技术方案,源主机1只能检测出到达目的主机2的路由路径不可达,但无法检测出故障位置具体出现在路由路径的哪个链路,因此,源主机无法定位出路由路径上发生故障的位置。
发明内容
[0019]有鉴于此,本发明实施例提供一种测试报文的发送方法以及装置,采用该技术方案进行测试报文的发送,源主机能够定位出路由路径上的故障位置。
[0020]本发明实施例通过如下技术方案实现:
[0021]根据本发明实施例的一个方面,提供了一种测试报文的发送方法,包括:
[0022]第一路由设备接收由源主机发送或由第二路由设备转发的来自所述源主机的第一测试报文;其中,若所述第一测试报文由所述第二路由设备转发,则所述第一测试报文是所述源主机在接收到所述第一路由设备针对与所述第一测试报文具有相同目的主机地址的第二测试报文反馈的生存时间TTL超时的报文响应后发送的;
[0023] 第一路由设备确定到达所述第一测试报文携带的目的主机地址的路由网段被添加设定标识,其中,所述设定标识用于指示通过所述路由网段到达的目的主机地址不可达、且用于指示所述第一测试报文在满足转发条件时继续被转发;
[0024]第一路由设备在确定所述第一测试报文满足携带的TTL大于1、且作为所述第一路由设备下一跳的第三路由设备可达的转发条件时,将所述第一测试报文转发给所述第三路由设备;
[0025]第一路由设备在确定所述第一测试报文携带的TTL大于1、且作为所述第一路由设备下一跳的第三路由设备不可达时,丢弃所述第一测试报文。
[0026] 根据本发明实施例的另一个方面,还提供了一种测试报文的发送装置,包括:[0027] 测试报文接收单元,用于接收由源主机发送或由第二路由设备转发的来自所述源主机的第一测试报文;其中,若所述第一测试报文由所述第二路由设备转发,则所述第一测试报文是所述源主机在接收到第一路由设备针对与所述第一测试报文具有相同目的主机地址的第二测试报文反馈的生存时间TTL超时的报文响应后发送的;
[0028]设定标识识别单元,用于确定到达所述第一测试报文携带的目的主机地址的路由网段被添加设定标识,其中,所述设定标识用于指示通过所述路由网段到达的目的主机地址不可达、且用于指示所述第一测试报文在满足转发条件时继续被转发;
[0029]测试报文处理单元,用于在确定所述第一测试报文满足携带的TTL大于1、且作为所述第一路由设备下一跳的第三路由设备可达的转发条件时,将所述第一测试报文转发给所述第三路由设备;以及,在确定所述第一测试报文携带的TTL大于1、且作为所述第一路由设备下一跳的第三路由设备不可达时,丢弃所述第一测试报文。
[0030]根据本发明实施例的另一个方面,还提供了一种包括上述测试报文的发送装置的路由设备。
[0031]通过本发明实施例提供的上述至少一个技术方案,第一路由设备接收由源主机发送或由第二路由设备转发的来自该源主机的第一测试报文后,确定到达该第一测试报文携带的目的主机地址的路由网段被添加设定标识,其中,该设定标识用于指示通过该路由网
段到达的目的主机地址不可达、且用于指示该第一测试报文在满足转发条件时继续被转发,第一路由设备在确定该第一测试报文满足携带的TTL大于1、且作为该第一路由设备下一跳的第三路由设备可达的转发条件时,将该第一测试报文中转发给第三路由设备,第一路由设备在确定该第一测试报文携带的TTL大于1、且作为该第一路由设备下一跳的第三路由设备不可达,则丢弃该第一测试报文。该技术方案与现有技术给出的当出现目的主机地址不可达时接收到源主机发送的测试报文的第一个路由设备直接丢弃该测试报文的方案相比,本发明技术方案能够在目的主机地址不可达、且该第一测试报文的TTL大于1、下一跳路由设备可达时,继续转发该第一测试报文,在该第一测试报文的TTL大于1且下一跳路由设备不可达时,才丢弃该第一测试报文,此时,由于第一测试报文在TTL大于1的情况下被丢弃,源主机将无法接收到针对该第一测试报文的TTL超时的报文响应,如果该第一测试报文由源主机发送,则可以确定作为该源主机之后第一跳的第一路由设备与其下一跳路由设备之间的链路出现故障;如果该第一测试报文由第二测试报文转发,由于该第一测试报文是源主机在接收到第一路由设备针对与该第一测试报文具有相同目的主机地址的第二测试报文反馈的TTL超时的报文响应后发送的,即表示第一路由设备之前的链路都正常,从而源主机能够确定该第一路由设备与其下一跳路由设备之间的链路出现故障。[0032] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
[0033] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0034] 图1为背景技术提供的通过Traceroute技术检测源主机到目的主机的路由路径的示意图;
[0035] 图2为背景技术提供的检测源主机1到目的主机2之间的路由路径的流程图;
[0036] 图3为本发明实施例一提供的测试报文的发送流程图;
[0037] 图4为本发明实施例一提供的为该不可达路由设备添加设定标识的流程图;
[0038] 图5为本发明实施例一提供的利用traceroute定位故障点的流程图;
[0039] 图6为本发明实施例二提供的一个测试报文的发送装置示意图;[0040] 图7为本发明实施例二提供的又一个测试报文的发送装置示意图;[0041] 图8为本发明实施例二提供的又一个测试报文的发送装置示意图。
具体实施方式
[0042]为了给出源主机能够定位出路由路径上的故障位置的实现方案,本发明实施例提供了一种测试报文的发送方法以及装置,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0043] 本发明各实施例中的路由网段,指路由表项中的该路由设备可达的目的IP网段,是一个地址区间。通常一个路由表项包括目的IP网段、下一跳地址、cost、优先级等信息,
用于决定路由器的报文转发。
[0044]实施例一
[0045]本发明实施例一提供了一种测试报文的发送方法,该测试报文的发送方法可以在路由设备中实施,通过在路由设备中实施该测试报文的发送方法,能够使源主机确定出路由路径上的故障位置。
[0046] 如图3所示,本发明实施例一提供的测试报文的发送流程,主要包括如下步骤:[0047] 步骤301、第一路由设备接收由源主机发送或由第二路由设备转发的来自所述源主机的第一测试报文。
[0048]该步骤中,如果该第一测试报文由第二路由设备转发,则该第一测试报文是源主机在接收到第一路由设备针对与该第一测试报文具有相同目的主机地址的第二测试报文反馈的TTL超时的报文响应后发送的。
[0049]步骤302、第一路由设备确定到达该第一测试报文携带的目的主机地址的路由网段被添加设定标识。
[0050]该步骤中,设定标识用于指示通过被添加设定标识的路由网段到达的目的主机地址不可达、且用于指示该第一测试报文在满足转发条件时继续被转发。
[0051]步骤303、判断该第一测试报文是否满足转发条件,如果是,执行步骤304,如果否,执行步骤305。
[0052]该步骤中,第一测试报文满足转发条件,即该第一测试报文满足携带的TTL大于
1、且作为该第一路由设备下一跳的第三路由设备可达的转发条件。
[0053]步骤304、将该第一测试报文转发给第三路由设备。
[0054]该步骤中,第一测试报文转发给第三路由设备后,该第三路由设备采用与该第一路由设备采用的处理方式相同的方式对该第一测试报文进行处理,确定继续转发该第一测试报文或丢弃。
[0055]步骤305、丢弃该第一测试报文。
[0056]该步骤305中,不满足转发条件的一种情形为:该第一测试报文携带的TTL大于
1、且作为第一路由设备下一跳的第三路由设备不可达,在该情况下,第一路由设备需要丢弃该第一测试报文,至此,对第一测试报文的发送流程结束。
[0057]本发明实施例提供的技术方案中,不满足转发条件的另一种情形为:该第一测试报文携带的TTL等于1,在该情况下,第一路由设备需要丢弃该第一测试报文,并向源主机反馈TTL超时的报文响应。
[0058]以上主要针对路由设备侧对测试报文的处理流程进行了描述,根据本发明实施例提供的上述技术方案,路由设备在进行测试报文的转发时,如果识别出到达测试报文的目的地址的路由网段被添加了设定标识,根据该设定标识确定通过该被添加设定标识的路由网段到达的目的主机地址不可达,该第一路由设备仍按照正常流程对该测试报文进行处理,即在该测试报文满足转发条件时继续转发该测试报文,与现有技术第一个接收到该测试报文的路由设备确定目的主机地址不可达直接丢弃测试报文的方案相比,本发明技术方案能够通过对该测试报文的转发确定出路由路径上的故障位置,即在目的主机地址不可达、且该第一测试报文的TTL大于1、下一跳路由设备可达时,继续转发该第一测试报文,在该第一测试报文的TTL大于1且下一跳路由设备不可达时,才丢弃该第一测试报文,此时,
由于第一测试报文在TTL大于1的情况下被丢弃,源主机将无法接收到针对该第一测试报文的TTL超时的报文响应,如果该第一测试报文由源主机发送,则可以确定作为该源主机之后第一跳的第一路由设备与其下一跳第三路由设备之间的链路出现故障;如果该第一测试报文由第二测试报文转发,由于该第一测试报文是源主机在接收到第一路由设备针对与该第一测试报文具有相同目的主机地址的第二测试报文反馈的TTL超时的报文响应后发送的,即表示第一路由设备之前的链路都正常,从而源主机能够确定该第一路由设备与其下一跳第三路由设备之间的链路出现故障。
[0059]以下结合图4对本发明实施例中对于不可达路由设备添加设定标识的过程进行说明。
[0060]如图4所示,在第一路由设备确定下一跳的第三路由设备不可达时,为通过第三路由设备到达的目的主机地址所对应的路由网段添加设定标识的流程,主要包括如下步骤:
[0061]步骤401、第一路由设备在路由表中为通过第三路由设备到达的目的主机地址所对应的路由网段添加设定标识。
[0062]步骤402、第一路由设备向到达目的主机地址的路由路径上的各路由设备转发被添加设定标识的路由网段信息。
[0063]通过该步骤402,接收到被添加设定标识的路由网段信息的各路由设备会在各自路由表中保存该被添加设定标识的路由网段信息,实际应用中,该信息也可以不保存在路由表中而进行单独存储。
[0064]该步骤402中,第一路由设备向到达该目的主机地址的路由路径上的各路由设备转发被添加设定标识的路由网段信息的过程,主要由第一路由设备向其上一跳的第二路由设备发送该被添加设定标识的路由网段信息,然后由第二路由设备继续向其上一跳的路由设备转发。
[0065]至此,流程结束。
[0066] 上述流程中,设定标识主要用于标识通过被添加设定标识的路由网段到达的目的主机地址不可达、且用于指示接收到测试报文的路由设备在该测试报文满足转发条件时继续转发该测试报文,该设定标识可以在测试报文的发送端以及接收端进行协商确定,或者由统一的管理设备确定,然后在全网内的路由设备之间发布该设定标识,以使各路由设备在识别出该设定标识后,可以确定被添加该设定标识的路由设备不可达、但与现有直接丢弃测试报文的处理方式不同,需要按照正常流程继续转发该测试报文。一个具体的实现方式中,为了减少对协议的更改,该设定标识可以设置为最大开销cost值,上述步骤402中,第一路由设备向该路由路径上的各路由设备转发被添加设定标识的路由网段信息的格式可以为(路由网段,最大cost值)。应当理解,此处对于添加设定标识的路由网段信息的格式仅为一个举例,实际应用中,可以灵活设定。
[0067]图4对应的流程通常由存在路由故障的路由设备的上一跳路由设备执行,并且为了成功确定出路由路径上的故障位置,上述流程可以在第一路由设备接收由源主机发送或由第二路由设备转发的来自源主机的第一测试报文之前执行。
[0068]根据本发明实施例提供的上述流程,在路由设备出现故障时,该路由设备的上一跳路由设备能够及时通知全网内的路由设备更新路由表(在路由表中保存被添加设定标
识的路由网段信息),以在设备检测时及时检测出该出现故障的路由设备。
[0069] 进一步地,在故障路由被修复后,第一路由设备还可以进行设定标识的删除,即该第一路由设备为通过第三路由设备到达的目的主机地址所对应的路由网段添加设定标识,以及向路由路径上的各路由设备转发被添加设定标识的路由网段信息后,还进一步执行如下步骤:
[0070]第一路由设备在确定作为第一路由设备下一跳的第三路由设备可达时,删除为通过该第三路由设备到达的目的主机地址所对应的路由网段添加的设定标识,并向路由路径上的各路由设备转发删除该被添加设定标识的路由网段信息的指示,用于指示各路由设备将路由表中被添加设定标识的路由网段信息删除。
[0071] 根据本发明实施例提供的上述流程,在路由设备的故障恢复后,该路由设备的上一跳路由设备能够及时通知全网内的路由设备更新路由表(删除保存的被添加的设定标识的路由网段信息),以使该路由设备在故障恢复后及时投入使用,提高设备的利用率。[0072] 本发明实施例中涉及的测试报文主要用于检测路由路径上的故障位置,该测试报文可以为目的端口号异常的UDP数据报文,也可以为ICMP应答请求报文。
[0073] 为了更好地理解本发明实施例一提供的上述技术方案,该实施例一还给出了结合具体应用场景进行测试报文转发的流程,具体如下:
[0074] 该具体应用场景采用图1所示的应用场景,即目的主机对应的IP地址为1.1.1.1,从源主机1到目的主机2要经历的路由设备包括:路由设备A、路由设备B、路由设备C以及路由设备D,其中,路由设备A中保存的指向目的主机的路由表的下一跳为路由设备B,路由设备B中保存的指向目的主机的路由表的下一跳为路由设备C,路由设备C中保存的指向目的主机的路由表的下一跳为路由设备D。
[0075]假设路由设备D出现故障,即路由设备C和路由设备D之间的链路不可达时,则作为该路由设备D上一跳的路由设备C会发送携带设定标识的路由网段信息(如最大cost值的路由网段信息)。假设对应目的主机地址1.1.1.1的路由网段为1.0.0.0/8,则路由设备C向全网发布(1.0.0.0/8,cost=最大值)的信息。
[0076] 收到添加了设定标识的路由网段信息的路由设备(图1中的路由设备A、路由设备B),该路由设备A和路由设备B在后续转发测试报文时,若确定到达测试报文目的地址的路由网段被添加了设定标识,则对测试报文进行正常转发处理,若测试报文的TTL=1,则接收到测试报文的路由设备A或B丢弃测试报文,并向源主机发送一份TTL超时的报文响应,若TTL>1,则接收到测试报文的路由设备A或B转发该测试报文到下一跳;对于其他非测试报文的正常的数据报文按丢弃处理(避免普通数据流量进行无效的转发)。
[0077]当测试报文到达直连下一跳路由设备已失效的路由设备C时,若TTL=1,则路由设备C向源主机回应TTL超时的报文响应,若TTL>1,则该路由设备C丢弃该测试报文。[0078]结合上述应用场景利用traceroute定位故障点的过程,如图5所示,主要包括:[0079]步骤501、源主机1发送TTL=1的测试报文,并接收路由设备A针对该测试报文反馈的报文响应。
[0080] 该步骤中,测试报文到达路由设备A后,路由设备A将该测试报文中携带的TTL减
1得到TTL为0的测试报文,丢弃该测试报文,并向源主机1发送TTL超时的ICMP报文。
[0081] 步骤502、源主机1收到路由设备A发送的报文响应后,向路由设备A发送一个TTL
为2的测试报文,并接收路由设备B针对该测试报文反馈的报文响应。
[0082]该步骤中,测试报文到达路由设备A后,路由设备A将该测试报文的TTL减1得到TTL为1的测试报文,该路由设备A根据保存的路由表将该TTL为1的测试报文转发给路由设备B,路由设备B将该测试报文中携带的TTL减1得到TTL为0的测试报文,丢弃该测试报文,并向源主机1发送TTL超时的ICMP报文。
[0083]步骤503、源主机1收到路由设备B发送的报文响应后,向路由设备A发送一个TTL
为3的测试报文,并接收路由设备C针对该测试报文反馈的报文响应。
[0084] 该步骤中,测试报文到达路由设备A后,路由设备A将该测试报文的TTL减1得到TTL为2的测试报文,该路由设备A根据保存的路由表将该TTL为2的测试报文转发给路由设备B;路由设备B接收该TTL为2的测试报文后,将测试报文的TTL减1得到TTL为1的测试报文,该路由设备B进一步根据保存的路由表将该TTL为1的测试报文转发给路由设备C;路由设备C接收该TTL为1的测试报文后,将该测试报文的TTL减1得到TTL为0的测试报文,路由设备C丢弃该测试报文,并向源主机1发送一个TTL超时的ICMP报文。[0085] 步骤504、源主机1收到路由设备C发送的报文响应后,向路由设备A发送一个TTL为4的测试报文,在设定时间内未收到针对该测试报文的报文响应,确定路由设备出现故障。
[0086] 测试报文到达路由设备A后,路由设备A将该测试报文的TTL减1得到TTL为3的测试报文,该路由设备A根据保存的路由表将该TTL为3的测试报文转发给路由设备B;路由设备B接收该TTL为3的测试报文后,将该测试报文的TTL减1得到TTL为2的测试据报文,该路由设备B根据保存的路由表将该TTL为2的测试报文转发给路由设备C;路由设备C接收该TTL为2的测试报文后,确定路由设备D故障,则丢弃该测试报文。则源主机
1将无法收到路由设备针对该TTL为4的测试报文反馈的报文响应,由此可以确定路由设备D出现故障(因为通过步骤401至步骤403可以确定路由设备A、B以及C均正常)。[0087] 至此,流程结束。
[0088]本发明实施例提供的上述技术方案适用于在进行路由路径故障检测的过程,即对测试报文进行上述处理,如果是正常的数据报文,则由于路由路径存在故障,则第一个接收到正常数据报文的路由设备直接丢弃该正常的数据报文。
[0089]实施例二
[0090]与上述实施例一提供的测试报文的发送方法流程对应,本发明实施例二提供了一种测试报文的发送装置,该测试报文的发送装置可以位于路由设备中,通过路由设备中的该测试报文的发送装置,能够使源主机确定出路由路径上的故障位置。
[0091]如图6所示,该实施例二提供的测试报文的发送装置,主要包括:
[0092]测试报文接收单元601、设定标识识别单元602以及测试报文处理单元603;
[0093]其中:
[0094]测试报文接收单元601,用于接收由源主机发送或由第二路由设备转发的来自源主机的第一测试报文;其中,若第一测试报文由第二路由设备转发,则第一测试报文是源主机在接收到第一路由设备针对与第一测试报文具有相同目的主机地址的第二测试报文反馈的生存时间TTL超时的报文响应后发送的;
[0095]设定标识识别单元602,用于确定到达所述第一测试报文携带的目的主机地址的
路由网段被添加设定标识,其中,所述设定标识用于指示通过所述路由网段到达的目的主机地址不可达、且用于指示所述第一测试报文在满足转发条件时继续被转发;
[0096]测试报文处理单元603,用于在确定第一测试报文满足携带的TTL大于1、且作为第一路由设备下一跳的第三路由设备可达的转发条件时,将第一测试报文转发给第三路由设备;以及,在确定第一测试报文携带的TTL大于1、且作为第一路由设备下一跳的第三路由设备不可达时,丢弃第一测试报文。
[0097]本发明实施例二提供的一个优选实施方式中,图6所示装置包括的测试报文处理单元603,还用于:
[0098]在确定第一测试报文携带的TTL等于1时,丢弃第一测试报文,并向源主机反馈
TTL超时的报文响应。
[0099]如图7所示,本发明实施例二提供的一个优选实施方式中,图6所示装置还可以包括:
[0100]设定标识添加单元604,用于在所述测试报文接收单元接收由源主机发送或由第二路由设备转发的来自所述源主机的第一测试报文之前,在确定作为所述第一路由设备下一跳的第三路由设备不可达时,为通过所述第三路由设备到达的目的主机地址所对应的路由网段添加所述设定标识;以及向到达所述目的主机地址的路由路径上的各路由设备转发被添加所述设定标识的路由网段信息。
[0101]如图8所示,本发明实施例二提供的一个优选实施方式中,图7所示装置还可以包括:
[0102]设定标识删除单元605,用于在所述设定标识添加单元为通过所述第三路由设备到达的目的主机地址所对应的路由网段添加所述设定标识,以及向所述路由路径上的各路由设备转发被添加所述设定标识的路由网段信息后,在确定作为所述第一路由设备下一跳的第三路由设备可达时,删除为通过所述第三路由设备到达的目的主机地址所对应的路由网段添加的所述设定标识;以及向所述路由路径上的各路由设备转发删除所述被添加所述设定标识的路由网段信息的指示。
[0103]应当理解,以上测试报文的发送装置包括的单元仅为根据该装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例二提供的测试报文的发送装置所实现的功能与上述实施例一提供的测试报文的发送方法流程一一对应,对于该装置所实现的更为详细的处理流程,在上述实施例一中已做详细描述,此处不再详细描述。
[0104]并且,本实施例二中的测试报文的发送装置还具有能够实现实施例一方案的功能模块,此处不再赘述。
[0105]实施例三
[0106]本发明实施例三提供了一种路由设备,该路由设备包括上述实施例二提供的测试报文的发送装置,上述实施例二已经对测试报文的发送装置所实现的功能进行了详细描述,此处不再对该包括上述实施例二提供的测试报文的发送装置的路由设备进行详细描述。
[0107]通过本发明实施例提供的上述至少一个技术方案,第一路由设备接收由源主机发送或由第二路由设备转发的来自该源主机的第一测试报文后,确定到达该第一测试报文携
带的目的主机地址的路由网段被添加设定标识,其中,该设定标识用于指示通过该路由网段到达的目的主机地址不可达、且用于指示该第一测试报文在满足转发条件时继续被转发,第一路由设备在确定该第一测试报文满足携带的TTL大于1、且作为该第一路由设备下一跳的第三路由设备可达的转发条件时,将该第一测试报文中转发给第三路由设备,第一路由设备在确定该第一测试报文携带的TTL大于1、且作为该第一路由设备下一跳的第三路由设备不可达,则丢弃该第一测试报文。该技术方案与现有技术给出的当出现目的主机地址不可达时接收到源主机发送的测试报文的第一个路由设备直接丢弃该测试报文的方案相比,本发明技术方案能够在目的主机地址不可达、且该第一测试报文的TTL大于1、下一跳路由设备可达时,继续转发该第一测试报文,在该第一测试报文的TTL大于1且下一跳路由设备不可达时,才丢弃该第一测试报文,此时,由于第一测试报文在TTL大于1的情况下被丢弃,源主机将无法接收到针对该第一测试报文的TTL超时的报文响应,如果该第一测试报文由源主机发送,则可以确定作为该源主机之后第一跳的第一路由设备与其下一跳路由设备之间的链路出现故障;如果该第一测试报文由第二测试报文转发,由于该第一测试报文是源主机在接收到第一路由设备针对与该第一测试报文具有相同目的主机地址的第二测试报文反馈的TTL超时的报文响应后发送的,即表示第一路由设备之前的链路都正常,从而源主机能够确定该第一路由设备与其下一跳路由设备之间的链路出现故障。[0108] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

一种测试报文的发送方法以及装置.pdf_第1页
第1页 / 共19页
一种测试报文的发送方法以及装置.pdf_第2页
第2页 / 共19页
一种测试报文的发送方法以及装置.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《一种测试报文的发送方法以及装置.pdf》由会员分享,可在线阅读,更多相关《一种测试报文的发送方法以及装置.pdf(19页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102739462 A (43)申请公布日 2012.10.17 C N 1 0 2 7 3 9 4 6 2 A *CN102739462A* (21)申请号 201110088580.0 (22)申请日 2011.04.08 H04L 12/26(2006.01) H04L 12/56(2006.01) (71)申请人中国移动通信集团公司 地址 100032 北京市西城区金融大街29号 (72)发明人黄璐 (74)专利代理机构北京同达信恒知识产权代理 有限公司 11291 代理人郭润湘 (54) 发明名称 一种测试报文的发送方法以及装置 (57) 摘要 本发明公开了。

2、一种测试报文的发送方法以及 装置,主要包括:第一路由设备接收由源主机发 送或由第二路由设备转发的来自源主机的第一测 试报文;第一路由设备确定到达第一测试报文携 带的目的主机地址的路由网段被添加设定标识; 第一路由设备在确定第一测试报文满足携带的 TTL大于1、且作为第一路由设备下一跳的第三路 由设备可达的转发条件时,将第一测试报文转发 给第三路由设备;第一路由设备在确定第一测试 报文携带的TTL大于1、且作为第一路由设备下一 跳的第三路由设备不可达时,丢弃第一测试报文。 采用该技术方案进行测试报文的发送,源主机能 够定位出路由路径上的故障位置。 (51)Int.Cl. 权利要求书2页 说明书1。

3、0页 附图6页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 10 页 附图 6 页 1/2页 2 1.一种测试报文的发送方法,其特征在于,包括: 第一路由设备接收由源主机发送或由第二路由设备转发的来自所述源主机的第一测 试报文;其中,若所述第一测试报文由所述第二路由设备转发,则所述第一测试报文是所述 源主机在接收到所述第一路由设备针对与所述第一测试报文具有相同目的主机地址的第 二测试报文反馈的生存时间TTL超时的报文响应后发送的; 第一路由设备确定到达所述第一测试报文携带的目的主机地址的路由网段被添加设 定标识,其中,所述设定标识用于指示通过所述路由。

4、网段到达的目的主机地址不可达、且用 于指示所述第一测试报文在满足转发条件时继续被转发; 第一路由设备在确定所述第一测试报文满足携带的TTL大于1、且作为所述第一路由 设备下一跳的第三路由设备可达的转发条件时,将所述第一测试报文转发给所述第三路由 设备; 第一路由设备在确定所述第一测试报文携带的TTL大于1、且作为所述第一路由设备 下一跳的第三路由设备不可达时,丢弃所述第一测试报文。 2.如权利要求1所述的方法,其特征在于,还包括: 第一路由设备在确定所述第一测试报文携带的TTL等于1时,丢弃所述第一测试报文, 并向所述源主机反馈TTL超时的报文响应。 3.如权利要求1或2所述的方法,其特征在于。

5、,所述测试报文包括: 目的端口号异常的用户数据包协议数据报文;或 控制报文协议应答请求报文。 4.如权利要求1所述的方法,其特征在于,第一路由设备接收由源主机发送或由第二 路由设备转发的来自所述源主机的第一测试报文之前,还包括: 第一路由设备在确定作为所述第一路由设备下一跳的第三路由设备不可达时,为通过 所述第三路由设备到达的目的主机地址所对应的路由网段添加所述设定标识;以及 向到达所述目的主机地址的路由路径上的各路由设备转发被添加所述设定标识的路 由网段信息。 5.如权利要求4所述的方法,其特征在于,第一路由设备为通过所述第三路由设备到 达的目的主机地址所对应的路由网段添加所述设定标识,以及。

6、向所述路由路径上的各路由 设备转发被添加所述设定标识的路由网段信息后,还包括: 第一路由设备在确定作为所述第一路由设备下一跳的第三路由设备可达时,删除为通 过所述第三路由设备到达的目的主机地址所对应的路由网段添加的所述设定标识;以及 向所述路由路径上的各路由设备转发删除所述被添加所述设定标识的路由网段信息 的指示。 6.如权利要求1所述的方法,其特征在于,所述设定标识为最大开销cost值。 7.一种测试报文的发送装置,其特征在于,包括: 测试报文接收单元,用于接收由源主机发送或由第二路由设备转发的来自所述源主机 的第一测试报文;其中,若所述第一测试报文由所述第二路由设备转发,则所述第一测试报 。

7、文是所述源主机在接收到第一路由设备针对与所述第一测试报文具有相同目的主机地址 的第二测试报文反馈的生存时间TTL超时的报文响应后发送的; 设定标识识别单元,用于确定到达所述第一测试报文携带的目的主机地址的路由网段 权 利 要 求 书CN 102739462 A 2/2页 3 被添加设定标识,其中,所述设定标识用于指示通过所述路由网段到达的目的主机地址不 可达、且用于指示所述第一测试报文在满足转发条件时继续被转发; 测试报文处理单元,用于在确定所述第一测试报文满足携带的TTL大于1、且作为所述 第一路由设备下一跳的第三路由设备可达的转发条件时,将所述第一测试报文转发给所述 第三路由设备;以及,在。

8、确定所述第一测试报文携带的TTL大于1、且作为所述第一路由设 备下一跳的第三路由设备不可达时,丢弃所述第一测试报文。 8.如权利要求7所述的装置,其特征在于,所述测试报文处理单元,还用于: 在确定所述第一测试报文携带的TTL等于1时,丢弃所述第一测试报文,并向所述源主 机反馈TTL超时的报文响应。 9.如权利要求7所述的装置,其特征在于,还包括: 设定标识添加单元,用于在所述测试报文接收单元接收由源主机发送或由第二路由设 备转发的来自所述源主机的第一测试报文之前,在确定作为所述第一路由设备下一跳的第 三路由设备不可达时,为通过所述第三路由设备到达的目的主机地址所对应的路由网段添 加所述设定标识。

9、;以及向到达所述目的主机地址的路由路径上的各路由设备转发被添加所 述设定标识的路由网段信息。 10.如权利要求9所述的装置,其特征在于,还包括: 设定标识删除单元,用于在所述设定标识添加单元为通过所述第三路由设备到达的目 的主机地址所对应的路由网段添加所述设定标识,以及向所述路由路径上的各路由设备转 发被添加所述设定标识的路由网段信息后,在确定作为所述第一路由设备下一跳的第三路 由设备可达时,删除为通过所述第三路由设备到达的目的主机地址所对应的路由网段添加 的所述设定标识;以及向所述路由路径上的各路由设备转发删除所述被添加所述设定标识 的路由网段信息的指示。 11.一种路由设备,其特征在于,包。

10、括权利要求7至10任一项所述的测试报文的发送装 置。 权 利 要 求 书CN 102739462 A 1/10页 4 一种测试报文的发送方法以及装置 技术领域 0001 本发明涉及网络通信技术领域,尤其涉及一种测试报文的发送方法以及装置。 背景技术 0002 随着信息通信技术的飞速发展,计算机网络已经成为人们不可或缺的一部分。一 旦网络通讯发生故障,可能导致工作陷入瘫痪状态,使人们的工作和生活蒙受损失。因此, 当网络发生故障时,如何快速有效的定位出故障位置,一直是业界探求和期待解决的问题。 0003 路由追踪(Traceroute)技术常用来检测数据报文从源主机到目的主机所经过的 路由路径,以。

11、及检测到达目的主机地址的路由路径是否可达。目前,Traceroute技术主要 通过源主机向目的主机发送测试报文的方式检测源主机到目的主机的路由路径,所使用的 测试报文可以为目的端口号异常的用户数据包协议(User Datagram Protocol,简称UDP) 数据报文(如设置目的端口号超大),也可以是控制报文协议(Internet Control Message Protocol)Internet,简称ICMP)应答请求报文。以下结合图1对通过Traceroute技术检 测源主机到目的主机的路由路径的主要过程进行说明,该图1示出了源主机1到目的主机 2之间的路由路径,假设目的主机对应的IP。

12、地址为1.1.1.1,从源主机1到目的主机2要经 历的路由设备包括:路由设备A、路由设备B、路由设备C以及路由设备D,其中,路由设备A 中保存的指向目的主机的路由表的下一跳为路由设备B,路由设备B中保存的指向目的主 机的路由表的下一跳为路由设备C,路由设备C中保存的指向目的主机的路由表的下一跳 为路由设备D。 0004 如图2所示,检测源主机1到目的主机2之间的路由路径,主要包括如下步骤: 0005 步骤201、源主机1发送一个生存时间(Time To Live,简称TTL)为1的测试报文 给目的主机2。 0006 步骤202、处理该测试报文的第一个路由设备A接收该测试报文后,将该测试报文 中。

13、携带的TTL减1得到TTL为0的测试报文,丢弃该测试报文,并向源主机1发送TTL超时 的ICMP报文。 0007 步骤203、源主机1根据路由设备A发送的TTL超时的ICMP报文,获得该路由设备 A的地址。 0008 步骤204、源主机1保存路由设备A的地址,并向路由设备A发送一个TTL为2的 测试报文,获得路由设备B的地址。 0009 该步骤204中,测试报文到达路由设备A后,路由设备A将该测试报文的TTL减1 得到TTL为1的测试报文,该路由设备A根据保存的路由表将该TTL为1的测试报文转发给 路由设备B;路由设备B接收该TTL为1的测试报文后,将该测试报文的TTL减1得到TTL 为0的测。

14、试报文,丢弃该测试报文,并发送一个TTL超时的ICMP报文,该TTL超时的ICMP 报文通过路由设备A到达源主机1,源主机1根据路由设备B发送的该TTL超时的ICMP报 文,获得该路由设备B的地址。 0010 步骤205、源主机1保存路由设备B的地址,并向路由设备A发送一个TTL为3的 说 明 书CN 102739462 A 2/10页 5 测试报文,获得路由设备C的地址。 0011 该步骤205的具体处理过程与上述步骤204的具体处理过程基本相同,即测试报 文到达路由设备A后,路由设备A将该测试报文的TTL减1得到TTL为2的测试报文,该路 由设备A根据保存的路由表将该TTL为2的测试报文转。

15、发给路由设备B;路由设备B接收 该TTL为2的测试报文后,将测试报文的TTL减1得到TTL为1的测试报文,该路由设备B 进一步根据保存的路由表将该TTL为1的测试报文转发给路由设备C;路由设备C接收该 TTL为1的测试报文后,将该测试报文的TTL减1得到TTL为0的测试报文,路由设备C丢 弃该测试报文,并发送一个TTL超时的ICMP报文,该TTL超时的ICMP报文通过路由设备B、 路由设备A到达源主机1,源主机1根据路由设备C发送的TTL超时的ICMP报文,获得路由 设备C的地址。 0012 步骤206、源主机1保存获得的路由设备C的地址,向路由设备A发送一个TTL为 4的测试报文,获得路由设。

16、备D的地址。 0013 该步骤206的具体处理过程与上述步骤204的具体处理过程基本相同,即测试报 文到达路由设备A后,路由设备A将该测试报文的TTL减1得到TTL为3的测试报文,该路 由设备A根据保存的路由表将该TTL为3的测试报文转发给路由设备B;路由设备B接收 该TTL为3的测试报文后,将该测试报文的TTL减1得到TTL为2的测试据报文,该路由设 备B根据保存的路由表将该TTL为2的测试报文转发给路由设备C;路由设备C接收该TTL 为2的测试报文后,将该测试报文的TTL减1得到TTL为1的测试报文,该路由设备C根据 保存的路由表将该TTL为1的测试报文转发给路由设备D;路由设备D接收该T。

17、TL为1的 测试报文后,将该测试报文的TTL减1得到TTL为0的测试报文,路由设备D丢弃该测试报 文,并发送一个TTL超时的ICMP报文,该TTL超时的ICMP报文通过路由设备C、路由设备 B、路由设备A到达源主机1后,源主机1根据路由设备D发送的该TTL超时的ICMP报文, 获得路由设备D的地址。 0014 步骤207、源主机1保存路由设备D的地址,向路由设备A发送一个TTL为5的测 试报文到目的主机2,并接收目的主机2针对接收到的测试报文的反馈信息。 0015 该步骤207中,若测试报文为端口号超大的UDP数据报文,则目的主机2接收到该 报文后,由于目的主机的任何一个应用程序都没有使用该端。

18、口号,目的主机会产生端口不 可达的错误的ICMP报文作为反馈信息发送给源主机1;若测试报文为ICMP应答请求报文, 目的主机2接收到该报文后,向源主机1发送一个正常的ICMP应答报文。 0016 通过上述流程,源主机1可以保存到达目的主机2的路由路径上各路由设备的地 址,从而确定数据报文到达目的主机2的路由路径。 0017 在IP路由网络中,当出现链路故障(或其它故障)导致到达某个目的主机地址的 路由路径不可达时,该路由路径会在全网失效,源主机可以通过Traceroute技术检测该路 由路径是否可达。具体地,假设图1中的路由设备D出现故障,则路由设备C会在全网发布 路由失效消息,接收到路由失效。

19、消息的各路由设备(如路由设备A以及路由设备B)将路由 表中指向该目的主机地址的路由网段设置为失效,这样,当源主机1需要检测到目的地址2 的路由路径是否可达时,会发送检测报文到目的主机2,由于指向该报文的目的地址的路由 网段被设置为无效,则路由设备A会将该检测报文直接丢弃,而不会进行后续转发,也不会 向源主机1反馈相应的信息,在这种情况下,源主机1在设定时长内未收到路由设备A反馈 说 明 书CN 102739462 A 3/10页 6 的信息,则确定到目的主机2的路由路径不可达。 0018 根据上述技术方案,源主机1只能检测出到达目的主机2的路由路径不可达,但无 法检测出故障位置具体出现在路由路。

20、径的哪个链路,因此,源主机无法定位出路由路径上 发生故障的位置。 发明内容 0019 有鉴于此,本发明实施例提供一种测试报文的发送方法以及装置,采用该技术方 案进行测试报文的发送,源主机能够定位出路由路径上的故障位置。 0020 本发明实施例通过如下技术方案实现: 0021 根据本发明实施例的一个方面,提供了一种测试报文的发送方法,包括: 0022 第一路由设备接收由源主机发送或由第二路由设备转发的来自所述源主机的第 一测试报文;其中,若所述第一测试报文由所述第二路由设备转发,则所述第一测试报文是 所述源主机在接收到所述第一路由设备针对与所述第一测试报文具有相同目的主机地址 的第二测试报文反馈。

21、的生存时间TTL超时的报文响应后发送的; 0023 第一路由设备确定到达所述第一测试报文携带的目的主机地址的路由网段被添 加设定标识,其中,所述设定标识用于指示通过所述路由网段到达的目的主机地址不可达、 且用于指示所述第一测试报文在满足转发条件时继续被转发; 0024 第一路由设备在确定所述第一测试报文满足携带的TTL大于1、且作为所述第一 路由设备下一跳的第三路由设备可达的转发条件时,将所述第一测试报文转发给所述第三 路由设备; 0025 第一路由设备在确定所述第一测试报文携带的TTL大于1、且作为所述第一路由 设备下一跳的第三路由设备不可达时,丢弃所述第一测试报文。 0026 根据本发明实。

22、施例的另一个方面,还提供了一种测试报文的发送装置,包括: 0027 测试报文接收单元,用于接收由源主机发送或由第二路由设备转发的来自所述源 主机的第一测试报文;其中,若所述第一测试报文由所述第二路由设备转发,则所述第一测 试报文是所述源主机在接收到第一路由设备针对与所述第一测试报文具有相同目的主机 地址的第二测试报文反馈的生存时间TTL超时的报文响应后发送的; 0028 设定标识识别单元,用于确定到达所述第一测试报文携带的目的主机地址的路由 网段被添加设定标识,其中,所述设定标识用于指示通过所述路由网段到达的目的主机地 址不可达、且用于指示所述第一测试报文在满足转发条件时继续被转发; 0029。

23、 测试报文处理单元,用于在确定所述第一测试报文满足携带的TTL大于1、且作为 所述第一路由设备下一跳的第三路由设备可达的转发条件时,将所述第一测试报文转发给 所述第三路由设备;以及,在确定所述第一测试报文携带的TTL大于1、且作为所述第一路 由设备下一跳的第三路由设备不可达时,丢弃所述第一测试报文。 0030 根据本发明实施例的另一个方面,还提供了一种包括上述测试报文的发送装置的 路由设备。 0031 通过本发明实施例提供的上述至少一个技术方案,第一路由设备接收由源主机发 送或由第二路由设备转发的来自该源主机的第一测试报文后,确定到达该第一测试报文携 带的目的主机地址的路由网段被添加设定标识,。

24、其中,该设定标识用于指示通过该路由网 说 明 书CN 102739462 A 4/10页 7 段到达的目的主机地址不可达、且用于指示该第一测试报文在满足转发条件时继续被转 发,第一路由设备在确定该第一测试报文满足携带的TTL大于1、且作为该第一路由设备下 一跳的第三路由设备可达的转发条件时,将该第一测试报文中转发给第三路由设备,第一 路由设备在确定该第一测试报文携带的TTL大于1、且作为该第一路由设备下一跳的第三 路由设备不可达,则丢弃该第一测试报文。该技术方案与现有技术给出的当出现目的主机 地址不可达时接收到源主机发送的测试报文的第一个路由设备直接丢弃该测试报文的方 案相比,本发明技术方案能。

25、够在目的主机地址不可达、且该第一测试报文的TTL大于1、下 一跳路由设备可达时,继续转发该第一测试报文,在该第一测试报文的TTL大于1且下一跳 路由设备不可达时,才丢弃该第一测试报文,此时,由于第一测试报文在TTL大于1的情况 下被丢弃,源主机将无法接收到针对该第一测试报文的TTL超时的报文响应,如果该第一 测试报文由源主机发送,则可以确定作为该源主机之后第一跳的第一路由设备与其下一跳 路由设备之间的链路出现故障;如果该第一测试报文由第二测试报文转发,由于该第一测 试报文是源主机在接收到第一路由设备针对与该第一测试报文具有相同目的主机地址的 第二测试报文反馈的TTL超时的报文响应后发送的,即表。

26、示第一路由设备之前的链路都正 常,从而源主机能够确定该第一路由设备与其下一跳路由设备之间的链路出现故障。 0032 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、权利要求书、以及附图中所特别指出的结构来实现和获得。 附图说明 0033 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施 例一起用于解释本发明,并不构成对本发明的限制。在附图中: 0034 图1为背景技术提供的通过Traceroute技术检测源主机到目的主机的路由路径 的示意图; 0035 图2为背景技。

27、术提供的检测源主机1到目的主机2之间的路由路径的流程图; 0036 图3为本发明实施例一提供的测试报文的发送流程图; 0037 图4为本发明实施例一提供的为该不可达路由设备添加设定标识的流程图; 0038 图5为本发明实施例一提供的利用traceroute定位故障点的流程图; 0039 图6为本发明实施例二提供的一个测试报文的发送装置示意图; 0040 图7为本发明实施例二提供的又一个测试报文的发送装置示意图; 0041 图8为本发明实施例二提供的又一个测试报文的发送装置示意图。 具体实施方式 0042 为了给出源主机能够定位出路由路径上的故障位置的实现方案,本发明实施例提 供了一种测试报文的。

28、发送方法以及装置,以下结合说明书附图对本发明的优选实施例进行 说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发 明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。 0043 本发明各实施例中的路由网段,指路由表项中的该路由设备可达的目的IP网段, 是一个地址区间。通常一个路由表项包括目的IP网段、下一跳地址、cost、优先级等信息, 说 明 书CN 102739462 A 5/10页 8 用于决定路由器的报文转发。 0044 实施例一 0045 本发明实施例一提供了一种测试报文的发送方法,该测试报文的发送方法可以在 路由设备中实施,通过在路由。

29、设备中实施该测试报文的发送方法,能够使源主机确定出路 由路径上的故障位置。 0046 如图3所示,本发明实施例一提供的测试报文的发送流程,主要包括如下步骤: 0047 步骤301、第一路由设备接收由源主机发送或由第二路由设备转发的来自所述源 主机的第一测试报文。 0048 该步骤中,如果该第一测试报文由第二路由设备转发,则该第一测试报文是源主 机在接收到第一路由设备针对与该第一测试报文具有相同目的主机地址的第二测试报文 反馈的TTL超时的报文响应后发送的。 0049 步骤302、第一路由设备确定到达该第一测试报文携带的目的主机地址的路由网 段被添加设定标识。 0050 该步骤中,设定标识用于指。

30、示通过被添加设定标识的路由网段到达的目的主机地 址不可达、且用于指示该第一测试报文在满足转发条件时继续被转发。 0051 步骤303、判断该第一测试报文是否满足转发条件,如果是,执行步骤304,如果 否,执行步骤305。 0052 该步骤中,第一测试报文满足转发条件,即该第一测试报文满足携带的TTL大于 1、且作为该第一路由设备下一跳的第三路由设备可达的转发条件。 0053 步骤304、将该第一测试报文转发给第三路由设备。 0054 该步骤中,第一测试报文转发给第三路由设备后,该第三路由设备采用与该第一 路由设备采用的处理方式相同的方式对该第一测试报文进行处理,确定继续转发该第一测 试报文或丢。

31、弃。 0055 步骤305、丢弃该第一测试报文。 0056 该步骤305中,不满足转发条件的一种情形为:该第一测试报文携带的TTL大于 1、且作为第一路由设备下一跳的第三路由设备不可达,在该情况下,第一路由设备需要丢 弃该第一测试报文,至此,对第一测试报文的发送流程结束。 0057 本发明实施例提供的技术方案中,不满足转发条件的另一种情形为:该第一测试 报文携带的TTL等于1,在该情况下,第一路由设备需要丢弃该第一测试报文,并向源主机 反馈TTL超时的报文响应。 0058 以上主要针对路由设备侧对测试报文的处理流程进行了描述,根据本发明实施例 提供的上述技术方案,路由设备在进行测试报文的转发时。

32、,如果识别出到达测试报文的目 的地址的路由网段被添加了设定标识,根据该设定标识确定通过该被添加设定标识的路由 网段到达的目的主机地址不可达,该第一路由设备仍按照正常流程对该测试报文进行处 理,即在该测试报文满足转发条件时继续转发该测试报文,与现有技术第一个接收到该测 试报文的路由设备确定目的主机地址不可达直接丢弃测试报文的方案相比,本发明技术方 案能够通过对该测试报文的转发确定出路由路径上的故障位置,即在目的主机地址不可 达、且该第一测试报文的TTL大于1、下一跳路由设备可达时,继续转发该第一测试报文,在 该第一测试报文的TTL大于1且下一跳路由设备不可达时,才丢弃该第一测试报文,此时, 说 。

33、明 书CN 102739462 A 6/10页 9 由于第一测试报文在TTL大于1的情况下被丢弃,源主机将无法接收到针对该第一测试报 文的TTL超时的报文响应,如果该第一测试报文由源主机发送,则可以确定作为该源主机 之后第一跳的第一路由设备与其下一跳第三路由设备之间的链路出现故障;如果该第一测 试报文由第二测试报文转发,由于该第一测试报文是源主机在接收到第一路由设备针对与 该第一测试报文具有相同目的主机地址的第二测试报文反馈的TTL超时的报文响应后发 送的,即表示第一路由设备之前的链路都正常,从而源主机能够确定该第一路由设备与其 下一跳第三路由设备之间的链路出现故障。 0059 以下结合图4对。

34、本发明实施例中对于不可达路由设备添加设定标识的过程进行 说明。 0060 如图4所示,在第一路由设备确定下一跳的第三路由设备不可达时,为通过第三 路由设备到达的目的主机地址所对应的路由网段添加设定标识的流程,主要包括如下步 骤: 0061 步骤401、第一路由设备在路由表中为通过第三路由设备到达的目的主机地址所 对应的路由网段添加设定标识。 0062 步骤402、第一路由设备向到达目的主机地址的路由路径上的各路由设备转发被 添加设定标识的路由网段信息。 0063 通过该步骤402,接收到被添加设定标识的路由网段信息的各路由设备会在各自 路由表中保存该被添加设定标识的路由网段信息,实际应用中,该。

35、信息也可以不保存在路 由表中而进行单独存储。 0064 该步骤402中,第一路由设备向到达该目的主机地址的路由路径上的各路由设备 转发被添加设定标识的路由网段信息的过程,主要由第一路由设备向其上一跳的第二路由 设备发送该被添加设定标识的路由网段信息,然后由第二路由设备继续向其上一跳的路由 设备转发。 0065 至此,流程结束。 0066 上述流程中,设定标识主要用于标识通过被添加设定标识的路由网段到达的目的 主机地址不可达、且用于指示接收到测试报文的路由设备在该测试报文满足转发条件时继 续转发该测试报文,该设定标识可以在测试报文的发送端以及接收端进行协商确定,或者 由统一的管理设备确定,然后在。

36、全网内的路由设备之间发布该设定标识,以使各路由设备 在识别出该设定标识后,可以确定被添加该设定标识的路由设备不可达、但与现有直接丢 弃测试报文的处理方式不同,需要按照正常流程继续转发该测试报文。一个具体的实现方 式中,为了减少对协议的更改,该设定标识可以设置为最大开销cost值,上述步骤402中, 第一路由设备向该路由路径上的各路由设备转发被添加设定标识的路由网段信息的格式 可以为(路由网段,最大cost值)。应当理解,此处对于添加设定标识的路由网段信息的格 式仅为一个举例,实际应用中,可以灵活设定。 0067 图4对应的流程通常由存在路由故障的路由设备的上一跳路由设备执行,并且为 了成功确定。

37、出路由路径上的故障位置,上述流程可以在第一路由设备接收由源主机发送或 由第二路由设备转发的来自源主机的第一测试报文之前执行。 0068 根据本发明实施例提供的上述流程,在路由设备出现故障时,该路由设备的上一 跳路由设备能够及时通知全网内的路由设备更新路由表(在路由表中保存被添加设定标 说 明 书CN 102739462 A 7/10页 10 识的路由网段信息),以在设备检测时及时检测出该出现故障的路由设备。 0069 进一步地,在故障路由被修复后,第一路由设备还可以进行设定标识的删除,即该 第一路由设备为通过第三路由设备到达的目的主机地址所对应的路由网段添加设定标识, 以及向路由路径上的各路由。

38、设备转发被添加设定标识的路由网段信息后,还进一步执行如 下步骤: 0070 第一路由设备在确定作为第一路由设备下一跳的第三路由设备可达时,删除为通 过该第三路由设备到达的目的主机地址所对应的路由网段添加的设定标识,并向路由路径 上的各路由设备转发删除该被添加设定标识的路由网段信息的指示,用于指示各路由设备 将路由表中被添加设定标识的路由网段信息删除。 0071 根据本发明实施例提供的上述流程,在路由设备的故障恢复后,该路由设备的上 一跳路由设备能够及时通知全网内的路由设备更新路由表(删除保存的被添加的设定标 识的路由网段信息),以使该路由设备在故障恢复后及时投入使用,提高设备的利用率。 007。

39、2 本发明实施例中涉及的测试报文主要用于检测路由路径上的故障位置,该测试报 文可以为目的端口号异常的UDP数据报文,也可以为ICMP应答请求报文。 0073 为了更好地理解本发明实施例一提供的上述技术方案,该实施例一还给出了结合 具体应用场景进行测试报文转发的流程,具体如下: 0074 该具体应用场景采用图1所示的应用场景,即目的主机对应的IP地址为1.1.1.1, 从源主机1到目的主机2要经历的路由设备包括:路由设备A、路由设备B、路由设备C以及 路由设备D,其中,路由设备A中保存的指向目的主机的路由表的下一跳为路由设备B,路由 设备B中保存的指向目的主机的路由表的下一跳为路由设备C,路由设。

40、备C中保存的指向目 的主机的路由表的下一跳为路由设备D。 0075 假设路由设备D出现故障,即路由设备C和路由设备D之间的链路不可达时,则作 为该路由设备D上一跳的路由设备C会发送携带设定标识的路由网段信息(如最大cost 值的路由网段信息)。假设对应目的主机地址1.1.1.1的路由网段为1.0.0.0/8,则路由设 备C向全网发布(1.0.0.0/8,cost最大值)的信息。 0076 收到添加了设定标识的路由网段信息的路由设备(图1中的路由设备A、路由设备 B),该路由设备A和路由设备B在后续转发测试报文时,若确定到达测试报文目的地址的路 由网段被添加了设定标识,则对测试报文进行正常转发处。

41、理,若测试报文的TTL1,则接 收到测试报文的路由设备A或B丢弃测试报文,并向源主机发送一份TTL超时的报文响应, 若TTL1,则接收到测试报文的路由设备A或B转发该测试报文到下一跳;对于其他非测 试报文的正常的数据报文按丢弃处理(避免普通数据流量进行无效的转发)。 0077 当测试报文到达直连下一跳路由设备已失效的路由设备C时,若TTL1,则路由 设备C向源主机回应TTL超时的报文响应,若TTL1,则该路由设备C丢弃该测试报文。 0078 结合上述应用场景利用traceroute定位故障点的过程,如图5所示,主要包括: 0079 步骤501、源主机1发送TTL1的测试报文,并接收路由设备A针。

42、对该测试报文 反馈的报文响应。 0080 该步骤中,测试报文到达路由设备A后,路由设备A将该测试报文中携带的TTL减 1得到TTL为0的测试报文,丢弃该测试报文,并向源主机1发送TTL超时的ICMP报文。 0081 步骤502、源主机1收到路由设备A发送的报文响应后,向路由设备A发送一个TTL 说 明 书CN 102739462 A 10 8/10页 11 为2的测试报文,并接收路由设备B针对该测试报文反馈的报文响应。 0082 该步骤中,测试报文到达路由设备A后,路由设备A将该测试报文的TTL减1得到 TTL为1的测试报文,该路由设备A根据保存的路由表将该TTL为1的测试报文转发给路由 设备。

43、B,路由设备B将该测试报文中携带的TTL减1得到TTL为0的测试报文,丢弃该测试 报文,并向源主机1发送TTL超时的ICMP报文。 0083 步骤503、源主机1收到路由设备B发送的报文响应后,向路由设备A发送一个TTL 为3的测试报文,并接收路由设备C针对该测试报文反馈的报文响应。 0084 该步骤中,测试报文到达路由设备A后,路由设备A将该测试报文的TTL减1得到 TTL为2的测试报文,该路由设备A根据保存的路由表将该TTL为2的测试报文转发给路由 设备B;路由设备B接收该TTL为2的测试报文后,将测试报文的TTL减1得到TTL为1的 测试报文,该路由设备B进一步根据保存的路由表将该TTL。

44、为1的测试报文转发给路由设 备C;路由设备C接收该TTL为1的测试报文后,将该测试报文的TTL减1得到TTL为0的 测试报文,路由设备C丢弃该测试报文,并向源主机1发送一个TTL超时的ICMP报文。 0085 步骤504、源主机1收到路由设备C发送的报文响应后,向路由设备A发送一个TTL 为4的测试报文,在设定时间内未收到针对该测试报文的报文响应,确定路由设备出现故 障。 0086 测试报文到达路由设备A后,路由设备A将该测试报文的TTL减1得到TTL为3 的测试报文,该路由设备A根据保存的路由表将该TTL为3的测试报文转发给路由设备B; 路由设备B接收该TTL为3的测试报文后,将该测试报文的。

45、TTL减1得到TTL为2的测试 据报文,该路由设备B根据保存的路由表将该TTL为2的测试报文转发给路由设备C;路由 设备C接收该TTL为2的测试报文后,确定路由设备D故障,则丢弃该测试报文。则源主机 1将无法收到路由设备针对该TTL为4的测试报文反馈的报文响应,由此可以确定路由设备 D出现故障(因为通过步骤401至步骤403可以确定路由设备A、B以及C均正常)。 0087 至此,流程结束。 0088 本发明实施例提供的上述技术方案适用于在进行路由路径故障检测的过程,即对 测试报文进行上述处理,如果是正常的数据报文,则由于路由路径存在故障,则第一个接收 到正常数据报文的路由设备直接丢弃该正常的数。

46、据报文。 0089 实施例二 0090 与上述实施例一提供的测试报文的发送方法流程对应,本发明实施例二提供了一 种测试报文的发送装置,该测试报文的发送装置可以位于路由设备中,通过路由设备中的 该测试报文的发送装置,能够使源主机确定出路由路径上的故障位置。 0091 如图6所示,该实施例二提供的测试报文的发送装置,主要包括: 0092 测试报文接收单元601、设定标识识别单元602以及测试报文处理单元603; 0093 其中: 0094 测试报文接收单元601,用于接收由源主机发送或由第二路由设备转发的来自源 主机的第一测试报文;其中,若第一测试报文由第二路由设备转发,则第一测试报文是源主 机在。

47、接收到第一路由设备针对与第一测试报文具有相同目的主机地址的第二测试报文反 馈的生存时间TTL超时的报文响应后发送的; 0095 设定标识识别单元602,用于确定到达所述第一测试报文携带的目的主机地址的 说 明 书CN 102739462 A 11 9/10页 12 路由网段被添加设定标识,其中,所述设定标识用于指示通过所述路由网段到达的目的主 机地址不可达、且用于指示所述第一测试报文在满足转发条件时继续被转发; 0096 测试报文处理单元603,用于在确定第一测试报文满足携带的TTL大于1、且作为 第一路由设备下一跳的第三路由设备可达的转发条件时,将第一测试报文转发给第三路由 设备;以及,在确。

48、定第一测试报文携带的TTL大于1、且作为第一路由设备下一跳的第三路 由设备不可达时,丢弃第一测试报文。 0097 本发明实施例二提供的一个优选实施方式中,图6所示装置包括的测试报文处理 单元603,还用于: 0098 在确定第一测试报文携带的TTL等于1时,丢弃第一测试报文,并向源主机反馈 TTL超时的报文响应。 0099 如图7所示,本发明实施例二提供的一个优选实施方式中,图6所示装置还可以包 括: 0100 设定标识添加单元604,用于在所述测试报文接收单元接收由源主机发送或由第 二路由设备转发的来自所述源主机的第一测试报文之前,在确定作为所述第一路由设备下 一跳的第三路由设备不可达时,为。

49、通过所述第三路由设备到达的目的主机地址所对应的路 由网段添加所述设定标识;以及向到达所述目的主机地址的路由路径上的各路由设备转发 被添加所述设定标识的路由网段信息。 0101 如图8所示,本发明实施例二提供的一个优选实施方式中,图7所示装置还可以包 括: 0102 设定标识删除单元605,用于在所述设定标识添加单元为通过所述第三路由设备 到达的目的主机地址所对应的路由网段添加所述设定标识,以及向所述路由路径上的各路 由设备转发被添加所述设定标识的路由网段信息后,在确定作为所述第一路由设备下一跳 的第三路由设备可达时,删除为通过所述第三路由设备到达的目的主机地址所对应的路由 网段添加的所述设定标识;以及向所述路由路径上的各路由设备转发删除所述被添加所述 设定标识的路由网段信息的指示。 0103 应当理解,以上测试报文的发送装置包括的单元仅为根据该装置实现的功能进行 的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1