用来确定动态网络的拓扑的方法和系统的制作方法

文档序号:7678155阅读:190来源:国知局
专利名称:用来确定动态网络的拓扑的方法和系统的制作方法
技术领域
本发明涉及通信网络拓朴领域。尤其是,本发明涉及动态网络的拓朴 的确定。
背景技术
WO2005/053230提供一种用来收集与通信网络有关的信息的方法和系 统。用对节点透明的方式来检测由通信网络中工作的节点所传送的数据。 对所检测的数据进行分析从而识别与通信网络有关的信息并识别缺少的 信息。为了使缺少的信息完整,询问一个或多个节点。
收集与通信网络有关的信息不仅在专利公开文献中有所论述。为此, 参见例长口文章"?'/zeawd FMft/re 。/J^ raZje2, 7'/ e iVexf Gewera"ow o/ 爿c"ve (9/7era"'"g S少Wew F/"geA77/7力""g,, 《Xprobe 2的现在和将来,下一代 主动式操作系统指紋识别》(OfirArkin等,2003年7月在互联网上发表, 参见httD:〃www.svs國securitv.com/archive/papers/Present and Future Xprobe2
画vl.O.pdf)描述一种执行主动式操作系统指紋识别的系统。根据"77 e 尸msert/朋d 0/X/ ra6e2",主动式操作系统指紋识别是用几个数据
包探测目标系统并检查收到的响应从而主动确定目标网络节点的下层操 作系统的过程。
"Zb/ o/ogy fifacover_y》/*iVertvo;-^5" 《大型以太网的拓 朴发现》(Bruce Lowekamp等,SIGCOMM,Ol, 2001年8月27 - 31日,美 国加利福尼亚的圣地亚哥)讲解如何只为三台主机确定一对共用前向入口 的桥接器之间的连接,要求接入仅仅一个端点以执行拓朴发现所需的询 问。"7b/ o/ogy 6facovef^ z'w / ete"ogeweot/51 /尸wefvw^y" 《异构IP网络中的 拓朴发现》(Y.Bre池art等,INFOCOM 2000年学报,2000年3月)描述在 异构(即多个卖方)IP网络中发现物理拓朴,取决于标准SNMPMIB信息。 Bre池ard等的方法可以发现物理网络拓朴的用时为网元数的大概二次方。
"尸/y/5'z'c"/ r。/w/ogy D/A'cove/^/or丄arge Mw/"'-SM6wd JVefworh'" 《用于 多个子网的大型网络的物理拓朴发现》(Y. Bejerano等,INFOCOM 2003 年学报)描述一种用来发现大型、异构以太网络的物理拓朴的算法方案, 该网络包括多个子网以及无智能或不肯合作的网元。该算法取决于标准 SNMP MIB信息。

发明内容
该发明提供一种用来确定动态网络拓朴的方法,对于该动态网络来说 有网络数据保留,这些网络数据包含(a)描述节点集合的节点数据、(b) 描述每个节点各自的MAC (媒体接入控制)地址的地址数据以及(c)描 述每个节点各自的连通性的连通性数据,该方法包括
循环监测该动态网络以便在每个循环期间确定从上 一循环以来连接 到该动态网络上的新节点,从该上一循环以来从该动态网络上断开的消失 节点;
通过识别各个新节点所连接的交换机中的端口来确定每个新节点各 自的连通性;
增加所述网络数据以包括描述新节点的节点数据、以及每个新节点各 自的地址数据和连通性数据;并且
从所述网络数据中去除描述每个消失节点的节点数据及其各自的地 址数据和连通性数据;
由此在每个循环的终点所述集合中所有节点各自的连通性数据表示 各自的网络拓朴。
该发明还提供一种用来确定动态网络拓朴的设备,该设备包括
存储器件,用来保留网络数据,这些网络数据包含(a)描述节点集合的节点数据、(b )描述每个节点各自的MAC (媒体接入控制)地址的地 址数据以及(c)描述每个节点各自的连通性的连通性数据,
监测模块,用来循环监测该动态网络以便在每个循环期间确定从上一 循环以来连4妻到该动态网络上的新节点和从该上一循环以来从该动态网 络上断开的消失节点;
连通性确定it块,用来通过识别各个新节点所连接的交换机中的端口 来确定每个新节点各自的连通性;
网络数据增加才莫块,用来增加所述网络数据以包括描述新节点的节点 数据、以及每个新节点各自的地址数据和连通性数据;以及
网络数据去除模块,用来从所述网络数据中去除描述每个消失节点的 节点数据及其各自的地址数据和连通性数据。


为了理解该发明并看出实际上它是如何完成的,现在将参照附图仅以 非限定性示例的方式描述实施例,其中
图l是根据该发明的一个实施例对包括拓朴检测器的网络进行示意性 图示说明;
图2是根据该发明的一个实施例图示说明在确定动态网络的拓朴时完 成的主要程序的流程图3是根据该发明 一个实施例图示说明确定网络连通性的流程图4是根据该发明 一个实施例图示说明确定新节点各自的连通性的流 程图5是根据该发明 一个实施例图示说明对于消失的节点从网络数据中 各自去除节点数据、地址数据和连通性数据的流程图;以及
图6是根据该发明 一个实施例图示说明拓朴检测器的框图。
具体实施例方式
在下面的描述中多于一个附图共有的元件将由相同的附图标记参引。
图1是根据该发明一个实施例对耦合到网络102上名为拓朴检测器101 的系统进行示意性图示说明。该网络构成一种"被监测的通信网络"。根 据该示例,有三个交换机103、 104和105包括在网络102中。每个交换机 (103、 104和105)耦合到该网络中的"网元"或"节点"上。特定的是, 在附图中这些节点是经由交换机105耦合到网络102上的节点106和107、经 由交换机104耦合到网络102上的节点108、 109和110、以及经由交换机103 耦合到网络102上的节点111和112。交换机103还耦合到路由器113上,路 由器113将网络102以及作为其组成部分的节点连接到互联网(Internet )114 上。
在下文中,耦合到网络上的每个网元都将被认为是节点,包括交换机 和路由器。根据该发明,每个节点除了其他方面外其特征还在于,表示节 点类型的分类,其中一个节点可以分类为例如交换机、路由器、主机、打 印机、终端、等等。此外,交换机和路由器合起来成为单一特级分类构成 "连接节点"。所有其他节点一起构成"末端节点"。
词语"连通性数据"用来描述第一节点以及耦合到其上的第二节点, 如果第一节点是连接节点,"连通性数据"指该连接节点中的一个端口以 及耦合到其上的节点。更进一步来说,"一个节点的连通性数据"指该节 点以及耦合到其上的另一节点(或端口 )。所有这些作为网络组成部分的 节点各自的连通性数据表示各自的网络拓朴。
要指出的是图1显示当这些节点是网络102的组成部分时的非限定性 示例并且该网络的各个拓朴可以不同于该图中图示说明的拓朴。例如,可 以有任何适当数量的交换机而且任一交换机可以耦合到任何数量的节点 上,所述任何数量的节点包括不只一个路由器等等。
根据该实施例,拓朴检测器101保留节点数据,这些节点数据描述作 为网络组成部分的节点集。在图l的示例中,这些节点数据描述包括节点 {103, 104, 105, 106, 107, 108,109, 110, 111, 112)的集合。所意识的是为了 确定哪些节点在节点数据中描述,初看起来本领域技术人员可以应用例如WO2005/053230所讲解的方法。
此外,拓朴检测器101保留描述每个节点各自MAC (媒体接入控制) 地址的地址数据和描述每个节点各自连通性的连通性数据。节点数据、地 址数据和连通性数据一起构成"网络数据,,。虽然表面上看起来好像每个 节点的MAC地址可以例如根据WO2005/053230来确定,但是认为网络中所 有节点的连通性数据都可以例如根据文章"7bpo/ogy tfocove" /or Large 5V/2emef JVe^wo尸fo1" 或才艮净居 "7b/ o/ogy Wsc0ve7 /;eterageweo"51 TP wertw7^y"来确定是4晉i吴的。
应当意识到根据WO2005/053230工作的拓朴检测器101 ,应用^皮动和主 动的方法来收集信息。因此拓朴检测器101具有将其耦合到网络102上的两 个连接。
然而,应当意识到网络(比如网络102)可以是"动态网络",其中 "新节点"可以时而连接到其上,而"消失的节点"可以从其上断开。下 文中图示说明的实施例提供一种用来确定动态网络的拓朴的方法。
图2是根据该发明一个实施例图示说明确定动态网络的拓朴时完成的 主程序的流程图。 一开始,在201上拓朴检测器101确定哪些节点在节点数 据中描述,例如通过应用WO2005/053230的被动和/或主动方法。由201生 成的节点数据构成"基线"。应当意识到这些节点数据保存在可接入拓朴 检测器101的存储器件中,而该存储器件可以是短期存储器件(比如随机 存取存储器,RAM )或长期存储器件(比如磁盘、闪存等等)。 WO2005/053230的方法还可以揭示每个节点的MAC地址,因此201还包括 确定描述每个节点各自的MAC地址的地址数据。像节点数据一样,地址数 据还保存在可接入拓朴检测器的短期或长期存储器件中。
然后,在202上,拓朴检测器101例如根据"7b;w/ogV(i"、an^y/c^丄^ge
来确定节点数据中每个节点各自的连通性数据。与节点数据和地址ii:据类 似,拓朴检测器将连通性数据保存在可接入其上的存储器件中。像前述存 储器件一样,本存储器件还可以是短期存储器件或长期存储器件。
因为该网络是动态网络,所以必须对其进行循环监测,从而在203上
8在每个循环期间确定从上一循环起连接到该网络上的新节点和从上一循
环起从该动态网络上断开的消失节点。在204上拓朴检测器101确定在203 上确定的每个新节点各自的连通性,并且在205上该检测器增加这些网络 数据以包括描述新节点的节点数据、每个新节点各自的地址数据和连通性 数据。在206上将描述每个消失节点的节点数据还有其各自的地址数据和 连通性数据从这些网络数据中去除。
应当意识到图2的流程图是非限制性的而且会存在其他替代流程。例 如,先前解释过节点数据、地址数据和连通性数据中每种数据都保存在短 期或长期存储器件中。因此,本领域技术人员会意识到不确定节点数据和 /或地址数据和/或连通性数据也有可能获得它们中的任何一个,例如通过 从磁盘中读取它们、从通信网络中获取它们等等。 一般来说,因此,认为 这些网络数据被保留,其中保留包括确定和/或获取。
还应当意识到拓朴检测器可以在接近实时模式下循环监视该动态网 络。在这种情况下,该操作系统可以例如通过轮询文件描述符来提供该循 环性。
现在开始在202上确定连通性数据,对每个连接设备来说对每个端口 的连通性进行分类,其中端口分类可能有"交换机间连接端口"、"交换 机-路由器连"l妄端口"以及"末端节点端口"。交换机间连接端口是交换 机上的端口,用来连接到另一个交换机上。在图l的示例中图示说明四个 交换机间的连接端口。特定的是,它们由附图标记115、 116、 117和118来 参引。交换机-路由器连接端口是交换机上用来连接到路由器上的端口 。 还将路由器上用来连接到交换机上的端口分类为交换机-路由器连接端 口。因此,在图l的示例中,其中只描绘了一个路由器(113),有两个交 换机-路由器连接端口,由附图标记123和124来标记。交换机或路由器上 的端口,用来连接到末端节点上,构成末端节点端口。在图l的示例中末 端节点的端口是119、 120、 121、 122以及其他标记。
图3是根据该发明 一个实施例图示说明确定网络连通性202的流程图。 进行到301上获取节点数据,对这些节点数据所描述的节点集合中每个节 点进行如下处理在302上查看每个未处理的节点的分类以确定它是连接
9节点还是末端节点。如果该节点是末端节点,则从这些节点数据中获取下 一个未处理的节点。作为另一选择, 一旦确定未处理的节点是连接节点,
则在303上获取该节点的"端口数据",其中这些端口数据描述该连接节 点上的端口集合。对于这些端口数据中的每个端口,(在304上)确定耦 合到该端口上的节点,并且在305上根据所耦合的节点的分类对该端口进 行分类。本领域技术人员应当意识到根据一个实施例获取端口数据(303 ) 并确定哪个端口耦合到该端口上(在304上)是使用SNMP MIB信息进行的。
图4是^4居该发明 一个实施例图示说明确定新节点各自连通性的流程 图。进行到401,在这个步骤中获取"新节点的数据",描述了其各自的 连通性应当要确定的新节点,并且进行到402,在这个步骤中获取"连接 节点的数据",描述节点数据中的连接节点,对连接节点数据中描述的每 个连接节点进行处理以确定该新节点是否直接耦合到其某个端口上。为了 这么做,在403上,从连接节点数据中描述的每个连接节点获取端口数据。 这些端口数据描述直接或间接耦合到该新节点上的连接节点上的那些端 口 。直接耦合意味着该新节点是一个直接耦合到当前连接节点上的某个端 口上的末端节点。间接耦合意味着该新节点直4妄耦合到另 一连接节点上, 然而,当前的连"I妄节点熟悉该新节点的MAC地址,即当前的连接节点直接 或间接耦合到另 一连接节点上,而且经由这个另 一连接节点取得到该新节 点上的间接耦合。
对这些端口数据中描述的每个端口进行处理并在404上查看其各自的 分类。如果该端口是末端节点的端口 ,这在405上意味着新节点直接耦合 到这个端口上并因此耦合到当前处理的连接节点上。另一方面,如果在404 上确定该端口的分类为交换机间端口或交换机路由器间端口 ,这意味着该 耦合是间接的并且该流程图继续处理当前处理的连接节点上或其他连接 节点上的其他端口,查找与新节点的直接耦合。
应当意识到一旦在405上确定一个连接节点直接耦合到该新节点上, 通过将该新节点耦合到该连接节点中的端口上来确定该新节点的连通性。 开始图2上的205,将该新节点的数据、它各自的地址数据、以及新确定的 连通性数据包括在增加后的网络数据中。另外,还应当意识到一旦将一个新的连接节点连接到网络上,该新的 连接节点的至少一个端口与作为网络组成部分的一个连接节点的至少一 个端口直接耦合。然而,由于该新的连接节点的分类揭示该新节点是连接
节点,本领域技术人员会意识到图4的流程图将与其进行的耦合误差识别 为间接耦合。根据该发明一个实施例,为了克服这个问题,在404中,一 旦确定交换机间的端口或交换机路由器间的端口耦合到一个连接节点上, 还没有其他节点连在这个连接节点上,就暂时认为这个端口是末端节点的 端口,直到一个或多个新节点连接到该新的连"l姿节点的任何一个端口上。 因为连接节点通常在任何其他节点连接到网络上之前连接到其上,所以该 拓朴检测器会确定新的连接节点到作为网络组成部分的连接节点上的耦 合是直接耦合。作为另一选择,在确定该新的连接节点直接耦合到作为网 络组成部分的该连接节点上之后,立即可按规定将端口分类变成交换机间 的端口或交换机路由器间的端口 。
在另 一个实施例中, 一旦获得一个新的连^^节点已连接到该网络上的 指示,该拓朴检测器就复位这些网络数据,从而开始图2中的201。
图5是一个流程图,根据该发明一个实施例图示说明对于消失节点从 网络数据中各自去除节点数据、地址数据和连通性数据的流程图。根据该 实施例, 一旦在501上获得描述该消失节点的"消失节点的数据,,,在502 上该拓朴检测器就从网络数据中去除描述该消失节点的节点数据,在503 上从网络数据中去除描述该消失节点的地址数据,并且在504上从网络数 据中去除描述该消失节点的连通性数据。因此,进一步执行在501、 502、 503和504上描述的操作,网络数据中所有节点各自的连通性数据表示各自 的网络拓朴。
可以意识到图5的流程图是非限制性的并且会存在替代流程。例如, 由其执行的操作顺序可以改变。
图6是根据该发明一个实施例图示说明拓朴检测器101的框图,该拓朴 检测器是用来确定动态网络的拓朴的设备。根据该实施例该拓朴检测器包 括存储器件601、监测模块602、连通性确定模块603、耦合到监测模块602 和连通性确定模块603上的网络数据增加模块604 、以及耦合到监测模块602和连通性确定模块603上的网络数据去除模块605。监测才莫块602、连通 性确定模块603、网络数据增加模块604和网络数据去除模块605中每一个 都耦合到存储器件601上。
早先参照图2所述的是存储器件可以为短期存储器件(比如随机存取 存储器,RAM)或长期存储器件(比如磁盘、闪存等等)。此外,应当意 识到虽然在图中描绘了一个存储器件(601),可以有几个存储器件存在, 例如一个用来存储节点数据、 一个用来存储地址数据以及一个用来存储连 通性数据。
根据一个实施例,监测模块602能够执行图2的203。因此可以意识到, 监测模块602可以例如根据WO2005/053230来工作,在这种情况下它可以是 这里所述的网络信息收集器。
另外,根据另一个实施例,连通性确定模块603可以例如根据图4中图 示说明的流程图来工作。网络数据增加模块604可以例如通过将节点数据、 地址数据和连通性数据存储在适当的存储器件中来执行图2的205。而且, 根据一个实施例,网络数据去除模块605可以根据图5的流程图来工作。
还将理解的是根据该发明所述的设备可以为经过合适编程的计算机。 同样,该发明打算用计算机可读的计算机程序来执行该发明的方法。该发 明进一步打算用机器可读的存储器来执行该发明的方法,该机器可读的存 储器有形地实施由机器可执行的指令构成的程序。
权利要求
1. 一种用来确定动态网络拓扑的方法,对于该动态网络来说有网络数据保留,这些网络数据包含(a)描述节点集合的节点数据、(b)描述每个节点各自的MAC(媒体接入控制)地址的地址数据以及(c)描述每个节点各自的连通性的连通性数据,该方法包括循环监测该动态网络以便在每个循环期间确定从上一循环以来连接到该动态网络上的新节点,从该上一循环以来从该动态网络上断开的消失节点;通过识别各个新节点所连接的交换机中的端口来确定每个新节点各自的连通性;增加所述网络数据以包括描述新节点的节点数据、以及每个新节点各自的地址数据和连通性数据;并且从所述网络数据中去除描述每个消失节点的节点数据及其各自的地址数据和连通性数据;由此在每个循环的终点所述集合中所有节点各自的连通性数据表示各自的网络拓扑。
2. 权利要求l的方法,其中循环监测该动态网络接近实时地进行。
3. 权利要求1或2的方法,其中在循环监测该动态网络之前该方法包括通过从存储器件中读取网络数据来获取所保留的网络数据。
4. 权利要求1或2的方法,其中在循环监测该动态网络之前该方法包括通过分析该网络来确定所保留的网络数据。
5. 前面任何一个权利要求的方法,其中确定每个新节点各自的连通 性包括从这些节点数据中获取描述连接节点的连接节点数据。
6. 权利要求5的方法,其中获取连接节点数据之后,确定每个新节点 各自的连通性包括获取对所述连接节点数据描述的每个连接节点上的端口进行描述的 端口数据,这些端口数据描述直接或间接耦合到该新节点上的每个连接节 点上的端口。
7. —种计算机程序,包括当所述程序在计算机上运行时用来执行权 利要求1至6中任何一项的所有步骤的计算机程序代码装置
8. —种在计算机可读介质上实施的如权利要求7所述的计算机程序。
9. 一种用来确定动态网络拓朴的设备,该设备包括存储器件,用来保留网络数据,这些网络数据包含(a)描述节点集合 的节点数据、(b )描述每个节点各自的MAC (媒体接入控制)地址的地 址数据以及(c)描述每个节点各自的连通性的连通性数据,监测模块,用来循环监测该动态网络以便在每个循环期间确定从上一 循环以来连4矣到该动态网络上的新节点和从上 一循环以来从该动态网络 上断开的消失节点;连通性确定;f莫块,用来通过识别各个新节点所连接的交换机中的端口 来确定每个新节点各自的连通性;网络数据增加^^莫块,用来增加所述网络数据以包括描述这些新节点的 节点数据、以及每个新节点各自的地址数据和连通性数据;以及网络数据去除模块,用来从所述网络数据中去除描述每个消失节点的 节点数据及其各自的地址数据和连通性数据。
全文摘要
本发明提供一种用来确定动态网络拓扑的方法和设备,对于该动态网络来说有网络数据保留,这些网络数据包含(a)描述节点集合的节点数据、(b)描述每个节点各自的MAC(媒体接入控制)地址的地址数据、以及(c)描述每个节点各自的连通性的连通性数据。循环监测该动态网络以便在每个循环期间确定从上一循环以来连接到该动态网络上的新节点,从该上一循环以来从该动态网络上断开的消失节点。通过识别各个新节点所连接的交换机中的端口来确定每个新节点各自的连通性。增加这些网络数据以包括描述新节点的节点数据、以及每个新节点各自的地址数据和连通性数据,而从这些网络数据中去除描述每个消失节点的节点数据及其各自的地址数据和连通性数据。在每个循环的终点该集合中所有节点各自的连通性数据表示各自的网络拓扑。
文档编号H04L12/56GK101491037SQ200780027258
公开日2009年7月22日 申请日期2007年5月30日 优先权日2006年5月30日
发明者奥菲·阿金 申请人:因塞提克有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1