CN111835636A - 一种基于主干路径递归扩展的网络拓扑重构方法 - Google Patents
一种基于主干路径递归扩展的网络拓扑重构方法 Download PDFInfo
- Publication number
- CN111835636A CN111835636A CN202010483178.1A CN202010483178A CN111835636A CN 111835636 A CN111835636 A CN 111835636A CN 202010483178 A CN202010483178 A CN 202010483178A CN 111835636 A CN111835636 A CN 111835636A
- Authority
- CN
- China
- Prior art keywords
- node
- inter
- domain path
- hop
- mpx
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
Abstract
本发明公开了一种基于主干路径递归扩展的网络拓扑重构方法,该方法从待分析-域间路径标识序列集Ssequence中选取最大跳数的域间路径标识序列Slongest;再从Slongest中提取首位域间路径标识序列构建主干路径,并记录各节点状态信息;然后采用G-MPX方法将SSanalysis中各元素与主干路径的递归匹配扩展构建骨干-域间网络拓扑结构图G骨干;以G骨干为基础,将S其他中各元素顺次与G骨干进行前缀深度优先匹配与分枝处理构建混合-域间网络拓扑结构图G混合,将匹配成功的域间路径标识序列存储到相应的节点中,匹配失败的域间路径标识序列放在失配位置的失配节点中。最后,依次提取失配节点中的域间路径标识序列进行再分配,完成G混合的扩展形成域间网络拓扑结构图。本发明通过域间路径标识序列的前缀精确匹配,解决了由域间路径标识序列扩展重构形成域间网络拓扑结构图的问题,提高了网络域间拓扑重构的准确性。
Description
技术领域
本发明属于计算机网络技术领域,更具体的是,本发明涉及一种基于主干路径递归扩展的网络拓扑重构方法。
背景技术
互联网的发展推动着各类互联网衍生产业的升级变革,其应用范围不断扩展,与人们生活的融合也越来越紧密,已经成为人们生活中不可或缺的一部分。然而随着网络用户组复杂化、网络用户行为多元化的演变,因现有TCP/IP架构中原生安全机制的缺失致使网络安全问题也日益突出,各类网络攻击频发,网络安全显得愈发重要。因而,互联网亟需投入资源开展新型网络结构的研究,建立有效的安全保障机制,并实现网络拓扑结构推测和准确的攻击溯源。
“CoLoR架构”是一种基于路径标识的新型路由体系结构,其核心思想是边界路由器为每条域间路径分配一个域间路径标识前缀(Path Prefix,PX),自治域间按域间路径标识前缀(PX)进行路由。“CoLoR架构”请参考“IEEE Network”2014年第3期第28卷《CoLoR:aninformation-centric internet architecture for innovations》罗洪斌,陈哲等人。在CoLoR架构中,自治域(AS:Autonomous System)、域间路径(Path)、域间路径标识(PathIdentifier,PID)和域间路径标识前缀(PID-Prefix,PX)等定义如下:
自治域(AS):指一组处于相同的管理与技术控制下的路由器集合所在的同一个区域。
域间路径(Path):两个自治域之间进行数据传输的通道。
域间路径标识(PID):是一串二进制数字,如011011001101010101。一个域间路径标识可由前缀部分和非前缀部分构成;在具体应用中,其长度通常是固定的。
CoLoR架构为自治域间(AS)的每条域间路径(Path)分配一个域间路径标识前缀(PX)。分配的原则是:给定一个自治域(AS),为该自治域(AS)与其它自治域之间的所有域间路径(Path)分配的域间路径标识前缀(PX)不同,且这些域间路径标识前缀(PX)互不相交(即:任意两个域间路径标识(Path)间,没有相同的域间路径标识前缀(PX))。在CoLoR架构中,内容请求者会向内容提供者发送请求消息。在将请求消息经由域间路径(Path)向另一个自治域转发前,需要在该请求消息的尾部添加一个域间路径标识(PID),从而形成域间路径标识序列。依据域间路径标识序列,能够获得从内容请求者到内容提供者经过的跳数。
快速高效的网络溯源及流量监控方法往往依赖于域间网络拓扑结构图来定位和管控,所以解决域间网络拓扑结构图的构建问题尤为重要。幸而在CoLoR架构中,自治域的管理者通过收集数据包中的域间路径标识序列信息进行域间路径标识前缀(PX)的分析,并由域间路径标识序列得到域间路径标识前缀序列。如何充分利用域间路径标识序列信息扩展得到域间网络拓扑图成为了设计网络溯源及流量监控方法需要首先解决的问题。因此,亟需开展由域间路径标识序列扩展得到网络拓扑结构方面的研究。
发明内容
为了解决如何通过域间路径标识序列(MPID)扩展重构形成域间网络拓扑结构图的问题,本发明提出了基于主干路径递归扩展的网络拓扑重构方法。本发明方法从待分析-域间路径标识序列集Ssequence中选取最大跳数的域间路径标识序列Slongest;再从Slongest中选取出位于首位的具有相同最大跳数的域间路径标识序列SMPID首位,并以SMPID首位配合最大跳数值hopmax进行主干路径中节点的构建,并记录各节点状态信息;然后采用G-MPX方法对SSanalysis中各个元素顺次进行与主干路径的递归扩展构建网络,直到完成最后一个元素与主干路径的递归扩展构建网络,从而得到骨干-域间网络拓扑结构图G骨干;以所述G骨干为基础,将S其他中各元素顺次与G骨干进行前缀深度优先匹配与分枝处理构建混合-域间网络拓扑结构图G混合,将匹配成功的域间路径标识序列存储到相应的节点中,匹配失败的域间路径标识序列放在失配位置的失配节点中。最后,依次提取失配节点中的域间路径标识序列进行再分配,完成G混合的扩展形成域间网络拓扑结构图。本发明通过域间路径标识序列的前缀精确匹配,解决了由域间路径标识序列扩展重构形成域间网络拓扑结构图的问题,提高了网络域间拓扑重构的准确性。
本发明的一种基于主干路径递归扩展的网络拓扑重构方法,使用了与域间路径标识序列MPID对应的域间路径标识前缀序列MPX;详细步骤有:
步骤一,获取跳数最大-域间路径标识序列集;
步骤二,主干路径的节点构建;
步骤三,基于主干路径的递归扩展构建骨干-域间网络拓扑结构图G骨干;
步骤四,基于骨干-域间网络拓扑结构图G骨干的递归扩展构建混合-域间网络拓扑结构图G混合;
步骤五,失配-域间路径标识序列的再分配完成带失配节点的域间网络拓扑结构图的扩展。
在本发明中,基于域间路径标识前缀序列的逐层匹配处理方法(简称G-MPX方法)
(A)针对任意两个域间路径标识序列,即MPIDa和MPIDx;
所述MPIDa对应的域间路径标识前缀序列记为MPXa;
所述MPIDx对应的域间路径标识前缀序列记为MPXx;
(B)对比MPXa与MPXx中每一跳的域间路径标识前缀PX;
若匹配成功,节点有序位置从当前节点Pb至后一节点Pb+1处,且将当前跳的域间路径标识前缀PX作为Pb与Pb+1的连边;直至最后一跳,最后一个节点记录下维护着的节点状态信息;
若匹配失败,在当前节点Pb处向外新增一个节点,且将域间路径标识前缀PX作为Pb与新增节点的边,新增节点记录下维护着的节点状态信息。
在本发明中,采用G-MPX方法对S其他中任意一个元素的匹配与分枝处理;
AEEMP表示骨干-域间网络拓扑结构图G骨干中所有节点维护的节点状态信息集合。
Ud、Ud-1和Ud+1为不同的失配节点。
配合跳数值的匹配与分枝的逐跳处理;
匹配条件一(全部匹配成功),将与中的域间路径标识前缀序列的第一跳对比,得到中的第一跳与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点Px处;因为的跳数值大于第一跳,故继续进行中的第二跳与中的域间路径标识前缀序列的第二跳对比,得到中的第二跳与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至节点Px+1处;因为的跳数值大于第二跳,故继续进行中的第三跳与中的域间路径标识前缀序列的第三跳对比,得到中的第三跳与中节点状态信息的第三跳是相同的,匹配成功,节点有序位置至节点Px+2处;因为的跳数值等于第三跳,故将加入到的中,要用来替换中已有的替换后记为
匹配条件二(全部匹配失败),将与中的域间路径标识前缀序列的第一跳对比,得到中的第一跳与中节点状态信息的第一跳存在不同,匹配失败,继节点P0后新增一个失配节点Ud+1;新建一条自起始节点P0至失配节点Ud+1的边,所述边对应的域间路径标识前缀为中的第一跳(因为的跳数值大于第一跳);失配节点Ud+1维护着一个四元组的节点状态信息,记为继失配节点Ud+1后新增另一个失配节点Ud+2,新建一条自节点Ud+1至节点Ud+2的边,所述边对应的域间路径标识前缀为中的第二跳(因为的跳数值大于第二跳);节点Ud+2维护着一个四元组的节点状态信息,记为继失配节点Ud+2后新增另一个失配节点Ud+3,新建一条自节点Ud+2至节点Ud+3的边,所述边对应的域间路径标识前缀为中的第三跳(因为的跳数值等于第三跳);节点Ud+3维护着一个四元组的节点状态信息,记为
是指起始节点P0至失配节点Ud+1的跳数,赋值为1;是指属于失配节点Ud+1的域间路径标识序列;由于的跳数值大于第一跳,此处为第一跳,所述中不记录域间路径标识序列;是指失配节点Ud+1的状态,当赋值为0表示失配节点Ud+1中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+1中所有的域间路径标识序列MPID完成匹配。因此,赋值后表达为
是指起始节点P0至失配节点Ud+2的跳数,赋值为2;是指属于失配节点Ud+2的域间路径标识序列;由于的跳数值大于第二跳,此处为第二跳,所述中不记录域间路径标识序列;是指失配节点Ud+2的状态,当赋值为0表示失配节点Ud+2中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+2中所有的域间路径标识序列MPID完成匹配。因此,赋值后表达为
是指起始节点P0至失配节点Ud+3的跳数,赋值为3;是指属于失配节点Ud+3的域间路径标识序列;由于的跳数值等于第三跳,此处为第三跳,所述中将记录是指失配节点Ud+3的状态,当赋值为0表示失配节点Ud+3中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+3中所有的域间路径标识序列MPID完成匹配。因此,赋值后表达为
匹配条件三(部分匹配成功或失败),将与中的域间路径标识前缀序列的第一跳对比,得到中的第一跳与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点Px处;因为的跳数值大于第一跳,故继续进行中的第二跳与中的域间路径标识前缀序列的第二跳对比,得到中的第二跳与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至节点Px+1处;因为的跳数值大于第二跳,故继续进行中的第三跳与中的域间路径标识前缀序列的第三跳对比,得到中的第三跳与中节点状态信息的第三跳存在不同,匹配失败,继节点Px+1后新增另一个失配节点Ud+4,新建一条自节点Px+1至节点Ud+4的边,所述边对应的域间路径标识前缀为中的第三跳(因为的跳数值等于第三跳);节点Ud+4维护着一个四元组的节点状态信息,记为
是指起始节点P0至失配节点Ud+4的跳数,赋值为3;是指属于失配节点Ud+4的域间路径标识序列;由于的跳数值等于第三跳,此处为第三跳,所述中将记录是指失配节点Ud+4的状态,当赋值为0表示失配节点Ud+4中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+4中所有的域间路径标识序列MPID完成匹配。因此,赋值后表达为
本发明基于主干路径递归扩展的网络拓扑重构方法的优点在于:
①本发明所述网络拓扑重构方法,能够从域间路径标识序列集中提取出主干路径,构建出主干路径拓扑结构图。
②本发明所述网络拓扑重构方法,以基于主干路径网络拓扑结构图为基础,采用前缀深度优先匹配方法,对Slongest中同跳最长长度-域间路径标识序列与主干路径网络拓扑结构图G进行匹配扩展构建骨干网络拓扑结构图。
③本发明所述网络拓扑重构方法,通过域间路径标识前缀序列与骨干网络拓扑结构图前缀精准匹配,将域间路径标识序列归类存放到网络拓扑结构图中的各节点之中。
④本发明所述网络拓扑重构方法,可顺次提取出失配位置配节点中的域间路径标识序列,利用前缀精确匹配方法对骨干网络拓扑结构图扩展,从而扩展重构形成域间网络拓扑结构图。
⑤本发明所述网络拓扑重构方法,可以分析得到网络拓扑结构图为基础设计快速高效的网络溯源及流量监控方法。
附图说明
图1是本发明基于主干路径递归扩展的网络拓扑重构的流程图。
图2是域间路径标识序列。
图3是依据域间路径标识前缀(PX)构造网络的示意图。
图4是采用本发明方法进行主干路径构造的流程图。
图5(A)-图5(D)是采用本发明方法进行骨干-域间网络拓扑结构图构造过程示意图。
图6(A)-图6(E)是采用本发明方法进行混合-域间网络拓扑结构图构造过程示意图。
图7(A)-图7(G)是采用本发明方法进行去除失配节点的过程示意图。
图8是采用本发明方法生成的域间网络拓扑结构图。
具体实施方式
下面将结合附图对本发明做进一步的详细说明。
域间路径标识长度(Length):指构成域间路径标识(PID)的二进制数字的个数。域间路径标识长度可为32、48、64、128位等任意数字,如图2所示。为了便于表述,后面假定域间路径标识长度为32位,并采用类似IPv4地址的点分十进制记法,如1.0.0.0。所述域间路径标识的二进制数中有前缀和非前缀位,如:一个长度为32为的域间路径标识由21位前缀和11位非前缀位构成,其结构如表1所示:
表1域间路径标识结构
注:非前缀是依据“计算HASH的方法”所得的二进制数字串。
域间路径标识前缀(Path Prefix,PX):指给定域间路径标识长度时,一段连续的域间路径标识,并且这些域间路径标识最左边的若干二进制数相同。例如,假定域间路径标识的长度为8位,则域间路径标识00001000、00001001、00001010、00001011的前6位二进制数相同。因此,000010为这四个域间路径标识的前缀,其长度为6,所述6就是域间路径标识前缀长度(LPX)。
类似的,可以定义两个域间路径标识前缀为:两个域间路径标识前缀,例如00001000和00001001的公共前缀可以是:0、00、000、0000、00001、000010、0000100。其中长度值最大的前缀,称为最长公共前缀(MLPX)。因此,00001000和00001001的最长公共前缀(MLPX)是0000100,且唯一。最长公共前缀(MLPX)的二进制位数,称为最长公共前缀的长度(ZPX)。
在本发明中,如图2所示一个请求消息(GET)对应一个域间路径标识序列(MPID),所述的MPID中至少包含有一个域间路径标识(PID)。将所述的PID对应的一条域间链路的两端自治域分别命名为域间物理网络中的节点(Node)。同理可得,多个请求消息(GET)则会有多个域间路径标识序列(MPID),每条请求消息(GET)从消息发送者到达接收者会经过多个节点(Node)。对于从观察节点A所收集到大量的请求消息中获取域间路径标识序列,构成域间路径标识序列集,记为Ssequence,且Ssequence={MPID1,MPID2,…,MPIDa,…,MPIDx,…,MPIDY};其中:
MPID1表示第一个域间路径标识序列;
MPID2表示第二个域间路径标识序列;
MPIDa表示第a个域间路径标识序列(也称为第一个任意域间路径标识序列),下角标a表示域间路径标识序列的序号;MPIDx表示第x个域间路径标识序列(也称为第二个任意域间路径标识序列);
MPIDY表示最后一个域间路径标识序列,下角标Y表示域间路径标识序列的总数,a∈Y、x∈Y,a、x、Y代表不同的域间路径标识序列。
在本发明中,为了实现通过域间路径标识序列(MPID)扩展重构形成域间网络拓扑结构图G,将所述的域间路径标识序列集Ssequence={MPID1,MPID2,…,MPIDa,…,MPIDY}作为域间网络拓扑结构图中的待分析-域间路径标识序列集。
在本发明中,从待分析-域间路径标识序列集合Ssequence={MPID1,MPID2,…,MPIDa,…,MPIDY}中选取出的最大跳数的域间路径标识序列,构成了跳数最大-域间路径标识序列集合,记为Slongest,且Slongest={SMPID首位,SSanalysis},SMPID首位表示从Ssequence中选取出的第一个具有相同最大跳数的域间路径标识序列,SSanalysis表示从Ssequence中选取出的除SMPID首位以外的所有具有相同最大跳数的域间路径标识序列构成的集合,称为匹配节点-域间路径标识序列集。所述匹配节点-域间路径标识序列集SSanalysis={SMPID1,SMPID2,…,SMPIDs,…,SMPIDS};其中:
SMPID1表示与主干路径匹配的第一个域间路径标识序列;
SMPID2表示与主干路径匹配的第二个域间路径标识序列;
SMPIDs表示与主干路径匹配的第s个域间路径标识序列(也称为任意一个与主干路径匹配的域间路径标识序列),下角标s表示与主干路径匹配的域间路径标识序列的序号;
SMPIDS表示与主干路径匹配的最后一个域间路径标识序列,下角标S表示与主干路径匹配的域间路径标识序列的总数,且s∈S,0≤S<Y。
在本发明中,从待分析-域间路径标识序列集Ssequence中去除跳数最大-域间路径标识序列集Slongest={SMPID首位,SSanalysis}后,剩下的域间路径标识序列,记为其他-域间路径标识序列集S其他。以SMPID首位构建的是主干路径,以SSanalysis并配合主干路径构建的是骨干-域间网络拓扑结构。在骨干-域间网络拓扑结构中配合S其他构建的是完整的域间网络拓扑结构图G。其他-域间路径标识序列集S其他={RMPID1,RMPID2,…,RMPIDr,…,RMPIDR},RMPID1表示非最大跳数的第一个域间路径标识序列;RMPID2表示非最大跳数的第二个域间路径标识序列;RMPIDr表示非最大跳数的任意一个域间路径标识序列,下角标r表示非最大跳数的域间路径标识序列的序号,r∈R;RMPIDR表示非最大跳数的最后一个域间路径标识序列,下角标R表示非最大跳数的域间路径标识序列的总数,且R+S=Y。
主干路径
在本发明中,从跳数最大-域间路径标识序列集Slongest中选取出位于首位的具有相同最大跳数的域间路径标识序列SMPID首位,并将所述SMPID首位作为空的域间网络拓扑结构图G中的第一条域间路径,即称为主干路径。
在本发明中,主干路径上节点之间的距离是依据了最大跳数值hopmax进行构建的,如图4所示。
基于域间路径标识前缀序列的逐层匹配处理方法(简称G-MPX方法)
(A)针对任意两个域间路径标识序列,即MPIDa和MPIDx;
所述MPIDa对应的域间路径标识前缀序列记为MPXa;
所述MPIDx对应的域间路径标识前缀序列记为MPXx;
(B)对比MPXa与MPXx中每一跳的域间路径标识前缀PX;
若匹配成功,节点有序位置从当前节点Pb至后一节点Pb+1处,且将当前跳的域间路径标识前缀PX作为Pb与Pb+1的连边;直至最后一跳,最后一个节点记录下维护着的节点状态信息;
若匹配失败,在当前节点Pb处向外新增一个节点,且将域间路径标识前缀PX作为Pb与新增节点的边,新增节点记录下维护着的节点状态信息。
域间路径标识序列MPID的记录
在本发明中,采用四列多行的表格形式记录下观察节点A接收到的所有节点发来的请求消息中携带的域间路径标识序列(MPID)。表2是为了说明属于一个待分析-域间路径标识序列集Ssequence中每条域间路径标识序列(MPID)存在的多个跳数。
表2域间路径标识序列与跳数表:
在本发明中,这了方便详细说明应用到的PID、PX、MPID,以列出具体的以二进制数字形式表示的域间路径标识,域间路径标识前缀的位数是16位。
例如,表3域间路径标识序列与跳数表:
序号 | 域间路径标识序列 | 跳数 |
MPID<sub>1</sub> | <1.2.156.129,2.4.104.28,5.7.23.8,4.9.136.212> | 4 |
MPID<sub>2</sub> | <1.2.13.4> | 1 |
MPID<sub>3</sub> | <1.1.3.4> | 1 |
MPID<sub>4</sub> | <1.2.129.56,2.1.10.8> | 2 |
MPID<sub>5</sub> | <1.2.109.46,2.1.19.78> | 2 |
MPID<sub>6</sub> | <1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5> | 4 |
MPID<sub>7</sub> | <1.2.121.3,2.9.2.27> | 2 |
MPID<sub>8</sub> | <1.2.23.44,2.9.112.71,3.6.18.31> | 3 |
MPID<sub>9</sub> | <1.2.215.19,2.4.4.63> | 2 |
MPID<sub>10</sub> | <1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45> | 4 |
MPID<sub>11</sub> | <1.2.45.9,2.15.5.3> | 2 |
MPID<sub>12</sub> | <1.2.210.4,2.9.12.7,3.25.18.125> | 3 |
MPID<sub>13</sub> | <1.1.25.64> | 1 |
MPID<sub>14</sub> | <1.7.19.5> | 1 |
MPID<sub>15</sub> | <1.7.26.52> | 1 |
MPID<sub>16</sub> | <1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5> | 4 |
MPID<sub>17</sub> | <1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5> | 4 |
MPID<sub>18</sub> | <1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65> | 4 |
MPID<sub>19</sub> | <1.10.29.52,8.3.104.58> | 2 |
MPID<sub>20</sub> | <1.2.25.39,2.15.54.34,18.6.3.9> | 3 |
MPID<sub>21</sub> | <1.2.33.42,2.4.24.24,5.32.6.9> | 3 |
MPID<sub>22</sub> | <1.10.59.12,8.3.10.32> | 2 |
MPID<sub>23</sub> | <1.7.38.35> | 1 |
MPID<sub>24</sub> | <1.10.5.112,8.1.10.32> | 2 |
MPID<sub>25</sub> | <1.10.29.52,8.1.64.68,10.5.10.92,2.4.9.6> | 4 |
MPID<sub>26</sub> | <1.10.29.122> | 1 |
MPID<sub>27</sub> | <1.10.37.42,8.1.4.6,10.5.1.2,2.4.33.46> | 4 |
MPID<sub>28</sub> | <1.10.29.52,8.1.86.58,10.36.53.20> | 3 |
MPID<sub>29</sub> | <1.10.49.32,8.1.18.9,10.5.8.14> | 3 |
MPID<sub>30</sub> | <1.10.30.40,8.1.6.8,10.36.78.16> | 3 |
例如,表4域间路径标识序列对应的域间路径标识前缀表:
前缀序号 | 域间路径标识前缀序列 |
MPX<sub>1</sub> | <1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0> |
MPX<sub>2</sub> | <1.2.0.0> |
MPX<sub>3</sub> | <1.1.0.0> |
MPX<sub>4</sub> | <1.2.0.0,2.1.0.0> |
MPX<sub>5</sub> | <1.2.0.0,2.1.0.0> |
MPX<sub>6</sub> | <1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0> |
MPX<sub>7</sub> | <1.2.0.0,2.9.0.0> |
MPX<sub>8</sub> | <1.2.0.0,2.9.0.0,3.6.0.0> |
MPX<sub>9</sub> | <1.2.0.0,2.4.0.0> |
MPX<sub>10</sub> | <1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0> |
MPX<sub>11</sub> | <1.2.0.0,2.15.0.0> |
MPX<sub>12</sub> | <1.2.0.0,2.9.0.0,3.25.0.0> |
MPX<sub>13</sub> | <1.1.0.0> |
MPX<sub>14</sub> | <1.7.0.0> |
MPX<sub>15</sub> | <1.7.0.0> |
MPX<sub>16</sub> | <1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0> |
MPX<sub>17</sub> | <1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0> |
MPX<sub>18</sub> | <1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0> |
MPX<sub>19</sub> | <1.10.0.0,8.3.0.0> |
MPX<sub>20</sub> | <1.2.0.0,2.15.0.0,18.6.0.0> |
MPX<sub>21</sub> | <1.2.0.0,2.4.0.0,5.32.0.0> |
MPX<sub>22</sub> | <1.10.0.0,8.3.0.0> |
MPX<sub>23</sub> | <1.7.0.0> |
MPX<sub>24</sub> | <1.10.0.0,8.1.0.0> |
MPX<sub>25</sub> | <1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0> |
MPX<sub>26</sub> | <1.10.0.0> |
MPX<sub>27</sub> | <1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0> |
MPX<sub>28</sub> | <1.10.0.0,8.1.0.0,10.36.0.0> |
MPX<sub>29</sub> | <1.10.0.0,8.1.0.0,10.5.0.0> |
MPX<sub>30</sub> | <1.10.0.0,8.1.0.0,10.36.0.0> |
注,MPID表示域间路径标识序列,MPX表示域间路径标识前缀序列。
节点状态信息
在本发明中,域间网络拓扑结构图G中有一个观察节点,记为A;观察节点A会收集来自其他自治域发来的大量服务请求消息,所述请求消息中携带着大量的域间路径标识序列MPID。在本发明中所构建的域间网络拓扑结构图G中的节点采用集合形式表达为MP={P0,P1,P2,P3,…,Pb-1,Pb,Pb+1,…,PB};其中:P0表示起始节点,P1表示第一个节点,P2表示第二个节点,P3表示第三个节点,Pb表示第b个节点(也称为任意一个节点),b表示节点的标识号,PB表示最后一个节点,B表示节点的总个数,b∈B。所述Pb也称为当前节点,位于Pb之前的节点记为前一节点Pb-1,位于Pb之后的节点记为后一节点Pb+1。
Node表示构建域间网络拓扑结构G时被选取的节点;所述的Node可以是所述的MP中的任意一个节点;
statusNode表示被选取节点Node的状态,当statusNode赋值为0表示被选取节点Node中存在未完全匹配的域间路径标识序列;当statusNode赋值为1表示被选取节点Node中所有的域间路径标识序列完成匹配。
例如,域间网络拓扑结构图G中的第一个节点P1的节点状态信息,记为且表示从P0到P1的跳数;表示属于P1的域间路径标识序列;表示P1的状态,当赋值为0表示节点P1中存在未完全匹配的域间路径标识序列;当赋值为1表示节点P1中所有的域间路径标识序列完成匹配。
例如,从P0经P1后到Pb,域间网络拓扑结构图G中的任意一个节点Pb的节点状态信息,记为且表示从P0到Pb的跳数;表示属于Pb的域间路径标识序列;表示Pb的状态,当赋值为0表示节点Pb中存在未完全匹配的域间路径标识序列;当赋值为1表示节点Pb中所有的域间路径标识序列完成匹配。
例如,从P0经P1、Pb后到PB,域间网络拓扑结构图G中的最后一个节点PB的节点状态信息,记为且表示从P0到PB的跳数;表示属于PB的域间路径标识序列;表示PB的状态,当赋值为0表示节点PB中存在未完全匹配的域间路径标识序列;当赋值为1表示节点PB中所有的域间路径标识序列完成匹配。
在本发明中,采用集合形式表示域间网络拓扑结构图G中各节点维护的节点状态信息集合,记为表示起始节点的节点状态信息;表示第一个节点的节点状态信息;表示第二个节点的节点状态信息;表示第b个节点的节点状态信息;表示最后一个节点的节点状态信息。
硬件条件
在本发明中,为了达到清楚详细地说明本发明专利申请,下述内容所列举的域间路径标识序列数字信息仅用于举例,不作为限制本发明的技术方案。
参见图1所示,本发明的一种基于主干路径递归扩展的域间网络拓扑重构方法,包括有下列步骤:
步骤一,获取跳数最大-域间路径标识序列集;
步骤101,获取待分析-域间路径标识序列集;
从观察节点A收集到的请求消息中获取域间路径标识序列,构成待分析-域间路径标识序列集,记为Ssequence,且Ssequence={MPID1,MPID2,…,MPIDa,…,MPIDY};
步骤102,将待分析-域间路径标识序列集中具有最大跳数的域间路径标识序列的跳数值记录出来;
记录所述Ssequence中各个域间路径标识序列的跳数值,记为hop,且hop≥1;另外,最大跳数值,记为hopmax;
步骤103,将待分析-域间路径标识序列集中具有相同最大跳数的域间路径标识序列记录出来;
从所述Ssequence中选取出具有相同最大跳数的域间路径标识序列,从而构成了跳数最大-域间路径标识序列集Slongest,且Slongest={SMPID首位,SSanalysis};
所述SSanalysis={SMPID1,SMPID2,…,SMPIDs,…,SMPIDS}。
若SSanalysis=0,执行步骤二和步骤四。
若SSanalysis≥1,执行步骤二、步骤三和步骤四。在本发明中,顺次进行SSanalysis中各个域间路径标识序列在主干路径上的匹配或者分枝节点构建,得到的是骨干-域间网络拓扑结构。
为了方便说明,表3列举出了待分析-域间路径标识序列集Ssequence中有30个元素(Y=30),即其中,Ssequence中的最大跳数值hopmax=4。而满足hopmax=4的是MPID1、MPID6、MPID10、MPID16、MPID17、MPID18、MPID25和MPID27这些域间路径标识序列,即S=8(Slongest中有8个元素),将这8个元素记录至跳数最大-域间路径标识序列集中则构成了跳数最大-域间路径标识序列集Slongest={SMPID首位,SSanalysis}。
所述MPID1将作为SMPID首位中的元素,即SMPID首位=MPID1。
其余7个的MPID6、MPID10、MPID16、MPID17、MPID18、MPID25和MPID27将作为匹配节点-域间路径标识序列集SSanalysis中的元素。则有:
在本发明中,在Ssequence中去除了Slongest后的域间路径标识序列,称为其他-域间路径标识序列集S其他,当有8个Slongest时,S其他则有22个域间路径标识序列。
参考图3所示,例如观察节点A接收到从节点E发来的请求消息中携带的域间路径标识序列,记为MPIDA-E(类似Ssequence中的MPID1),所述MPIDA-E的跳数为2。观察节点A接收到的从节点D发来的请求消息中携带的域间路径标识序列,记为MPIDA-D(类似Ssequence中的MPID2),所述MPIDA-D的跳数为3。观察节点A接收到的从节点F发来的请求消息中携带的域间路径标识序列,记为MPIDA-F(类似Ssequence中的MPID3),所述MPIDA-F的跳数为2。对比可知,MPID2的跳数为3是最大的,当标记有最大标签后,则有跳数最大-域间路径标识序列集Slongest={SMPID2}。
参考图3所示,例如从观察节点A到节点E的路径由域间路径标识前缀PX1和PX4组成,即MPX1={PX1,PX4}。从观察节点A到节点D的路径由域间路径标识前缀PX1、PX2和PX3组成,即MPX2={PX1,PX2,PX3}。从观察节点A到节点F的路径由域间路径标识前缀PX1和PX5组成,即MPX3={PX1,PX5}。
步骤二,主干路径的节点构建;
在本发明中,从跳数最大-域间路径标识序列集Slongest={SMPID首位,SSanalysis}中选取出位于首位的具有相同最大跳数的域间路径标识序列SMPID首位,并以SMPID首位配合最大跳数值hopmax进行主干路径中节点的构建,如图4所示。
在本发明中,采用Slongest={SMPID首位,SSanalysis}中的第一个具有相同最大跳数的域间路径标识序列SMPID首位作为空的域间网络拓扑结构图G中主干路径构建节点,有利于加快域间网络拓扑结构图重构过程中的前缀精准匹配速度,并减少域间网络拓扑结构图拓展过程的复杂性。
步骤201,初始化,构建一个空的域间网络拓扑结构图G;
在本发明中,两个节点之间的连线,称为域间网络拓扑结构图G的边。
步骤202,以观察节点作为网络拓扑结构图的起始节点;
步骤203,确认增加节点个数;
依据步骤102记录的最大跳数值hopmax,确定出除起始节点P0以外的增加节点个数;而增加节点个数等于域间路径标识序列的最大跳数值hopmax;
步骤204,主干路径选取;
从步骤103获得的跳数最大-域间路径标识序列集Slongest={SMPID首位,SSanalysis}中选取SMPID首位,并以SMPID首位作为空的域间网络拓扑结构图G中主干路径进行节点构建。
例如,SMPID首位对应的是MPID1,MPID1的序列是<1.2.156.129,2.4.104.28,5.7.23.8,4.9.136.212>;MPID1对应的域间路径标识前缀序列是MPX1,MPX1的序列是<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>。
步骤205,处理最大跳数值中增加的第一个节点;
继起始节点P0后向空的网络拓扑结构图G中新增一个节点,记为第一个节点P1;新建一条自起始节点P0至第一个节点P1的边,所述边对应的域间路径标识前缀为MPX1(<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第一跳1.2.0.0/16(如图4(a)所示);第一个节点P1维护着一个四元组的节点状态信息,记为
步骤206,处理最大跳数值中增加的第二个节点;
继匹配第一个节点P1后向空的网络拓扑结构图G中新增一个节点,记为第二个节点P2;新建一条自第一个节点P1至第二个节点P2的边,所述边对应的域间路径标识前缀为MPX1(<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第二跳2.4.0.0/16(如图4(b)所示);第二个节点P2维护着一个四元组的节点状态信息,记为
步骤207,处理最大跳数值中增加的第三个节点;
继匹配第二个节点P2后向空的网络拓扑结构图G中新增一个节点,记为第三个节点P3;新建一条自第二个节点P2至第三个节点P3的边,所述边对应的域间路径标识前缀为MPX1(<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第三跳5.7.0.0/16(如图4(c)所示);第三个节点P3维护着一个四元组的节点状态信息,记为
步骤208,处理最大跳数值中增加的第四个节点;
继匹配第三个节点P3后向空的网络拓扑结构图G中新增一个节点,记为第四个节点P4;新建一条自第三个节点P3至第四个节点P4的边,所述边对应的域间路径标识前缀为MPX1(<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第四跳4.9.0.0/16(如图4(d)所示);第四个节点P4维护着一个四元组的节点状态信息,记为
步骤209,获得主干路径;
经过步骤204至步骤208的处理,得到了自初始节点P0顺次经第一个节点P1、第二个节点P2、第三个节点P3至第四个节点P4(即最后一个节点),满足了hopmax=4,将域间路径标识序列MPID1(<1.2.156.129,2.4.104.28,5.7.23.8,4.9.136.212>)存储到第四个节点P4的中,从而得到自初始节点P0至第四个节点P4的主干路径拓扑结构图,如图4(d)所示。
在本发明中,以最大跳数值hopmax作为增加的节点个数,在重构域间网络拓扑结构有利于明确最后一跳为网络中的端节点。
步骤三,基于主干路径的递归扩展构建骨干-域间网络G骨干;
在本发明中,在依据基于主干路径的递归扩展构建得到的骨干-域间网络拓扑结构图G骨干中,先要判断匹配节点-域间路径标识序列集SSanalysis中是否存在有元素。
若SSanalysis≥1,采用G-MPX方法对SSanalysis中各个元素顺次进行与主干路径的递归扩展构建网络,直到完成最后一个元素与主干路径的递归扩展构建网络,从而得到骨干-域间网络拓扑结构图G骨干(如图5A至图5D所示);然后执行步骤四(即从步骤401开始);同样采用G-MPX方法对其他-域间路径标识序列集S其他中的各个元素顺次进行与所述G骨干的匹配构建网络处理,从而得到混合-域间网络拓扑结构图G混合(如图6A至图6E所示)。
若SSanalysis=0,说明匹配节点-域间路径标识序列集SSanalysis中没有元素了,主干路径成为了骨干-域间网络拓扑结构图G骨干。然后执行步骤四(即从步骤401开始);同样采用G-MPX方法对其他-域间路径标识序列集S其他中的各个元素顺次进行与所述G骨干的匹配构建网络处理,从而得到混合-域间网络拓扑结构图G混合。
例如,匹配节点-域间路径标识序列集中有7个具有相同最大跳数的域间路径标识序列。对于这7个具有相同最大跳数的域间路径标识序列的处理是一种进行前缀深度优先匹配的扩展方法,从而获得基于主干路径的骨干-域间网络拓扑结构图G骨干。
步骤301,记录匹配节点-域间路径标识序列集;
选取经步骤103获得的SSanalysis,SSanalysis不为空集(SSanalysis≥1),即SSanalysis={SMPID1,SMPID2,…,SMPIDs,…,SMPIDS}。执行步骤302;
分别提取出SSanalysis={SMPID1,SMPID2,…,SMPIDs,…,SMPIDS}中各个元素的域间路径标识序列和域间路径标识前缀序列。
在本发明中,SSanalysis为空集(SSanalysis=0),执行步骤401;也就是说直接在步骤209中获得的主干路径上,依据G-MPX方法对其他-域间路径标识序列集S其他={RMPID1,RMPID2,…,RMPIDr,…,RMPIDR}中的各个元素顺次进行与主干路径变成的骨干-域间网络的匹配构建网络处理,从而得到混合-域间网络拓扑结构图G混合。
步骤302,采用G-MPX方法对SSanalysis中第一个元素的匹配与分枝处理;
例如,从SSanalysis中选取SMPID1,提取出SMPID1对应的MPID6和MPX6;
MPID6的序列是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>;
MPX6的序列是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
主干路径下、配合跳数值的匹配与分枝的逐跳处理;
(A),将MPX6(即<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>)中的第一跳1.2.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第一跳1.2.0.0/16进行匹配;匹配成功,节点有序位置至节点P1处(如图5A所示),节点P1维护节点状态信息为
(B),将MPX6(即<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>)中的第二跳2.9.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第二跳2.4.0.0/16进行匹配;匹配失败,继节点P1后新增第五个节点P5(如图5A所示),新建一条自节点P1至第五个节点P5的边,所述边对应的域间路径标识前缀为MPX6(即<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>)中的第二跳2.9.0.0/16;第五个节点P5维护着一个四元组的节点状态信息,记为
(C),继第五个节点P5后新增第六个节点P6(如图5A所示),新建一条自第五个节点P5至第六个节点P6的边,所述边对应的域间路径标识前缀为MPX6(即<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>)中的第三跳3.6.0.0/16;第六个节点P6维护着一个四元组的节点状态信息,记为
(D),继第六个节点P6后新增第七个节点P7(如图5A所示),新建一条自第六个节点P6至第七个节点P7的边,所述边对应的域间路径标识前缀为MPX6(即<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>)中的第四跳4.9.0.0/16;第七个节点P7维护着一个四元组的节点状态信息,记为
步骤303,采用G-MPX方法对SSanalysis中第二个元素的匹配与分枝处理;
例如,从SSanalysis中选取SMPID2,提取出SMPID2对应的MPID10和MPX10;
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>。
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
比较SSanalysis中第二个元素与位于第二个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>。
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
步骤304,采用G-MPX方法对SSanalysis中第三个元素的匹配与分枝处理;
例如,从SSanalysis中选取SMPID3,并从SMPID3提取出MPID16和MPX16;
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>。
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>。
比较SSanalysis中第三个元素与位于第三个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>。
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>。
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>。
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>。
将MPX16分别与SMPID1的MPX6、SMPID2的MPX10进行对比是否相同;MPX16不同于MPX6和MPX10,从起始节点开始进行匹配处理;
主干路径下、配合跳数值的匹配与分枝的逐跳处理;
(A),将MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第一跳1.2.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第一跳1.2.0.0/16进行匹配;匹配成功,节点有序位置至节点P1处(如图5B所示),节点P1维护节点状态信息为
(B),将MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第二跳2.4.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第二跳2.4.0.0/16进行匹配;匹配成功,节点有序位置至节点P2处(如图5B所示),第二个节点P2维护着一个四元组的节点状态信息,记为
(C),将MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第三跳5.32.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第三跳5.7.0.0/16进行匹配;匹配失败,继第二个节点P2后新增第八个节点P8(如图5B所示),新建一条自第二个节点P2至第八个节点P8的边,所述边对应的域间路径标识前缀为MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第三跳5.32.0.0/16;第八个节点P8维护着一个四元组的节点状态信息,记为
(D),继第八个节点P8后新增第九个节点P9(如图5B所示),新建一条自第八个节点P8至第九个节点P9的边,所述边对应的域间路径标识前缀为MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第四跳2.15.0.0/16;第九个节点P9维护着一个四元组的节点状态信息,记为
步骤305,采用G-MPX方法对SSanalysis中第四个元素的匹配与分枝处理;
例如,从Sanalysis中选取SMPID4,并从SMPID4提取出MPID17和MPX17;
MPID17的序列是<1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5>。
MPX17的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>。
比较SSanalysis中第四个元素与位于第四个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>。
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>。
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>。
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>。
MPID17的序列是<1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5>。
MPX17的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>。
将MPX17分别与SMPID1的MPX6、SMPID2的MPX10、SMPID3的MPX16进行对比是否相同;MPX17不同于MPX6、MPX10和MPX16,从起始节点开始进行匹配处理;
主干路径下、配合跳数值的匹配与分枝的逐跳处理;
(A),将MPX17(即<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>)中的第一跳1.2.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第一跳1.2.0.0/16进行匹配;匹配成功,节点有序位置至节点P1处(如图5C所示),节点P1维护节点状态信息为
(B),将MPX17(即<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>)中的第二跳2.4.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第二跳2.4.0.0/16进行匹配;匹配成功,节点有序位置至节点P2处(如图5C所示),第二个节点P2维护着一个四元组的节点状态信息,记为
(C),将MPX17(即<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>)中的第三跳5.32.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第三跳5.7.0.0/16进行匹配;匹配失败,对比与第二个节点P2连通的节点;
第二个节点P2至第三个节点P3的边,所述边对应的域间路径标识前缀为MPX1(<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第三跳5.7.0.0/16(如图4(c)所示);
第二个节点P2至第八个节点P8的边,所述边对应的域间路径标识前缀为MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第三跳5.32.0.0/16(如图5C所示);
将MPX17(即<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>)中的第三跳5.32.0.0/16与MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第三跳5.32.0.0/16进行匹配;匹配成功,节点有序位置至第八个节点P8处(如图5C所示),第八个节点P8维护着一个四元组的节点状态信息,记为
(D),继第八个节点P8后新增第十个节点P10(如图5C所示),新建一条自第八个节点P8至第十个节点P10的边,所述边对应的域间路径标识前缀为MPX17(即<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>)中的第四跳3.6.0.0/16;第十个节点P10维护着一个四元组的节点状态信息,记为
步骤306,采用G-MPX方法对SSanalysis中第五个元素的匹配与分枝处理;
例如,从Sanalysis中选取SMPID5,并从SMPID5提取出MPID18和MPX18。
MPID18的序列是<1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65>。
MPX18的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>。
比较SSanalysis中第五个元素与位于第五个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>。
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>。
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>。
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>。
MPID17的序列是<1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5>。
MPX17的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>。
MPID18的序列是<1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65>。
MPX18的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>。
将SMPID5的MPX18分别与SMPID1的MPX6、SMPID2的MPX10、SMPID3的MPX16、SMPID4的MPX17进行对比是否相同;MPX18不同于MPX6、MPX10和MPX16,但是MPX18与MPX17是相同的,需要将MPID18(即<1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65>)加入到已经获得的中,赋值后
步骤307,采用G-MPX方法对SSanalysis中第六个元素的匹配与分枝处理;
例如,从Sanalysis中选取SMPID6,并从SMPID6提取出MPID25和MPX25。
MPID25的序列是<1.10.29.52,8.1.64.68,10.5.10.92,2.4.9.6>。
MPX25的序列是<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>。
比较SSanalysis中第六个元素与位于第六个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>。
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>。
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>。
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>。
MPID17的序列是<1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5>。
MPX17的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>。
MPID18的序列是<1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65>。
MPX18的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>。
MPID25的序列是<1.10.29.52,8.1.64.68,10.5.10.92,2.4.9.6>。
MPX25的序列是<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>。
将SMPID6的MPX25分别与SMPID1的MPX6、SMPID2的MPX10、SMPID3的MPX16、SMPID4的MPX17、SMPID5的MPX18进行对比是否相同;MPX25不同于MPX6、MPX10、MPX16、MPX17和MPX18,从起始节点开始进行匹配处理;
主干路径下、配合跳数值的匹配与分枝的逐跳处理;
(A),将MPX25(即<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>)中的第一跳1.10.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第一跳1.2.0.0/16进行匹配;匹配失败,继起始节点P0后新增第十一个节点P11(如图5D所示),新建一条自起始节点P0至第十一个节点P11的边,所述边对应的域间路径标识前缀为MPX25(即<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>)中的第一跳1.10.0.0/16;第十一个节点P11维护节点状态信息为
(B),继第十一个节点P11后新增第十二个节点P12(如图5D所示),新建一条自第十一个节点P11至第十二个节点P12的边,所述边对应的域间路径标识前缀为MPX25(即<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>)中的第二跳8.1.0.0/16;第十二个节点P12维护着一个四元组的节点状态信息,记为
(C),继第十二个节点P12后新增第十三个节点P13(如图5D所示),新建一条自第十二个节点P12至第十三个节点P13的边,所述边对应的域间路径标识前缀为MPX25(即<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>)中的第三跳10.5.0.0/16;第十三个节点P13维护着一个四元组的节点状态信息,记为
(D),继第十三个节点P13后新增第十四个节点P14(如图5D所示),新建一条自第十三个节点P13至第十四个节点P14的边,所述边对应的域间路径标识前缀为MPX25(即<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>)中的第四跳2.4.0.0/16;第十四个节点P14维护着一个四元组的节点状态信息,记为
步骤308,采用G-MPX方法对SSanalysis中第七个元素的匹配与分枝处理;
例如,从Sanalysis中选取SMPID7,并从SMPID7提取出MPID27和MPX27。
MPID27的序列是<1.10.37.42,8.1.4.6,10.5.1.2,2.4.33.46>。
MPX27的序列是<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>。
比较SSanalysis中第七个元素与位于第七个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>。
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>。
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>。
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>。
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>。
MPID17的序列是<1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5>。
MPX17的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>。
MPID18的序列是<1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65>。
MPX18的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>。
MPID25的序列是<1.10.29.52,8.1.64.68,10.5.10.92,2.4.9.6>。
MPX25的序列是<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>。
MPID27的序列是<1.10.37.42,8.1.4.6,10.5.1.2,2.4.33.46>。
MPX27的序列是<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>。
将SMPID7的MPX27分别与SMPID1的MPX6、SMPID2的MPX10、SMPID3的MPX16、SMPID4的MPX17、SMPID5的MPX18、SMPID6的MPX25进行对比是否相同;MPX27不同于MPX6、MPX10、MPX16、MPX17和MPX18,但是MPX27与MPX25是相同的,需要将MPID27(即<1.10.37.42,8.1.4.6,10.5.1.2,2.4.33.46>)加入到已经获得的中,赋值后
由于hopmax=4,此处为第四跳,所述中记录了域间路径标识序列MPID25(即<1.10.29.52,8.1.64.68,10.5.10.92,2.4.9.6>)和MPID27(即<1.10.37.42,8.1.4.6,10.5.1.2,2.4.33.46>);赋值后
在本发明中,通过步骤三的处理得到了基于主干路径节点的骨干-域间网络拓扑结构图。
在本发明中,重复执行步骤301至步骤308,直至SSanalysis中的所有同跳最长长度-域间路径标识序列与主干路径网络拓扑结构图匹配扩展完成,如图5(a)至(d)所示;获得如图5(d)所示的基于主干路径的骨干-域间网络拓扑结构图。
在本发明中,骨干-域间网络拓扑结构图中各节点维护的节点状态信息集合AEEMP中体现赋值的表示为:
步骤四,基于骨干-域间网络拓扑结构图G骨干的递归扩展构建混合-域间网络拓扑结构图G混合;
在本发明中,同样采用G-MPX方法对其他-域间路径标识序列集S其他中的各个元素,在骨干-域间网络拓扑结构图G骨干中进行逐跳对比匹配与分枝处理,得到的是混合-域间网络拓扑结构图G混合,如图6A至图6E所示。在进行与所述G骨干的匹配构建网络处理之前,先要判断所述S其他中是否存在有元素。
若S其他≥1,采用G-MPX方法对S其他中各个元素顺次进行与所述G骨干的逐跳对比匹配与分枝处理构建网络,直到完成S其他中最后一个元素,得到混合-域间网络拓扑结构图G混合;然后执行步骤五(即从步骤501开始)。
若S其他=0,说明S其他中没有元素了,骨干-域间网络拓扑结构图G骨干成为了最终构建的域间网络拓扑结构图G,同时也不进行步骤五的处理。
在本发明中,对混合-域间网络拓扑结构图G混合中的失配节点采用集合形式表达为MPU={U1,U2,…,Ud,…,UD};MPU∈MP;其中:U1表示混合-域间网络拓扑结构图G混合中的第一个失配节点,U2表示混合-域间网络拓扑结构图G混合中的第二个失配节点,Ud表示混合-域间网络拓扑结构图G混合中的第d个失配节点(也称为任意一个失配节点),d表示失配节点的标识号,UD表示混合-域间网络拓扑结构图G混合中的最后一个失配节点,D表示失配节点的总个数,d∈D,D<B。
例如,第一个失配节点U1的节点状态信息,记为且表示从P0到U1的跳数;表示属于U1的域间路径标识序列;表示U1的状态,当赋值为0表示失配节点U1中存在未完全匹配的域间路径标识序列;当赋值为1表示失配节点U1中所有的域间路径标识序列完成匹配。
例如,从P0经U1后到Ud,任意一个节点Ud的节点状态信息,记为且表示从P0到Ud的跳数;表示属于Ud的域间路径标识序列;表示Ud的状态,当赋值为0表示失配节点Ud中存在未完全匹配的域间路径标识序列;当赋值为1表示失配节点Ud中所有的域间路径标识序列完成匹配。
例如,从P0经U1、Ud后到UD,最后一个节点UD的节点状态信息,记为且表示从P0到UD的跳数;表示属于UD的域间路径标识序列;表示UD的状态,当赋值为0表示失配节点UD中存在未完全匹配的域间路径标识序列;当赋值为1表示失配节点UD中所有的域间路径标识序列完成匹配。
在本发明中,采用G-MPX方法对S其他中任意一个元素的匹配与分枝处理;
Ud、Ud-1和Ud+1为不同的失配节点。
配合跳数值的匹配与分枝的逐跳处理;
匹配条件一(全部匹配成功),将与中的域间路径标识前缀序列的第一跳对比,得到中的第一跳与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点Px处;因为的跳数值大于第一跳,故继续进行中的第二跳与中的域间路径标识前缀序列的第二跳对比,得到中的第二跳与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至节点Px+1处;因为的跳数值大于第二跳,故继续进行中的第三跳与中的域间路径标识前缀序列的第三跳对比,得到中的第三跳与中节点状态信息的第三跳是相同的,匹配成功,节点有序位置至节点Px+2处;因为的跳数值等于第三跳,故将加入到的中,要用来替换中已有的替换后记为
匹配条件二(全部匹配失败),将与中的域间路径标识前缀序列的第一跳对比,得到中的第一跳与中节点状态信息的第一跳存在不同,匹配失败,继节点P0后新增一个失配节点Ud+1;新建一条自起始节点P0至失配节点Ud+1的边,所述边对应的域间路径标识前缀为中的第一跳(因为的跳数值大于第一跳);失配节点Ud+1维护着一个四元组的节点状态信息,记为继失配节点Ud+1后新增另一个失配节点Ud+2,新建一条自节点Ud+1至节点Ud+2的边,所述边对应的域间路径标识前缀为中的第二跳(因为的跳数值大于第二跳);节点Ud+2维护着一个四元组的节点状态信息,记为继失配节点Ud+2后新增另一个失配节点Ud+3,新建一条自节点Ud+2至节点Ud+3的边,所述边对应的域间路径标识前缀为中的第三跳(因为的跳数值等于第三跳);节点Ud+3维护着一个四元组的节点状态信息,记为
是指起始节点P0至失配节点Ud+1的跳数,赋值为1;是指属于失配节点Ud+1的域间路径标识序列;由于的跳数值大于第一跳,此处为第一跳,所述中不记录域间路径标识序列;是指失配节点Ud+1的状态,当赋值为0表示失配节点Ud+1中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+1中所有的域间路径标识序列MPID完成匹配。因此,赋值后表达为
是指起始节点P0至失配节点Ud+2的跳数,赋值为2;是指属于失配节点Ud+2的域间路径标识序列;由于的跳数值大于第二跳,此处为第二跳,所述中不记录域间路径标识序列;是指失配节点Ud+2的状态,当赋值为0表示失配节点Ud+2中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+2中所有的域间路径标识序列MPID完成匹配。因此,赋值后表达为
是指起始节点P0至失配节点Ud+3的跳数,赋值为3;是指属于失配节点Ud+3的域间路径标识序列;由于的跳数值等于第三跳,此处为第三跳,所述中将记录是指失配节点Ud+3的状态,当赋值为0表示失配节点Ud+3中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+3中所有的域间路径标识序列MPID完成匹配。因此,赋值后表达为
匹配条件三(部分匹配成功或失败),将与中的域间路径标识前缀序列的第一跳对比,得到中的第一跳与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点Px处;因为的跳数值大于第一跳,故继续进行中的第二跳与中的域间路径标识前缀序列的第二跳对比,得到中的第二跳与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至节点Px+1处;因为的跳数值大于第二跳,故继续进行中的第三跳与中的域间路径标识前缀序列的第三跳对比,得到中的第三跳与中节点状态信息的第三跳存在不同,匹配失败,继节点Px+1后新增另一个失配节点Ud+4,新建一条自节点Px+1至节点Ud+4的边,所述边对应的域间路径标识前缀为中的第三跳(因为的跳数值等于第三跳);节点Ud+4维护着一个四元组的节点状态信息,记为
是指起始节点P0至失配节点Ud+4的跳数,赋值为3;是指属于失配节点Ud+4的域间路径标识序列;由于的跳数值等于第三跳,此处为第三跳,所述中将记录是指失配节点Ud+4的状态,当赋值为0表示失配节点Ud+4中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+4中所有的域间路径标识序列MPID完成匹配。因此,赋值后表达为
步骤401,记录其他-域间路径标识序列集S其他;
经步骤三处理后,待分析-域间路径标识序列集Ssequence中只剩下有其他-域间路径标识序列集S其他,且S其他={RMPID1,RMPID2,…,RMPIDr,…,RMPIDR}。
S其他不为空集,即S其他≥1。
RMPID1表示与骨干-域间网络拓扑结构图匹配的第一个域间路径标识序列;
RMPID2表示与骨干-域间网络拓扑结构图匹配的第二个域间路径标识序列;
RMPIDr表示与骨干-域间网络拓扑结构图匹配的第r个域间路径标识序列(也称为任意一个与骨干-域间网络拓扑结构图匹配的域间路径标识序列),下角标r表示与骨干-域间网络拓扑结构图匹配的域间路径标识序列的序号;
RMPIDR表示与骨干-域间网络拓扑结构图匹配的最后一个域间路径标识序列,下角标R表示与骨干-域间网络拓扑结构图匹配的域间路径标识序列的总数,且r∈R,0≤R<Y。
若S其他=0,结束节点匹配,重构得到域间网络拓扑结构图G。
步骤402,采用G-MPX方法对S其他中第一个元素的匹配与分枝处理;
例如,从S其他中选取RMPID1,提取出RMPID1对应的MPID2和MPX2;记录下MPID2的跳数值为1;
MPID2的序列是<1.2.13.4>;
MPX2的序列是<1.2.0.0>。
配合跳数值的匹配与分枝的逐跳处理;
将MPX2(即<1.2.0.0>)与AEEMP中的域间路径标识前缀序列对比,MPX2(即<1.2.0.0>)与AEEMP中的节点状态信息的第一跳是相同的,因为MPID2的跳数值是1,故需要将MPID2(即<1.2.13.4>)加入到的中,赋值后然后,要用来替换AEEMP中的替换后记为
步骤403,采用G-MPX方法对S其他中第二个元素的匹配与分枝处理;
例如,从S其他中选取RMPID2,提取出RMPID2对应的MPID3和MPX3;记录下MPID3的跳数值为1;
MPID3的序列是<1.1.3.4>;
MPX3的序列是<1.1.0.0>。
配合跳数值的匹配与分枝的逐跳处理;
将MPX3(即<1.1.0.0>)与中的域间路径标识前缀序列对比,MPX3(即<1.1.0.0>)与中的域间路径标识前缀存在不同,因为MPX3的最大跳数是1,故需要在起始节点P0处向外新增一个节点,记为第一个失配节点U1(如图6A所示);
步骤404,采用G-MPX方法对S其他中第三个元素的匹配与分枝处理;
例如,从S其他中选取RMPID3,提取出RMPID3对应的MPID4和MPX4;记录下MPID4的跳数值为2;
MPID4的序列是<1.2.129.56,2.1.10.8>;
MPX4的序列是<1.2.0.0,2.1.0.0>。
配合跳数值的匹配与分枝的逐跳处理;
将MPX4(即<1.2.0.0,2.1.0.0>)与中的域间路径标识前缀序列对比,得到MPX4(即<1.2.0.0,2.1.0.0>)中的第一跳1.2.0.0/16与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点P1处(如图6B所示),因为MPID4的跳数值为2,故继续进行MPX4(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16与中的域间路径标识前缀序列的第二跳对比,得到MPX4(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16与中的域间路径标识前缀序列的第二跳存在不同,匹配失败,继节点P1后新增第二个失配节点U2(如图6B所示);
新建一条自节点P1至第二个失配节点U2的边,所述边对应的域间路径标识前缀为MPX4(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16;第二个失配节点U2维护着一个四元组的节点状态信息,记为
步骤405,采用G-MPX方法对S其他中第四个元素的匹配与分枝处理;
例如,从S其他中选取RMPID4,提取出RMPID4对应的MPID5和MPX5;记录下MPID5的跳数值为2;
MPID5的序列是<1.2.109.46,2.1.19.78>;
MPX5的序列是<1.2.0.0,2.1.0.0>。
配合跳数值的匹配与分枝的逐跳处理;
将MPX5(即<1.2.0.0,2.1.0.0>)与中的域间路径标识前缀序列对比,得到MPX5(即<1.2.0.0,2.1.0.0>)中的第一跳1.2.0.0/16与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点P1处(如图6B所示),因为MPID5的跳数值为2,故继续进行MPX5(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16与中的域间路径标识前缀序列的第二跳对比,得到MPX5(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至第二个失配节点U2(如图6B所示);
步骤406,采用G-MPX方法对S其他中第五个元素的匹配与分枝处理;
例如,从S其他中选取RMPID5,提取出RMPID5对应的MPID7和MPX7;记录下MPID7的跳数值为2;
MPID7的序列是<1.2.121.3,2.9.2.27>;
MPX7的序列是<1.2.0.0,2.9.0.0>。
配合跳数值的匹配与分枝的逐跳处理;
将MPX7(即<1.2.0.0,2.9.0.0>)与中的域间路径标识前缀序列对比,得到MPX7(即<1.2.0.0,2.9.0.0>)中的第一跳1.2.0.0/16与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点P1处(如图6B所示),因为MPID7的跳数值为2,故继续进行MPX7(即<1.2.0.0,2.9.0.0>)中的第二跳2.9.0.0/16与中的域间路径标识前缀序列的第二跳对比,得到MPX7(即<1.2.0.0,2.9.0.0>)中的第二跳2.9.0.0/16与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至节点P5处(如图6B所示);
步骤407,采用G-MPX方法对S其他中第六个元素的匹配与分枝处理;
例如,从S其他中选取RMPID6,提取出RMPID6对应的MPID8和MPX8;记录下MPID8的跳数值为3;
MPID8的序列是<1.2.23.44,2.9.112.71,3.6.18.31>;
MPX8的序列是<1.2.0.0,2.9.0.0,3.6.0.0>。
配合跳数值的匹配与分枝的逐跳处理;
将MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)与中的域间路径标识前缀序列对比,得到MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第一跳1.2.0.0/16与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点P1处(如图6C所示);
继续进行MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第二跳2.9.0.0/16与中的域间路径标识前缀序列的第二跳对比,得到MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第二跳2.9.0.0/16与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至节点P5处(如图6C所示);
继续进行MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第三跳3.6.0.0/16与中的域间路径标识前缀序列的第三跳对比,得到MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第三跳2.9.0.0/16与中的域间路径标识前缀序列的第三跳存在不同,匹配失败,继节点P5后新增第三个失配节点U3(如图6C所示);
新建一条自节点P5至第三个失配节点U3的边,所述边对应的域间路径标识前缀为MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第三跳3.6.0.0/16;第三个失配节点U3维护着一个四元组的节点状态信息,记为
在本发明中,遍历完成S其他中所有元素,形成了包含有失配节点的混合-域间网络拓扑结构图G混合,其网络构建主要过程如图6A至图6E所示。从混合-域间网络拓扑结构图G混合中第一方面提取出各个失配节点(例如失配节点U1、失配节点U2、失配节点U3、失配节点U4和失配节点U5),第二方面提取出各个失配节点的节点状态信息,第三方面提取出属于任意一个失配节点的域间路径标识序列(称为失配-域间路径标识序列)。
多个失配节点构成为了失配节点集合MPU={U1,U2,U3,U4,U5}。
为了方便说明各个失配节点中包含的失配-域间路径标识序列,分别记录出失配节点U1、失配节点U2、失配节点U3、失配节点U4和失配节点U5中各个节点状态信息为:
步骤五,失配-域间路径标识序列的再分配完成带失配节点的域间网络拓扑结构图的扩展;
在本发明中,同样采用G-MPX方法对失配节点中的各个失配-域间路径标识序列在混合-域间网络拓扑结构图G混合中进行逐跳对比匹配与分枝处理,如图7A至图7G所示。在进行与所述G混合的匹配构建网络处理之前,先要判断任意一个失配节点Ud的中是否存在有域间路径标识序列。
步骤501,记录失配节点状态信息集;
经步骤四后,获得的失配节点集合为MPU={U1,U2,U3,U4,U5};
步骤502,采用G-MPX方法对失配节点状态信息集UAEMP中第一个失配节点中的失配域间路径标识序列的匹配与分枝处理;
配合跳数值的匹配与分枝的逐跳处理;
(A),将(即<1.1.0.0>)中的第一跳1.1.0.0/16分别与初始节点P0相连边的域间路径标识前缀(即1.2.0.0/16和1.0.0.0/16)进行前缀精确匹配,匹配失败,在初始节点P0处,新增一个节点P15,新建一条自P0至P15的边,所述边对应的域间路径标识前缀记为PX15;将域间路径标识前缀PX15作为初始节点P0至节点P15边的域间路径标识前缀(即1.1.0.0/16)。节点P15维护着一个四元组的节点状态信息为如图7A所示。
(B),将(即<1.1.0.0>)中的第一跳1.1.0.0/16分别与初始节点P0相连边的域间路径标识前缀(即1.1.0.0/16、1.2.0.0/16和1.0.0.0/16)进行前缀精确匹配,与域间路径标识前缀1.1.0.0/16匹配成功,将域间路径标识序列<1.1.25.64>存储到节点P15的中,更新节点P15的节点状态信息为
(C),将(即<1.7.0.0>)中的第一跳1.7.0.0/16分别与初始节点P0相连边的域间路径标识前缀(即1.1.0.0/16、1.2.0.0/16和1.0.0.0/16)进行前缀精确匹配,匹配失败,在初始节点P0处,新增一个节点P16,新建一条自P0至P16的边,所述边对应的域间路径标识前缀记为PX16;将域间路径标识前缀PX16作为初始节点P0至节点P16边的域间路径标识前缀(即1.7.0.0/16)。节点P16维护着一个四元组的节点状态信息为如图7B所示。
(D),将(即<1.7.0.0>)中的第一跳1.7.0.0/16分别与初始节点P0相连边的域间路径标识前缀(即1.7.0.0/16、1.1.0.0/16、1.2.0.0/16和1.0.0.0/16)进行前缀精确匹配,匹配成功,将匹配成功的域间路径标识序列<1.7.26.52>存储到节点P16的中,更新节点P16维护着的四元组的节点状态信息为
(E),将(即<1.7.0.0>)中的第一跳1.7.0.0/16分别与初始节点P0相连边的域间路径标识前缀(即1.7.0.0/16、1.1.0.0/16、1.2.0.0/16和1.0.0.0/16)进行前缀精确匹配,与域间路径标识前缀1.7.0.0/16匹配成功,将匹配成功的域间路径标识序列<1.7.38.35>存储到节点P16的中,更新节点P16维护着的四元组的节点状态信息为
步骤503,采用G-MPX方法对失配节点状态信息集UAEMP中第二个失配节点中的失配域间路径标识序列的匹配与分枝处理;
配合跳数值的匹配与分枝的逐跳处理;
(A),将(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16分别与节点P1相连边的域间路径标识前缀(即2.4.0.0/16和2.9.0.0/16)进行前缀精确匹配,匹配失败,在节点P1处,新增一个节点P17,新建一条自P1至P17的边,所述边对应的域间路径标识前缀记为PX17;将域间路径标识前缀PX17作为节点P1至节点P17边的域间路径标识前缀(即2.1.0.0/16)。节点P17维护着一个四元组的节点状态信息为如图7C所示。
(B),将(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16分别与节点P1相连边的域间路径标识前缀(即2.1.0.0/16、2.4.0.0/16和2.9.0.0/16)进行前缀精确匹配,与域间路径标识前缀2.1.0.0/16匹配成功,将域间路径标识序列<1.2.109.46,2.1.19.78>存储到节点P17的更新节点P17的节点状态信息为
(C),将(即<1.2.0.0,2.15.0.0>)中的第二跳2.15.0.0/16分别与节点P1相连边的域间路径标识前缀(即2.1.0.0/16、2.4.0.0/16和2.9.0.0/16)进行前缀精确匹配,匹配失败,在节点P1处,新增一个节点P18,新建一条节点P1至P18的边,所述边对应的域间路径标识前缀记为PX18;将域间路径标识前缀PX18作为节点P1至节点P18边的域间路径标识前缀(即2.15.0.0/16)。节点P18维护着一个四元组的节点状态信息为如图7D所示。
(D),将(即<1.2.0.0,2.15.0.0,18.6.0.0>)中的第二跳2.15.0.0/16分别与节点P1相连边的域间路径标识前缀(即2.15.0.0/16、2.1.0.0/16、2.4.0.0/16和2.9.0.0/16)进行前缀精确匹配,与域间路径标识前缀2.15.0.0/16匹配成功;节点有序位置至节点P18处,在当前节点P18处向外新增一个节点P19,新建一条节点P18至P19的边,所述边对应的域间路径标识前缀记为PX19;将域间路径标识前缀PX19作为节点P18至P19边的域间路径标识前缀(即(即<1.2.0.0,2.15.0.0,18.6.0.0>)中的第三跳18.6.0.0/16)。节点P19维护着一个四元组的节点状态信息为如图7E所示。
步骤504,采用G-MPX方法对失配节点状态信息集UAEMP中第三个失配节点中的失配域间路径标识序列的匹配与分枝处理;
配合跳数值的匹配与分枝的逐跳处理;
(A),将(即<1.2.0.0,2.9.0.0,3.25.0.0>)中的第三跳3.25.0.0/16分别与节点P5相连边的域间路径标识前缀:3.6.0.0/16进行前缀精确匹配,匹配失败,在网络拓扑结构图G中继节点P5之后,新增一个节点P20,新建一条自P5至P20的边,所述边对应的域间路径标识前缀记为PX20;将域间路径标识前缀PX20作为节点P5至节点P20边的域间路径标识前缀(即3.25.0.0/16)。节点P20维护着一个四元组的节点状态信息为如图7F所示。
步骤505,采用G-MPX方法对失配节点状态信息集UAEMP中第四个失配节点中的失配域间路径标识序列的匹配与分枝处理;
配合跳数值的匹配与分枝的逐跳处理;
(A),将(即<1.10.0.0,8.3.0.0>)中的第二跳8.3.0.0/16分别与节点P11相连边的域间路径标识前缀(即8.1.0.0/16)进行前缀精确匹配,匹配失败,在节点P11处,新增一个节点P21,新建一条自P11至P21的边,所述边对应的域间路径标识前缀记为PX21;将域间路径标识前缀PX21作为节点P11至节点P21边的域间路径标识前缀(即8.3.0.0/16)。节点P21维护着一个四元组的节点状态信息为如图7G所示。
(B),将(即<1.10.0.0,8.3.0.0>)中的第二跳8.3.0.0/16分别与节点P11相连边的域间路径标识前缀(即8.3.0.0/16、8.1.0.0/16)进行前缀精确匹配,与域间路径标识前缀8.3.0.0/16匹配成功;将域间路径标识序列<1.10.59.12,8.3.10.32>存储到节点P21的更新节点P21的节点状态信息为
步骤506,采用G-MPX方法对失配节点状态信息集UAEMP中第五个失配节点中的失配域间路径标识序列的匹配与分枝处理;
配合跳数值的匹配与分枝的逐跳处理;
(A),将(即<1.10.0.0,8.1.0.0,10.36.0.0>)中的第三跳10.36.0.0/16分别与节点P12相连边的域间路径标识前缀(即10.5.0.0/16)进行前缀精确匹配,匹配失败,在节点P12处,新增一个节点P22,新建一条自P12至P22的边,所述边对应的域间路径标识前缀记为PX22;将域间路径标识前缀PX22作为节点P12至节点P22边的域间路径标识前缀(即10.36.0.0/16)。节点P22维护着一个四元组的节点状态信息为如图7F所示。
(B),将(即<1.10.0.0,8.1.0.0,10.36.0.0>)中的第三跳10.36.0.0/16分别与节点P12相连边的域间路径标识前缀(即10.36.0.0/16、10.5.0.0/16)进行前缀精确匹配,与域间路径标识前缀10.36.0.0/16匹配成功;将域间路径标识序列<1.10.30.40,8.1.6.8,10.36.78.16>存储到节点P22的更新节点P22的节点状态信息为
步骤507,开始遍历拓展后的域间网络拓扑结构图G中的所有的失配节点,并将被分解的失配节点移除图G;
由于失配节点U1、失配节点U2、失配节点U3、失配节点U4和失配节点U5中所有域间路径标识序列已分配到图G其他节点(P15,P16,P17,P18,P19,P20,P21,P22)中,因而所述失配节点U1、失配节点U2、失配节点U3、失配节点U4和失配节点U5中不存任有域间路径标识序列了,故则删除失配节点U1、失配节点U2、失配节点U3、失配节点U4和失配节点U5,以及节点之间的边。最终生成如图8所示的域间网络拓扑结构图。
本发明是一种基于主干路径递归扩展的网络拓扑重构方法,所要解决的是由域间路径标识序列扩展重构形成域间网络拓扑结构问题。本发明方法基于主干路径递归扩展的网络拓扑重构方法。本发明方法从待分析-域间路径标识序列集Ssequence中选取最大跳数的域间路径标识序列Slongest;再从Slongest中选取出位于首位的具有相同最大跳数的域间路径标识序列SMPID首位,并以SMPID首位配合最大跳数值hopmax进行主干路径中节点的构建,并记录各节点状态信息;然后采用G-MPX方法对SSanalysis中各个元素顺次进行与主干路径的递归扩展构建网络,直到完成最后一个元素与主干路径的递归扩展构建网络,从而得到骨干-域间网络拓扑结构图G骨干;以骨干-域间网络为基础,将S其他中各元素顺次与骨干-域间网络进行前缀深度优先匹配与分枝处理构建混合-域间网络拓扑结构图G混合,将匹配成功的域间路径标识序列存储到相应的节点中,匹配失败的域间路径标识序列放在失配位置的失配节点中。最后,依次提取失配节点中的域间路径标识序列进行再分配,完成混合-域间网络拓扑结构图的扩展形成域间网络拓扑结构图。本发明通过域间路径标识序列的前缀精确匹配,解决了由域间路径标识序列扩展重构形成域间网络拓扑结构图的问题,提高了网络域间拓扑重构的准确性。
Claims (1)
1.一种基于主干路径递归扩展的网络拓扑重构方法,使用了与域间路径标识序列MPID对应的域间路径标识前缀序列MPX;其特征在于包括有下列步骤:
步骤一,获取跳数最大-域间路径标识序列集;
步骤二,主干路径的节点构建;
步骤三,基于主干路径的递归扩展构建骨干-域间网络拓扑结构图G骨干;
步骤四,基于骨干-域间网络拓扑结构图G骨干的递归扩展构建混合-域间网络拓扑结构图G混合;
步骤五,失配-域间路径标识序列的再分配完成带失配节点的域间网络拓扑结构图的扩展;
详细地:
步骤101,获取待分析-域间路径标识序列集;
从观察节点A收集到的请求消息中获取域间路径标识序列,构成待分析-域间路径标识序列的集合,记为Ssequence,且Ssequence={MPID1,MPID2,…,MPIDa,…,MPIDY};执行步骤102;
MPID1表示第一个域间路径标识序列;
MPID2表示第二个域间路径标识序列;
MPIDa表示第a个域间路径标识序列,下角标a表示域间路径标识序列的序号;
MPIDY表示最后一个域间路径标识序列,下角标Y表示域间路径标识序列的总数;
步骤102,将待分析-域间路径标识序列集中具有最大跳数的域间路径标识序列的跳数值记录出来;
记录所述Ssequence中各个域间路径标识序列的跳数值,记为hop,且hop≥1;另外,最大跳数值,记为hopmax;执行步骤103;
步骤103,将待分析-域间路径标识序列集中具有相同最大跳数的域间路径标识序列记录出来;
从所述Ssequence中选取出具有相同最大跳数的域间路径标识序列,从而构成了跳数最大-域间路径标识序列集合,记为Slongest,且Slongest={SMPID首位,SSanalysis};
SMPID首位表示从Ssequence中选取出的第一个具有相同最大跳数的域间路径标识序列;执行步骤201;
SSanalysis表示从Ssequence中选取出的除SMPID首位以外的所有具有相同最大跳数的域间路径标识序列构成的集合,称为匹配节点-域间路径标识序列集;
所述SSanalysis={SMPID1,SMPID2,…,SMPIDs,…,SMPIDS};
若SSanalysis=0,执行步骤201和步骤401;
若SSanalysis≥1,执行步骤201、步骤301和步骤401;
SMPID1表示与主干路径匹配的第一个域间路径标识序列;
SMPID2表示与主干路径匹配的第二个域间路径标识序列;
SMPIDs表示与主干路径匹配的第s个域间路径标识序列,下角标s表示与主干路径匹配的域间路径标识序列的序号;
SMPIDS表示与主干路径匹配的最后一个域间路径标识序列,下角标S表示与主干路径匹配的域间路径标识序列的总数;
步骤二,主干路径的节点构建;
步骤201,初始化,构建一个空的域间网络拓扑结构图G;
两个节点之间的连线,称为域间网络拓扑结构图G的边;
步骤202,以观察节点作为网络拓扑结构图的起始节点;
步骤203,确认增加节点个数;
依据步骤102记录的最大跳数值hopmax,确定出除起始节点P0以外的增加节点个数;而增加节点个数等于域间路径标识序列的最大跳数值hopmax;
步骤204,主干路径选取;
从步骤103获得的跳数最大-域间路径标识序列集Slongest={SMPID首位,SSanalysis}中选取SMPID首位,并以SMPID首位作为空的域间网络拓扑结构图G中主干路径进行节点构建;
所述SMPID首位对应的域间路径标识序列,记为MPID首位;MPID首位对应的域间路径标识前缀序列记为MPX首位;
步骤205,处理最大跳数值中增加的第一个节点;
继起始节点P0后向空的网络拓扑结构图G中新增一个节点,记为第一个节点P1;新建一条自起始节点P0至第一个节点P1的边,所述边对应的域间路径标识前缀为MPX首位中的第一跳,也是hopmax的第一跳;
步骤206,处理最大跳数值中增加的第二个节点;
继匹配第一个节点P1后向空的网络拓扑结构图G中新增一个节点,记为第二个节点P2;新建一条自第一个节点P1至第二个节点P2的边,所述边对应的域间路径标识前缀为MPX首位中的第二跳,也是hopmax的第二跳;
步骤207,处理最大跳数值中增加的任意一个节点;
继匹配第二个节点P2后向空的网络拓扑结构图G中新增一个节点,记为主干路径上的任意一个节点Pw;新建一条自第二个节点P2至任意一个节点Pw的边,所述边对应的域间路径标识前缀为MPX首位中的经第二跳后的任意一跳,也是hopmax中的经第二跳后的任意一跳;
步骤208,处理最大跳数值中增加的最后一个节点;
继匹配任意一个节点Pw后向空的网络拓扑结构图G中新增一个节点,记为主干路径上的最后一个节点Pv;新建一条自主干路径上的节点Pw至主干路径上的最后一个节点Pv的边,所述边对应的域间路径标识前缀为MPX首位中的最后一跳,也是hopmax的最后一跳;
节点Pw与节点Pv不是同一节点;
步骤209,获得主干路径;
经过步骤204至步骤208的处理,得到了自初始节点P0顺次经第一个节点P1、第二个节点P2、主干路径上的任意一个节点Pw至主干路径上的最后一个节点Pv,满足了hopmax,将域间路径标识序列MPID首位存储到节点Pv的中,从而得到自初始节点P0至节点Pv的主干路径拓扑结构图;
步骤三,基于主干路径的递归扩展构建骨干-域间网络G骨干;
在依据基于主干路径的递归扩展构建得到的骨干-域间网络拓扑结构图G骨干中,先要判断匹配节点-域间路径标识序列集SSanalysis中是否存在有元素;
若SSanalysis≥1,采用G-MPX方法对SSanalysis中各个元素顺次进行与主干路径的递归扩展构建网络,直到完成最后一个元素与主干路径的递归扩展构建网络,从而得到骨干-域间网络拓扑结构图G骨干;
若SSanalysis=0,说明匹配节点-域间路径标识序列集SSanalysis中没有元素了,主干路径成为了骨干-域间网络拓扑结构图G骨干;
步骤301,记录匹配节点-域间路径标识序列集;
选取经步骤103获得的SSanalysis,SSanalysis不为空集(SSanalysis≥1),即SSanalysis={SMPID1,SMPID2,…,SMPIDs,…,SMPIDS};执行步骤302;
分别提取出SSanalysis={SMPID1,SMPID2,…,SMPIDs,…,SMPIDS}中各个元素的域间路径标识序列和域间路径标识前缀序列;
SSanalysis为空集(SSanalysis=0),执行步骤401;也就是说直接在步骤209中获得的主干路径上,依据G-MPX方法对其他-域间路径标识序列集S其他={RMPID1,RMPID2,…,RMPIDr,…,RMPIDR}中的各个元素顺次进行与主干路径变成的骨干-域间网络的匹配构建网络处理,从而得到混合-域间网络拓扑结构图G混合;
步骤302,采用G-MPX方法对SSanalysis中第一个元素的匹配与分枝处理;
主干路径下、配合跳数值的匹配与分枝的逐跳处理;
(B),将MPX6中的第二跳与主干路径的域间路径标识前缀序列MPX首位中的第二跳进行匹配;匹配失败,继节点P1后新增第五个节点P5,新建一条自节点P1至第五个节点P5的边,所述边对应的域间路径标识前缀为MPX6中的第二跳;第五个节点P5维护着一个四元组的节点状态信息,记为
步骤303,采用G-MPX方法对SSanalysis中第二个元素的匹配与分枝处理;
从SSanalysis中选取SMPID2,提取出SMPID2对应的MPID10和MPX10;
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>;
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
比较SSanalysis中第二个元素与位于第二个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>;
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
步骤304,采用G-MPX方法对SSanalysis中第三个元素的匹配与分枝处理;
从SSanalysis中选取SMPID3,并从SMPID3提取出MPID16和MPX16;
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>;
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>;
比较SSanalysis中第三个元素与位于第三个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>;
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>;
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>;
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>;
将MPX16分别与SMPID1的MPX6、SMPID2的MPX10进行对比是否相同;MPX16不同于MPX6和MPX10,从起始节点开始进行匹配处理;
主干路径下、配合跳数值的匹配与分枝的逐跳处理;
(A),将MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第一跳1.2.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第一跳1.2.0.0/16进行匹配;匹配成功,节点有序位置至节点P1处,节点P1维护节点状态信息为
(B),将MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第二跳2.4.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第二跳2.4.0.0/16进行匹配;匹配成功,节点有序位置至节点P2处,第二个节点P2维护着一个四元组的节点状态信息,记为
(C),将MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第三跳5.32.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第三跳5.7.0.0/16进行匹配;匹配失败,继第二个节点P2后新增第八个节点P8,新建一条自第二个节点P2至第八个节点P8的边,所述边对应的域间路径标识前缀为MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第三跳5.32.0.0/16;第八个节点P8维护着一个四元组的节点状态信息,记为
(D),继第八个节点P8后新增第九个节点P9,新建一条自第八个节点P8至第九个节点P9的边,所述边对应的域间路径标识前缀为MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第四跳2.15.0.0/16;第九个节点P9维护着一个四元组的节点状态信息,记为
步骤305,采用G-MPX方法对SSanalysis中第四个元素的匹配与分枝处理;
从Sanalysis中选取SMPID4,并从SMPID4提取出MPID17和MPX17;
MPID17的序列是<1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5>;
MPX17的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>;
比较SSanalysis中第四个元素与位于第四个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>;
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>;
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>;
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>;
MPID17的序列是<1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5>;
MPX17的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>;
将MPX17分别与SMPID1的MPX6、SMPID2的MPX10、SMPID3的MPX16进行对比是否相同;MPX17不同于MPX6、MPX10和MPX16,从起始节点开始进行匹配处理;
主干路径下、配合跳数值的匹配与分枝的逐跳处理;
(A),将MPX17(即<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>)中的第一跳1.2.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第一跳1.2.0.0/16进行匹配;匹配成功,节点有序位置至节点P1处,节点P1维护节点状态信息为
(B),将MPX17(即<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>)中的第二跳2.4.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第二跳2.4.0.0/16进行匹配;匹配成功,节点有序位置至节点P2处,第二个节点P2维护着一个四元组的节点状态信息,记为
(C),将MPX17(即<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>)中的第三跳5.32.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第三跳5.7.0.0/16进行匹配;匹配失败,对比与第二个节点P2连通的节点;
第二个节点P2至第三个节点P3的边,所述边对应的域间路径标识前缀为MPX1(<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第三跳5.7.0.0/16;
第二个节点P2至第八个节点P8的边,所述边对应的域间路径标识前缀为MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第三跳5.32.0.0/16;
将MPX17(即<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>)中的第三跳5.32.0.0/16与MPX16(即<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>)中的第三跳5.32.0.0/16进行匹配;匹配成功,节点有序位置至第八个节点P8处,第八个节点P8维护着一个四元组的节点状态信息,记为
(D),继第八个节点P8后新增第十个节点P10,新建一条自第八个节点P8至第十个节点P10的边,所述边对应的域间路径标识前缀为MPX17(即<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>)中的第四跳3.6.0.0/16;第十个节点P10维护着一个四元组的节点状态信息,记为
步骤306,采用G-MPX方法对SSanalysis中第五个元素的匹配与分枝处理;
从Sanalysis中选取SMPID5,并从SMPID5提取出MPID18和MPX18;
MPID18的序列是<1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65>;
MPX18的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>;
比较SSanalysis中第五个元素与位于第五个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>;
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>;
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>;
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>;
MPID17的序列是<1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5>;
MPX17的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>;
MPID18的序列是<1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65>;
MPX18的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>;
将SMPID5的MPX18分别与SMPID1的MPX6、SMPID2的MPX10、SMPID3的MPX16、SMPID4的MPX17进行对比是否相同;MPX18不同于MPX6、MPX10和MPX16,但是MPX18与MPX17是相同的,需要将MPID18(即<1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65>)加入到已经获得的中,赋值后
步骤307,采用G-MPX方法对SSanalysis中第六个元素的匹配与分枝处理;
从Sanalysis中选取SMPID6,并从SMPID6提取出MPID25和MPX25;
MPID25的序列是<1.10.29.52,8.1.64.68,10.5.10.92,2.4.9.6>;
MPX25的序列是<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>;
比较SSanalysis中第六个元素与位于第六个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>;
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>;
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>;
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>;
MPID17的序列是<1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5>;
MPX17的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>;
MPID18的序列是<1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65>;
MPX18的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>;
MPID25的序列是<1.10.29.52,8.1.64.68,10.5.10.92,2.4.9.6>;
MPX25的序列是<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>;
将SMPID6的MPX25分别与SMPID1的MPX6、SMPID2的MPX10、SMPID3的MPX16、SMPID4的MPX17、SMPID5的MPX18进行对比是否相同;MPX25不同于MPX6、MPX10、MPX16、MPX17和MPX18,从起始节点开始进行匹配处理;
主干路径下、配合跳数值的匹配与分枝的逐跳处理;
(A),将MPX25(即<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>)中的第一跳1.10.0.0/16与主干路径的域间路径标识前缀序列MPX1(即<1.2.0.0,2.4.0.0,5.7.0.0,4.9.0.0>)中的第一跳1.2.0.0/16进行匹配;匹配失败,继起始节点P0后新增第十一个节点P11,新建一条自起始节点P0至第十一个节点P11的边,所述边对应的域间路径标识前缀为MPX25(即<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>)中的第一跳1.10.0.0/16;第十一个节点P11维护节点状态信息为
(B),继第十一个节点P11后新增第十二个节点P12,新建一条自第十一个节点P11至第十二个节点P12的边,所述边对应的域间路径标识前缀为MPX25(即<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>)中的第二跳8.1.0.0/16;第十二个节点P12维护着一个四元组的节点状态信息,记为
(C),继第十二个节点P12后新增第十三个节点P13,新建一条自第十二个节点P12至第十三个节点P13的边,所述边对应的域间路径标识前缀为MPX25(即<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>)中的第三跳10.5.0.0/16;第十三个节点P13维护着一个四元组的节点状态信息,记为
(D),继第十三个节点P13后新增第十四个节点P14,新建一条自第十三个节点P13至第十四个节点P14的边,所述边对应的域间路径标识前缀为MPX25(即<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>)中的第四跳2.4.0.0/16;第十四个节点P14维护着一个四元组的节点状态信息,记为
步骤308,采用G-MPX方法对SSanalysis中第七个元素的匹配与分枝处理;
从Sanalysis中选取SMPID7,并从SMPID7提取出MPID27和MPX27;
MPID27的序列是<1.10.37.42,8.1.4.6,10.5.1.2,2.4.33.46>;
MPX27的序列是<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>;
比较SSanalysis中第七个元素与位于第七个元素之前的所有元素的域间路径标识前缀序列;
MPID6对应的是<1.2.123.34,2.9.12.7,3.6.8.1,4.9.6.5>;
MPX6对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
MPID10对应的是<1.2.13.32,2.9.102.75,3.6.28.81,4.9.36.45>;
MPX10对应的是<1.2.0.0,2.9.0.0,3.6.0.0,4.9.0.0>;
MPID16的序列是<1.2.16.29,2.4.14.83,5.32.23.29,2.15.28.5>;
MPX16的序列是<1.2.0.0,2.4.0.0,5.32.0.0,2.15.0.0>;
MPID17的序列是<1.2.25.129,2.4.104.36,5.32.213.209,3.6.28.5>;
MPX17的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>;
MPID18的序列是<1.2.3.47,2.4.124.26,5.32.2.29,3.6.218.65>;
MPX18的序列是<1.2.0.0,2.4.0.0,5.32.0.0,3.6.0.0>;
MPID25的序列是<1.10.29.52,8.1.64.68,10.5.10.92,2.4.9.6>;
MPX25的序列是<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>;
MPID27的序列是<1.10.37.42,8.1.4.6,10.5.1.2,2.4.33.46>;
MPX27的序列是<1.10.0.0,8.1.0.0,10.5.0.0,2.4.0.0>;
将SMPID7的MPX27分别与SMPID1的MPX6、SMPID2的MPX10、SMPID3的MPX16、SMPID4的MPX17、SMPID5的MPX18、SMPID6的MPX25进行对比是否相同;MPX27不同于MPX6、MPX10、MPX16、MPX17和MPX18,但是MPX27与MPX25是相同的,需要将MPID27(即<1.10.37.42,8.1.4.6,10.5.1.2,2.4.33.46>)加入到已经获得的中,赋值后
由于hopmax=4,此处为第四跳,所述中记录了域间路径标识序列MPID25(即<1.10.29.52,8.1.64.68,10.5.10.92,2.4.9.6>)和MPID27(即<1.10.37.42,8.1.4.6,10.5.1.2,2.4.33.46>);赋值后
重复执行步骤301至步骤308,直至SSanalysis中的所有同跳最长长度-域间路径标识序列与主干路径网络拓扑结构图匹配扩展完成;
步骤四,基于骨干-域间网络拓扑结构图G骨干的递归扩展构建混合-域间网络拓扑结构图G混合;
同样采用G-MPX方法对其他-域间路径标识序列集S其他中的各个元素,在骨干-域间网络拓扑结构图G骨干中进行逐跳对比匹配与分枝处理,得到的是混合-域间网络拓扑结构图G混合;在进行与所述G骨干的匹配构建网络处理之前,先要判断所述S其他中是否存在有元素;
若S其他≥1,采用G-MPX方法对S其他中各个元素顺次进行与所述G骨干的逐跳对比匹配与分枝处理构建网络,直到完成S其他中最后一个元素,得到混合-域间网络拓扑结构图G混合;然后执行步骤步骤501;
若S其他=0,说明S其他中没有元素了,骨干-域间网络拓扑结构图G骨干成为了最终构建的域间网络拓扑结构图G,同时也不进行步骤五的处理;
对混合-域间网络拓扑结构图G混合中的失配节点采用集合形式表达为MPU={U1,U2,…,Ud,…,UD};MPU∈MP;其中:U1表示混合-域间网络拓扑结构图G混合中的第一个失配节点,U2表示混合-域间网络拓扑结构图G混合中的第二个失配节点,Ud表示混合-域间网络拓扑结构图G混合中的第d个失配节点(也称为任意一个失配节点),d表示失配节点的标识号,UD表示混合-域间网络拓扑结构图G混合中的最后一个失配节点,D表示失配节点的总个数,d∈D,D<B;
第一个失配节点U1的节点状态信息,记为且 表示从P0到U1的跳数;表示属于U1的域间路径标识序列;表示U1的状态,当赋值为0表示失配节点U1中存在未完全匹配的域间路径标识序列;当赋值为1表示失配节点U1中所有的域间路径标识序列完成匹配;
从P0经U1后到Ud,任意一个节点Ud的节点状态信息,记为且 表示从P0到Ud的跳数;表示属于Ud的域间路径标识序列;表示Ud的状态,当赋值为0表示失配节点Ud中存在未完全匹配的域间路径标识序列;当赋值为1表示失配节点Ud中所有的域间路径标识序列完成匹配;
从P0经U1、Ud后到UD,最后一个节点UD的节点状态信息,记为且 表示从P0到UD的跳数;表示属于UD的域间路径标识序列;表示UD的状态,当赋值为0表示失配节点UD中存在未完全匹配的域间路径标识序列;当赋值为1表示失配节点UD中所有的域间路径标识序列完成匹配;
采用G-MPX方法对S其他中任意一个元素的匹配与分枝处理;
AEEMP表示骨干-域间网络拓扑结构图G骨干中所有节点维护的节点状态信息集合;
Ud、Ud-1和Ud+1为不同的失配节点;
配合跳数值的匹配与分枝的逐跳处理;
匹配条件一(全部匹配成功),将与中的域间路径标识前缀序列的第一跳对比,得到中的第一跳与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点Px处;因为的跳数值大于第一跳,故继续进行中的第二跳与中的域间路径标识前缀序列的第二跳对比,得到中的第二跳与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至节点Px+1处;因为的跳数值大于第二跳,故继续进行中的第三跳与中的域间路径标识前缀序列的第三跳对比,得到中的第三跳与中节点状态信息的第三跳是相同的,匹配成功,节点有序位置至节点Px+2处;因为的跳数值等于第三跳,故将加入到的中,要用来替换中已有的替换后记为
匹配条件二(全部匹配失败),将与中的域间路径标识前缀序列的第一跳对比,得到中的第一跳与中节点状态信息的第一跳存在不同,匹配失败,继节点P0后新增一个失配节点Ud+1;新建一条自起始节点P0至失配节点Ud+1的边,所述边对应的域间路径标识前缀为中的第一跳(因为的跳数值大于第一跳);失配节点Ud+1维护着一个四元组的节点状态信息,记为继失配节点Ud+1后新增另一个失配节点Ud+2,新建一条自节点Ud+1至节点Ud+2的边,所述边对应的域间路径标识前缀为中的第二跳(因为的跳数值大于第二跳);节点Ud+2维护着一个四元组的节点状态信息,记为继失配节点Ud+2后新增另一个失配节点Ud+3,新建一条自节点Ud+2至节点Ud+3的边,所述边对应的域间路径标识前缀为中的第三跳(因为的跳数值等于第三跳);节点Ud+3维护着一个四元组的节点状态信息,记为
是指起始节点P0至失配节点Ud+1的跳数,赋值为1;是指属于失配节点Ud+1的域间路径标识序列;由于的跳数值大于第一跳,此处为第一跳,所述中不记录域间路径标识序列;是指失配节点Ud+1的状态,当赋值为0表示失配节点Ud+1中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+1中所有的域间路径标识序列MPID完成匹配;因此,赋值后表达为
是指起始节点P0至失配节点Ud+2的跳数,赋值为2;是指属于失配节点Ud+2的域间路径标识序列;由于的跳数值大于第二跳,此处为第二跳,所述中不记录域间路径标识序列;是指失配节点Ud+2的状态,当赋值为0表示失配节点Ud+2中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+2中所有的域间路径标识序列MPID完成匹配;因此,赋值后表达为
是指起始节点P0至失配节点Ud+3的跳数,赋值为3;是指属于失配节点Ud+3的域间路径标识序列;由于的跳数值等于第三跳,此处为第三跳,所述中将记录 是指失配节点Ud+3的状态,当赋值为0表示失配节点Ud+3中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+3中所有的域间路径标识序列MPID完成匹配;因此,赋值后表达为
匹配条件三(部分匹配成功或失败),将与中的域间路径标识前缀序列的第一跳对比,得到中的第一跳与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点Px处;因为的跳数值大于第一跳,故继续进行中的第二跳与中的域间路径标识前缀序列的第二跳对比,得到中的第二跳与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至节点Px+1处;因为的跳数值大于第二跳,故继续进行中的第三跳与中的域间路径标识前缀序列的第三跳对比,得到中的第三跳与中节点状态信息的第三跳存在不同,匹配失败,继节点Px+1后新增另一个失配节点Ud+4,新建一条自节点Px+1至节点Ud+4的边,所述边对应的域间路径标识前缀为中的第三跳(因为的跳数值等于第三跳);节点Ud+4维护着一个四元组的节点状态信息,记为
是指起始节点P0至失配节点Ud+4的跳数,赋值为3;是指属于失配节点Ud+4的域间路径标识序列;由于的跳数值等于第三跳,此处为第三跳,所述中将记录 是指失配节点Ud+4的状态,当赋值为0表示失配节点Ud+4中存在匹配未完全的域间路径标识序列MPID;当赋值为1表示失配节点Ud+4中所有的域间路径标识序列MPID完成匹配;因此,赋值后表达为
步骤401,记录其他-域间路径标识序列集S其他;
经步骤三处理后,待分析-域间路径标识序列集Ssequence中只剩下有其他-域间路径标识序列集S其他,且S其他={RMPID1,RMPID2,…,RMPIDr,…,RMPIDR};
S其他不为空集,即S其他≥1;
RMPID1表示与骨干-域间网络拓扑结构图匹配的第一个域间路径标识序列;
RMPID2表示与骨干-域间网络拓扑结构图匹配的第二个域间路径标识序列;
RMPIDr表示与骨干-域间网络拓扑结构图匹配的第r个域间路径标识序列,下角标r表示与骨干-域间网络拓扑结构图匹配的域间路径标识序列的序号;
RMPIDR表示与骨干-域间网络拓扑结构图匹配的最后一个域间路径标识序列,下角标R表示与骨干-域间网络拓扑结构图匹配的域间路径标识序列的总数;
若S其他=0,结束节点匹配,重构得到域间网络拓扑结构图G;
步骤402,采用G-MPX方法对S其他中第一个元素的匹配与分枝处理;
从S其他中选取RMPID1,提取出RMPID1对应的MPID2和MPX2;记录下MPID2的跳数值为1;
MPID2的序列是<1.2.13.4>;
MPX2的序列是<1.2.0.0>;
配合跳数值的匹配与分枝的逐跳处理;
将MPX2(即<1.2.0.0>)与AEEMP中的域间路径标识前缀序列对比,MPX2(即<1.2.0.0>)与AEEMP中的节点状态信息的第一跳是相同的,因为MPID2的跳数值是1,故需要将MPID2(即<1.2.13.4>)加入到的中,赋值后然后,要用来替换AEEMP中的替换后记为
步骤403,采用G-MPX方法对S其他中第二个元素的匹配与分枝处理;
从S其他中选取RMPID2,提取出RMPID2对应的MPID3和MPX3;记录下MPID3的跳数值为1;
MPID3的序列是<1.1.3.4>;
MPX3的序列是<1.1.0.0>;
配合跳数值的匹配与分枝的逐跳处理;
将MPX3(即<1.1.0.0>)与中的域间路径标识前缀序列对比,MPX3(即<1.1.0.0>)与中的域间路径标识前缀存在不同,因为MPX3的最大跳数是1,故需要在起始节点P0处向外新增一个节点,记为第一个失配节点U1;
步骤404,采用G-MPX方法对S其他中第三个元素的匹配与分枝处理;
从S其他中选取RMPID3,提取出RMPID3对应的MPID4和MPX4;记录下MPID4的跳数值为2;
MPID4的序列是<1.2.129.56,2.1.10.8>;
MPX4的序列是<1.2.0.0,2.1.0.0>;
配合跳数值的匹配与分枝的逐跳处理;
将MPX4(即<1.2.0.0,2.1.0.0>)与中的域间路径标识前缀序列对比,得到MPX4(即<1.2.0.0,2.1.0.0>)中的第一跳1.2.0.0/16与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点P1处,因为MPID4的跳数值为2,故继续进行MPX4(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16与中的域间路径标识前缀序列的第二跳对比,得到MPX4(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16与中的域间路径标识前缀序列的第二跳存在不同,匹配失败,继节点P1后新增第二个失配节点U2;
新建一条自节点P1至第二个失配节点U2的边,所述边对应的域间路径标识前缀为MPX4(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16;第二个失配节点U2维护着一个四元组的节点状态信息,记为
步骤405,采用G-MPX方法对S其他中第四个元素的匹配与分枝处理;
从S其他中选取RMPID4,提取出RMPID4对应的MPID5和MPX5;记录下MPID5的跳数值为2;
MPID5的序列是<1.2.109.46,2.1.19.78>;
MPX5的序列是<1.2.0.0,2.1.0.0>;
配合跳数值的匹配与分枝的逐跳处理;
将MPX5(即<1.2.0.0,2.1.0.0>)与中的域间路径标识前缀序列对比,得到MPX5(即<1.2.0.0,2.1.0.0>)中的第一跳1.2.0.0/16与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点P1处,因为MPID5的跳数值为2,故继续进行MPX5(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16与中的域间路径标识前缀序列的第二跳对比,得到MPX5(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至第二个失配节点U2;
步骤406,采用G-MPX方法对S其他中第五个元素的匹配与分枝处理;
从S其他中选取RMPID5,提取出RMPID5对应的MPID7和MPX7;记录下MPID7的跳数值为2;
MPID7的序列是<1.2.121.3,2.9.2.27>;
MPX7的序列是<1.2.0.0,2.9.0.0>;
配合跳数值的匹配与分枝的逐跳处理;
将MPX7(即<1.2.0.0,2.9.0.0>)与中的域间路径标识前缀序列对比,得到MPX7(即<1.2.0.0,2.9.0.0>)中的第一跳1.2.0.0/16与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点P1处,因为MPID7的跳数值为2,故继续进行MPX7(即<1.2.0.0,2.9.0.0>)中的第二跳2.9.0.0/16与中的域间路径标识前缀序列的第二跳对比,得到MPX7(即<1.2.0.0,2.9.0.0>)中的第二跳2.9.0.0/16与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至节点P5处;
步骤407,采用G-MPX方法对S其他中第六个元素的匹配与分枝处理;
从S其他中选取RMPID6,提取出RMPID6对应的MPID8和MPX8;记录下MPID8的跳数值为3;
MPID8的序列是<1.2.23.44,2.9.112.71,3.6.18.31>;
MPX8的序列是<1.2.0.0,2.9.0.0,3.6.0.0>;
配合跳数值的匹配与分枝的逐跳处理;
将MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)与中的域间路径标识前缀序列对比,得到MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第一跳1.2.0.0/16与中节点状态信息的第一跳是相同的,匹配成功,节点有序位置至节点P1处;
继续进行MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第二跳2.9.0.0/16与中的域间路径标识前缀序列的第二跳对比,得到MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第二跳2.9.0.0/16与中节点状态信息的第二跳是相同的,匹配成功,节点有序位置至节点P5处;
继续进行MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第三跳3.6.0.0/16与中的域间路径标识前缀序列的第三跳对比,得到MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第三跳2.9.0.0/16与中的域间路径标识前缀序列的第三跳存在不同,匹配失败,继节点P5后新增第三个失配节点U3;
新建一条自节点P5至第三个失配节点U3的边,所述边对应的域间路径标识前缀为MPX8(即<1.2.0.0,2.9.0.0,3.6.0.0>)中的第三跳3.6.0.0/16;第三个失配节点U3维护着一个四元组的节点状态信息,记为
遍历完成S其他中所有元素,形成了包含有失配节点的混合-域间网络拓扑结构图G混合;从混合-域间网络拓扑结构图G混合中第一方面提取出各个失配节点,第二方面提取出各个失配节点的节点状态信息,第三方面提取出属于任意一个失配节点的域间路径标识序列,也称为失配-域间路径标识序列;
多个失配节点构成为了失配节点集合MPU={U1,U2,U3,U4,U5};
为了方便说明各个失配节点中包含的失配-域间路径标识序列,分别记录出失配节点U1、失配节点U2、失配节点U3、失配节点U4和失配节点U5中各个节点状态信息为:
步骤五,失配-域间路径标识序列的再分配完成带失配节点的域间网络拓扑结构图的扩展;
同样采用G-MPX方法对失配节点中的各个失配-域间路径标识序列在混合-域间网络拓扑结构图G混合中进行逐跳对比匹配与分枝处理;在进行与所述G混合的匹配构建网络处理之前,先要判断任意一个失配节点Ud的中是否存在有域间路径标识序列;
步骤501,记录失配节点状态信息集;
经步骤四后,获得的失配节点集合为MPU={U1,U2,U3,U4,U5};
步骤502,采用G-MPX方法对失配节点状态信息集UAEMP中第一个失配节点中的失配域间路径标识序列的匹配与分枝处理;
配合跳数值的匹配与分枝的逐跳处理;
(A),将(即<1.1.0.0>)中的第一跳1.1.0.0/16分别与初始节点P0相连边的域间路径标识前缀(即1.2.0.0/16和1.0.0.0/16)进行前缀精确匹配,匹配失败,在初始节点P0处,新增一个节点P15,新建一条自P0至P15的边,所述边对应的域间路径标识前缀记为PX15;将域间路径标识前缀PX15作为初始节点P0至节点P15边的域间路径标识前缀(即1.1.0.0/16);节点P15维护着一个四元组的节点状态信息为
(B),将(即<1.1.0.0>)中的第一跳1.1.0.0/16分别与初始节点P0相连边的域间路径标识前缀(即1.1.0.0/16、1.2.0.0/16和1.0.0.0/16)进行前缀精确匹配,与域间路径标识前缀1.1.0.0/16匹配成功,将域间路径标识序列<1.1.25.64>存储到节点P15的中,更新节点P15的节点状态信息为
(C),将(即<1.7.0.0>)中的第一跳1.7.0.0/16分别与初始节点P0相连边的域间路径标识前缀(即1.1.0.0/16、1.2.0.0/16和1.0.0.0/16)进行前缀精确匹配,匹配失败,在初始节点P0处,新增一个节点P16,新建一条自P0至P16的边,所述边对应的域间路径标识前缀记为PX16;将域间路径标识前缀PX16作为初始节点P0至节点P16边的域间路径标识前缀(即1.7.0.0/16);节点P16维护着一个四元组的节点状态信息为
(D),将(即<1.7.0.0>)中的第一跳1.7.0.0/16分别与初始节点P0相连边的域间路径标识前缀(即1.7.0.0/16、1.1.0.0/16、1.2.0.0/16和1.0.0.0/16)进行前缀精确匹配,匹配成功,将匹配成功的域间路径标识序列<1.7.26.52>存储到节点P16的中,更新节点P16维护着的四元组的节点状态信息为
(E),将(即<1.7.0.0>)中的第一跳1.7.0.0/16分别与初始节点P0相连边的域间路径标识前缀(即1.7.0.0/16、1.1.0.0/16、1.2.0.0/16和1.0.0.0/16)进行前缀精确匹配,与域间路径标识前缀1.7.0.0/16匹配成功,将匹配成功的域间路径标识序列<1.7.38.35>存储到节点P16的中,更新节点P16维护着的四元组的节点状态信息为
步骤503,采用G-MPX方法对失配节点状态信息集UAEMP中第二个失配节点中的失配域间路径标识序列的匹配与分枝处理;
配合跳数值的匹配与分枝的逐跳处理;
(A),将(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16分别与节点P1相连边的域间路径标识前缀(即2.4.0.0/16和2.9.0.0/16)进行前缀精确匹配,匹配失败,在节点P1处,新增一个节点P17,新建一条自P1至P17的边,所述边对应的域间路径标识前缀记为PX17;将域间路径标识前缀PX17作为节点P1至节点P17边的域间路径标识前缀(即2.1.0.0/16);节点P17维护着一个四元组的节点状态信息为
(B),将(即<1.2.0.0,2.1.0.0>)中的第二跳2.1.0.0/16分别与节点P1相连边的域间路径标识前缀(即2.1.0.0/16、2.4.0.0/16和2.9.0.0/16)进行前缀精确匹配,与域间路径标识前缀2.1.0.0/16匹配成功,将域间路径标识序列<1.2.109.46,2.1.19.78>存储到节点P17的更新节点P17的节点状态信息为
(C),将(即<1.2.0.0,2.15.0.0>)中的第二跳2.15.0.0/16分别与节点P1相连边的域间路径标识前缀(即2.1.0.0/16、2.4.0.0/16和2.9.0.0/16)进行前缀精确匹配,匹配失败,在节点P1处,新增一个节点P18,新建一条节点P1至P18的边,所述边对应的域间路径标识前缀记为PX18;将域间路径标识前缀PX18作为节点P1至节点P18边的域间路径标识前缀(即2.15.0.0/16);节点P18维护着一个四元组的节点状态信息为
(D),将(即<1.2.0.0,2.15.0.0,18.6.0.0>)中的第二跳2.15.0.0/16分别与节点P1相连边的域间路径标识前缀(即2.15.0.0/16、2.1.0.0/16、2.4.0.0/16和2.9.0.0/16)进行前缀精确匹配,与域间路径标识前缀2.15.0.0/16匹配成功;节点有序位置至节点P18处,在当前节点P18处向外新增一个节点P19,新建一条节点P18至P19的边,所述边对应的域间路径标识前缀记为PX19;将域间路径标识前缀PX19作为节点P18至P19边的域间路径标识前缀(即(即<1.2.0.0,2.15.0.0,18.6.0.0>)中的第三跳18.6.0.0/16);节点P19维护着一个四元组的节点状态信息为
步骤504,采用G-MPX方法对失配节点状态信息集UAEMP中第三个失配节点中的失配域间路径标识序列的匹配与分枝处理;
配合跳数值的匹配与分枝的逐跳处理;
(A),将(即<1.2.0.0,2.9.0.0,3.25.0.0>)中的第三跳3.25.0.0/16分别与节点P5相连边的域间路径标识前缀:3.6.0.0/16进行前缀精确匹配,匹配失败,在网络拓扑结构图G中继节点P5之后,新增一个节点P20,新建一条自P5至P20的边,所述边对应的域间路径标识前缀记为PX20;将域间路径标识前缀PX20作为节点P5至节点P20边的域间路径标识前缀(即3.25.0.0/16);节点P20维护着一个四元组的节点状态信息为
步骤505,采用G-MPX方法对失配节点状态信息集UAEMP中第四个失配节点中的失配域间路径标识序列的匹配与分枝处理;
配合跳数值的匹配与分枝的逐跳处理;
(A),将(即<1.10.0.0,8.3.0.0>)中的第二跳8.3.0.0/16分别与节点P11相连边的域间路径标识前缀(即8.1.0.0/16)进行前缀精确匹配,匹配失败,在节点P11处,新增一个节点P21,新建一条自P11至P21的边,所述边对应的域间路径标识前缀记为PX21;将域间路径标识前缀PX21作为节点P11至节点P21边的域间路径标识前缀(即8.3.0.0/16);节点P21维护着一个四元组的节点状态信息为
(B),将(即<1.10.0.0,8.3.0.0>)中的第二跳8.3.0.0/16分别与节点P11相连边的域间路径标识前缀(即8.3.0.0/16、8.1.0.0/16)进行前缀精确匹配,与域间路径标识前缀8.3.0.0/16匹配成功;将域间路径标识序列<1.10.59.12,8.3.10.32>存储到节点P21的更新节点P21的节点状态信息为
步骤506,采用G-MPX方法对失配节点状态信息集UAEMP中第五个失配节点中的失配域间路径标识序列的匹配与分枝处理;
配合跳数值的匹配与分枝的逐跳处理;
(A),将(即<1.10.0.0,8.1.0.0,10.36.0.0>)中的第三跳10.36.0.0/16分别与节点P12相连边的域间路径标识前缀(即10.5.0.0/16)进行前缀精确匹配,匹配失败,在节点P12处,新增一个节点P22,新建一条自P12至P22的边,所述边对应的域间路径标识前缀记为PX22;将域间路径标识前缀PX22作为节点P12至节点P22边的域间路径标识前缀(即10.36.0.0/16);节点P22维护着一个四元组的节点状态信息为
(B),将(即<1.10.0.0,8.1.0.0,10.36.0.0>)中的第三跳10.36.0.0/16分别与节点P12相连边的域间路径标识前缀(即10.36.0.0/16、10.5.0.0/16)进行前缀精确匹配,与域间路径标识前缀10.36.0.0/16匹配成功;将域间路径标识序列<1.10.30.40,8.1.6.8,10.36.78.16>存储到节点P22的更新节点P22的节点状态信息为
步骤507,开始遍历拓展后的域间网络拓扑结构图G中的所有的失配节点,并将被分解的失配节点移除图G;
由于失配节点U1、失配节点U2、失配节点U3、失配节点U4和失配节点U5中所有域间路径标识序列已分配到图G其他节点P15,P16,P17,P18,P19,P20,P21,P22中,因而所述失配节点U1、失配节点U2、失配节点U3、失配节点U4和失配节点U5中不存任有域间路径标识序列了,故则删除失配节点U1、失配节点U2、失配节点U3、失配节点U4和失配节点U5,以及节点之间的边;最终生成域间网络拓扑结构图。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910474215X | 2019-06-02 | ||
CN201910474215 | 2019-06-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111835636A true CN111835636A (zh) | 2020-10-27 |
CN111835636B CN111835636B (zh) | 2021-06-18 |
Family
ID=72913576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010483178.1A Active CN111835636B (zh) | 2019-06-02 | 2020-06-01 | 一种基于主干路径递归扩展的网络拓扑重构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111835636B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542127A (zh) * | 2021-06-10 | 2021-10-22 | 新华三大数据技术有限公司 | 无角色vtep节点单vxlan拓扑查找方法及装置 |
CN115277437A (zh) * | 2022-07-29 | 2022-11-01 | 湖南大学 | 网络拓扑构建方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741501A (zh) * | 2005-09-22 | 2006-03-01 | 中国科学院计算技术研究所 | 部分连接的无线网络组关系路由系统与方法 |
CN101039262A (zh) * | 2007-01-24 | 2007-09-19 | 中国科学院计算机网络信息中心 | 一种半覆盖自组织的动态组播路由方法 |
US20090164835A1 (en) * | 2007-12-19 | 2009-06-25 | James Uttaro | Method and system for survival of data plane through a total control plane failure |
CN101895592A (zh) * | 2010-08-31 | 2010-11-24 | 上海交通大学 | 基于树状拓扑地址分配的路由寻址方法 |
US8249079B2 (en) * | 2009-05-28 | 2012-08-21 | Ca, Inc. | Method and system for caching IP network topology |
CN108306752A (zh) * | 2017-12-07 | 2018-07-20 | 北京德塔精要信息技术有限公司 | 网络拓扑可视化的实现方法及装置 |
-
2020
- 2020-06-01 CN CN202010483178.1A patent/CN111835636B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741501A (zh) * | 2005-09-22 | 2006-03-01 | 中国科学院计算技术研究所 | 部分连接的无线网络组关系路由系统与方法 |
CN101039262A (zh) * | 2007-01-24 | 2007-09-19 | 中国科学院计算机网络信息中心 | 一种半覆盖自组织的动态组播路由方法 |
US20090164835A1 (en) * | 2007-12-19 | 2009-06-25 | James Uttaro | Method and system for survival of data plane through a total control plane failure |
US8249079B2 (en) * | 2009-05-28 | 2012-08-21 | Ca, Inc. | Method and system for caching IP network topology |
CN101895592A (zh) * | 2010-08-31 | 2010-11-24 | 上海交通大学 | 基于树状拓扑地址分配的路由寻址方法 |
CN108306752A (zh) * | 2017-12-07 | 2018-07-20 | 北京德塔精要信息技术有限公司 | 网络拓扑可视化的实现方法及装置 |
Non-Patent Citations (4)
Title |
---|
HONGBIN LUO ET AL.: "CoLoR:An Information-Centric Internet Architecture for Innovations", 《IEEE:MNET》 * |
JIAWEI LI ET AL.: "Design and implementation of efficient control for incoming inter-domain traffic with Information-Centric Networking", 《JNCA》 * |
JIAWEI LI ET AL.: "Traffic Engineering in Information-Centric Networking Opportunities Solutions and Challenges", 《IEEE MCOM》 * |
刘若涵等: "基于P4的CoLoR架构控制平面的设计与实现", 《电信科学》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542127A (zh) * | 2021-06-10 | 2021-10-22 | 新华三大数据技术有限公司 | 无角色vtep节点单vxlan拓扑查找方法及装置 |
CN115277437A (zh) * | 2022-07-29 | 2022-11-01 | 湖南大学 | 网络拓扑构建方法、装置、计算机设备和存储介质 |
CN115277437B (zh) * | 2022-07-29 | 2023-12-01 | 湖南大学 | 网络拓扑构建方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111835636B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111835636B (zh) | 一种基于主干路径递归扩展的网络拓扑重构方法 | |
US7072304B2 (en) | Network path selection based on bandwidth | |
US7484004B2 (en) | Analyzing an access control list for a router to identify a subsumption relation between elements in the list | |
US8432914B2 (en) | Method for optimizing a network prefix-list search | |
US8089904B2 (en) | Link inference in large networks based on incomplete data | |
DE60214670T2 (de) | Verfahren und vorrichtung zur leitweglenkungstabellenverwaltung | |
CN103348662B (zh) | 用于在计算机网络中产生地址的方法 | |
US8422502B1 (en) | System and method for identifying VPN traffic paths and linking VPN traffic and paths to VPN customers of a provider | |
CN110278150B (zh) | 一种基于边缘节点请求信息特征的域间聚合路径分析方法 | |
US20030193898A1 (en) | Method and apparatus for selecting maximally disjoint shortest paths in a network | |
CN102255788B (zh) | 报文分类决策构建系统及方法、报文分类系统及方法 | |
JP3881663B2 (ja) | フィールドレベルツリーを用いたパケット分類装置及び方法 | |
CN110932971B (zh) | 一种基于请求信息逐层重构的域间路径分析方法 | |
CN111641729B (zh) | 一种基于前缀树的域间路径标识前缀冲突检测与分解方法 | |
CN112995036A (zh) | 网络流量的调度方法及装置 | |
CN106875043B (zh) | 一种基于gn分裂算法的节点迁移网络分块优化方法 | |
CN106789695B (zh) | 报文处理方法及装置 | |
CN110430133B (zh) | 一种基于置信区间的域间路径标识前缀获取方法 | |
CN110311828B (zh) | 一种网络验证的方法、装置、计算机存储介质及电子设备 | |
CN109218184B (zh) | 基于端口和结构信息的路由器归属as识别方法 | |
CN105897490A (zh) | 网络拓扑的自动发现方法 | |
CN114024859B (zh) | 基于设备和链路发现的网路拓扑生成方法、存储介质及终端 | |
CN112819160B (zh) | 一种神经网络模型的可视化方法、装置、设备及存储介质 | |
US7272140B2 (en) | Address retrieval apparatus | |
WO2008016861A2 (en) | Link inference in large networks based on incomplete data |
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 |