首页> 中国专利> 一种基于路由信息和Traceroute信息的路由器别名解析方法

一种基于路由信息和Traceroute信息的路由器别名解析方法

摘要

本发明公开了一种基于路由信息和Traceroute信息的路由器别名解析方法,包括以下步骤:S1、采集被测量网络中的路由报文和Traceroute数据;S2、提取路由报文中的IP地址、IP子网,推断出IP别名;S3、根据IP地址的分配策略对Traceroute信息和S2中提取的IP地址和IP子网进行分析,推断被测量网络中的IP子网;S4、采用基于图分析的别名解析技术推断出IP别名;S5、将具有别名关系的IP地址聚合,得到被测量网络的实际节点。本发明把路由信息融入传统的图分析方法中,利用路由信息提取IP地址、IP子网和IP别名,并把提取的信息用于IP子网推断和IP别名识别中,弥补了仅仅依靠Traceroute获取的信息不完整的缺陷,不仅大幅度提高了别名解析的准确率和覆盖率,还提高了别名解析的效率。

著录项

  • 公开/公告号CN107566279A

    专利类型发明专利

  • 公开/公告日2018-01-09

    原文格式PDF

  • 申请/专利号CN201710760686.8

  • 发明设计人 占梦来;李楠;张军;王另;

    申请日2017-08-30

  • 分类号

  • 代理机构成都宏顺专利代理事务所(普通合伙);

  • 代理人周永宏

  • 地址 610041 四川省成都市武侯区武侯新城管委会科技园武青南路51号1幢2层1号

  • 入库时间 2023-06-19 04:13:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-02

    授权

    授权

  • 2018-02-02

    实质审查的生效 IPC(主分类):H04L12/751 申请日:20170830

    实质审查的生效

  • 2018-01-09

    公开

    公开

说明书

技术领域

本发明属于通信技术领域,特别涉及一种基于路由信息和Traceroute信息的路由器别名解析方法。

背景技术

随着现代社会网络的飞速发展,网络的规模不断扩大,网络的结构也日益复杂。网络整体的拓扑结构对于加强网络管理和控制、指导网络设计、优化网络性能等都具有重要的意义。

在任何一个网络中,路由器都承担着接收和转发网络流量的重要功能,为了保证网络的连通性和节省开销,路由器一般都有两个以上的网络接口和其它路由器进行连接。而路由器的每一个接口都有一个IP地址,每一个IP地址都可以代表其路由器,每一个路由器的IP地址之间互为别名关系。

在传统的网络拓扑探测(如Traceroute)中,由探测数据直接绘制出的网络拓扑是IP级网络拓扑,其中每一个点代表一个IP地址,每一条边代表两个IP地址的连接关系。但在实际生活网络拓扑的表现方式是路由器级网络拓扑,其中节点代表具有IP地址的网络设备,例如路由器、主机等,边则代表这些网络设备之间的连接关系。IP级网络拓扑到路由器级网络拓扑的转化主要依赖于路由器的IP别名解析,把前者中具有别名关系的IP地址识别出来并聚合在一起即可得到路由器级网络拓扑。如果别名解析出错,可能会将一个路由器识别为多个路由器,也可能会将多个路由器识别为一个路由器,于是得到的网络拓扑的准确度大大降低。

这种技术主要利用了ICMP协议,类似与Traceroute,给一个IP地址发送一个TCP或UDP的探测包,但是端口设为不常用的端口,之后将会收到一个ICMP端口不可达的报文,此时比较探测的IP地址和ICMP报文的源IP地址,如果不相同则说明这两个地址属于同一个路由器,具有别名关系。此技术最早被Pansiot和Grad提出,并实现为Mercator和iffinder。这种方法简单易实现,且识别出的别名绝对正确,但是网络中回应ICMP报文的网络接口通常为接收到探测包的接口,于是探测的IP地址与ICMP的源地址一定相同,就无法识别IP别名。只有很少的路由器才会满足探测要求,所以有很大的局限性。

IP报文中有一个ID字段,它是用来标识和重组IP分片的,由IP报文的发送者产生。通常路由器都会使用一个简单的IP ID计数器,对路由器的所有接口共享,ID的数值为递增的。根据路由器的不同接口使用同一个IP ID计数器这一特性,可以识别出IP别名。主要的实现为Ally和RadarGun。前者给两个IP地址发送一个三明治包,观察响应报文的IP ID是否有序来判断这两个地址是否为别名关系;后者将许多IP地址作为一个序列,向序列中的IP地址按照顺序发送探测包,重复30次以上,然后观察每一个IP地址的IP ID的变化速率,相似的具有别名关系。这种识别方法简单有效,但探测次数过多,对网络的影响较大且易受网络环境的影响。

Traceroute是常用的网络探测技术,通过它可以知道探测源和目的之间的每一跳的IP地址。多源和多目的的探测最终可以得到一个IP级的网络拓扑。可以根据网络中的部分结构进行分析,从而得出哪些IP地址之间具有别名关系。其中最简单的为两个地址间只有一条路径,那么正向探测路径和反向探测路径中的一一对应的IP地址具有别名关系。主要的实现为APAR和kapar,它们都能根据已知的Traceroute信息进行分析识别别名,覆盖率和准确率都有不错的表现。在网络拓扑发现技术领域,路由器的IP别名解析问题一直是网络拓扑发现的一个难点问题。

发明内容

本发明的目的在于克服现有技术的不足,提供一种将路由信息融入传统的图分析方法中,利用路由信息提取IP地址、IP子网和IP别名,并把提取的信息用于IP子网推断和IP别名识别中,不仅大幅度提高了别名解析的准确率和覆盖率,还提高了别名解析的效率的基于路由信息和Traceroute信息的路由器别名解析方法。

本发明的目的是通过以下技术方案来实现的:一种基于路由信息和Traceroute信息的路由器别名解析方法,包括以下步骤:

S1、采集被测量网络中的路由报文和Traceroute数据;

S2、根据路由协议分析采集到的路由报文数据,提取路由报文中的IP地址、IP子网,推断出IP别名;

S3、根据IP地址的分配策略对Traceroute信息和S2中提取的IP地址和IP子网进行分析,推断被测量网络中的IP子网;

S4、根据S3中推断出的被测量网络中的IP子网信息,结合Traceroute数据形成的网络拓扑,采用基于图分析的别名解析技术推断出IP别名;

S5、将具有别名关系的IP地址聚合,得到被测量网络的实际节点。

进一步地,所述步骤S2中IP别名的识别规则为:OSPF报文头部中的路由器ID与封装此报文的IP报文的源IP为别名关系;OSPF LSU报文中的通告路由器IP地址与此报文中穿越链路类型的路由器LSA的link data代表的IP地址为别名关系;OSPF LSU报文中的通告路由器IP地址与此报文中网络LSA的状态ID代表的IP地址为别名关系。

进一步地,所述步骤S3推断被测量网络中的IP子网包括以下子步骤:

S31、将Traceroute数据中探测到的IP地址和路由报文中的IP地址进行合并和排序;

S32、根据步骤S31的排序,以24为初始子网前缀长度,提取S31得到的IP地址,得到多个/24的IP子网;根据IP子网中IP地址的覆盖率和其他IP子网成立条件对得到的IP子网进行验证,判断IP子网能否成立;

S33、判断S32得到的每一个IP子网中出现的IP地址数量是否大于2,若是则将该IP子网前缀长度加1,同时将IP子网中的IP地址段分为两个,形成两个新的IP子网;否则不操作;对分出来的两个IP子网再次进行验证,如此递归直到IP子网无法继续拆分,得到尽可能小的成立的子网;

S34、对于S32和S33中每一个验证成立的IP子网,都将此IP子网和路由报文中提取的IP子网进行比较:

如果推断出的IP子网包含路由报文中的IP子网,说明子网划分过大,对于推断得出的IP子网不予记录,然后执行步骤S35;

如果推断出的IP子网包含于路由报文中的IP子网,说明子网划分过小,对于推断得出的IP子网不予记录,同时跳过当前IP地址段的子网推断(一个IP子网被推断出的时候,此子网中出现的IP地址集合集为当前的IP地址段,一个IP子网无论验证是否成功都会进行分割并再次验证,但由于已知当前子网已经过小,再划分下去仍然过小,推断出的子网也必然不正确,所以不用再进行S33的子网分割了,即跳出了当前(过小)子网的IP地址段的判断),然后执行步骤S35;

如果推断出的IP子网和路由报文中的IP子网相同,则说明推断准确,跳出此IP子网的IP地址段的递归循环,然后执行步骤S35;

S35、对推断的出所有IP子网按照IP子网大小降序或者前缀长度升序排列,使用IP子网时,按照顺序使用。

进一步地,所述步骤S4推断出IP别名的规则为:

A、设两条Traceroute路径片段分别为a->b->c->d和e->f->g->h,其中如果c和g在同一个IP子网中,且为P2P子网,则(b,g)和(c,f)为两个别名对;

B、设两条Traceroute路径片段分别为a->b->c->d和e->f->g->h,其中如果c和g在同一个IP子网中,且a和h为别名或者同一个地址,则(b,g)为一个别名对;

对于通过A和B两种识别规则中推断出的IP别名,每推断出一个别名对,则根据路由报文中提取出的IP别名对和无环准则对推断出的IP别名对进行验证。

本发明的有益效果是:本发明把路由信息融入传统的图分析方法中,利用路由信息提取IP地址、IP子网和IP别名,并把提取的信息用于IP子网推断和IP别名识别中,弥补了仅仅依靠Traceroute获取的信息不完整的缺陷。通过本路由报文提取出的IP地址提高了推断出的IP子网的覆盖率;提取出的IP子网提高了推断出的IP子网的准确率;具有更高覆盖率和准确率的IP子网集以及提取出的IP别名更大大增加了图分析过程中的正确性。虽然增加了数据来源却几乎没有给被测量网络带来负担,而且还提高了别名解析的效率,路由信息的加入能够更好的解决路由器IP别名解析这一难题。

附图说明

图1为本发明的路由器别名解析方法流程图;

图2为本发明实施例Traceroute数量为100时得到的结果图;

图3为本发明实施例Traceroute数量为350时得到的结果图;

图4为本发明实施例Traceroute数量为1000时得到的结果图。

具体实施方式

下面结合附图进一步说明本发明的技术方案。

本发明基于路由信息和Traceroute信息对路由器别名进行解析,即通过对捕获的路由报文进行分析,提取被测网络中的IP地址、IP子网和IP别名,根据IP地址的分配策略对这些提取的信息和Traceroute信息进行IP子网推断,再根据得到的IP子网对Traceroute进行基于图分析的IP别名解析,最后聚合具有别名关系的IP地址得到网络中实际的网络节点。在子网推断过程中,路由信息中提取出的IP子网对IP子网推断过程的影响,即当每一个子网判断成立的时候,我们都将其和路由信息中提取的子网进行比较,如果推断出的子网真包含了后者中的子网,说明子网划分过大,我们不会记录此次推断出的子网;如果推断出的子网真包含于后者中的子网,说明子网划分过小,也不会记录此子网,同时跳过出当前IP地址段的子网推断循环;如果推断出的子网和后者中的子网相同,则说明推断准确,将会跳过此子网IP地址段的递归循环。

具体流程如图1所示,一种基于路由信息和Traceroute信息的路由器别名解析方法,包括以下步骤:

S1、采集被测量网络中的路由报文和Traceroute数据;

S2、根据路由协议(主要包括RIP、OSPF和EIGRP几种协议)分析采集到的路由报文数据,提取路由报文中的IP地址、IP子网,推断出IP别名;

路由报文中对别名解析有用的信息主要有三类:IP地址,IP子网,IP别名:

对于IP地址,无论是IP报文的源和目的地址,还是路由报文中携带信息中出现的IP地址,只要不是广播地址,回环地址等一系列特殊地址,都是被测量网络中的网络接口IP地址。

对于IP子网,虽然被测网络所采用的路由协议有所不同,但是其IP子网通常以下一跳的数据出现在路由器之间的交互报文中,而且对于不同的路由协议,IP子网也经常出现于其协议特有报文的特殊字段中。对于报文中出现的IP子网和网络掩码,基本都是被测量网络中的真实IP子网。

对于IP别名,由于路由协议的差别,目前只能在OSPF协议的报文中识别出部分的IP别名。识别规则如下:OSPF报文头部中的路由器ID与封装此报文的IP报文的源IP为别名关系;OSPF LSU报文中的通告路由器IP地址与此报文中穿越链路类型的路由器LSA的linkdata代表的IP地址为别名关系;OSPF LSU报文中的通告路由器IP地址与此报文中网络LSA的状态ID代表的IP地址为别名关系。

根据以上的规则,根据pcap文件的格式解析我们得到的路由报文,从而提取出相关信息。实验中提取的部分数据如表1所示。

表1路由报文中提取的信息

IP地址IP子网IP别名10.0.0.10110.0.0.0/3010.0.0.209--10.0.0.20510.0.0.10510.0.0.100/3010.0.0.209--10.0.0.19010.0.0.10910.0.0.104/3010.0.0.209--10.0.0.17810.0.0.11710.0.0.108/3010.0.0.205--10.0.0.19010.0.0.1310.0.0.112/3010.0.0.205--10.0.0.178.........

S3、根据IP地址的分配策略对Traceroute信息和S2中提取的IP地址和IP子网进行分析,推断被测量网络中的IP子网;

推断IP子网主要是根据IP分配策略来进行推断,并由路由报文中的IP地址和IP子网进行补全和纠正,具体包括以下子步骤:

S31、将Traceroute数据中探测到的IP地址和路由报文中的IP地址进行合并和排序;

S32、根据步骤S31的排序,以24为初始子网前缀长度,提取S31得到的IP地址,得到多个/24的IP子网;根据IP子网中IP地址的覆盖率和其他IP子网成立条件对得到的IP子网进行验证,判断IP子网能否成立;

S33、判断S32得到的每一个IP子网中出现的IP地址数量是否大于2,若是则将该IP子网前缀长度加1,同时将IP子网中的IP地址段分为两个,形成两个新的IP子网;否则不操作;对分出来的两个IP子网再次进行验证,如此递归直到IP子网无法继续拆分,得到尽可能小的成立的子网;

S34、对于S32和S33中每一个验证成立的IP子网,都将此IP子网和路由报文中提取的IP子网进行比较:

如果推断出的IP子网包含路由报文中的IP子网,说明子网划分过大,对于推断得出的IP子网不予记录,然后执行步骤S35;

如果推断出的IP子网包含于路由报文中的IP子网,说明子网划分过小,对于推断得出的IP子网不予记录,同时跳过当前IP地址段的子网推断(一个IP子网被推断出的时候,此子网中出现的IP地址集合集为当前的IP地址段,一个IP子网无论验证是否成功都会进行分割并再次验证,但由于已知当前子网已经过小,再划分下去仍然过小,推断出的子网也必然不正确,所以不用再进行S33的子网分割了,即跳出了当前(过小)子网的IP地址段的判断),然后执行步骤S35;

如果推断出的IP子网和路由报文中的IP子网相同,则说明推断准确,跳出此IP子网的IP地址段的递归循环,然后执行步骤S35;

S35、对推断的出所有IP子网按照IP子网大小降序或者前缀长度升序排列,使用IP子网时,按照顺序使用。

本实施例中实验中推断出的部分IP子网如表2所示。

表2推断出的IP子网

S4、根据S3中推断出的被测量网络中的IP子网信息,结合Traceroute数据形成的网络拓扑,采用基于图分析的别名解析技术推断出IP别名;推断出IP别名的规则为:

A、设两条Traceroute路径片段分别为a->b->c->d和e->f->g->h,其中如果c和g在同一个IP子网中,且为P2P子网,则(b,g)和(c,f)为两个别名对;

B、设两条Traceroute路径片段分别为a->b->c->d和e->f->g->h,其中如果c和g在同一个IP子网中,且a和h为别名或者同一个地址,则(b,g)为一个别名对;

对于通过A和B两种识别规则中推断出的IP别名,每推断出一个别名对,则根据路由报文中提取出的IP别名对和无环准则对推断出的IP别名对进行验证。

S5、由Traceroute得到一张初始的拓扑网,对网中所有符合A和B中特征的拓扑片段进行IP别名识别,通过C中的验证即为识别出的IP别名。在得到所有的IP别名之后,将具有别名关系的IP地址进行聚合,即可得到被测量网络的节点。本实施例中聚合得到的部分节点如表3所示。

表3根据IP别名聚合的节点

节点IP地址N110.0.0.42,10.0.0.109,10.0.0.62N210.0.0.85,10.0.0.41,10.0.0.33,10.0.0.26,10.0.0.37N310.0.0.34,10.0.0.89,10.0.0.6,10.0.0.45N410.0.0.50,10.0.0.101,10.0.0.57,10.0.0.38,10.0.0.65,10.0.0.53N510.0.0.49,10.0.0.22,10.0.0.105,10.0.0.61,10.0.0.46,10.0.0.54......

本发明把路由信息融入传统的图分析方法,本发明把路由信息融入传统的图分析方法中。利用路由信息提取IP地址和IP子网和IP别名,并把提取的信息用于IP子网推断和IP别名识别中,弥补了仅仅依靠Traceroute获取的信息不完整的缺陷。提取出的IP地址提高了推断出的IP子网的覆盖率;提取出的IP子网提高了推断出的IP子网的准确率;具有更高覆盖率和准确率的IP子网集以及提取出的IP别名更大大增加了图分析过程中的正确性。虽然增加了数据来源却几乎没有给被测量网络带来负担,而且理论上提高了别名解析的效率。

采用ns3网络模拟器,根据真实的网络搭建网络仿真环境,并实现相应的网络测量工具。我们的仿真环境中共由节点1181个,其中路由器节点140个,主机节点1041个,链路类型包括点对点链路和多点链路。

在本实施例中,测试了路由信息中IP子网的输入和Traceroute输入对Traceroute解析结果的影响。子网是随机时间内采集的路由报文产生,根据子网数量选取了一个递增的序列。递增的Traceroute路径是由递增的源探测点和目的节点探测得到。这两个递增的序列中,较大的输入数据总是真包含较小的输入数据。

输出结果为具有IP别名的节点,每个节点有多个IP地址,每个节点的IP地址之间互为别名关系。如果结果中一个节点存在两个IP地址在仿真网络中不是别名关系,此节点为识别错误的节点,否则为识别正确的节点。得到的测试得到的数据如表4所示。

表4

其中,行表示的是Traceroute路径的数量,列表示的是输入的IP子网的数量。每一个结果中,第一行数据为识别出的总节点、正确节点和错误节点的数量;第二行数据是节点识别的正确率,即识别出的正确节点占识别出的总节点的比例。在我们的仿真环境中子网总数为273个,具有IP别名的路由器共有141个。从上表中,可以明显看出,无论是Traceroute路径还是IP子网,它们的数量都与识别的正确率和覆盖率成正相关关系。

取Traceroute数量分别为100、350、1000时的数据,制作图2、图3、图4所示的趋势图。从图2、图3、图4中可以明显看出无论是在少量还是大量的Traceroute信息输入中,IP子网的输入能够明显的提高解析的准确率和覆盖率,而且随着输入的IP子网数量的增加,解析效果也有明显的提升,最大使正确率提升近13%。这些都证明了相比传统方法,路由信息的加入能够更好的解决路由器IP别名解析这一难题。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号