本发明涉及网络拓扑领域,尤其涉及一种基于双向搜索交叉碰撞检测的路由缺省路径补全方法及装置。
背景技术
在计算机网络研究中,经常需要对新的应用程序、体系结构或者协议等进行评估,因此基于真实网络的网络模拟就成了计算机网络研究的一种重要方法。由于网络存在多样性和复杂性,影响网络模拟稳定性的重要因素就是所使用的网络拓扑模型。用尽量能反映真实网络的模型作为对真实网络环境的一种抽象,使之作为网络模拟的基本输入,是取得正确结果的必要条件;网络拓扑生成,作为网络模拟的前端输入,是网络模拟的重要内容,也是决定网络模拟真实性和可靠性的重要因素。对网络拓扑生成的研究是当今网络研究领域的重要课题,而对真实世界中网络拓扑的研究和模拟,则是优化现有网络、开发下一代网络协议、测试新网络协议的基础。
在现有的网络拓扑探测中,通常使用traceroute工具检测路由节点信息,然而,现有技术中,使用traceroute探测路径时经常遇到部分节点不可见的情况。
针对该问题,本发明拟采用一种“双向搜索交叉碰撞检测法”,结合历史路由节点信息数据库,通过双向碰撞的检测方法来补全网络路由路径中的不可见节点。
技术实现要素:
本发明的目的在于克服现有的技术不足,提供一种基于双向搜索交叉碰撞检测的路由缺省路径补全方法及装置,能够解决当前图像标注技术存在标注不全和标注缺失的问题。
本发明的目的是通过以下技术方案来实现的:一种基于双向搜索交叉碰撞检测的路由缺省路径补全方法,包括:
s1.根据路由节点的历史连接信息生成路由节点历史连接信息数据库;
s2.查找并确定存在不可见节点的路由路径,并从正向和反向进行traceroute查询,确定不可见节点的首端和尾端的最邻近节点信息;
s3.以所述路由路径的首端最邻近节点作为正向碰撞搜索的起始点;以所述路由路径的尾端最邻近节点作为反向碰撞搜索的起始点;
s4.在所述正向碰撞搜索和所述反向碰撞搜索中,根据所述路由节点历史连接信息数据库,分别查找所述正向碰撞搜索和所述反向碰撞搜索的起始点的下一跳信息;
s5.重复所述步骤s4,直到所述正向碰撞搜索和所述反向碰撞搜索的下一跳信息出现重叠,并将出现重叠的该路由节点作为碰撞点;并输出包含所述碰撞点的连通路径。
进一步的,若所述正向碰撞搜索和所述反向碰撞搜索的起始点之间的节点距离为n,则对包含所述碰撞点的连通路径集合进行筛选,并输出包含节点总数为n的连通路径。
进一步的,所述路由节点历史连接信息数据库的生成是通过拆分历史traceroute路径数据以获取路由节点对。
进一步的,所述路由节点历史连接信息数据库的生成还可以通过导入第三方路由规划数据以获取路由节点对。
本发明还公开了一种基于双向搜索交叉碰撞检测的路由缺省路径补全装置,包括:
路由数据生成模块,用于根据路由节点的历史连接信息生成路由节点历史连接信息数据库;
节点查找模块,用于查找并确定存在不可见节点的路由路径,并从正向和反向进行traceroute查询,确定不可见节点的首端和尾端的最邻近节点信息;以所述路由路径的首端最邻近节点作为正向碰撞搜索的起始点;以所述路由路径的尾端最邻近节点作为反向碰撞搜索的起始点;在所述正向碰撞搜索和所述反向碰撞搜索中,根据所述路由节点历史连接信息数据库,分别查找所述正向碰撞搜索和所述反向碰撞搜索的起始点的下一跳信息,直到所述正向碰撞搜索和所述反向碰撞搜索的下一跳信息出现重叠,并将出现重叠的该路由节点作为碰撞点;
输出模块,用于输出包含所述碰撞点的连通路径。
所述节点查找模块进一步包括包括:若所述正向碰撞搜索和所述反向碰撞搜索的起始点之间的节点距离为n,则对包含所述碰撞点的连通路径集合进行筛选,并输出包含节点总数为n的连通路径。
所述路由数据生成模块进一步包括:所述路由节点历史连接信息数据库的生成是通过拆分历史traceroute路径数据以获取路由节点对。
所述路由数据生成模块进一步包括:所述路由节点历史连接信息数据库的生成是通过导入第三方路由规划数据以获取路由节点对。
本发明的有益效果在于:
1)本发明方法利用历史路径节点对数据,通过补全不可见节点弥补了传统traceroute工具探测路径中的星号问题,有助于运维人员掌握网络路径情况。
附图说明
图1为根据一个实施例的一种基于双向搜索交叉碰撞检测的路由缺省路径补全方法的流程图;
图2为根据一个实施例的一种基于双向搜索交叉碰撞检测的路由缺省路径补全方法的示意图;
图3为根据一个实施例的一种对traceroute不可见节点进行补全的结果示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,下面将结合附图对本发明实施例提供的流量转发控制方案进行说明
根据附图1所示出的一种基于双向搜索交叉碰撞检测的路由缺省路径补全方法,包括:
s1.根据路由节点的历史连接信息生成路由节点历史连接信息数据库;
s2.查找并确定存在不可见节点的路由路径,并从正向和反向进行traceroute查询,确定不可见节点的首端和尾端的最邻近节点信息;
s3.以所述路由路径的首端最邻近节点作为正向碰撞搜索的起始点;以所述路由路径的尾端最邻近节点作为反向碰撞搜索的起始点;
s4.在所述正向碰撞搜索和所述反向碰撞搜索中,根据所述路由节点历史连接信息数据库,分别查找所述正向碰撞搜索和所述反向碰撞搜索的起始点的下一跳信息;
s5.重复所述步骤s4,直到所述正向碰撞搜索和所述反向碰撞搜索的下一跳信息出现重叠,并将出现重叠的该路由节点作为碰撞点;并输出包含所述碰撞点的连通路径。
进一步的,若所述正向碰撞搜索和所述反向碰撞搜索的起始点之间的节点距离为n,则对包含所述碰撞点的连通路径集合进行筛选,并输出包含节点总数为n的连通路径。
具体比如,在本发明的一些实施例中,可以通过但不限于以下过程来获取路由节点,例如,所述路由节点历史连接信息数据库的生成是通过拆分历史traceroute路径数据以获取路由节点对。
具体比如,在本发明的一些实施例中,可以通过但不限于以下过程来获取路由节点,例如,所述路由节点历史连接信息数据库的生成还可以通过导入第三方路由规划数据以获取路由节点对。
本发明还公开了一种基于双向搜索交叉碰撞检测的路由缺省路径补全装置,包括:
路由数据生成模块,用于根据路由节点的历史连接信息生成路由节点历史连接信息数据库;
节点查找模块,用于查找并确定存在不可见节点的路由路径,并从正向和反向进行traceroute查询,确定不可见节点的首端和尾端的最邻近节点信息;以所述路由路径的首端最邻近节点作为正向碰撞搜索的起始点;以所述路由路径的尾端最邻近节点作为反向碰撞搜索的起始点;在所述正向碰撞搜索和所述反向碰撞搜索中,根据所述路由节点历史连接信息数据库,分别查找所述正向碰撞搜索和所述反向碰撞搜索的起始点的下一跳信息,直到所述正向碰撞搜索和所述反向碰撞搜索的下一跳信息出现重叠,并将出现重叠的该路由节点作为碰撞点;
输出模块,用于输出包含所述碰撞点的连通路径。
所述节点查找模块进一步包括包括:若所述正向碰撞搜索和所述反向碰撞搜索的起始点之间的节点距离为n,则对包含所述碰撞点的连通路径集合进行筛选,并输出包含节点总数为n的连通路径。
下面继续根据说明书附图2和3对本发明的实施例进行进一步说明。
如说明书附图2所示,所述路径补全方法采用包括正向搜索和反向搜索两种搜索方式,两种搜索方式同时进行,例如,节点c和节点g分别作为一条路由路径的首端和尾端,中间的路由节点d、e、f均为不可见节点,然后从路由历史数据库中进行查询得到c的下一跳为d、d的下一跳分别为n和e,同理,尾端f开始进行逆向搜索,并列出所有的下一跳的信息,直到首尾两端的搜索过程中出现重叠节点e,于是将节点e作为该次搜索的碰撞点,并将包含碰撞点e的路由路径c-d-e-f-g作为此次补全的输出路径。
附图3示出了一种根据所述路径补全方法来补全路由路径不可见节点的实施例。该实施例依次执行以下步骤:
⑴将探针部署在ip地址为120.78.*.*的云主机a;
⑵在云主机a建立拨测任务,周期性traceroute到ip地址为123.147.*.*的云主机b的路径;
⑶按照所述路径补全方法,解析路径数据,记录节点对关系;
⑷如果traceroute路径出现星号“*”,则根据本发明方法从历史数据查找对应路径节点可能的ip,如附图3中第11跳标注所示。按传统traceroute方法,第11跳测试结果显示为星号“*”,表示节点ip未知,而本发明方法根据历史数据即可推测出第11跳节点ip的最佳置信信息;其中,附图3中的第1列是ttl,第2列是路径节点ip。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、rom、ram等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。