CN103236978B - As拓扑顶层自治系统结点的确定方法和装置 - Google Patents
As拓扑顶层自治系统结点的确定方法和装置 Download PDFInfo
- Publication number
- CN103236978B CN103236978B CN201310133076.7A CN201310133076A CN103236978B CN 103236978 B CN103236978 B CN 103236978B CN 201310133076 A CN201310133076 A CN 201310133076A CN 103236978 B CN103236978 B CN 103236978B
- Authority
- CN
- China
- Prior art keywords
- node
- autonomous system
- output set
- system node
- phenomenon
- 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
Links
Abstract
本发明公开了一种AS拓扑顶层自治系统结点的确定方法,包括:获取自治系统路径的集合,并从该集合中提取各个自治系统路径的自治系统结点以得到自治系统结点集合;计算所述自治系统结点集合中每个自治系统结点的权值;基于每个自治系统结点的权值以确定顶层自治系统结点的集合。本发明在确定顶层AS核心中,根据观察到的AS路径,排除了顶层AS核心中可能存在的非对等关系连接,从而提高推断出的顶层AS核心中对等关系的准确度,有利于基于顶层AS核心准确推断其他AS之间连接关系。
Description
技术领域
本发明涉及一种互联网技术领域,尤其涉及拓扑测量和推断技术,具体地说,是涉及一种AS拓扑顶层自治系统结点的确定方法和装置。
背景技术
互联网连接了上万个自治系统(AutonomousSystem,简称AS)。自治系统独特的工作方式、复杂的相互关系和自身属性很大程度上决定了整个互联网的流量和行为。
互联网AS级拓扑的商业连接关系对于AS之间的流量路由有着重要影响,在一定程度上决定了互联网AS之间的层次关系。AS之间的商业连接关系主要有用户-提供者(customer-provider)、对等(peer-peer)、兄弟(sibling)三种关系。
推断互联网AS级商业关系对于研究互联网AS级拓扑和路由的研究有重要意义,也可以用在互联网监测系统中。目前已有推断方法中有一类方法是基于顶层AS形成的对等核心(也称为transit-freecore,这些AS之间是对等关系,互相之间不对流量计费)来推断其他AS连接关系的。
基于顶层AS来推断AS商业连接关系的方法具体如下。因为顶层AS核心中每两个AS之间连接关系都是对等的,即peer-peer关系。如果一个AS路径穿越顶层AS核心,则在核心内的边可以推断是p2p关系的,然后根据valley-free原则,其他边则可以推断出是c2p和p2c关系的。
下面举个例子,如图1所示,假如从BGP中看到的一个前缀p对应的一条AS的路径是(7,5,3,4,6,8),这表示前缀p是从8宣告,依次经过6、4、3、5最后到达7。这里3和4是在顶层AS核心中。如果顶层AS核心推断是正确的,核心AS之间只存在p2p关系,则这条路径的3和4边可以判断是p2p关系。根据valley-free原则,路径上的8到6,以及6到4之间的边是c2p关系,3到5,以及5到7之间是p2c关系。这个推断过程需要依赖已知准确的顶层AS核心。如果该核心存在错误,比如4和3实际上是c2p关系,4不应该在该核心内,现在算在该核心内,则影响其他连接关系的判断。如果4不算在该圈子内,则该例子中的路径中3和5,以及4和3的连接关系都不能确定(如果它们也出现在其他AS路径中,则可以根据其他AS路径来判断),可能前者是p2p,后者是c2p关系。但是5和7,以及8和6都可以判断分别是p2c和c2p的关系。
已有的方法或者通过网络公开的信息判断顶层AS,或者基于AS结点度排序计算拓扑的最大全连接图。这些方法都不够准确,有的方法是通过wiki给出的顶层AS列表来确定顶层AS,但是这个列表是在变化的,并且没有保存历史记录,如果推断早期的拓扑,则无法知道早期顶层AS列表。还有的是使用图论的方法确定顶级AS核心,都会引入不准确的边。这些方法对于AS连接关系的推断会有影响。
因此亟需一种AS拓扑顶层自治系统结点的确定方法以解决上述问题。
发明内容
本发明所要解决的技术问题之一是需要提供一种能够准确确定顶层自治系统结点的AS拓扑顶层自治系统结点的确定方法和装置。
为了解决上述技术问题,本发明提供了一种AS拓扑顶层自治系统结点的确定方法,包括:获取自治系统路径的集合,并从该集合中提取各个自治系统路径的自治系统结点以得到自治系统结点集合;计算所述自治系统结点集合中每个自治系统结点的权值;基于每个自治系统结点的权值以确定顶层自治系统结点的集合。
在一个实施例中,在计算所述自治系统结点集合中每个自治系统结点的权值的步骤中,根据穿越该自治系统结点的自治系统路径的数量来计算每个自治系统结点的权值。
在一个实施例中,在基于每个自治系统结点的权值以确定顶层自治系统结点的集合的步骤中,进一步包括:
步骤31,从自治系统结点集合中选择权值最大的自治系统结点放入到第一输出集合中,然后去除该结点以更新自治系统结点集合;
步骤32,从当前自治系统结点集合中选取权值最大的自治系统结点作为第一结点,若第一结点与第一输出集合中的每个结点都有连接,则将第一结点放入到第一输出集合,并将放入第一结点的第一输出集合记为第二输出集合,然后去除第一结点以更新自治系统结点集合;
步骤33,检查第二输出集合中是否存在关于第一结点的穿越现象,若存在关于第一结点的穿越现象,则判断第一结点的位置,并根据穿越现象中第一结点的位置,从所述第二输出集合中删除相应的结点,使得删除结点后的第二输出集合中不存在穿越现象,并将删除结点后的第二输出集合作为第一输出集合;
步骤34,判断当前自治系统结点集合是否为空,若不为空则返回步骤32中,若为空,则将当前第一输出集合作为顶层自治系统结点的集合。
在一个实施例中,在所述步骤33中,通过以下步骤来检查第二输出集合是否存在关于第一结点的穿越现象,判断是否在所述自治系统路径的集合中存在一路径,该路径存在包括第一结点的连续三个结点的序列,且该三个结点在第二输出集合中,则判定第二输出集合存在关于第一结点的穿越现象。
在一个实施例中,在所述步骤33中,若存在关于第一节点的穿越现象,则判断第一结点的位置,其中,若第一结点的位置位于所述序列的两端之一,则将该第一结点从第二输出集合中删除,将删除结点后的第二输出集合作为第一输出集合;若第一节点的位置位于所述序列的中间,则从除第一节点的第二输出集合中将属于第一输出集合的、且在所述序列两端出现过的所有结点中权值最小的结点删除,然后对第二输出集合中剩下的结点再次检查穿越现象,直到没有由第一结点引起的穿越现象存在,最后将删除结点后的第二输出集合作为第一输出集合。
在一个实施例中,在执行所述步骤31之前,还包括:按照权值从大到小的顺序对自治系统结点进行排序。
根据本发明的另一方面,还提供了一种AS拓扑顶层自治系统结点的确定装置,包括:结点计算模块,其获取自治系统路径的集合,并从该集合中提取各个自治系统路径中的自治系统结点以得到自治系统结点集合;权值计算模块,其计算所述自治系统结点集合中每个自治系统结点的权值;确定模块,其基于每个自治系统结点的权值以确定顶层自治系统结点的集合。
在一个实施例中,所述权值计算模块进一步根据穿越该自治系统结点的自治系统路径的数量来计算每个自治系统结点的权值。
在一个实施例中,所述确定模块进一步包括以下子模块:第一子模块,其从自治系统结点集合中选择权值最大的自治系统结点放入到第一输出集合中,然后去除该结点以更新自治系统结点集合;
第二子模块,其从当前自治系统结点集合中选取权值最大的自治系统结点作为第一结点,若第一结点与第一输出集合中的每个结点都有连接,则将第一结点放入到第一输出集合,并将放入第一结点的第一输出集合记为第二输出集合,然后去除第一结点以更新自治系统结点集合;
第三子模块,其检查第二输出集合中是否存在关于第一结点的穿越现象,若存在关于第一结点的穿越现象,则判断第一结点的位置,并根据穿越现象中第一结点的位置,从所述第二输出集合中删除相应的结点,使得删除结点后的第二输出集合中不存在穿越现象,并将删除结点后的第二输出集合作为第一输出集合;
第四子模块,其判断当前自治系统结点集合是否为空,若不为空则执行所述第三子模块,若为空,则将当前第一输出集合作为顶层自治系统结点的集合。
在一个实施例中,所述第三子模块进一步执行以下操作,判定是否在所述自治系统路径的集合中存在一路径,该路径存在包括第一结点的连续三个结点的序列,且该三个结点在第二输出集合中,若是,则判定第二输出集合存在关于第一结点的穿越现象。
在一个实施例中,第三子模块进一步判断第一结点的位置,其中,若第一结点的位置位于所述序列的两端之一,则将该第一结点从第二输出集合中删除,将删除结点后的第二输出集合作为第一输出集合;若第一节点的位置位于所述序列的中间,则从除第一节点的第二输出集合中将属于第一输出集合的、且在所述序列两端出现过的所有结点中权值最小的结点删除,然后对第二输出集合中剩下的结点再次检查穿越现象,直到没有由第一结点引起的穿越现象存在,最后将删除结点后的第二输出集合作为第一输出集合。
与现有技术相比,本发明的一个或多个实施例可以具有如下优点:
本发明在确定顶层AS核心中,根据观察到的AS路径,排除了顶层AS核心中可能存在的非对等关系连接,从而提高推断出的顶层AS核心中对等关系的准确度,有利于基于顶层AS核心准确推断其他AS之间连接关系。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是一互联网自治系统的拓扑示例图。
图2是根据本发明第一实施例的AS拓扑顶层自治系统结点的确定方法的流程示意图;
图3是根据本发明一示例的AS拓扑顶层自治系统结点的确定方法的流程示意图;
图4是另一互联网自治系统的拓扑示例图;
图5是根据本发明第二实施例的AS拓扑顶层自治系统结点的确定装置的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明一实施例的AS拓扑顶层自治系统结点的确定方法的流程示意图,下面参考图2,详细说明本实施例的各个步骤。
步骤S210,获取自治系统(简称AS)路径的集合P,并从该集合中提取各个自治系统路径的自治系统结点以得到自治系统结点集合,也就是,计算该集合中所有出现在AS路径中的AS结点以得到AS结点集合。
首先,需要获取实际AS路径的集合。例如,可以通过WHOIS数据库、主动探测方式或BGP路由信息来获取自治系统的互联信息。由于利用BGP路由信息的方法获取信息简单,通过对自治系统路径分解处理,效果较好,本发明实施例优选地,从BGP路由信息中提取AS路径,得到AS路径的集合,AS路径是一个AS发出的关于某个前缀的BGP宣告传播到达某个AS所经过的AS序列。例如,以下是从RouteViews采集到的BGP路由表示示例:
从第一行可以得知,前缀6.2.0.0/22是从AS1455中发起宣告,并且依次经过了AS7170和AS3257。需要注意的是,AS路径按照从左到右的顺序表示前缀宣告经过的AS结点。在上例中,其他几条路由信息是表示6.2.0.0/22传播经过的其他AS路径。
需要说明的是,集合中每条路径不能重复。观察到的AS路径的范围和数量会影响判断的准确度。
然后,基于自治系统路径的集合来获取该集合中所有的自治系统结点。这样,通过上述步骤将AS路径集合中所有出现的AS结点都提取出来。
步骤S220,计算每个AS结点的权值。
优选地,通过将AS结点的权值定义为穿越该结点的自治系统路径的数量wi,来给每个结点i定义一个权值。
例如,在附图4中,假设已知所有AS路径的集合是{(3,1,2,9),(5,4,2,9),(7,5,6,8),(7,5,3,4,6)},则结点3的权值是1,因为只有路径(7,5,3,4,6)穿越3;类似的,结点2和结点4的权值是2,需要说明的是,这里只是举个例子,并非是实际观察到的AS路径。
然后,根据权值进行排序,将排序后的结果记为Q。因为权值大小在一定程度上表明了结点的重要性。位于顶层的结点会具有较大的权值。对权值进行排序只是为了提高确定顶层结点的效率。
进一步,根据权值的大小将所有结点进行排序。优选地,按照权值从大到小把所有结点降序排列。将排序产生的结果记为Q。例如,Q={v0,v1,v2,…,vn}(n>=0)。
需要说明的是,这里权值越高的结点表示有更多的路径穿越该结点,该结点的失效会影响更多的路由路径。
步骤S230,基于每个自治系统结点的权值以确定顶层自治系统结点的集合。
具体地,包括以下步骤。
步骤31,从自治系统结点集合中选择权值最大的自治系统结点放入到第一输出集合中,然后去除该结点以更新自治系统结点集合。
步骤32,从当前自治系统结点集合中选取权值最大的自治系统结点作为第一结点,若第一结点与第一输出集合中的每个结点都有连接,则将第一结点放入到第一输出集合,并将放入第一结点的第一输出集合记为第二输出集合,然后去除第一结点以更新自治系统结点集合。
步骤33,检查第二输出集合中是否存在关于第一结点的穿越现象,若存在关于第一结点的穿越现象,则判断第一结点的位置,并根据穿越现象中第一结点的位置,从第二输出集合中删除相应的结点,使得删除结点后的第二输出集合中不存在穿越现象,并将删除结点后的第二输出集合作为第一输出集合。
在该步骤中,通过以下步骤来检查第二输出集合是否存在关于第一结点的穿越现象,判断是否在自治系统路径的集合中存在一路径,该路径存在包括第一结点的连续三个结点的序列,且该三个结点在第二输出集合中,则判定第二输出集合存在关于第一结点的穿越现象。
若存在关于第一节点的穿越现象,则判断第一结点的位置,其中,若第一结点的位置位于序列的两端之一,则将该第一结点从第二输出集合中删除,将删除结点后的第二输出集合作为第一输出集合;若第一节点的位置位于序列的中间,则从除第一节点的第二输出集合中将属于第一输出集合的、且在序列两端出现过的所有结点中权值最小的结点删除,然后对第二输出集合中剩下的结点再次检查穿越现象,直到没有由第一结点引起的穿越现象存在,最后将删除结点后的第二输出集合作为第一输出集合。
步骤34,判断当前自治系统结点集合是否为空,若不为空则返回步骤32中,若为空,则将当前第一输出集合作为顶层自治系统结点的集合。
为了更好地说明本步骤,下面通过一个示例进一步说明。
首先获取实际AS路径的集合,计算所有出现在AS路径中的AS结点,然后,计算每个AS结点的权值,根据权值进行排序,结果记作Q。然后依次执行以下子步骤,具体如图3所示。
子步骤1,从Q中取出一个权值最大的结点,记为v0,然后将该结点加入到输出第一输出集合C中,此时C={v0},目前还不包含全部的顶层transit-free的AS,更新Q=Q-{v0}。
子步骤2,判断当前Q是否为空,若是,则将当前集合C中的节点确定是顶层AS结点,否则,执行子步骤3。
子步骤3,从除去结点v0后的Q,即Q-{v0}中取一个新的权值最大的结点vi(第一结点)。如果vi与C中的每个结点都有连接,则把vi加入C,得到第二输出集合C’,即此时C’=C∪{vi},并更新Q=Q-{vi}。
子步骤4,检查C’中是否含有穿越现象,若存在,则从C’中移走合适的AS结点,消除穿越现象,最后将得到的C’记为新的集合C。
如果一个AS结点a在两个AS结点,比如b和c之间提供穿越服务,则存在穿越现象,即AS路径中存在a出现在b和c之间。这是一个复杂的过程,请注意C和C’的区别。这个检查的目的是为了取出C’中结点存在的穿越现象。
这是因为,由于本实施例是确定位于顶层的彼此之间只存在peer-peer关系的且每两个之间都存在连接的那个transit-freeAS集合,如果C’中结点是peer-peer关系互相之间不提供流量穿越服务,不应该存在穿越现象。
假如存在路径p∈P,若其中存在一个连续三个结点(包含vi)的序列(v1,v2,v3),并且这三个结点都在集合C’中,那么我们称为C’中存在穿越现象。如果发现穿越现象,应该从C’中移走一个合适的点。例如,在图2中如果C’={1,2,3,4},并且存在AS路径是(2,4,3),则结点4在2和3之间提供穿越,则需要从C’中移走结点2和3中之一。
具体地,这个过程如下:
(1)如果扫描所有的路径,发现新结点vi出现在穿越序列的两端中的一端。例如上例中的v1和v3,则可以移走vi。
(2)如果结点vi只出现在穿越序列中间位置,例如上例v2,这就意味着结点vi提供穿越服务。在这种情况下,将删除当前C’中其他某个结点。为了保持贪婪策略,从属于C的,且在穿越序列两端出现过的所有结点中移走一个权值最小的结点(如果有多个最小权值结点,则随机选择一个)。这是因为,因为权值大的结点更重要,更有可能是顶层结点;而权值低的结点会有可能需要依赖其他结点提供的穿越服务。然后对C’中剩下的结点再次检查穿越现象。重复(2),直到没有由vi引起的穿越存在。
例如,假设C={1,2,3},结点之间不存在穿越行为。而C’={1,2,3,4},检查C’中结点之间,发现穿越行为,比如存在AS路径段(2,4,3),结点4为结点2和3提供穿越服务,则有可能2和4之间是c2p关系,或者3和4之间是c2p关系。需要从2和3中随机选择权值最低的结点删除。
需要说明的是,对于子步骤3中提到的结点vi,如果同时存在序列(vj,vi,vk)和(vi,vp,vq),或者同时存在序列(vj,vi,vk)和(vp,vq,vi),其中vj,vk,vp,vq是集合C中的任一结点,则优先按照序列(vi,vp,vq)或者(vp,vq,vi)的情况来处理。这是因为,对于同时出现主要是由vi引起的序列,优先按照序列(vi,vp,vq)或者(vp,vq,vi)的情况来处理去掉vi可以同时消除两个穿越序列。
子步骤5:在子步骤4之后,把得到的集合C’当做新的集合C,返回子步骤2。即对更新后的Q,此时的Q是除去v0和vi之后的结点序列中的结点集合,依次重复子步骤2到子步骤4的过程,最后集合C中的结点是顶级AS。
由于这个结果是监测到的事实,可以利用步骤S230的结果作为AS之间连接关系的参考。比如两个AS之间本来签署的是peer-peer关系,但是实际中检测到存在违反peer-peer关系的穿越行为,这个结果可以给这两个AS作为参考。
本实施例在确定顶层AS结点集合的过程中,根据观察到的AS路径,排除了顶层AS核心中可能存在的非对等关系连接,从而提高推断出的顶层AS核心中对等关系的准确度,有利于基于顶层AS核心准确推断其他AS之间连接关系。
第二实施例
图5是根据本发明第二实施例的自治系统级拓扑顶层的自治系统结点的确定装置的结构示意图,下面参考图5来说明该装置的组成。
该装置包括结点计算模块51、权值计算模块52和确定模块53。结点计算模块51与权值计算模块52连接,权值计算模块52和确定模块53连接。
其中,结点计算模块51,其获取自治系统路径的集合,并从该集合中提取各个自治系统路径中的自治系统结点以得到自治系统结点集合。
权值计算模块52,其计算自治系统结点集合中每个自治系统结点的权值。其具体根据穿越该自治系统结点的自治系统路径的数量来计算每个自治系统结点的权值
确定模块53,其基于每个自治系统结点的权值以确定顶层自治系统结点的集合。
确定模块53进一步包括以下子模块:
第一子模块53a,其从自治系统结点集合中选择权值最大的自治系统结点放入到第一输出集合中,然后去除该结点以更新自治系统结点集合;
第二子模块53b,其从当前自治系统结点集合中选取权值最大的自治系统结点作为第一结点,若第一结点与第一输出集合中的每个结点都有连接,则将第一结点放入到第一输出集合,并将放入第一结点的第一输出集合记为第二输出集合,然后去除第一结点以更新自治系统结点集合;
第三子模块53c,其检查第二输出集合中是否存在关于第一结点的穿越现象,若存在关于第一结点的穿越现象,则判断第一结点的位置,并根据穿越现象中第一结点的位置,从第二输出集合中删除相应的结点,使得删除结点后的第二输出集合中不存在穿越现象,并将删除结点后的第二输出集合作为第一输出集合;
第四子模块53d,其判断当前自治系统结点集合是否为空,若不为空则执行第三子模块53c,若为空,则将当前第一输出集合作为顶层自治系统结点的集合。
其中,第三子模块53c进一步判定是否在自治系统路径的集合中存在一路径,该路径存在包括第一结点的连续三个结点的序列,且该三个结点在第二输出集合中,若是,则判定第二输出集合存在关于第一结点的穿越现象。
第三子模块53c进一步判定第一结点的位置,若第一结点的位置位于序列的两端之一,则将该第一结点从第二输出集合中删除,将删除结点后的第二输出集合作为第一输出集合;若第一节点的位置位于序列的中间,则从除第一节点的第二输出集合中将属于第一输出集合的、且在序列两端出现过的所有结点中权值最小的结点删除,然后对第二输出集合中剩下的结点再次检查穿越现象,直到没有由第一结点引起的穿越现象存在,最后将删除结点后的第二输出集合作为第一输出集合。
本实施例在确定顶层AS结点集合的过程中,根据观察到的AS路径,排除了顶层AS核心中可能存在的非对等关系连接,从而提高推断出的顶层AS核心中对等关系的准确度,有利于基于顶层AS核心准确推断其他AS之间连接关系。
本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (9)
1.一种AS拓扑顶层自治系统结点的确定方法,其特征在于,包括:
获取自治系统路径的集合,并从该集合中提取各个自治系统路径的自治系统结点以得到自治系统结点集合;
计算所述自治系统结点集合中每个自治系统结点的权值;
基于每个自治系统结点的权值以确定顶层自治系统结点的集合,进一步该步骤包括:
步骤31,从自治系统结点集合中选择权值最大的自治系统结点放入到第一输出集合中,然后去除该结点以更新自治系统结点集合;
步骤32,从当前自治系统结点集合中选取权值最大的自治系统结点作为第一结点,若第一结点与第一输出集合中的每个结点都有连接,则将第一结点放入到第一输出集合,并将放入第一结点的第一输出集合记为第二输出集合,然后去除第一结点以更新自治系统结点集合;
步骤33,检查第二输出集合中是否存在关于第一结点的穿越现象,若存在关于第一结点的穿越现象,则判断第一结点的位置,并根据穿越现象中第一结点的位置,从所述第二输出集合中删除相应的结点,使得删除结点后的第二输出集合中不存在穿越现象,并将删除结点后的第二输出集合作为第一输出集合;
步骤34,判断当前自治系统结点集合是否为空,若不为空则返回步骤32中,若为空,则将当前第一输出集合作为顶层自治系统结点的集合。
2.根据权利要求1所述的方法,其特征在于,在计算所述自治系统结点集合中每个自治系统结点的权值的步骤中,
根据穿越该自治系统结点的自治系统路径的数量来计算每个自治系统结点的权值。
3.根据权利要求1所述的方法,其特征在于,在所述步骤33中,通过以下步骤来检查第二输出集合是否存在关于第一结点的穿越现象,
判断是否在所述自治系统路径的集合中存在一路径,该路径存在包括第一结点的连续三个结点的序列,且该三个结点在第二输出集合中,则判定第二输出集合存在关于第一结点的穿越现象。
4.根据权利要求3所述的方法,其特征在于,在所述步骤33中,若存在关于第一节点的穿越现象,则判断第一结点的位置,其中,
若第一结点的位置位于所述序列的两端之一,则将该第一结点从第二输出集合中删除,将删除结点后的第二输出集合作为第一输出集合;
若第一节点的位置位于所述序列的中间,则从除第一节点的第二输出集合中将属于第一输出集合的、且在所述序列两端出现过的所有结点中权值最小的结点删除,然后对第二输出集合中剩下的结点再次检查穿越现象,直到没有由第一结点引起的穿越现象存在,最后将删除结点后的第二输出集合作为第一输出集合。
5.根据权利要求1所述的方法,其特征在于,在执行所述步骤31之前,还包括:
按照权值从大到小的顺序对自治系统结点进行排序。
6.一种AS拓扑顶层自治系统结点的确定装置,其特征在于,包括:
结点计算模块,其获取自治系统路径的集合,并从该集合中提取各个自治系统路径中的自治系统结点以得到自治系统结点集合;
权值计算模块,其计算所述自治系统结点集合中每个自治系统结点的权值;
确定模块,其基于每个自治系统结点的权值以确定顶层自治系统结点的集合,所述确定模块进一步包括以下子模块:
第一子模块,其从自治系统结点集合中选择权值最大的自治系统结点放入到第一输出集合中,然后去除该结点以更新自治系统结点集合;
第二子模块,其从当前自治系统结点集合中选取权值最大的自治系统结点作为第一结点,若第一结点与第一输出集合中的每个结点都有连接,则将第一结点放入到第一输出集合,并将放入第一结点的第一输出集合记为第二输出集合,然后去除第一结点以更新自治系统结点集合;
第三子模块,其检查第二输出集合中是否存在关于第一结点的穿越现象,若存在关于第一结点的穿越现象,则判断第一结点的位置,并根据穿越现象中第一结点的位置,从所述第二输出集合中删除相应的结点,使得删除结点后的第二输出集合中不存在穿越现象,并将删除结点后的第二输出集合作为第一输出集合;
第四子模块,其判断当前自治系统结点集合是否为空,若不为空则执行所述第三子模块,若为空,则将当前第一输出集合作为顶层自治系统结点的集合。
7.根据权利要求6所述的装置,其特征在于,所述权值计算模块进一步根据穿越该自治系统结点的自治系统路径的数量来计算每个自治系统结点的权值。
8.根据权利要求6所述的装置,其特征在于,所述第三子模块进一步执行以下操作,
判定是否在所述自治系统路径的集合中存在一路径,该路径存在包括第一结点的连续三个结点的序列,且该三个结点在第二输出集合中,若是,则判定第二输出集合存在关于第一结点的穿越现象。
9.根据权利要求8所述的装置,其特征在于,第三子模块进一步判断第一结点的位置,其中,
若第一结点的位置位于所述序列的两端之一,则将该第一结点从第二输出集合中删除,将删除结点后的第二输出集合作为第一输出集合;
若第一节点的位置位于所述序列的中间,则从除第一节点的第二输出集合中将属于第一输出集合的、且在所述序列两端出现过的所有结点中权值最小的结点删除,然后对第二输出集合中剩下的结点再次检查穿越现象,直到没有由第一结点引起的穿越现象存在,最后将删除结点后的第二输出集合作为第一输出集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310133076.7A CN103236978B (zh) | 2013-04-17 | 2013-04-17 | As拓扑顶层自治系统结点的确定方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310133076.7A CN103236978B (zh) | 2013-04-17 | 2013-04-17 | As拓扑顶层自治系统结点的确定方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103236978A CN103236978A (zh) | 2013-08-07 |
CN103236978B true CN103236978B (zh) | 2016-03-23 |
Family
ID=48884995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310133076.7A Active CN103236978B (zh) | 2013-04-17 | 2013-04-17 | As拓扑顶层自治系统结点的确定方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103236978B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740329B (zh) * | 2016-01-21 | 2019-04-05 | 浙江万里学院 | 一种非结构化大数据流的内容语义挖掘方法 |
CN110971522B (zh) * | 2018-09-30 | 2021-09-17 | 华为技术有限公司 | 一种确定路由泄露的方法、设备和系统 |
CN112104474B (zh) * | 2019-12-16 | 2021-06-01 | 佛山科学技术学院 | 基于结构模型的互联网拓扑特征提取方法及系统 |
CN113810354B (zh) * | 2020-09-08 | 2022-06-14 | 北京航空航天大学 | 用于自治系统的数据认证方法及装置 |
CN113111910B (zh) * | 2021-03-05 | 2022-11-04 | 清华大学 | 一种互联网自治系统间商业关系的推断方法 |
CN114528946B (zh) * | 2021-12-16 | 2022-10-04 | 浙江省新型互联网交换中心有限责任公司 | 一种自治域系统同胞关系识别方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2898230A1 (fr) * | 2006-03-03 | 2007-09-07 | France Telecom | Procede d'organisation de noeuds d'un reseau en groupements de noeuds, programme d'ordinateur pour la mise en oeuvre d'un tel procede, et dispositif de communication formant noeud d'un reseau de noeuds |
CN101867560B (zh) * | 2009-04-20 | 2013-04-24 | 华为技术有限公司 | 分布式边际网关协议的实现方法和系统 |
CN101989995B (zh) * | 2009-08-07 | 2013-02-27 | 中兴通讯股份有限公司 | 一种分布式网络的拓扑信息收集方法 |
CN101997922B (zh) * | 2010-11-19 | 2012-11-21 | 武汉大学 | 基于代价优化的p2p流媒体覆盖网拓扑构造调整方法 |
CN102904815B (zh) * | 2012-09-21 | 2015-07-08 | 中国电子科技集团公司第二十八研究所 | 基于无尺度网络的路由级拓扑建模方法 |
-
2013
- 2013-04-17 CN CN201310133076.7A patent/CN103236978B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103236978A (zh) | 2013-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103236978B (zh) | As拓扑顶层自治系统结点的确定方法和装置 | |
CN1925437B (zh) | 用于检测网络中状态改变的系统及方法 | |
Beerliova et al. | Network discovery and verification | |
US9135565B1 (en) | Multiple reference point shortest path algorithm | |
EP3320653B1 (en) | Parallelized network traffic flow availability simulation using stochastic process and traffic engineering algorithms | |
CN110543728B (zh) | 一种城市交通路网关键路口发现方法 | |
US20110170402A1 (en) | Apparatus and method for generating topology tree | |
CN110149225B (zh) | 网络拓扑结构评估方法及装置 | |
KR20140068650A (ko) | 중첩 커뮤니티 검출 방법 | |
US10164864B2 (en) | Network tomography through selection of probing paths | |
CN103312632B (zh) | 一种测量可用带宽的方法 | |
CN109639575A (zh) | 基于链路拥塞系数的路由规划方法 | |
WO2012067210A1 (ja) | 経路選択装置、プログラム及び方法 | |
CN105306247A (zh) | 用于部署最小成本ccn拓扑的方法和设备 | |
CN103281256B (zh) | 基于网络层析的端到端路径丢包率探测方法 | |
CN109617805B (zh) | 链路动态属性的获取方法、装置及路径选择方法、装置 | |
CN106789161A (zh) | 一种基于VPX系统的RapidIO路由配置装置和方法 | |
US9674083B2 (en) | Path calculation order deciding method, program and calculating apparatus | |
CN103036848B (zh) | 协议的逆向工程方法及系统 | |
Fakhrmoosavi et al. | An iterative learning approach for network contraction: Path finding problem in stochastic time‐varying networks | |
JP2015007876A (ja) | 制御依頼方法、情報処理装置、システム、およびプログラム | |
Sanchez et al. | Inter-domain traffic estimation for the outsider | |
JP2017038148A (ja) | ツリー経路決定装置、及びツリー経路決定方法 | |
CN105917621A (zh) | 用于数据路由的方法和系统 | |
CN104657507A (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 |