CN103516615B - 网络拓扑确定方法和装置 - Google Patents

网络拓扑确定方法和装置 Download PDF

Info

Publication number
CN103516615B
CN103516615B CN201310295638.8A CN201310295638A CN103516615B CN 103516615 B CN103516615 B CN 103516615B CN 201310295638 A CN201310295638 A CN 201310295638A CN 103516615 B CN103516615 B CN 103516615B
Authority
CN
China
Prior art keywords
destination node
prefix
ttl
node
monitoring point
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.)
Active
Application number
CN201310295638.8A
Other languages
English (en)
Other versions
CN103516615A (zh
Inventor
赵锋
王宝生
胡晓峰
虞万荣
彭伟
黄杰
陶静
吴鹏
原玉磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201310295638.8A priority Critical patent/CN103516615B/zh
Publication of CN103516615A publication Critical patent/CN103516615A/zh
Application granted granted Critical
Publication of CN103516615B publication Critical patent/CN103516615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种网络拓扑确定方法和装置,方法包括:监测点发送第一探测报文至待测网络中目标节点后,根据接收的应答报文或超时报文,对该第一探测报文中的第一TTL执行不断减1或不断加1的操作,并将携带该目标节点的IP地址和每次减1或加1后的第一TTL的第二探测报文或第三探测报文发送给该目标节点,直至接收到该目标节点的上游节点返回的第一超时报文或该目标节点返回的第一应答报文;监测点根据该第一超时报文或第一应答报文确定该目标节点及其相邻上游节点,并根据待测网络中的各个上述目标节点及其相邻上游节点确定该待测网络系统的拓扑结构。本发明实施例有效解决了现有技术确定网络拓扑时,对通信系统开销大的技术问题。

Description

网络拓扑确定方法和装置
技术领域
本发明涉及信息技术领域,尤其涉及一种网络拓扑确定方法和装置。
背景技术
现有技术中,主要采用基于traceroute的方法来发现网络系统的IP级拓扑。Traceroute发现是对于待确定网络拓扑结构的网络中的任一目标节点,监测点(或称探测源)从数据包的超时值TTL为1开始逐渐递增TTL来发送探测包,直到在发送某一TTL值的探测包后接收到目标节点的响应报文后则不再继续发送探测包。
然而,由于路径的重叠特性,上述方法需要发送大量的探测报文,从而增大通信系统开销,给网络运行带来极大负担。
发明内容
本发明提供一种网络拓扑确定方法和装置,用以解决现有技术确定网络拓扑时,监测点需发送大量的探测报文,致使通信系统开销增大,网络运行负担重的技术问题。
一方面,本发明实施例提供一种网络拓扑确定方法,包括:
监测点发送第一探测报文至待测网络中目标节点,所述第一探测报文携带所述目标节点的互联网协议IP地址和设定的第一超时值TTL;
若所述监测点接收所述目标节点返回的应答报文,所述监测点不断将所述第一TTL减1,并将每次减1后得到的第二探测报文发送给所述目标节点,所述第二探测报文中携带所述目标节点的IP地址和减1后的所述第一TTL,直至接收到所述目标节点的上游节点返回的第一超时报文;
若所述监测点接收所述目标节点的上游节点返回的超时报文,所述监测点不断将所述第一TTL加1,并将每次加1后得到的第三探测报文发送给所述目标节点,所述第三探测报文中携带所述目标节点的IP地址和加1后的所述第一TTL,直至接收到所述目标节点返回的第一应答报文;
所述监测点根据接收到的所述第一超时报文或所述第一应答报文确定所述目标节点的相邻上游节点;所述监测点根据所述待测网络中的各个所述目标节点及其相邻上游节点确定所述待测网络系统的拓扑结构。
另一方面,本发明实施例提供一种网络拓扑确定装置,包括:发送模块、处理模块和接收模块;
所述发送模块,用于发送第一探测报文至待测网络中目标节点,所述第一探测报文携带所述目标节点的互联网协议IP地址和设定的第一超时值TTL;
所述处理模块,用于若所述接收模块接收所述目标节点返回的应答报文,则不断将所述第一TTL减1,直至所述接收模块接收到所述目标节点的上游节点返回的第一超时报文,或者,
用于若所述接收模块接收所述目标节点的上游节点返回的超时报文,则不断将所述第一TTL加1,直至接收到所述目标节点返回的第一应答报文;
所述发送模块,用于将第二探测报文发送给所述目标节点,所述第二探测报文中携带所述目标节点的IP地址和减1后的所述第一TTL,或者,
用于将第三探测报文发送给所述目标节点,所述第三探测报文中携带所述目标节点的IP地址和加1后的所述第一TTL;
所述接收模块,用于接收所述目标节点的上游节点返回的第一超时报文,或者,
用于接收所述目标节点返回的第一应答报文;
所述处理模块,用于根据接收模块接收到的所述第一超时报文或所述第一应答报文确定所述目标节点的相邻上游节点;
所述处理模块,还用于根据所述待测网络中的各个所述目标节点及其相邻上游节点确定所述待测网络系统的拓扑结构。
本发明提供的网络拓扑确定方法和装置,监测点发送第一探测报文至待测网络中目标节点后,根据接收的目标节点返回的应答报文,或目标节点的上游节点返回的超时报文,对该第一探测报文中的第一TTL执行不断减1或不断加1的操作,并将携带该目标节点的IP地址和每次减1或加1后的第一TTL的第二探测报文或第三探测报文发送给该目标节点,直至接收到该目标节点的上游节点返回的第一超时报文或该目标节点返回的第一应答报文;监测点根据该第一超时报文或第一应答报文确定该目标节点及其相邻上游节点,并根据待测网络中的各个上述目标节点及其相邻上游节点确定该待测网络系统的拓扑结构,减小了通信系统的开销。
附图说明
图1为本发明提供的网络拓扑确定方法一个实施例的流程图;
图2为本发明提供的网络拓扑确定方法另一个实施例的流程图;
图3为本发明提供的网络拓扑确定装置一个实施例的结构示意图;
图4为本发明提供的网络拓扑确定装置另一个实施例的结构示意图。
具体实施方式
图1为本发明提供的网络拓扑确定方法一个实施例的流程图。如图1所示,以下步骤的执行主体可以为设置在网络中的具有报文收发功能的监测点,该监测点可以是终端或服务器,或该终端或服务器上的一个或多个模块。该网络拓扑确定方法具体包括:
S101,监测点发送第一探测报文至待测网络中目标节点,该第一探测报文携带该目标节点的互联网协议IP地址和设定的第一超时值TTL;
确定待测网络的拓扑结构就是确定待测网络中各节点的上下游连接关系,通过发送探测报文,并根据接收的目标节点返回的应答报文,或目标节点的上游节点返回的超时报文可以实现对待测网络的拓扑结构的重现。例如,监测点可发送该第一探测报文至待测网络中目标节点,该第一探测报文携带该目标节点的互联网协议IP地址和设定的第一超时值TTL。
S102,若监测点接收该目标节点返回的应答报文,监测点不断将上述第一TTL减1,并将每次减1后得到的第二探测报文发送给该目标节点,该第二探测报文中携带该目标节点的IP地址和减1后的上述第一TTL,直至接收到该目标节点的上游节点返回的第一超时报文;
当上述监测点向目标节点发送第一探测报文后,若该监测点接收该目标节点返回的应答报文,则说明监测点到目标节点的跳数小于或等于上述第一TTL。此时,将该第一TTL减1,并将携带该目标节点的IP地址和减1后的该第一TTL的第二探测报文发送给该目标节点。若监测点在发送该第二探测报文后仍接收到目标节点返回的应答报文,则重复执行对减1后的第一TTL继续减1,并以每次减1后的第一TTL和该目标节点的IP地址构成新的第二探测报文发送给该目标节点的操作步骤,直至监测点接收到该目标节点的相邻上游节点返回的第一超时报文。
S103,若该监测点接收该目标节点的上游节点返回的超时报文,该监测点不断将上述第一TTL加1,并将每次加1后得到的第三探测报文发送给该目标节点,该第三探测报文中携带该目标节点的IP地址和加1后的上述第一TTL,直至接收到所述目标节点返回的第一应答报文;
当上述监测点向目标节点发送第一探测报文后,若该监测点接收该目标节点的上游节点返回的超时报文,则说明监测点到目标节点的跳数大于上述第一TTL。此时,将该第一TTL加1,并将携带该目标节点的IP地址和加1后的该第一TTL的第三探测报文发送给该目标节点。若监测点在发送该第三探测报文后仍接收到目标节点的上游节点返回的超时报文,则重复执行对加1后的第一TTL继续加1,并以每次加1后的第一TTL和该目标节点的IP地址构成新的第三探测报文发送给该目标节点的操作步骤,直至监测点接收到该目标节点返回的第一应答报文。
S104,监测点根据接收到的上述第一超时报文或第一应答报文确定该目标节点的相邻上游节点;
当监测点向目标节点发出上述第二探测报文后,若接收到目标节点返回的应答报文,则表明,该第二探测报文携带的第一TTL值已能到达目标节点。而在步骤102中,由于该第一超时报文是在发送了第一TTL值递减的第二探测报文后收到的继所有应答报文后的首个超时报文,则判断出该第一超时报文为目标节点的相邻上游节点发送。根据该第一超时报文中携带的发送节点的IP地址和监测点接收该第一超时报文对应发送的前一个第二探测报文中携带的第一TTL值,可得到监测点到目标节点、监测点到该目标节点的相邻上游节点的跳数,以及该目标节点、该目标节点的相邻上游节点的IP地址。当监测点向目标节点发出上述第三探测报文后,若接收到目标节点的上游节点返回的超时报文,则表明,该第三探测报文中由于其携带的第一TTL值较小,未到达目标节点。而在步骤103中,由于该第一应答报文是在发送了第一TTL值递增的第三探测报文后收到的继所有超时报文后的首个应答报文,则判断出该第一应答报文对应的前一个超时报文为目标节点的相邻上游节点发送。根据监测点在接收该第一应答报文对应前一个发送的第三探测报文中携带的第一TTL值以及上一个超时报文中携带的发送节点的IP地址,可得到监测点到目标节点、监测点到该目标节点的相邻上游节点的跳数,以及该目标节点、该目标节点的相邻上游节点的IP地址。
S105,该监测点根据该待测网络中的各个目标节点及其相邻上游节点确定该待测网络系统的拓扑结构;
监测点根据上述目标节点返回的应答报文、该目标节点的相邻上游节点返回的超时报文,得到目标节点、该目标节点的相邻上游节点的IP地址。若以该待测网络中所包括的所有IP地址均作为上述目标节点,则可通过获知的所有目标节点,和所有目标节点对应的相邻上游节点确定该待测网络系统的拓扑结构。
本发明提供的网络拓扑确定方法,监测点发送第一探测报文至待测网络中目标节点后,根据接收的目标节点返回的应答报文,或目标节点的上游节点返回的超时报文,对该第一探测报文中的第一TTL执行不断减1或不断加1的操作,并将携带该目标节点的IP地址和每次减1或加1后的第一TTL的第二探测报文或第三探测报文发送给该目标节点,直至接收到该目标节点的上游节点返回的第一超时报文或该目标节点返回的第一应答报文;监测点根据该第一超时报文或第一应答报文确定该目标节点及其相邻上游节点,并根据待测网络中的各个上述目标节点及其相邻上游节点确定该待测网络系统的拓扑结构,减小了通信系统的开销。
图2为本发明提供的网络拓扑确定方法另一个实施例的流程图,是如图1所示实施例的一种具体的实现方式。如图2所示,以下步骤的执行主体可以为设置在网络中的具有报文收发功能的监测点,该监测点可以是终端或服务器,或该终端或服务器上的一个或多个模块。
通过发送探测报文,并根据接收的目标节点返回的应答报文,或目标节点的上游节点返回的超时报文来实现对待测网络的拓扑结构的重现。首先要解决的是如何确定待测网络中各节点的IP地址。本方案则通过步骤201~203获得待测网络中各节点的IP地址。
S201,监测点获取待测网络的前缀列表文件;
例如,当待测网络系统为自治系统,则其地址前缀列表可以通过公开网站如bgp.he.net或者边界网关协议(Border Gateway Protocol,BGP)路由表等方式获得。
S202,对于上述前缀列表文件中的任意第一前缀,若该前缀列表文件中不存在地址空间大于该第一前缀所包含的地址空间的第二前缀,则判断该第一前缀的长度是否大于或等于设定长度;
对于上述前缀列表文件中的任意一个前缀,可视为第一前缀,确定该前缀列表文件中不存在地址空间大于该第一前缀所包含的地址空间的第二前缀(除第一前缀的其他前缀)。若该前缀列表文件中存在地址空间大于该第一前缀所包含的地址空间的第二前缀,那么可将该第二前缀作为新的第一前缀与其他第二前缀进行比较,并删除原来的第一前缀。如上处理,可保证该前缀列表文件中的任意第一前缀所包含的地址空间不包含在该前缀列表文件中的第二前缀里。当该前缀列表文件中不存在地址空间大于该第一前缀所包含的地址空间的第二前缀时,则判断该第一前缀的长度是否大于或等于设定长度,该设定长度为某一连续地址段的长度。
S203,若该第一前缀的长度大于或等于该设定长度,则根据该第一前缀生成对应的目标节点的IP地址;若该第一前缀的长度小于该设定长度,则根据该第一前缀生成多个长度为该设定长度的前缀,并分别根据生成的前缀生成对应的目标节点的IP地址;
当该第一前缀的长度大于或等于该设定长度,表明该第一前缀所包含的地址空间小于或等于设定范围,则根据该第一前缀生成对应的目标节点的IP地址;该目标节点的IP地址则为该第一前缀所包含的地址空间中的任一个IP地址。当该第一前缀的长度小于该设定长度,表明该第一前缀所包含的地址空间大于设定范围,则根据该第一前缀生成多个长度为该设定长度的前缀,使生成的每个前缀所包含的地址空间不大于设定范围,并分别根据生成的前缀生成对应的目标节点的IP地址,该目标节点的IP地址仍可为该第一前缀所包含的地址空间中的任一个IP地址。
步骤201~203为单次在每一个第一前缀所包含的地址空间中选择一个IP地址作为待测的目标节点的IP地址的方式。当测试完这些目标节点后,可从新在每一个第一前缀所包含的地址空间中选择另外一个IP地址作为新一轮待测的目标节点的IP地址,直到所有的第一前缀所包含的IP地址都作为目标节点的IP地址而被探测完毕。如此操作,可有效防止待测网络因接到发给连续IP地址节点的报文而采取的拦截该报文等防御措施。
在获取到待测网络中各节点的IP地址后,即可以待测网络中各节点作为目标节点向其发送探测报文。在图1所示的网络拓扑确定方法的步骤101中,需要设定第一超时值TTL。因此,本实施例给出了一种确定第一超时值TTL的实现方式,能够有效减少监测点发送上述第二探测报文和第三探测报文的次数,其步骤如下(步骤204~206)。
S204,监测点发送初始探测报文至待测网络中目标节点,该初始探测报文携带该目标节点的IP地址和缺省超时值TTL,该缺省超时值TTL大于或等于所述监测点到所述目标节点的跳数;
监测点向待测网络中各目标节点发送初始探测报文,该初始探测报文携带该目标节点的IP地址和缺省TTL。为保证目标节点能够接收到初始探测报文,其中的缺省TTL应大于或等于该监测点到该目标节点的跳数,为保证这一点,可将该缺省TTL设置的足够大。
S205,监测点接收该目标节点返回的应答报文,并根据该应答报文确定该应答报文从该目标节点到该监测点经历的返回跳数;
当监测点发送上述初始探测报文至相应目标节点后,由于该初始探测报文携带的缺省TTL足够大,因此,该监测点会接收该目标节点返回的应答报文。通常,无论是应答报文,超时报文或探测报文,在其到达指定接收节点的过程中,每经过一个节点,其超时值TTL便会减1,此时,每个接收节点接收的报文中则包括剩余的超时值TTL。而在网络中,各节点的TTL被预先设置的足够大。当监测点接收到目标节点返回的应答报文后,根据该应答报文中剩余的TTL和待测网络中各目标节点被预先设置的TTL,可以得到该目标节点到该监测点经历的返回跳数。
S206,该监测点将上述返回跳数设定为上述第一超时值TTL;
网络中源节点到目标节点的正向和反向的路径可能并不对称,以本案中的监测点作为源节点,其到待测网络中各目标节点的正向和反向的路径也可能是不对称的,但监测点至目标节点的正向跳数与目标节点到监测点的返回跳数通常情况下应该是相等或相近的。因此,可将步骤205中获得的目标节点到监测点的返回跳数设定为上述第一超时值TTL,使该第一超时值TTL更接近于监测点至目标节点的正向跳数。
确定了第一超时值TTL后,便可以执行步骤207。
S207,监测点发送第一探测报文至待测网络中目标节点,该第一探测报文携带该目标节点的互联网协议IP地址和设定的第一超时值TTL;该步骤具体执行过程可参见步骤101的相应内容。
S208,若监测点接收该目标节点返回的应答报文,监测点不断将上述第一TTL减1,并将每次减1后得到的第二探测报文发送给该目标节点,该第二探测报文中携带该目标节点的IP地址和减1后的上述第一TTL,直至接收到该目标节点的上游节点返回的第一超时报文;该步骤具体执行过程可参见步骤102的相应内容。
S209,若该监测点接收该目标节点的上游节点返回的超时报文,该监测点不断将上述第一TTL加1,并将每次加1后得到的第三探测报文发送给该目标节点,该第三探测报文中携带该目标节点的IP地址和加1后的上述第一TTL,直至接收到所述目标节点返回的第一应答报文;该步骤具体执行过程可参见步骤103的相应内容。
S210,监测点根据接收到的上述第一超时报文或第一应答报文确定该目标节点的相邻上游节点;该步骤具体执行过程可参见步骤104的相应内容。
S211,该监测点根据该待测网络中的各个目标节点及其相邻上游节点确定该待测网络系统的拓扑结构;该步骤具体执行过程可参见步骤105的相应内容。
本发明提供的网络拓扑确定方法,监测点发送第一探测报文至待测网络中目标节点后,根据接收的目标节点返回的应答报文,或目标节点的上游节点返回的超时报文,对该第一探测报文中的第一TTL执行不断减1或不断加1的操作,并将携带该目标节点的IP地址和每次减1或加1后的第一TTL的第二探测报文或第三探测报文发送给该目标节点,直至接收到该目标节点的上游节点返回的第一超时报文或该目标节点返回的第一应答报文;监测点根据该第一超时报文或第一应答报文确定该目标节点及其相邻上游节点,并根据待测网络中的各个上述目标节点及其相邻上游节点确定该待测网络系统的拓扑结构,减小了通信系统的开销。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图3为本发明提供的网络拓扑确定装置一个实施例的结构示意图。如图3所示,该装置可以为设置在网络中的具有报文收发功能的监测点,该监测点可以是终端或服务器,或该终端或服务器上的一个或多个模块,并可以执行如图1所示的方法步骤。该网络拓扑确定装置具体包括:发送模块31、处理模块32和接收模块33,其中:
发送模块31,用于发送第一探测报文至待测网络中目标节点,该第一探测报文携带该目标节点的互联网协议IP地址和设定的第一超时值TTL;
处理模块32,用于若接收模块33接收目标节点返回的应答报文,则不断将上述第一TTL减1,直至所述接收模块33接收到该目标节点的上游节点返回的第一超时报文,或者,
用于若接收模块33接收该目标节点的上游节点返回的超时报文,则不断将所述第一TTL加1,直至接收模块33接收到目标节点返回的第一应答报文;
发送模块31,还用于将第二探测报文发送给目标节点,该第二探测报文中携带该目标节点的IP地址和减1后的上述第一TTL,或者,
用于将第三探测报文发送给目标节点,该第三探测报文中携带该目标节点的IP地址和加1后的上述第一TTL;
接收模块33,用于接收目标节点的上游节点返回的第一超时报文,或者,
用于接收目标节点返回的第一应答报文;
处理模块32,用于根据接收模块33接收到的上述第一超时报文或第一应答报文确定该目标节点的相邻上游节点;
处理模块32,还用于根据待测网络中的各个目标节点及其相邻上游节点确定该待测网络系统的拓扑结构。
具体地,本方案将待测网络中各节点作为目标节点,通过发送模块31向各目标节点发送第一探测报文,该第一探测报文携带该目标节点的互联网协议IP地址和设定的第一超时值TTL;该发送过程具体可参见步骤101的相应内容。
接收模块33在发送模块31向各目标节点发送第一探测报文后,或是接收目标节点返回的应答报文,或是接收目标节点的上游节点返回的超时报文。
若接收模块33接收到该目标节点返回的应答报文,则指示处理模块32不断将该第一TTL减1,并将每次减1后得到的第二探测报文通过发送模块31发送给该目标节点,该第二探测报文中携带该目标节点的IP地址和减1后的该第一TTL,直至接收模块33接收到该目标节点的上游节点返回的第一超时报文;该过程具体可参见步骤102的相应内容。
若接收模块33接收到该目标节点的上游节点返回的超时报文,则指示处理模块32不断将该第一TTL加1,并将每次加1后得到的第三探测报文通过发送模块31发送给该目标节点,该第三探测报文中携带该目标节点的IP地址和加1后的该第一TTL,直至接收模块33接收到该目标节点返回的第一应答报文;该过程具体可参见步骤103的相应内容。处理模块32根据接收模块33接收到的上述第一超时报文或第一应答报文确定该目标节点的相邻上游节点;该确定过程具体可参见步骤104的相应内容。
处理模块32根据该待测网络中的各个目标节点及其相邻上游节点确定该待测网络系统的拓扑结构;该确定过程具体可参见步骤105的相应内容。
本发明提供的网络拓扑确定装置,发送模块发送第一探测报文至待测网络中目标节点后,处理模块根据接收模块接收的目标节点返回的应答报文,或目标节点的上游节点返回的超时报文,对该第一探测报文中的第一TTL执行不断减1或不断加1的操作,并将携带该目标节点的IP地址和每次减1或加1后的第一TTL的第二探测报文或第三探测报文通过发送模块发送给该目标节点,直至接收模块接收到该目标节点的上游节点返回的第一超时报文或该目标节点返回的第一应答报文;处理模块根据该第一超时报文或第一应答报文确定该目标节点及其相邻上游节点,并根据待测网络中的各个上述目标节点及其相邻上游节点确定该待测网络系统的拓扑结构,减小了通信系统的开销。
图4为本发明提供的网络拓扑确定装置另一个实施例的结构示意图,是如图3所示实施例的一种具体实现方式。如图4所示,该装置可以为设置在网络中的具有报文收发功能的监测点,该监测点可以是终端或服务器,或该终端或服务器上的一个或多个模块,并可以执行如图2所示的方法步骤。该网络拓扑确定装置在如图3所示结构和功能的基础上还包括:获取模块34、判断模块35,其中:
获取模块34,用于获取待测网络的前缀列表文件;
判断模块35,用于对于该前缀列表文件中的任意第一前缀,判断该前缀列表文件中是否存在地址空间大于该第一前缀所包含的地址空间的第二前缀,若该前缀列表文件中不存在地址空间大于该第一前缀所包含的地址空间的第二前缀,则判断该第一前缀的长度是否大于或等于设定长度;
处理模块32,还用于若判断模块35判断该第一前缀的长度大于或等于该设定长度,则根据该第一前缀生成对应的目标节点的IP地址;若判断模块35判断该第一前缀的长度小于该设定长度,则根据该第一前缀生成多个长度为设定长度的前缀,并分别根据生成的前缀生成对应的目标节点的IP地址。
发送模块31,用于发送初始探测报文至待测网络中目标节点,该初始探测报文携带该目标节点的IP地址和缺省超时值TTL,该缺省超时值TTL大于或等于该监测点到该目标节点的跳数;
处理模块32,用于在上述接收模块33接收该目标节点返回的应答报文后,根据该应答报文确定该应答报文从该目标节点到该监测点经历的返回跳数;
处理模块32,还用于将该返回跳数设定为上述第一超时值TTL。
具体地,通过发送探测报文,并根据接收的目标节点返回的应答报文,或目标节点的上游节点返回的超时报文来实现对待测网络的拓扑结构的重现。首先要解决的是如何确定待测网络中各节点的IP地址。
确定待测网络中各节点的IP地址的步骤,包括:
获取模块34获取待测网络的前缀列表文件,该获取过程可参见步骤201的相应内容。判断模块35对于获取模块34获取的该前缀列表文件中的任意第一前缀,判断该前缀列表文件中是否存在地址空间大于该第一前缀所包含的地址空间的第二前缀,若该前缀列表文件中不存在地址空间大于该第一前缀所包含的地址空间的第二前缀,则判断该第一前缀的长度是否大于或等于设定长度;该判断过程的具体执行步骤可参见步骤202的相应内容。若判断模块35判断该第一前缀的长度大于或等于该设定长度,则处理模块32根据该第一前缀生成对应的目标节点的IP地址;若判断模块35判断该第一前缀的长度小于该设定长度,则处理模块32根据该第一前缀生成多个长度为设定长度的前缀,并分别根据生成的前缀生成对应的目标节点的IP地址,该生成过程的具体执行步骤可参见步骤203的相应内容。
上述步骤为本装置单次在每一个第一前缀所包含的地址空间中选择一个IP地址作为待测的目标节点的IP地址的方式。当测试完这些目标节点后,可从新在每一个第一前缀所包含的地址空间中选择另外一个IP地址作为新一轮待测的目标节点的IP地址,直到所有的第一前缀所包含的IP地址都作为目标节点的IP地址而被探测完毕。如此操作,可有效防止待测网络因接到发给连续IP地址节点的报文而采取的拦截该报文等防御措施。
在确定了待测网络中各节点的IP地址后,即可以待测网络中各节点作为目标节点通过发送模块31向其发送探测报文。在图1所示的网络拓扑确定方法的步骤101中,需要确定第一超时值TTL。因此,本实施例给出了一种确定第一超时值TTL的实现方式,能够有效减少监测点发送上述第二探测报文的次数,具体过程如下。
发送模块31发送初始探测报文至待测网络中目标节点,该初始探测报文携带该目标节点的IP地址和缺省超时值TTL,该缺省超时值TTL大于或等于所述监测点到所述目标节点的跳数;该发送过程可参见步骤204的相应内容。接收模块33接收该目标节点返回的应答报文,并由处理模块32根据该应答报文确定该应答报文从该目标节点到该监测点经历的返回跳数;该过程可参见步骤205的相应内容。处理模块32将上述返回跳数设定为上述第一超时值TTL;该过程可参见步骤206的相应内容。
至此,第一超时值TTL确定完毕,可继续进行如图3所示实施例的相关模块及其执行相应的如图1所示实施例的步骤101~105或如图2所示实施例的步骤207~211来实现对网络拓扑确定的方法流程,具体执行过程在此不作赘述。本发明提供的网络拓扑确定装置,发送模块发送第一探测报文至待测网络中目标节点后,处理模块根据接收模块接收的目标节点返回的应答报文,或目标节点的上游节点返回的超时报文,对该第一探测报文中的第一TTL执行不断减1或不断加1的操作,并将携带该目标节点的IP地址和每次减1或加1后的第一TTL的第二探测报文或第三探测报文通过发送模块发送给该目标节点,直至接收模块接收到该目标节点的上游节点返回的第一超时报文或该目标节点返回的第一应答报文;处理模块根据该第一超时报文或第一应答报文确定该目标节点及其相邻上游节点,并根据待测网络中的各个上述目标节点及其相邻上游节点确定该待测网络系统的拓扑结构,减小了通信系统的开销。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (4)

1.一种网络拓扑确定方法,其特征在于,包括:
监测点发送第一探测报文至待测网络中目标节点,所述第一探测报文携带所述目标节点的互联网协议IP地址和设定的第一超时值TTL;
若所述监测点接收所述目标节点返回的应答报文,所述监测点不断将所述第一TTL减1,并将每次减1后得到的第二探测报文发送给所述目标节点,所述第二探测报文中携带所述目标节点的IP地址和减1后的所述第一TTL,直至接收到所述目标节点的上游节点返回的第一超时报文;
若所述监测点接收所述目标节点的上游节点返回的超时报文,所述监测点不断将所述第一TTL加1,并将每次加1后得到的第三探测报文发送给所述目标节点,所述第三探测报文中携带所述目标节点的IP地址和加1后的所述第一TTL,直至接收到所述目标节点返回的第一应答报文;
所述监测点根据接收到的所述第一超时报文或所述第一应答报文确定所述目标节点的相邻上游节点;所述监测点根据所述待测网络中的各个所述目标节点及其相邻上游节点确定所述待测网络系统的拓扑结构;
所述监测点发送初始探测报文至待测网络中目标节点之前,还包括:
所述监测点获取所述待测网络的前缀列表文件;
对于所述前缀列表文件中的任意第一前缀,若所述前缀列表文件中不存在地址空间大于所述第一前缀所包含的地址空间的第二前缀,则判断所述第一前缀的长度是否大于或等于设定长度;
若所述第一前缀的长度大于或等于所述设定长度,则根据所述第一前缀生成对应的所述目标节点的IP地址;若所述第一前缀的长度小于所述设定长度,则根据所述第一前缀生成多个长度为所述设定长度的前缀,并分别根据生成的前缀生成对应的所述目标节点的IP地址。
2.根据权利要求1所述的方法,其特征在于,所述监测点发送第一探测报文至待测网络中目标节点之前,还包括:
所述监测点发送初始探测报文至待测网络中目标节点,所述初始探测报文携带所述目标节点的IP地址和缺省超时值TTL,所述缺省超时值TTL大于或等于所述监测点到所述目标节点的跳数;
所述监测点接收所述目标节点返回的应答报文,并根据该应答报文确定该应答报文从所述目标节点到所述监测点经历的返回跳数;
所述监测点将所述返回跳数设定为所述第一超时值TTL。
3.一种网络拓扑确定装置,其特征在于,包括:发送模块、处理模块和接收模块;
所述发送模块,用于发送第一探测报文至待测网络中目标节点,所述第一探测报文携带所述目标节点的互联网协议IP地址和设定的第一超时值TTL;
所述处理模块,用于若所述接收模块接收所述目标节点返回的应答报文,则不断将所述第一TTL减1,直至所述接收模块接收到所述目标节点的上游节点返回的第一超时报文,或者,
用于若所述接收模块接收所述目标节点的上游节点返回的超时报文,则不断将所述第一TTL加1,直至所述接收模块接收到所述目标节点返回的第一应答报文;
所述发送模块,用于将第二探测报文发送给所述目标节点,所述第二探测报文中携带所述目标节点的IP地址和减1后的所述第一TTL,或者,
用于将第三探测报文发送给所述目标节点,所述第三探测报文中携带所述目标节点的IP地址和加1后的所述第一TTL;
所述接收模块,用于接收所述目标节点的上游节点返回的第一超时报文,或者,
用于接收所述目标节点返回的第一应答报文;
所述处理模块,用于根据接收模块接收到的所述第一超时报文或所述第一应答报文确定所述目标节点的相邻上游节点;
所述处理模块,还用于根据所述待测网络中的各个所述目标节点及其相邻上游节点确定所述待测网络系统的拓扑结构;
所述装置还包括:获取模块和判断模块;
所述获取模块,用于获取所述待测网络的前缀列表文件;
所述判断模块,用于对于所述前缀列表文件中的任意第一前缀,判断所述前缀列表文件中是否存在地址空间大于所述第一前缀所包含的地址空间的第二前缀,若所述前缀列表文件中不存在地址空间大于所述第一前缀所包含的地址空间的第二前缀,则判断所述第一前缀的长度是否大于或等于设定长度;
若所述第一前缀的长度大于或等于所述设定长度,则指示处理模块根据所述第一前缀生成对应的所述目标节点的IP地址;若所述第一前缀的长度小于所述设定长度,则指示处理模块根据所述第一前缀生成多个长度为所述设定长度的前缀,并分别根据生成的前缀生成对应的所述目标节点的IP地址。
4.根据权利要求3所述的装置,其特征在于,
所述发送模块,用于发送初始探测报文至待测网络中目标节点,所述初始探测报文携带所述目标节点的IP地址和缺省超时值TTL,所述缺省超时值TTL大于或等于所述监测点到所述目标节点的跳数;
所述处理模块,用于在所述接收模块接收所述目标节点返回的应答报文后,根据该应答报文确定该应答报文从所述目标节点到所述监测点经历的返回跳数;
所述处理模块,还用于将所述返回跳数设定为所述第一超时值TTL。
CN201310295638.8A 2013-07-15 网络拓扑确定方法和装置 Active CN103516615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310295638.8A CN103516615B (zh) 2013-07-15 网络拓扑确定方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310295638.8A CN103516615B (zh) 2013-07-15 网络拓扑确定方法和装置

Publications (2)

Publication Number Publication Date
CN103516615A CN103516615A (zh) 2014-01-15
CN103516615B true CN103516615B (zh) 2016-11-30

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599303B2 (en) * 2005-07-26 2009-10-06 Cisco Technology, Inc. System and methods for sending trace messages
CN102255775A (zh) * 2011-07-18 2011-11-23 中兴通讯股份有限公司 一种路由跟踪的方法、装置和系统
CN102340451A (zh) * 2011-09-28 2012-02-01 中兴通讯股份有限公司 一种跟踪路由测试方法、系统、装置及设备
CN102625332A (zh) * 2011-11-01 2012-08-01 北京小米科技有限责任公司 一种网络路由检测的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599303B2 (en) * 2005-07-26 2009-10-06 Cisco Technology, Inc. System and methods for sending trace messages
CN102255775A (zh) * 2011-07-18 2011-11-23 中兴通讯股份有限公司 一种路由跟踪的方法、装置和系统
CN102340451A (zh) * 2011-09-28 2012-02-01 中兴通讯股份有限公司 一种跟踪路由测试方法、系统、装置及设备
CN102625332A (zh) * 2011-11-01 2012-08-01 北京小米科技有限责任公司 一种网络路由检测的方法

Similar Documents

Publication Publication Date Title
US8331369B2 (en) Methods and apparatus to distribute network IP traffic
US10505804B2 (en) System and method of discovering paths in a network
Javed et al. PoiRoot: Investigating the root cause of interdomain path changes
Vermeulen et al. Multilevel MDA-lite Paris traceroute
CN107896241A (zh) 网络访问速度的探测方法、装置、存储介质和电子设备
JP2007174668A (ja) 実際のネットワークトラフィックを使用してネットワーク性能を測定するためのシステム及び方法
Liang et al. Measuring query latency of top level DNS servers
US11283757B2 (en) Mapping internet routing with anycast and utilizing such maps for deploying and operating anycast points of presence (PoPs)
US7898973B2 (en) Convergence measurement in computer network
CN106878106A (zh) 一种可达性检测方法及装置
Basit et al. Performance analysis of OSPF and EIGRP convergence through IPsec tunnel using Multi-homing BGP connection
Zhang et al. A framework for measuring and predicting the impact of routing changes
US11336579B2 (en) Predictive Anycast traffic shaping
Shi et al. On capturing DDoS traffic footprints on the Internet
CN103516615B (zh) 网络拓扑确定方法和装置
JP4673925B2 (ja) 情報取得装置、情報取得方法および情報取得プログラム
CN110855566A (zh) 上行流量的牵引方法和装置
CN113301003B (zh) 信息、数据链路检测方法、设备及存储介质
Dong et al. A novel algorithm of IPv6 network topology discovery for campus network
Mandalari et al. Tracking the Big NAT across Europe and the US
Principal An approach for determining conditions for monitoring of critical nodes for MANET intrusion detection system
Colitti et al. Investigating prefix propagation through active BGP probing
Lorenz et al. FaVe: Modeling IPv6 firewalls for fast formal verification
CN103701696A (zh) 一种is-is协议中支持转发地址的方法及其装置
CN108965138A (zh) 一种新一代多媒体传感网的实现方法

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant