CN102215136A - 流量拓扑生成方法和装置 - Google Patents
流量拓扑生成方法和装置 Download PDFInfo
- Publication number
- CN102215136A CN102215136A CN2010101396563A CN201010139656A CN102215136A CN 102215136 A CN102215136 A CN 102215136A CN 2010101396563 A CN2010101396563 A CN 2010101396563A CN 201010139656 A CN201010139656 A CN 201010139656A CN 102215136 A CN102215136 A CN 102215136A
- Authority
- CN
- China
- Prior art keywords
- node
- router
- link
- flow
- distance value
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种流量拓扑生成方法,包括:在网络上采集路由信息与流量信息;从所述流量信息中读取流量的源地址和目的地址,根据所述路由信息找出源路由器地址和目的路由器地址,进而计算源路由器与目的路由器之间的路径,根据所述路径遍历网络链路,将所述流量信息添加到链路中。本发明不需要专用的采集设备,不需要价格高昂的服务器,只需要利用普通计算机进行路由信息和Netflow流量信息的采集,就可以通过计算生成被监测网络的流量拓扑,从而实现对大规模IP网络全面的流量监测。
Description
技术领域
本发明涉及网络测量和性能分析技术领域,特别涉及一种流量拓扑生成方法和装置。
背景技术
随着网络技术的快速发展,互联网的规模呈现加速增长的态势,互联网上的应用也呈现爆炸式的增长,由此也带来了互联网流量的急剧增长。在这样的背景下,流量监测逐渐成为互联网监测与管理中非常重要的一环。
在目前的研究和工程现状中,流量监测主要通过SNMP轮询或者专用探针设备的方式实现。前者价格低廉、部署简便,但信息量少且对网络性能造成的影响大;后者虽然能够提供丰富的信息,但价格昂贵,只能局部部署,无法从全局角度监测网络流量。
发明内容
本发明的目的是克服现有技术无法从全局角度监测网络流量的缺陷,从而提供一种流量拓扑生成方法和装置。
为了实现上述目的,本发明提供了一种流量拓扑生成方法,包括:
步骤1)、在网络上采集路由信息与流量信息;
步骤2)、从所述流量信息中读取流量的源地址和目的地址,根据所述路由信息找出源路由器地址和目的路由器地址,进而计算源路由器与目的路由器之间的路径,根据所述路径遍历网络链路,将所述流量信息添加到链路中。
上述技术方案中,所述的步骤2)包括:
步骤2-1)、判断所述流量信息是否都已经被处理;
步骤2-2)、若所有的流量信息都已经被处理,则流量拓扑生成过程结束,否则提取一条未经处理的流量信息条目后执行下一步;
步骤2-3)、从待处理的流量信息条目中提取出该条目的源地址和目的地址,然后结合所述的路由信息找出源路由器地址和目的路由器地址;
步骤2-4)、查找所述源路由器地址和目的路由器地址间的路径是否已知,若是已知,则执行步骤2-6),否则,执行下一步;
步骤2-5)、根据所述的源路由器地址与目的路由器地址进行路径计算,计算成功执行下一步,否则重新执行步骤2-1);
步骤2-6)、按照所述路径做链路遍历,将所述流量条目中的流量信息添加到当前链路中,然后重新执行步骤2-1)。
上述技术方案中,在所述的步骤2-5)中,所述的路径计算包括:
步骤2-5-1)、将表示源路由器的节点放入候选组,并且查找源路由器宣告的RouterLSA作为表示源路由器的节点的LSA;
步骤2-5-2)、判断所述候选组是否为空,如果为空则进入步骤2-5-8),否则执行下一步;
步骤2-5-3)、从候选组中选择距离值最小的节点放入选择组,判断该节点是否是目的路由器,如果是,则进入步骤2-5-7),否则,执行下一步;
步骤2-5-4)、判断该节点是路由器节点还是子网节点,如果是路由器节点则进入下一步,否则执行步骤2-5-6);
步骤2-5-5)、取出该路由器的RouterLSA,遍历该RouterLSA中宣告的所有链接,根据链接的类型判断链接的邻居节点,完成对所有链接的遍历后,重新执行步骤2-5-2);
步骤2-5-6)、取出该子网节点对应的NetworkLSA,然后遍历该NetworkLSA中描述的该子网所邻接的路由器,为每一个邻接的路由器查找其RouterLSA,然后在候选组中查找是否已有该节点,如果有,则更新距离值和节点中的链表,如果没有,则将这个新节点加入候选组,在完成对所述子网所邻接的所有路由器的遍历后,重新执行步骤2-5-2)。
步骤2-5-7)、将所述选择组中的节点按进入的先后顺序排列,得到从源路由器到目的路由器的路径;
步骤2-5-8)、未找到路径,计算结束。
上述技术方案中,在所述的步骤2-5-5)中,根据链接的类型判断链接的邻居节点包括:
步骤a)、对于所述链接为类型1或类型4的链接,取得对端路由器的RouterID;
步骤b)、在选择组中根据所述RouterID进行查找,如果发现选择组有此节点,则不做任何处理,重新选择一条未经处理的链路,否则执行下一步;
步骤c)、在候选组中根据所述RouterID进行查找,如果候选组已有该节点存在,则将刚刚加入候选组的节点的距离值加上该链接的链路度量值metric,利用所得到的结果更新节点的距离值,然后用更新后的节点距离值跟该节点在候选组中的距离值比较,取较小的值,并执行下一步;如果候选组中没有该节点存在,则新建一个节点,将该节点的距离值设为刚刚加入候选组的节点的距离值与该链接的链路度量值metric的和,LSA设为刚刚取到的RouterLSA,然后将这个新节点加入所述候选组,然后重新选择一条未经处理的链路;
步骤d)、节点的距离值被更新,将节点中存储的链表替换为当前路径,然后重新选择一条未经处理的链路。
上述技术方案中,在所述的步骤2-5-5)中,根据链接的不同类型,判断链路连接的邻居节点包括:
步骤A)、对于类型2的链接,查找对应子网的NetworkLSA,此时如果建立新节点,则将新节点的LSA设置为刚刚找到的NetworkLSA;
步骤B)、选择一个未经处理的对端路由器的RouterID;
步骤C)、在选择组中根据所述RouterID进行查找,如果发现选择组有此节点,则不做任何处理,直接执行步骤F),否则执行下一步;
步骤D)、在候选组中根据所述RouterID进行查找,如果候选组已有该节点存在,则将刚刚加入候选组的节点的距离值加上该链接的链路度量值metric,利用所得到的结果更新节点的距离值,然后用更新后的节点距离值跟该节点在候选组中的距离值比较,取较小的值,并执行下一步;如果候选组中没有该节点存在,则新建一个节点,将该节点的距离值设为刚刚加入候选组的节点的距离值与该链接的链路度量值metric的和,LSA设为刚刚取到的RouterLSA,然后将这个新节点加入所述候选组,然后执行步骤F);
步骤E)、节点的距离值被更新,将节点中存储的链表替换为当前路径,然后执行下一步;
步骤F)、判断是否对当前链路所对应的所有对端路由器做了处理,若还有未经处理的对端路由器,则重新执行步骤B),否则重新选择一条未经处理的链路。
本发明还提供了一种流量拓扑生成装置,包括信息采集探针、流量信息采集探针以及流量拓扑生成服务器;其中,
所述的路由信息采集探针用于对所在网络中的路由信息加以采集;
所述的流量信息采集探针用于采集所在网络中的流量信息;
所述的流量拓扑生成服务器用于从所述流量信息中读取流量的源地址和目的地址,根据所述路由信息找出源路由器地址和目的路由器地址,进而计算源路由器与目的路由器之间的路径,根据所述路径遍历网络链路,将所述流量信息添加到链路中。
本发明的优点在于:本发明不需要专用的采集设备,不需要价格高昂的服务器,只需要利用普通计算机进行路由信息和Netflow流量信息的采集,就可以通过计算生成被监测网络的流量拓扑,从而实现对大规模IP网络全面的流量监测。
附图说明
图1为本发明的流量拓扑生成方法的流程图;
图2为安装有流量拓扑生成装置的网络的示意图;
图3为根据路由信息所创建的路由拓扑的示意图;
图4为根据图3所示的路由拓扑所生成的流量拓扑的示意图;
图5为流量拓扑生成过程中路径计算的示意图。
具体实施方式
在对本发明的内容做详细说明前,首先对本发明中所涉及的相关概念予以说明。
路由拓扑:路由拓扑是指网络元素之间的一种连接性信息。在路由拓扑中,一个网络设备(通常为路由器)在拓扑中表现为一个节点,而一个邻居关系则表现为两个节点之间的一条连接。
流量拓扑:流量拓扑是指将流量信息在路由拓扑上的分布叠加到拓扑中,也就是说,流量拓扑中的一条边(逻辑链路)不止表示一个邻居关系,同时还会有这条边上所经过的流量信息(流量大小、流量组成等)。通过流量拓扑,网络管理者可以非常直观、宏观地监测网络中流量的分布状况,从全局角度把握网络整体运行状况,及时发现过载链路和利用率低的链路,进而为将来的网络扩容与规划提供参考。
在对本发明的概念做相应说明后,下面结合实施例与附图1对本发明的方法做详细说明。
为了实现本发明的方法,需要在网络中添加路由信息采集探针以及流量信息采集探针。顾名思义,路由信息采集探针用于对所在网络中的路由信息加以采集,具体的说,路由信息采集探针通过对路由协议(OSPF和BGP)的模拟,可以模拟成一台普通的路由器参与路由协议的交互,以此获得其他路由器发来的路由更新报文,但该探针本身则不向外发送任何更新报文。一般来说,路由信息采集探针在硬件上只要通过一台个人计算机或服务器即可实现,在整个网络中可以如图2所示那样有一个集中式的路由信息采集探针,也可以在网络的各个域中存在分布式的路由信息采集探针。
流量信息采集探针用于采集所在网络中的流量信息。流量信息采集探针通过对特定端口的监听,被动式采集各个路由器发送来的流量数据(如Netflow数据)。只需要在要开启流量信息采集功能的路由器上打开该功能,并且将所述流量信息采集探针的IP和端口配置到路由器上,路由器就会将新产生的流量数据逐条发送给所述的流量信息采集探针。流量信息采集探针在硬件上也可通过个人计算机或服务器实现。流量信息采集探针可以如图2所示那样,在网络的各个域中分别配置。
下面对网络中流量拓扑的生成过程予以说明。
网络流量拓扑的生成过程可以分为两个阶段,第一阶段是路由信息与流量信息的采集,第二阶段是流量拓扑的生成。在下文中对上述两个阶段展开讨论。
一、路由信息与流量信息的采集
在网络上采集路由信息与流量信息的操作由路由信息采集探针与流量信息采集探针分别实现。
路由信息采集探针在采集路由信息时,对于用于域间通信的BGP协议,通过采集BGP UPDATE报文来构建BGP路由表。一条BGP路由一般包括如下几个要素:前缀地址、下一跳地址、AS路径。前缀地址即目标地址,下一条地址即为了达到目标地址下一跳路由器的接口地址,AS路径是要达到目标地址所要经过的AS号的序列。对于用于域内通信的OSPF协议中,路由信息采集探针采集五种链路状态宣告(LSA):RouterLSA、NetworkLSA、NetworkSummaryLSA、ASExternalLSA、ASBRSummaryLSA。各种不同的LSA中包含了不同的路由信息。根据采集到的路由信息,可以构建网络的路由拓扑图,在图3中给出了根据路由信息所创建的路由拓扑图的示意图。在该网络拓扑图中,包括有六个路由器,分别用R1、R2、R3、R4、R5、R6表示,其中的路由器R3分别与路由器R1、R2、R4、R5直接连接,此外,路由器R4、R5还分别连接到路由器R6上。图中给出了前述路由器所在子网的IP地址,如路由器R1所在子网的IP地址为1.1.1.0。图中的metric表示了链路度量值,链路度量值metric是OSPF协议中固有的描述链路属性的一个值,Metric大表明通过这条链路的代价较大,因而优先级较低。
流量信息采集探针对网络中流量信息的采集过程已经在前文中有相应的说明。所采集到的流量信息包括流量大小、流量类型、流量持续时间等数据,可以通过Netflow协议或者sFlow协议(或者其他可以提供流量统计信息的协议)从路由器获得。在本实施例中,流量数据以Netflow数据为例,但其它类型的流量数据,如sFlow数据同样可以应用于本发明。
Netflow协议有多个版本,以应用最为广泛的V5版本为例,一个Netflow条目的数据格式如下面的表1所示:
源地址 | 目的地址 | 源端口号 | 目的端口号 | 流量大小 |
表1
在下面的表2中给出了前文所提到的图3所示的路由拓扑中的路由器的两个Netflow条目:
源地址1.1.1.1 | 目的地址5.5.5.5 | 源端口号80 | 目的端口号80 | 流量大小50MB |
源地址2.2.2.2 | 目的地址6.6.6.6 | 源端口号21 | 目的端口号22 | 流量大小70MB |
表2
存储上述采集到的路由信息与流量信息,以用于生成流量拓扑。
二、流量拓扑的生成
通过前一阶段得到路由信息与流量信息后,在本阶段中将以这些信息为基础,通过路由计算等方法生成关于被监测网络的流量拓扑。流量拓扑可以通过图形界面显示出来供网络管理人员观察,或者供进一步的分析处理。
下面结合前一步骤中所提到的路由信息与流量信息,就流量拓扑的生成过程予以说明。
判断前一阶段所得到的流量信息是否都已经被处理(步骤201),如果都已经被处理,则表示流量拓扑生成过程已经结束,将生成的流量拓扑发给上层分析或者显示(步骤202),否则从所存储的流量信息中提取一条未经处理的流量信息条目(步骤203)。从待处理的流量信息条目中提取出该条目的源地址和目的地址,然后结合前一阶段所得到的路由信息,判断源地址和目的地址分别属于哪两个路由器宣告,即找出源路由器地址和目的路由器地址(步骤204)。在路径缓冲区中针对源/目的路由器地址进行查找,如果没有找到,执行下一步,如果找到,直接执行后面的步骤207(步骤205)。在本步骤中所提到的路径缓冲区用于存储已计算出结果的路径,这样在下一次需要计算时就可以直接查询,从而避免重复的路径计算,路径缓冲区通常可用诸如映射表的数据结构实现。根据所述的源/目的路由器地址进行路径计算,如果路径计算成功,将计算结果(即路径)存入路径缓冲区,然后执行下一步,否则该条目的路径计算失败,重新执行步骤201(步骤206)。将通过查找或者计算所得的路径按链路遍历。在流量拓扑中查找这些链路,将该条目的流量信息附着到链路上去,如果已有的流量拓扑中还没有这些链路,则新建一条链路并且添加到流量拓扑中去(步骤207)。在完成对当前流量信息条目的处理后,将重新执行步骤201。
下面以图3中所示的路由拓扑以及前文表2中所提到的流量信息为例,就如何生成流量拓扑的具体过程予以说明。
首先判断出流量条目存储不为空,于是取出第一个Netflow条目,即从1.1.1.1到5.5.5.5的流量条目,然后判断其源/目的路由器,得到源路由器为R1,目的路由器为R5;之后计算R1~R5之间的路径,得到路径结果为R1-R3-R4-R6-R5。这时按顺序为路径上的每条链路的流量值加上50MB,即将R1-R3、R3-R4、R4-R6、R6-R5的流量值分别加上50MB。然后同理对第二个流量条目即从2.2.2.2到6.6.6.6的流量进行同样的处理。假设得到的路径为R2-R3-R4-R6,则将链路R2-R3、R3-R4、R4-R6的流量值分别加70MB。处理完两个流量条目以后发现已没有剩余的条目需要处理,于是流量拓扑生成过程结束,生成的流量拓扑示意图如图4所示。
在前面的描述中,尚未对步骤206中的路径计算的实现做详细说明。下面就这部分的内容做进一步描述。
在进行路径计算时会用到两个用于存储的数据结构:候选组(C组)和选择组(S组)。这两个组中会存放用于表示网络中节点(路由器或子网)的数据结构,对于表示路由器的节点,还包括有该路由器的RouterLSA信息。每个节点都会有一个链表和一个距离值,距离值表示该节点目前到源节点(即源路由器)的最小距离,链表即是从源节点到该节点目前的最短路径。路径计算过程包括:
步骤301)、将表示源路由器的节点放入C组(候选组),并且查找源路由器宣告的RouterLSA作为表示源路由器的节点的LSA。
步骤302)、判断C组是否为空,如果为空则进入步骤308),否则执行下一步;
步骤303)、从C组中选择距离值最小的节点放入S组(选择组),判断该节点是否是目的路由器,如果是,则进入步骤307),否则,执行下一步;
步骤304)、判断该节点是路由器节点还是子网节点,如果是路由器节点则进入下一步,否则执行步骤306);
步骤305)、取出该路由器的RouterLSA,遍历该RouterLSA中宣告的所有Link,然后对这些Link按照类型分情况进行处理,在完成对所有Link的遍历后,重新执行步骤302)。
步骤306)、取出该子网节点对应的NetworkLSA,然后遍历该NetworkLSA中描述的该子网所邻接的路由器,为每一个邻接的路由器查找其RouterLSA,然后在C组中查找是否已有该节点,如果有,则更新距离值和节点中的链表,如果没有,则将这个新节点加入C组。这个新节点的LSA设为关于更新距离值和节点中的链表的操作在步骤305)中已经有详细的说明。在完成对所述子网所邻接的所有路由器的遍历后,重新执行步骤302)。
步骤307)、已找到源路由器到目的路由器的路径,计算结束,此时将留在S组中的节点按进入的先后顺序排列,得到的序列既是从源路由器到目的路由器的路径。
步骤308)、未找到路径,计算结束。
在上述的步骤305)中提到对所有Link按照类型分情况进行处理。下面对此做详细说明。本领域技术人员应当了解,在现有的OSPF协议中已经对Link的类型做了划分,在下面的表3中罗列了现有Link类型的相关内容。
Link类型 | Link ID | 描述 |
1 | 相邻路由器的路由器ID | 点对点的网络 |
2 | DR的端口地址 | 广播型的网络 |
3 | Stub网络的网络号码 | Stub网络 |
4 | 相邻路由器的路由器ID | 虚拟链路 |
表3
下面对不同类型Link的处理做相应的说明。
对于Type 1或Type 4的Link,其处理步骤如下:
步骤a)、取得对端路由器的RouterID(此种情况下,此Link的LinkID即是对端路由器的RouterID);
步骤b)、在S组中根据所述RouterID进行查找,如果发现S组有此节点,则不做任何处理,重新选择一条未经处理的链路,否则执行下一步;
步骤c)、在C组中根据所述RouterID进行查找,如果C组已有该节点存在,则将刚刚加入C组的节点的距离值加上该链接的链路度量值metric(该值用Dn表示),利用所得到的结果更新节点的距离值,然后用更新后的节点距离值跟该节点在C组中的距离值比较,取较小的值,并执行下一步;如果C组中没有该节点存在,则新建一个节点,将该节点的距离值设为Dn,LSA设为刚刚取到的RouterLSA,然后将这个新节点加入所述C组,然后重新选择一条未经处理的链路;
步骤d)、节点的距离值被更新,将节点中存储的链表替换为当前路径,然后重新选择一条未经处理的链路。
对于Type 2的Link,其处理步骤如下:
步骤A)、查找对应子网的NetworkLSA(此种情况下,LinkID为DR的接口IP地址),此时如果建立新节点,则将新节点的LSA设置为刚刚找到的NetworkLSA;
步骤B)、选择一个未经处理的对端路由器的RouterID;
步骤C)、在S组中根据所述RouterID进行查找,如果发现S组有此节点,则不做任何处理,直接执行步骤F),否则执行下一步;
步骤D)、在C组中根据所述RouterID进行查找,如果C组已有该节点存在,则将刚刚加入C组的节点的距离值加上该链接的链路度量值metric,利用所得到的结果更新节点的距离值,然后用更新后的节点距离值跟该节点在C组中的距离值比较,取较小的值,并执行下一步;如果C组中没有该节点存在,则新建一个节点,将该节点的距离值设为Dn,LSA设为刚刚取到的RouterLSA,然后将这个新节点加入所述C组,然后执行步骤F);
步骤E)、节点的距离值被更新,将节点中存储的链表替换为当前路径,然后执行下一步;
步骤F)、判断是否对当前链路所对应的所有对端路由器做了处理,若还有未经处理的对端路由器,则重新执行步骤B),否则重新选择一条未经处理的链路。
依然以图3中所示的路由拓扑以及前文表2中所提到的流量信息为例,对路径的计算过程加以说明。以第一个流量条目即从1.1.1.1到5.5.5.5为例。在前面的说明中已经提到,根据该流量条目已经判断出源路由器为R1,目的路由器为R5。如果从R1到R5的路径当前未知,则要计算从R1到R5的路径。首先将表示R1的节点放入C组,然后从C组中取出距离值最小的节点放入S组,因为此时C组中只有R1,所以取出的节点是R1。然后找到R1的RouterLSA,从图3可以知道,R1只有一条Link,此条Link的metric是1,对端路由器是R3,于是将表示R3的节点放入C组,该节点的距离值为1,其路径为R1-R3。此时再检查C组,从中取出距离值最小的节点,这个节点就是R3,将R3放入S组,找到R3的RouterLSA,发现R3有四条Link,分别遍历这四条Link,将R2、R4、R5放入C组,距离值分别为3、3、9。再检查C组,取出距离值最小的节点R2放入S组,发现R2只有一条Link,对端节点也已出现在S组,于是不做其他处理。继续检查C组,取出距离值最小的R4放入S组,找到R4的RouterLSA,发现它有两个Link,对端分别是R3和R6,R3已存在于S组,于是跳过,将R6放入C组,其距离值是5,其路径为R1-R3-R4-R6。再检查C组,取出距离值最小的节点R6放入S组,找到其RouterLSA,发现其有两条Link,对端分别为R4和R5,因为R4已存在与S组,所以跳过。将R5放入C组,其距离值为7,其路径为R1-R3-R4-R6-R5。再检查C组,取出距离值最小的节点R5,发现R5即是目标路由器,于是计算结束。得到的最短路径为R1-R3-R4-R6-R5,距离值为7。上述路径计算的结果如图5所示,在该图中,粗线条部分表示计算得到的路径。
本发明还提供了一种流量拓扑生成装置,该装置除了前面所提到的路由信息采集探针以及流量信息采集探针外,还包括流量拓扑生成服务器,所述的流量拓扑生成服务器从所述流量信息中读取流量的源地址和目的地址,结合所述路由信息找出源路由器地址和目的路由器地址,进而计算源路由器与目的路由器之间的路径,根据所述路径遍历网络链路,将所述流量信息添加到链路中。
在某实际网络中(多个AS,超过200台路由器),应用了本发明的流量监测系统成功的实现了对于全网的流量监测,流量拓扑的准确度(在个别监测点上通过与其他方式获得的监测结果相比)平均超过85%。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种流量拓扑生成方法,包括:
步骤1)、在网络上采集路由信息与流量信息;
步骤2)、从所述流量信息中读取流量的源地址和目的地址,根据所述路由信息找出源路由器地址和目的路由器地址,进而计算源路由器与目的路由器之间的路径,根据所述路径遍历网络链路,将所述流量信息添加到链路中。
2.根据权利要求1所述的流量拓扑生成方法,其特征在于,所述的步骤2)包括:
步骤2-1)、判断所述流量信息是否都已经被处理;
步骤2-2)、若所有的流量信息都已经被处理,则流量拓扑生成过程结束,否则提取一条未经处理的流量信息条目后执行下一步;
步骤2-3)、从待处理的流量信息条目中提取出该条目的源地址和目的地址,然后结合所述的路由信息找出源路由器地址和目的路由器地址;
步骤2-4)、查找所述源路由器地址和目的路由器地址间的路径是否已知,若是已知,则执行步骤2-6),否则,执行下一步;
步骤2-5)、根据所述的源路由器地址与目的路由器地址进行路径计算,计算成功执行下一步,否则重新执行步骤2-1);
步骤2-6)、按照所述路径做链路遍历,将所述流量条目中的流量信息添加到当前链路中,然后重新执行步骤2-1)。
3.根据权利要求2所述的流量拓扑生成方法,其特征在于,在所述的步骤2-5)中,所述的路径计算包括:
步骤2-5-1)、将表示源路由器的节点放入候选组,并且查找源路由器宣告的RouterLSA作为表示源路由器的节点的LSA;
步骤2-5-2)、判断所述候选组是否为空,如果为空则进入步骤2-5-8),否则执行下一步;
步骤2-5-3)、从候选组中选择距离值最小的节点放入选择组,判断该节点是否是目的路由器,如果是,则进入步骤2-5-7),否则,执行下一步;
步骤2-5-4)、判断该节点是路由器节点还是子网节点,如果是路由器节点则进入下一步,否则执行步骤2-5-6);
步骤2-5-5)、取出该路由器的RouterLSA,遍历该RouterLSA中宣告的所有链接,根据链接的类型判断链接的邻居节点,完成对所有链接的遍历后,重新执行步骤2-5-2);
步骤2-5-6)、取出该子网节点对应的NetworkLSA,然后遍历该NetworkLSA中描述的该子网所邻接的路由器,为每一个邻接的路由器查找其RouterLSA,然后在候选组中查找是否已有该节点,如果有,则更新距离值和节点中的链表,如果没有,则将这个新节点加入候选组,在完成对所述子网所邻接的所有路由器的遍历后,重新执行步骤2-5-2)。
步骤2-5-7)、将所述选择组中的节点按进入的先后顺序排列,得到从源路由器到目的路由器的路径;
步骤2-5-8)、未找到路径,计算结束。
4.根据权利要求3所述的流量拓扑生成方法,其特征在于,在所述的步骤2-5-5)中,根据链接的类型判断链接的邻居节点包括:
步骤a)、对于所述链接为类型1或类型4的链接,取得对端路由器的RouterID;
步骤b)、在选择组中根据所述RouterID进行查找,如果发现选择组有此节点,则不做任何处理,重新选择一条未经处理的链路,否则执行下一步;
步骤c)、在候选组中根据所述RouterID进行查找,如果候选组已有该节点存在,则将刚刚加入候选组的节点的距离值加上该链接的链路度量值metric,利用所得到的结果更新节点的距离值,然后用更新后的节点距离值跟该节点在候选组中的距离值比较,取较小的值,并执行下一步;如果候选组中没有该节点存在,则新建一个节点,将该节点的距离值设为刚刚加入候选组的节点的距离值与该链接的链路度量值metric的和,LSA设为刚刚取到的RouterLSA,然后将这个新节点加入所述候选组,然后重新选择一条未经处理的链路;
步骤d)、节点的距离值被更新,将节点中存储的链表替换为当前路径,然后重新选择一条未经处理的链路。
5.根据权利要求3所述的流量拓扑生成方法,其特征在于,在所述的步骤2-5-5)中,根据链接的不同类型,判断链路连接的邻居节点包括:
步骤A)、对于类型2的链接,查找对应子网的NetworkLSA,此时如果建立新节点,则将新节点的LSA设置为刚刚找到的NetworkLSA;
步骤B)、选择一个未经处理的对端路由器的RouterID;
步骤C)、在选择组中根据所述RouterID进行查找,如果发现选择组有此节点,则不做任何处理,直接执行步骤F),否则执行下一步;
步骤D)、在候选组中根据所述RouterID进行查找,如果候选组已有该节点存在,则将刚刚加入候选组的节点的距离值加上该链接的链路度量值metric,利用所得到的结果更新节点的距离值,然后用更新后的节点距离值跟该节点在候选组中的距离值比较,取较小的值,并执行下一步;如果候选组中没有该节点存在,则新建一个节点,将该节点的距离值设为刚刚加入候选组的节点的距离值与该链接的链路度量值metric的和,LSA设为刚刚取到的RouterLSA,然后将这个新节点加入所述候选组,然后执行步骤F);
步骤E)、节点的距离值被更新,将节点中存储的链表替换为当前路径,然后执行下一步;
步骤F)、判断是否对当前链路所对应的所有对端路由器做了处理,若还有未经处理的对端路由器,则重新执行步骤B),否则重新选择一条未经处理的链路。
6.一种流量拓扑生成装置,其特征在于,包括信息采集探针、流量信息采集探针以及流量拓扑生成服务器;其中,
所述的路由信息采集探针用于对所在网络中的路由信息加以采集;
所述的流量信息采集探针用于采集所在网络中的流量信息;
所述的流量拓扑生成服务器用于从所述流量信息中读取流量的源地址和目的地址,根据所述路由信息找出源路由器地址和目的路由器地址,进而计算源路由器与目的路由器之间的路径,根据所述路径遍历网络链路,将所述流量信息添加到链路中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101396563A CN102215136B (zh) | 2010-04-01 | 2010-04-01 | 流量拓扑生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101396563A CN102215136B (zh) | 2010-04-01 | 2010-04-01 | 流量拓扑生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102215136A true CN102215136A (zh) | 2011-10-12 |
CN102215136B CN102215136B (zh) | 2013-10-16 |
Family
ID=44746275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101396563A Expired - Fee Related CN102215136B (zh) | 2010-04-01 | 2010-04-01 | 流量拓扑生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102215136B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404150A (zh) * | 2011-11-25 | 2012-04-04 | 浪潮电子信息产业股份有限公司 | 一种云os中网络拓扑自动生成方法 |
CN102611626A (zh) * | 2012-03-30 | 2012-07-25 | 北京英诺威尔科技股份有限公司 | 网络流量解析系统及方法 |
CN104158740A (zh) * | 2013-05-13 | 2014-11-19 | 华为技术有限公司 | 一种路径管理方法及控制器 |
CN104519010A (zh) * | 2013-09-27 | 2015-04-15 | 中国电信股份有限公司 | 网络安全探针的部署方法和装置 |
CN106357448A (zh) * | 2016-09-22 | 2017-01-25 | 中国联合网络通信集团有限公司 | 一种流量监测拓扑生成方法和系统 |
CN106470213A (zh) * | 2016-10-17 | 2017-03-01 | 杭州迪普科技股份有限公司 | 一种攻击报文的溯源方法和装置 |
CN107104809A (zh) * | 2016-02-19 | 2017-08-29 | 北京神州泰岳软件股份有限公司 | 一种生成网络拓扑图的方法和系统 |
CN107623611A (zh) * | 2017-09-22 | 2018-01-23 | 国云科技股份有限公司 | 一种云平台虚拟机的流量监控系统 |
CN108156079A (zh) * | 2017-12-29 | 2018-06-12 | 深信服网络科技(深圳)有限公司 | 一种基于云服务平台的数据包转发系统及方法 |
CN108173695A (zh) * | 2017-12-29 | 2018-06-15 | 深信服网络科技(深圳)有限公司 | 一种云环境下流量监控系统及方法 |
CN108400905A (zh) * | 2018-01-31 | 2018-08-14 | 山东汇贸电子口岸有限公司 | 一种处理分布式存储端到端流量分析的方法 |
CN108494583A (zh) * | 2018-02-24 | 2018-09-04 | 广州西麦科技股份有限公司 | 一种基于sFlow生成网络拓扑的方法及装置 |
CN108566335A (zh) * | 2018-03-02 | 2018-09-21 | 广州西麦科技股份有限公司 | 一种基于NetFlow的网络拓扑生成方法 |
CN109921989A (zh) * | 2014-07-31 | 2019-06-21 | 华为技术有限公司 | 一种bgp逻辑拓扑生成的方法及设备 |
CN110011830A (zh) * | 2019-03-03 | 2019-07-12 | 北京立思辰安科技术有限公司 | 基于流量数据的通讯拓扑信息建模方法 |
CN111130883A (zh) * | 2019-12-25 | 2020-05-08 | 杭州安恒信息技术股份有限公司 | 工控设备拓扑图的确定方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000005594A1 (en) * | 1998-07-21 | 2000-02-03 | Conduct Ltd. | Automatic network traffic analysis |
KR20030089604A (ko) * | 2002-05-16 | 2003-11-22 | 한국전자통신연구원 | 다중 프로토콜 라벨 스위칭 네트워크 관리장치와 관리방법 |
CN1756233A (zh) * | 2004-09-30 | 2006-04-05 | 富士通株式会社 | 电信网络中的路由选择方法和装置 |
CN1773930A (zh) * | 2004-11-09 | 2006-05-17 | 华为技术有限公司 | 承载网资源管理器自动获取承载网信息的方法 |
CN101282241A (zh) * | 2008-05-04 | 2008-10-08 | 中国科学院计算技术研究所 | 一种自治系统内的实时网络路由拓扑处理系统及方法 |
-
2010
- 2010-04-01 CN CN2010101396563A patent/CN102215136B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000005594A1 (en) * | 1998-07-21 | 2000-02-03 | Conduct Ltd. | Automatic network traffic analysis |
KR20030089604A (ko) * | 2002-05-16 | 2003-11-22 | 한국전자통신연구원 | 다중 프로토콜 라벨 스위칭 네트워크 관리장치와 관리방법 |
CN1756233A (zh) * | 2004-09-30 | 2006-04-05 | 富士通株式会社 | 电信网络中的路由选择方法和装置 |
CN1773930A (zh) * | 2004-11-09 | 2006-05-17 | 华为技术有限公司 | 承载网资源管理器自动获取承载网信息的方法 |
CN101282241A (zh) * | 2008-05-04 | 2008-10-08 | 中国科学院计算技术研究所 | 一种自治系统内的实时网络路由拓扑处理系统及方法 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404150A (zh) * | 2011-11-25 | 2012-04-04 | 浪潮电子信息产业股份有限公司 | 一种云os中网络拓扑自动生成方法 |
CN102611626B (zh) * | 2012-03-30 | 2014-11-26 | 北京英诺威尔科技股份有限公司 | 网络流量解析系统及方法 |
CN102611626A (zh) * | 2012-03-30 | 2012-07-25 | 北京英诺威尔科技股份有限公司 | 网络流量解析系统及方法 |
CN104158740A (zh) * | 2013-05-13 | 2014-11-19 | 华为技术有限公司 | 一种路径管理方法及控制器 |
CN104158740B (zh) * | 2013-05-13 | 2017-11-24 | 华为技术有限公司 | 一种路径管理方法及控制器 |
CN104519010A (zh) * | 2013-09-27 | 2015-04-15 | 中国电信股份有限公司 | 网络安全探针的部署方法和装置 |
CN109921989A (zh) * | 2014-07-31 | 2019-06-21 | 华为技术有限公司 | 一种bgp逻辑拓扑生成的方法及设备 |
US11343153B2 (en) | 2014-07-31 | 2022-05-24 | Huawei Technologies Co., Ltd. | BGP logical topology generation method, and device |
CN109921989B (zh) * | 2014-07-31 | 2021-09-21 | 华为技术有限公司 | 一种bgp逻辑拓扑生成的方法及设备 |
CN107104809A (zh) * | 2016-02-19 | 2017-08-29 | 北京神州泰岳软件股份有限公司 | 一种生成网络拓扑图的方法和系统 |
CN107104809B (zh) * | 2016-02-19 | 2019-10-08 | 北京神州泰岳软件股份有限公司 | 一种生成网络拓扑图的方法和系统 |
CN106357448A (zh) * | 2016-09-22 | 2017-01-25 | 中国联合网络通信集团有限公司 | 一种流量监测拓扑生成方法和系统 |
CN106357448B (zh) * | 2016-09-22 | 2019-08-02 | 中国联合网络通信集团有限公司 | 一种流量监测拓扑生成方法和系统 |
CN106470213A (zh) * | 2016-10-17 | 2017-03-01 | 杭州迪普科技股份有限公司 | 一种攻击报文的溯源方法和装置 |
CN107623611A (zh) * | 2017-09-22 | 2018-01-23 | 国云科技股份有限公司 | 一种云平台虚拟机的流量监控系统 |
CN108173695A (zh) * | 2017-12-29 | 2018-06-15 | 深信服网络科技(深圳)有限公司 | 一种云环境下流量监控系统及方法 |
CN108156079A (zh) * | 2017-12-29 | 2018-06-12 | 深信服网络科技(深圳)有限公司 | 一种基于云服务平台的数据包转发系统及方法 |
CN108173695B (zh) * | 2017-12-29 | 2021-10-19 | 深信服科技股份有限公司 | 一种云环境下流量监控系统及方法 |
CN108400905A (zh) * | 2018-01-31 | 2018-08-14 | 山东汇贸电子口岸有限公司 | 一种处理分布式存储端到端流量分析的方法 |
CN108400905B (zh) * | 2018-01-31 | 2020-06-19 | 浪潮云信息技术有限公司 | 一种处理分布式存储端到端流量分析的方法 |
CN108494583A (zh) * | 2018-02-24 | 2018-09-04 | 广州西麦科技股份有限公司 | 一种基于sFlow生成网络拓扑的方法及装置 |
CN108566335A (zh) * | 2018-03-02 | 2018-09-21 | 广州西麦科技股份有限公司 | 一种基于NetFlow的网络拓扑生成方法 |
CN108566335B (zh) * | 2018-03-02 | 2021-04-27 | 广州西麦科技股份有限公司 | 一种基于NetFlow的网络拓扑生成方法 |
CN110011830A (zh) * | 2019-03-03 | 2019-07-12 | 北京立思辰安科技术有限公司 | 基于流量数据的通讯拓扑信息建模方法 |
CN111130883A (zh) * | 2019-12-25 | 2020-05-08 | 杭州安恒信息技术股份有限公司 | 工控设备拓扑图的确定方法、装置及电子设备 |
CN111130883B (zh) * | 2019-12-25 | 2022-12-30 | 杭州安恒信息技术股份有限公司 | 工控设备拓扑图的确定方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102215136B (zh) | 2013-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102215136B (zh) | 流量拓扑生成方法和装置 | |
CN101465793B (zh) | 一种获取网络中两点间最短路由路径的方法及装置 | |
CN100388695C (zh) | 互联网的域间路由监测与分析系统及其工作方法 | |
Haddadi et al. | Network topologies: inference, modeling, and generation | |
EP2050237B1 (en) | Mapping off-network traffic to an administered network | |
Nomikos et al. | traIXroute: Detecting IXPs in traceroute paths | |
ES2689913T3 (es) | Identificación de rutas tomadas a través de una red de dispositivos interconectados | |
CN106992891B (zh) | 一种针对ospf网络的路由配置异常检测方法及系统 | |
CN101547125B (zh) | 一种自治系统内网络异常定位的系统和方法 | |
CN102143007A (zh) | 基于分布式的多级网络拓扑发现方法 | |
Zhang et al. | A framework to quantify the pitfalls of using traceroute in AS-level topology measurement | |
CN105991334A (zh) | 一种网络拓扑自发现方法及装置 | |
CN104168154A (zh) | 面向网络态势感知的多级别网络系统及其构建方法 | |
WO2012134537A1 (en) | Network topology discovery | |
CN101483610A (zh) | 链路状态路由协议的路由更新方法 | |
Marchetta et al. | Quantifying and mitigating IGMP filtering in topology discovery | |
CN106982164A (zh) | 一种网络拓扑发现方法及设备 | |
CN109088756B (zh) | 一种基于网络设备识别的网络拓扑补全方法 | |
CN109728959A (zh) | 一种网络拓扑结构自动分析方法、装置和设备 | |
US20040196865A1 (en) | Method and system for discovering a topology of a portion of a computer network | |
CN102790697B (zh) | IPv6网络路由器级拓扑发现方法 | |
US7688743B2 (en) | Tracing routing differences | |
CN108833609B (zh) | 一种基于历史拓扑测量数据的局部网络目的ip地址选择方法 | |
CN105812168B (zh) | 一种绘制网络拓扑图的方法和装置 | |
CN105897490A (zh) | 网络拓扑的自动发现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131016 Termination date: 20190401 |
|
CF01 | Termination of patent right due to non-payment of annual fee |