CN111970202A - 基于三路子拓扑测量的网络拓扑发现方法 - Google Patents

基于三路子拓扑测量的网络拓扑发现方法 Download PDF

Info

Publication number
CN111970202A
CN111970202A CN202010884969.5A CN202010884969A CN111970202A CN 111970202 A CN111970202 A CN 111970202A CN 202010884969 A CN202010884969 A CN 202010884969A CN 111970202 A CN111970202 A CN 111970202A
Authority
CN
China
Prior art keywords
topology
node
way sub
sub
path
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
Application number
CN202010884969.5A
Other languages
English (en)
Other versions
CN111970202B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202010884969.5A priority Critical patent/CN111970202B/zh
Publication of CN111970202A publication Critical patent/CN111970202A/zh
Application granted granted Critical
Publication of CN111970202B publication Critical patent/CN111970202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种基于三路子拓扑测量的网络拓扑发现方法,应用于网络层析成像领域,针对现有三路子拓扑的推断方法在网络规模大的时候,测量复杂度较高的问题,本发明对三路子拓扑进行测量,将得到的相关性测量计算平均相对偏差,将平均相对偏差作为无监督聚类方法的输入,进行二元分类,从而得到三路子拓扑的类型,根据三路子拓扑类型,进行剩余叶子节点的插入,最终恢复整个托普网络;本发明的测量方法利用了反射的思想,可以应用到源节点不协作的情况;对于测量复杂度过大的问题,本发明中的拓扑推断算法基于二分法,重复利用之前的测量结果中的信息,以减少测量冗余。

Description

基于三路子拓扑测量的网络拓扑发现方法
技术领域
本发明属于网络层析成像领域,具体涉及一种网络拓扑发现方法。
背景技术
许多先前的研究都将直接测量方法应用到拓扑推理中。直接测量法利用内部节点的反馈信息,通过一些特殊的工具发现通信网络的拓扑结构。然而,随着人们对通信网络隐私和安全问题的日益关注,这种方法受到了极大的阻碍。例如,traceroute是一个用于发现internet中从源节点到目标节点的中间路由器的工具。如果我们使用类似traceroute工具的测量结果来重建拓扑,首先需要解决的严重挑战是匿名路由器和路由器别名,这限制了直接测量方法的应用。
作为一种替代方法,网络层析成像应运而生。网络层析成像是一种在直接测量不可用时,通过端到端测量(一种间接测量)发现网络拓扑和诊断链路特定性能的强大技术。网络层析成像的初始工作是基于多播测量的使用。多播探测很有吸引力,因为它只需要很少的探测包(
Figure BDA0002655292090000011
其中N是拓扑中的路径数)。然而,现实中能够支持多播的节点很少,因此多播测量的方法变得不切实际。最近的工作大多基于单播测量。
端到端的测量(如时延、丢包率)被利用来获得任意两条路径之间的相似度量,然后推理算法利用它们来恢复拓扑。在上述过程中,存在一个假设,即对于任何目的节点i、j、k,观察到的相似性度量满足si,j>sj,k,当且仅当共享路径满足pi,j>pj,k,这也被称为单调条件。基于这一假设,近几十年来提出了大量的拓扑推理算法。当拓扑规模不是很大时,单调条件是合理的。我们知道拓扑规模的大小直接关系到测量的复杂度和测量时间。当拓扑规模增大时,测量周期会很快的提高(对于两两测量为
Figure BDA0002655292090000012
),此时,这个假设就可能不成立,因为此时背景流量可能不具备一致性,背景流一致性指的是在测量期间,探测包经历的背景流强度是基本不变的。其结果是,假设的违背会导致传统方法错误的推断。
在已有研究中,解决了这个假设违背的情况,并给出了理论证明,当获取了所有三路子拓扑信息后,树型拓扑一定可以推断出来。那么关键的问题就是如何得到三路子拓扑的信息,即如何测量三路子拓扑。此外,在实际场景中,源节点可能出现不协作的情况,此时我们无法在源节点发包,这要求改进现有的探测方法。
基于三路子拓扑的推断方法,输入为三路子拓扑结构信息,在N条路径的树型拓扑中,一共有
Figure BDA0002655292090000021
个三路子拓扑,若以此为输入,则需要测量的三路子拓扑数量达到
Figure BDA0002655292090000022
在网络规模大的时候,这样的测量复杂度几乎不可接受的。
发明内容
为解决上述技术问题,本发明提出一种基于三路子拓扑测量的网络拓扑发现系统与方法,其包括两个板块:(1)基于反射以及无监督聚类的三路子拓扑测量框架;(2)基于二分算法的网络拓扑推断系统。
基于反射以及无监督聚类的三路子拓扑测量框架用于测量由任意三条路径组成的三路子拓扑结构(三路子拓扑所有可能的逻辑拓扑结构如图3所示)。该测量框架包括两个模块:
(1)相似度量:相似度量细分为五个步骤
①数据包定制:每一次探测都会发出一个背靠背探测数据包(背靠背探测数据包由三个紧挨的探测数据包组成,如图4所示),将背靠背探测数据包中三个探测数据包的源IP地址分别修改为三路子拓扑中三个叶子节点的IP地址(如图4中节点i、j、d的IP地址),将目的IP地址修改为源节点(三路子拓扑的根节点,如图4中节点S)的IP地址。
②数据包传输:发送节点(三路子拓扑中三个叶子节点的其中之一,如图4的节点i)将本次探测中的背靠背探测数据包发出,由于组成背靠背探测数据包的三个探测数据包紧挨着,所以我们认为三个探测数据包发出的时间相同。并且发送节点将本次
背靠背探测数据包发出时间t0记录下来;
③时延汇总并计算:当接收节点(三路子拓扑的叶子节点,如图4中节点i、j、d)接收到来自源节点(三路子拓扑的根节点,如图4中的节点S)的反馈ICMP包时,分别记录下各自的接收时间t1、t2、t3,并将此时间信息传回发送节点。发送节点会分别计算三条路径的时延x1=t1-t0、x2=t2-t0、x3=t3-t0(分别对应图4中三条路径pi、pj、pd的时延)。
④重复测量:根据预设探测次数M(我们称其为一个探测周期),重复步骤①②③,将会得到M组路径时延信息;
⑤相似度量计算:利用协方差公式来计算任意两条路径的时延协方差(即两两路径相似度量,也就是两条路径公共路径长度)。
(2)无监督聚类:无监督聚类细分为三个步骤
①大规模测量:对各种三路子拓扑进行大量测量,从而得到大量的相似度量数据;
②预处理:利用平均相对偏差公式,将三路子拓扑相似度量转换为平均相对偏差;
③聚类:将平均相对偏差数据作为历史经验数据,进行二元聚类。
基于二分算法的网络拓扑推断系统用于推断一个未知网络的网络拓扑。该推断系统以二分算法以及基于反射以及无监督聚类的三路子拓扑测量框架为基础来进行拓扑推断,具体的推断算法参考本发明的算法实现部分。
综上,本发明的一种基于三路子拓扑测量的网络拓扑发现方法,如图1所示,实现流程包括:
A1、在待测量的拓扑网络中,随机选择三个叶子节点组成初始三路子拓扑作为初始拓扑;
A2、从剩下的叶子节点中随机选择叶子节点作为下一个待插入节点;
A3、找到当前拓扑中拥有最长公共路径的两个叶子节点,选择从源节点到这两个叶子节点之间的二分内部节点,以该二分内部节点作为公共祖先节点,随机选择距离该公共祖先节点最近的两个叶子节点与待插入节点组成新的三路子拓扑;
A4、测量新的三路子拓扑的类型;
A5、根据新的三路子拓扑的类型,确定该待插入节点的插入位置,从而得到更新的拓扑;
A6、重复步骤A2-A5,直至所有剩下的叶子节点完成插入,从而恢复整个拓扑网络。
与现有技术相比,本发明的有益效果:
(1)本发明的三路子拓扑测量是一种新颖的测量技术,可以测量得到三路子拓扑的结构。
(2)本发明考虑到了三路子拓扑测量中,源节点(如图4中节点S)不可控的情况(即我们不能直接控制源节点来发送探测数据包),并且提出基于反射的测量方案来解决这个问题。如此,当源节点不可控的情况下也可以发挥作用。
(3)本发明提出的基于三路子拓扑测量的拓扑推断方案拥有抵抗背景流不一致的能力。现有的两两测量方法,由于所需要测量的次数太多,所经历的时间长,在此期间,背景流强度可能会发生变化。这也就导致了两两测量在不同时间测量其测量结果不一致,非常影响拓扑推断结果。而我们提出的基于三路子拓扑测量的方案,与两两测量的定量测量方式不同,我们采用定性测量的方式。对于一个三路子拓扑,任意一个短时间片测量得到所有两两路径的相似度量(公共路径长度)之间的相对大小是不会发生改变的,而我们的每一次探测都是在一个极短的时间内完成的。纵然我们进行了多组探测,这期间背景流强度发生了变化,但是每一次探测公共路径长度的相对大小不会改变,从而保证了测量拓扑结构的准确性。
(4)采用二分法进行网络拓扑的推断,可以明显的减少所需测量的三路子拓扑的个数,提升拓扑恢复的效率。
附图说明
图1为本发明的方案流程图;
图2为本发明实施例给出的仿真实验流程图;
图3为四种三路子拓扑类型图;
其中,图3(a)为0类型三路子拓扑,图3(b)为1类型三路子拓扑,图3(c)为2类型三路子拓扑,图3(d)为3类型三路子拓扑;
图4为三路子拓扑反射测量图;
图5为本发明中共享型三路子拓扑和非共享型三路子拓扑对应实验数据的平均相对偏差对比图;
图6为K-Means算法和RNJ算法推断三路子拓扑精度对比图;
图7为拓扑恢复算法示例图;
其中,图7(a)为原始拓扑,图7(b)为初始拓扑,图7(c)为中间拓扑,图7(d)为恢复之后的拓扑。
具体实施方式
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
如图2所示,本发明仿真实验流程包括以下步骤:
S1、选择拓扑;
S2、指定仿真实验参数;
S3、生成所有拓扑中,所有三路子拓扑时延数据;
S4、计算三路子拓扑中两两路径相关性度量,即公共路径长度度量;
S5、计算S4中三路子拓扑的三个相关性度量的平均相对偏差;
S6、将S5中生成的平均相对偏差作为无监督聚类方法K-Means的输入,进行二元聚类;
S7、比较K-Means算法与RNJ算法对三路子拓扑类型推断的准确度。
步骤S1中,进行模拟仿真实验之前,首先需要选择真实的网络拓扑。真实网络拓扑选自Topology Zoo。值得注意的是,从Topology Zoo中选择出来的真实网络拓扑都是拓扑图的形式,为了满足我们实验的前提条件,即拓扑为树型拓扑,所以本实验将从TopologyZoo选择出来的拓扑进行了拓扑图到树型拓扑的转换。转换的基本做法为:从一个随机节点开始,进行深度优先遍历,在遍历过程中,会将度为2(入度+出度)的节点去掉,使用链表来代替(度为2的节点并不能为拓扑推断工作带来效益)。我们从Topology Zoo中总共选择了7种网络拓扑,其对应的拓扑树向量分别为:[4,4,4,0]、[4,5,5,0,4]、[5,4,5,0,4]、[5,5,5,5,0]、[5,5,6,6,0,5]、[5,6,6,6,0,5]、[6,6,6,6,6,0]。
步骤S2中,为了实现拓扑推断工作,需要通过端到端测量得到时延数据信息。而背靠背探测数据包端到端时延会受到拓扑中背景流的影响,背景流每过一段时间会发生变化。为了模拟背景流,我们指定拓扑中链路时延服从指数分布。为了模拟背景流每过一段时间会发生变化的特征,我们指定背景存在变化周期,并且会针对不同的背景流变化周期生成时延数据。链路时延所服从指数分布的参数,我们从范围[0.001,0.005]中进行均匀采样得到。背景流变化的周期,选择的范围为:[50,100,200,500,1000,2000,3000]。
步骤S3中,针对每一个拓扑中的每一个三路子拓扑,我们都会对其进行路径时延的测量。在本模拟仿真实验中,如果源节点可控,即我们可以在源节点处直接发送三个紧挨的探测包到三路子拓扑的三个叶子结点,就可以得到三条路径的时延数据。而这并不需要使用到我们提出的反射机制。而我们认为源节点是不可控的,所以路径时延分为两部分:(1)发送节点发送TCP背靠背探测数据包到源节点的时延;(2)源节点反馈ICMP数据包到接收节点的时延。如图4所示,为三路子拓扑基于反射的测量图,如图4我们可以看出,从发送节点i发出了背靠背探测数据包(此背靠背探测数据包中的三个探测数据包的源IP地址分别为叶子节点i、j、d的IP地址,目的IP地址为源节点S的IP地址),记录发送时间为t0,当背靠背探测数据包到达源节点S之后,由于我们并没有为源节点S安装相应的服务(源节点S不可控,所以没有权限操作),所以源节点S会向叶子节点i、j、d发送反馈ICMP数据包,当ICMP数据包在叶子节点i、j、d被成功接收之后,记录下接收的时间,分别为t1、t2、t3。从图4中可以看出路径pi、pj、pd三条路径分别对应的路径时延为x1=t1-t0、x2=t2-t0、x3=t3-t0。为了准确获得三路子拓扑路径时延信息,每一个探测周期会包含3×M个探测数据包,在我们的模拟仿真实验中,我们将探测周期包含的探测次数M设置为3000。并且每一个三路子拓扑,我们都会进行10个探测周期重复探测,从而避免时延数据生成的偶然性。
步骤S4中,将步骤S3中每一个探测周期的数据作为一个处理单元,计算两两路径的相似度量。计算的方式就是计算两两路径时延协方差。此协方差信息就能够反映两条路径公共路径的长度。最后生成的数据总量为1820组。
步骤S4中待测量的三路子拓扑τ(i,j,d)的源节点S(根节点)不可控,此时可以采用反射测量的方法,具体如下:
此时可以从目的节点中选择一个节点作为发送节点,而选择发送节点有一个小技巧,可以选择从发送节点到源节点的往返时延最小的那个,以减少测量时间;发送节点发送背靠背探测包,记发送时间为t0,背靠背探测包由三个紧挨着的小的TCP探测数据包组成,源地址分别修改为三路子拓扑的三个目的节点的IP地址,目的地址均为源节点的IP地址,当源节点接收到探测包时,由于其不可控,我们并不能在源节点上安装相应的服务,所以其会分别发送响应的ICMP包到目的节点;由于TCP包可以假设同时到达源节点,而源节点响应的ICMP也可以认为紧挨着发出,在共享路径上,所经历的时延可以认为相同;在目的节点i,j,d分别接收到ICMP包,并记录接收时间t1,t2,t3,将三个时间反馈给发送节点i,结合发送时间t0,我们可以计算得到三条路径时延xi=ti-t0,i=1,2,3,其中xi表示路径i的时延。如此就得到了第一次探测的实验数据。假设进行了M次探测,则我们可以得到M组路径时延数据,假设使用
Figure BDA0002655292090000061
表示路径i第k次探测得到的时延数据,那么路径i的M次实验的数据就记为
Figure BDA0002655292090000062
那么三条路径M次探测得到的时延数据记为X={Xi|i∈{1,2,3}}。通过协方差公式Cov(X,Y)=E[XY]-E[X]E[Y]计算两两路径的时延协方差得到其公共路径长度的度量,即si,j=Cov(Xi,Xj),由于发送节点为目的节点,假设为i,实际上公共路径的长度包括两部分,一个是从发送节点i到源节点S,一个是从源节点S到路径i和路径j的分支节点。
Cov(X,Y)表示任意两两路径pi和pj的相似度量,X表示路径pi的M次探测得到的时延数据,Y表示路径pj的M次探测得到的时延数据,E[X]为X期望值,E[X]为Y的期望值,E[XY]为X·Y的期望值,即X和Y联合求期望值。
步骤S4中的背靠背探测方法,也可以替换为如三明治探测方法或者直接测量的方法。
步骤S4中的相关性度量采用的时延协方差,可以是任何表示两两路径的公共路径长度的相关性度量,如丢包率等。
步骤S5中,将步骤S4中处理的结果进一步处理,为了体现出共享型三路子拓扑和非共享型三路子拓扑之间的差异,我们会将步骤S4中的数据进一步计算平均相对偏差,计算公式为
Figure BDA0002655292090000071
其中
Figure BDA0002655292090000072
表示路径i在M次中的时延平均值。将三条公共路径长度度量代入,得到平均相对偏差。
由于共享型三路子拓扑中(τ(i,j,d)=0),公共路径的长度都一样,平均相对偏差接近0,而在非共享型三路子拓扑(τ(i,j,d)>0)中,公共路径长度不一样,平均相对偏差较大。平均相对偏差之间的区别如图5所示,可以看出共享型三路子拓扑和非共享型三路子拓扑之间确实存在明显的分界线。共享型三路子拓扑的平均相对偏差小于0.075,而非共享型三路子拓扑的平均相对偏差大于0.075。
步骤S6中,将生成的1820个平均相对偏差数据作为输入数据,输入到无监督聚类方法进行二元聚类,根据三路子拓扑的平均相对偏差,推断三路子拓扑为共享型或者非共享型。当我们使用K-Means进行无监督聚类时,具体如下:
(1)选择两个对象作为初始聚类中心(本发明中采用的是二元聚类);
(2)计算每个聚类对象到聚类中心的距离(如欧式距离),距离哪一个聚类中心近,就划分到那个聚类中心所属集合;
(3)将所有数据分成两类之后,再次计算每个集合的聚类中心;
(4)如果新计算出来的聚类中心和原聚类中心的距离小于某一个设定的阈值,我们则可以认为聚类达到了预期的结果,算法终止。
(5)如果新聚类中心和原聚类中心距离相差很大,则需要重复步骤(2)~(5)。最后,根据步骤S6中的分类结果进一步推断三路子拓扑类型,具体为:当推断结果为共享型三路子拓扑时,即τ(i,j,d)=0,那么我们就能够确定三路子拓扑的结构一定为图3(d)所示的拓扑结构;当推断结果为非共享型时,即τ(i,j,d)>0时,我们需要进一步判断三路子拓扑类型。如果si,j比si,d和sj,d都大,那么其拓扑结构一定为图3(a)所示的拓扑结构,即τ(i,j,d)=1;如果si,d比si,j和sj,d都大,那么其拓扑结构一定为图3(b)所示的拓扑结构,即τ(i,j,d)=2;如果sj,d比si,d和si,j都大,那么其拓扑结构一定为图3(c)所示的拓扑结构,即τ(i,j,d)=3。
步骤S6中的无监督聚类方法不局限于K-Means方法,任何其他无监督聚类方法都可以进行二元分类,如模糊聚类方法。
步骤S7中,RNJ算法是基于两两测量的,即定量测量,而定量测量并不能够抵抗背景流的频繁波动。为此,本实施例进行了K-Means算法和RNJ算法的对比。对比的结果如图6所示。从图6可以看出,对于四种三路子拓扑类型,在我们设置的实验场景下,RNJ算法推断三路子拓扑类型的精度要明显低于K-Means无监督二元聚类算法。
本发明以三路子拓扑为输入,推断整个网络拓扑。具体如下:
在说明基于最长公共路径二分的拓扑推断算法之前,我们需要先说明几个概念辅助理解。
Figure BDA0002655292090000081
其中,
Figure BDA0002655292090000082
为以节点k为根节点子树的叶叶子节点集合,当k=s时,则为
Figure BDA0002655292090000083
|pm∧n|表示路径ps,m和ps,n公共路径上链路数量。{(m,n)}表示链路数量最多的公共路径对应的两个叶子节点m和n的集合。
Figure BDA0002655292090000084
Figure BDA0002655292090000091
为以s为开始节点,m为结束节点的路径ps,m上内部节点集合。
φ(i)={j|fk(j)=i;k≥0} (3)
fk(j)=i的意思是节点j为节点i的第k代祖先节点,特别的,节点i是自己本身的第0代祖先节点,即f0(j)=i,φ(i)为包含节点i和其所有祖先节点的集合。
Figure BDA0002655292090000092
Φ(i,j)为以节点i的所有子节点(如果该子节点是节点j的祖先节点,则排除这个子节点)为根结点的子树的集合。
本发明的算法实现主要分为四个部分:
(1)算法1为本发明方法的主体部分。首先选择三个叶子节点组成原始三路子拓扑,然后依次从剩余叶子节点中选择叶子节点插入到合适的位置,每一次选择一个叶子节点。该叶子节点与其他任意两个叶子节点所过所组成的三路子拓扑的时延数据信息通过算法TSTMeasure来确定,叶子节点插入位置根据算法LCPBLocationDeterminate来确定。最后根据算法TopologyUpdate来更新拓扑,直到拓扑恢复完成为止。
Figure BDA0002655292090000093
(2)算法2为TSTMeasure算法部分。根据K-Means无监督聚类算法推断三路子拓扑的类型。
Figure BDA0002655292090000101
(3)算法3为LCPBLocationDeterminate算法部分。首先随机挑选两个叶子节点m和n,这两个叶子节点满足的条件是其公共路径最长。选则此最长的公共路径中的二分节点,选择一个此二分节点的子节点k,k满足的条件是k不等于m,且k为叶子节点,判断叶子节点m、k和d组成的三路子拓扑的类型,其中d为待插入的叶子节点,如此二分迭代,直到确定插入位置为止。
Figure BDA0002655292090000111
Figure BDA0002655292090000121
(4)算法4为TopologyUpdate算法部分。根据LCPBLocationDeterminate确定的插入位置,将待插入节点插入到合适位置,进行拓扑更新。
Figure BDA0002655292090000122
为了更加详细的说明我们提出的上述算法,我们以一个实际的拓扑图(图7(a)所示)为例,详细说明具体的拓扑恢复流程:
(1)整个拓扑图总共有5个叶子节点,我们随机选择三个叶子节点{2,4,5}组成初始三路子拓扑,初始三路子拓扑的拓扑结构通过算法TSTMeasure得出,很明显其拓扑结构为τ(2,4,5)=3,即其拓扑结构为图7(b)所示。
(2)随机选择叶子节点3作为下一个待插入节点。找到初始三路子拓扑中拥有最长公共路径的两个叶子节点,即{4,5}。选择从源节点0到叶子节点4之间的二分内部节点6(在本说明中,内部节点即为非源节点和叶子节点的节点),然后随机选择最近公共祖先节点为6的两个叶子节点{2,4}与待插入节点3组成一个三路子拓扑测量{2,3,4},调用TSTMeasure算法进行测量,测量结果应该为τ(2,3,4)=1,很明显待插入节点3一定位于图7(b)的虚线部分的子树中,由于该子树只有一条链路,很明显节点3应该插入到链路
Figure BDA0002655292090000131
(即节点6和节点2之间的链路)。将待插入节点3插入到链路
Figure BDA0002655292090000132
之后得到拓扑如图7(c)所示。
(3)选择最后一个叶子节点1作为待插入节点。找到当前拓扑中拥有最长公共路径的两个节点,由于节点2和节点3的公共路径与节点4和节点5的公共路径都是最长的,所以我们随机选择两个节点,即{2,3}。选择从源节点0到叶子节点2之间二分内部节点6,然后随机选择最近公共祖先节点为6的两个叶子节点{2,5}与待插入节点1组成三路子拓扑测量{1,2,5},调用TSTMeasure算法进行测量,测量结果应该为τ(1,2,5)=1。所以可以断定,节点1一定位于图7(c)虚线部分的子树中。
(4)找到该子树中拥有最长公共路径的两个节点,即{2,3},选择源节点6到叶子节点2之间的二分内部节点7,然后随机选择最近公共祖先节点为7的两个叶子节点{2,3}与待插入节点1组成三路子拓扑测量{1,2,3},调用TSTMeasure算法进行测量,测量结果应该为τ(1,2,3)=3,很明显待插入节点1应该插入到链路
Figure BDA0002655292090000133
(即节点6和节点7之间的链路)。将待插入节点1插入到链路
Figure BDA0002655292090000134
之后得到拓扑如图7(d)所示。即完成了整个拓扑的恢复。
注意:在拓扑恢复过程中,内部节点的编号会发生变化,其编号规则为广度优先编号,起始编号为N+1;从拓扑恢复过程我们可以看出,拓扑的准确恢复完全依赖于三路子拓扑的准确测量。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (6)

1.一种基于三路子拓扑测量的网络拓扑发现方法,其特征在于,包括:
A1、在待测量的拓扑网络中,随机选择三个叶子节点组成初始三路子拓扑作为初始拓扑;
A2、从剩下的叶子节点中随机选择叶子节点作为下一个待插入节点;
A3、找到当前拓扑中拥有最长公共路径的两个叶子节点,选择从源节点到这两个叶子节点之间的二分内部节点,以该二分内部节点作为公共祖先节点,随机选择距离该公共祖先节点最近的两个叶子节点与待插入节点组成新的三路子拓扑;
A4、测量新的三路子拓扑的类型;
A5、根据新的三路子拓扑的类型,确定该待插入节点的插入位置,从而得到更新的拓扑;
A6、重复步骤A2-A5,直至所有剩下的叶子节点完成插入,从而恢复整个拓扑网络。
2.根据权利要求1所述的一种基于三路子拓扑测量的网络拓扑发现方法,其特征在于,步骤A4包括以下分步骤:
A41、获得当前三路子拓扑两两路径的相似度量集合,计算相似度平均相对偏差;
A42、将平均相对偏差作为无监督聚类方法的输入,进行二元聚类,得到当前三路子拓扑的类型。
3.根据权利要求2所述的一种基于三路子拓扑测量的网络拓扑发现方法,其特征在于,步骤A5具体为:设定源节点为s,待插入节点为k,公共祖先节点为m,距离m最近的两个叶子节点分别记为i、j;
若聚类结果为0,则当前三路子拓扑类型为τ(pi,pj,pk)=0,该待插入节点的插入位置为节点m;
若S(pi,pj)>S(pi,pk)=S(pj,pk),则当前三路子拓扑类型为τ(pi,pj,pk)=1,该待插入节点的插入位置为节点s到m之间的链路;
若S(pi,pk)>S(pi,pj)=S(pj,pk),则当前三路子拓扑类型为τ(pi,pj,pk)=2,该待插入节点的插入位置为节点m到i之间的链路;
若S(pi,pk)=S(pi,pj)<S(pj,pk),则当前三路子拓扑类型为τ(pi,pj,pk)=3,该待插入节点的插入位置为节点m到j之间的链路;
其中,pi,pj,pk为当前三路子拓扑对应的三条路径,S(pi,pj)表示pi与pj的相似度量,S(pi,pk)表示pi与pk的相似度量,S(pj,pk)表示pj与pk的相似度量。
4.根据权利要求3所述的一种基于三路子拓扑测量的网络拓扑发现方法,其特征在于,任意两两路径pi和pj的相似度量计算为:
Cov(X,Y)=E[XY]-E[X]E[Y]
其中,X表示路径pi的M次探测得到的时延数据,Y表示路径pj的M次探测得到的时延数据,E[X]为X期望值,E[X]为Y的期望值,E[XY]为X和Y的联合期望值。
5.根据权利要求4所述的一种基于三路子拓扑测量的网络拓扑发现方法,其特征在于,所述时延数据的获取过程为:
B1、每一次探测都会发出一个背靠背探测数据包,将背靠背探测数据包中三个探测数据包的源IP地址分别修改为三路子拓扑中三个叶子节点的IP地址,将目的IP地址修改为源节点的IP地址;
B2、发送节点将本次探测中的背靠背探测数据包发出,默认三个探测数据包发出的时间相同,并且发送节点将本次背靠背探测数据包发出时间t0记录下来;
B3、当接收节点接收到来自源节点的反馈ICMP包时,分别记录下各自的接收时间t1、t2、t3,并将此时间信息传回发送节点;发送节点会分别计算三条路径的时延;
B4、重复探测M次,得到M组路径时延信息。
6.根据权利要求3所述的一种基于三路子拓扑测量的网络拓扑发现方法,其特征在于,当插入位置为节点,则将路径pk插入到节点上;若插入位置为链路,则在该链路上新生成一个节点,然后将路径pk插入到该新生成的节点上。
CN202010884969.5A 2020-08-28 2020-08-28 基于三路子拓扑测量的网络拓扑发现方法 Active CN111970202B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010884969.5A CN111970202B (zh) 2020-08-28 2020-08-28 基于三路子拓扑测量的网络拓扑发现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010884969.5A CN111970202B (zh) 2020-08-28 2020-08-28 基于三路子拓扑测量的网络拓扑发现方法

Publications (2)

Publication Number Publication Date
CN111970202A true CN111970202A (zh) 2020-11-20
CN111970202B CN111970202B (zh) 2021-09-10

Family

ID=73401099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010884969.5A Active CN111970202B (zh) 2020-08-28 2020-08-28 基于三路子拓扑测量的网络拓扑发现方法

Country Status (1)

Country Link
CN (1) CN111970202B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118610A (zh) * 2022-07-18 2022-09-27 电子科技大学 一种基于网路层析成像的动态拓扑估计方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267450A (zh) * 2008-03-18 2008-09-17 上海大学 基于网络编码的分布式网络应用层组播路由方法
US20130083691A1 (en) * 2011-10-04 2013-04-04 Juniper Networks, Inc. Methods and apparatus for a self-organized layer-2 enterprise network architecture
CN106165356A (zh) * 2014-02-13 2016-11-23 洛克波特网络股份有限公司 在分布式直接互连网络中路由分组的方法
US20180262392A1 (en) * 2017-03-08 2018-09-13 Linkedin Corporation Automatically detecting roles of nodes in layered network topologies
CN109309944A (zh) * 2018-10-15 2019-02-05 西北工业大学 一种无线多跳网络拓扑发现方法
CN109905281A (zh) * 2019-03-24 2019-06-18 西安电子科技大学 多路径最大吞吐量的星群网络遥感业务传输方法
CN109936480A (zh) * 2019-03-19 2019-06-25 鹏城实验室 网络拓扑发现方法及装置、存储介质及电子设备
CN110135482A (zh) * 2019-04-30 2019-08-16 中国地质大学(武汉) 一种基于卷积神经网络的网络拓扑推断方法及系统
US10439879B2 (en) * 2016-09-01 2019-10-08 Cisco Technology, Inc. Bandwidth management in a non-blocking network fabric
CN111181769A (zh) * 2019-12-11 2020-05-19 中移(杭州)信息技术有限公司 网络拓扑图绘制方法、系统、装置及计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267450A (zh) * 2008-03-18 2008-09-17 上海大学 基于网络编码的分布式网络应用层组播路由方法
US20130083691A1 (en) * 2011-10-04 2013-04-04 Juniper Networks, Inc. Methods and apparatus for a self-organized layer-2 enterprise network architecture
CN106165356A (zh) * 2014-02-13 2016-11-23 洛克波特网络股份有限公司 在分布式直接互连网络中路由分组的方法
US10439879B2 (en) * 2016-09-01 2019-10-08 Cisco Technology, Inc. Bandwidth management in a non-blocking network fabric
US20180262392A1 (en) * 2017-03-08 2018-09-13 Linkedin Corporation Automatically detecting roles of nodes in layered network topologies
CN109309944A (zh) * 2018-10-15 2019-02-05 西北工业大学 一种无线多跳网络拓扑发现方法
CN109936480A (zh) * 2019-03-19 2019-06-25 鹏城实验室 网络拓扑发现方法及装置、存储介质及电子设备
CN109905281A (zh) * 2019-03-24 2019-06-18 西安电子科技大学 多路径最大吞吐量的星群网络遥感业务传输方法
CN110135482A (zh) * 2019-04-30 2019-08-16 中国地质大学(武汉) 一种基于卷积神经网络的网络拓扑推断方法及系统
CN111181769A (zh) * 2019-12-11 2020-05-19 中移(杭州)信息技术有限公司 网络拓扑图绘制方法、系统、装置及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
潘胜利: "多径路由网络层析成像", 《中国博士学位论文全文数据库(信息科技辑)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118610A (zh) * 2022-07-18 2022-09-27 电子科技大学 一种基于网路层析成像的动态拓扑估计方法
CN115118610B (zh) * 2022-07-18 2023-10-13 电子科技大学 一种基于网路层析成像的动态拓扑估计方法

Also Published As

Publication number Publication date
CN111970202B (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
Xu et al. Convergence of asynchronous distributed gradient methods over stochastic networks
Nedić et al. Distributed optimization over time-varying directed graphs
Ni et al. Network tomography based on additive metrics
Giridhar et al. Toward a theory of in-network computation in wireless sensor networks
Gkantsidis et al. Random walks in peer-to-peer networks
Coates et al. Network loss inference using unicast end-to-end measurement
Huang et al. Stochastic consensus over noisy networks with Markovian and arbitrary switches
Beerliova et al. Network discovery and verification
Tsang et al. Passive network tomography using EM algorithms
Fay et al. Weighted spectral distribution for internet topology analysis: theory and applications
Jin et al. Network topology inference based on end-to-end measurements
Rabbat et al. Multiple-source Internet tomography
Vinay et al. Statistical analysis of quantum-entangled-network generation
CN111970202B (zh) 基于三路子拓扑测量的网络拓扑发现方法
Schiff et al. Robust message-passing for statistical inference in sensor networks
Ouyang et al. Lightweight trilinear pooling based tensor completion for network traffic monitoring
Zhou et al. Reliable communication in transmission grids based on nondisjoint path aggregation using software-defined networking
Tsang et al. Nonparametric internet tomography
Castro et al. Maximum likelihood identification of network topology from end-to-end measurements
Bodine-Baron et al. Distance-dependent kronecker graphs for modeling social networks
CN112422321B (zh) 一种基于梯度引导的高效网络拓扑探测方法
Anandkumar et al. Topology discovery of sparse random graphs with few participants
Towhid et al. Encrypted network traffic classification in sdn using self-supervised learning
Qiao et al. Network loss tomography using link independence
Manz et al. Network simulation of group key management protocols

Legal Events

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