第36卷 第2期 计算机工程 2010年1月 Vo1.36 No.2 Computer Engineering January 2010 ・网络与通信・ 文章编号:10o0_.-3428(2010)02__0l19__o2 文献标识码:A 中圈分类号{TP393 一种新的异构网络链路层拓扑发现算法 邓泽林,傅明,刘翌南 (长沙理工大学计算机与通信工程学院,长沙410076) 摘要:为发现异构网络拓扑结构,提出一种自底向上的拓扑发现算法。将子网内交换机子孙节点的个数按照从小到大的顺序放入队列, 依次确定队首交换机的直接父节点,并逐步删除队首交换机直到队列为空,在发现过程中处理了Hub等哑节点。测试结果表明,该算法能 获得较真实的网络拓扑结构。 关健诃:网络拓tb;异构网络;交换域;地址转发表 New Topology Discovery Algorithm for Link Layer in Heterogeneous Switched Network DENG Ze-lin,FU Ming,LIU Yi-nan (College of Computer and Communication Engineering,Changsha University of Science and Technology,Changsha 410076) [Abstract]To discover heterogeneous network topology structure,a bottom—tO—top discovery algorithm is proposed.All of the switches are put into a queue according tO the count of hteir descendants,then it keeps determining the direct parent switch of hte first element in hte queue,deleting the ifrst element until the queue is empty,the dummy nodes,such as hub,can be discovered.Test results show the algorihtm Can discover the network topology structure. [Key wordsl network topology;heterogeneous network;switched domain;Ad ̄ess Forwarding Table(AFT) 1概述 VI,A6表示端VI 的地址转发表。每台交换机有唯一的上 及时掌握最新的网络拓扑信息对于网络管理、网络安全 行端口,这个端口的AFT中包含了运行算法的工作机的MAC 研究、网络性能分析以及网络模型研究等方面都有重要的意 地址或转发工作机数据包的路由器的MAC地址,其他的端 义。目前,大多数企业级网络都是异构网络(设备来自不同厂 口称为下行端口。 商),为有效地进行此类网络拓扑发现,可使用大多数设备都 定义ForwardSet(S):交换机S所有下行端I:1的AFT记 支持的简单网络管理协议(SNMP)管理信息库” J。网络拓扑 录的交换机MAC地址集合。即从工作机出发通过交换机S 发现分为网络层和链路层拓扑发现,相对而言,链路层拓扑 所能到达的所有交换机。 发现比较困难,目前还没有成熟的拓扑发现技术和方法。国 3网络拓扑发现原理 内外针对这一难题进行了大量研究。文献【5—6】提供了链路层 获取子网内所有交换机,通过运行算法的工作机ping所 拓扑发现算法,但没有处理哑节点,而且发现过程复杂,网 有交换机,使交换机问相互学习,通过学习,各交换机的下 络负担较大;文献【7—8】提出了基于生成树的网络拓扑发现算 行端口会变得完整。生成树示例如图1所示。 法;文献[9]提出基于谓词演算的逻辑判断规则来确定设备间 的连接关系。本文在拓扑发现研究的基础上,提出了一种新 的链路层拓扑发现算法。 2相关概念 拓扑发现的目标区域称为管理域,管理域由若干个交换 域组成,交换域是管理域内直接相连的最大的交换机集合, 交换域内的交换机须遵循生成树协议(Spanning Tree Protocol, STP)。链路层拓扑发现的任务是确定交换域中节点的连接关 系。链路层中的主要设备是交换机,每台交换机都维护一张 田工作机口始机 Hub 地址转发表(Address Forwarding Table,AFT)。地址转发表的 圈1生成.寸示倒 记录格式可以简单地表示为<poa,MAC>信息对,其中,port 基金项目:湖南省自然科学基金资助项目(07JJ3 120);湖南省科技计 称为转发端1:1;MAC称为转发地址。转发端I:1为P的转发条 划基金资助项目(2006GK3068);湖南省教育厅基金资助项目 目构成一个子集,称为端I:I P的转发表。如果交换机端I:1 P (07C081) 的地址转发表中包含了该端日所能接收到的所有数据帧的 作者倚介:邓泽林(1977一),男,讲师、硕士,主研方向:进化计算, MAC地址,则称该端口的地址转发表是完整的 。 计算机网络;傅明,教授、博士;刘翌南,副教授、硕士 以 表示交换域中第i台交换机,跗表示肼的第,个接 收稿日期:2009—06—10 E-mail:zl_deng@sina.com l1‘卜一 对于图l所示生成树,当通过ping指令发送ICMP数据 包使交换机相互学习完毕后,交换机的下行端口地址转发表 AFT的情况为 A12={ 2, 3, 4} A13={S5, 6, 7} A23={¥3},A24={ 4} 每个交换机的ForwardSet集合为 ForwardSet(S1)=A12UA13={ 2, 3, 4, 5, 6, 7j ForwardSet(S2)=A23 UA24={¥3, 4} ForwardSet(S3)=ForwardSet(S4)=ForwardSet(S5)= ForwardSet(S6)=ForwardSet(S7)=cb 拓扑发现的任务是发现交换机间的连接关系,文献[10】 提供了子网内交换机端口直连的规则: 定理1在子网内,交换机端口Sij与Ski直连,当且仅 当AijfqAkl= ̄且AijOAkl=M,其中,M为子网内所有设备的 物理地址集合。 应用定理1来判断网内交换机直接相连的前提是各交换 机的上下端口都是完整的,而按照图1所示的过程,将工作 机固定在一台交换机上去ping网内所有交换机的过程,只能 保证交换机的下行端口是完整的。如果要保证交换机的上行 端口也完整,则必须将工作机连接在网内各交换机上ping网 内所有交换机,这显然加大了拓扑发现的难度。 如果利用生成树自底向上的过程来进行拓扑发现,则可 以避免定理1的苛刻条件。文献【11]提供了一种自底向上进 行分析的算法。其基本思想是:设默为叶节点,如果存在 Aij={Sk},则 与Ski直接相连,然后剪切叶节点 ,使 成为叶节点继续进行分析,直到生成树为空。 本文将文献…】提到的连接规则进行延伸,避免对生成 树进行剪切,同时考虑到网络中可能存在Hub等哑节点,为 了处理这些问题,弓I入交换机相连的概念。 引理1 在生成树中所有交换机下行端口完整的条件 下,对于下行端口 ,如果关系AijD{Sk}uForwardSet(Sk) 成立,则sij与Skl相连。 证明:因为生成树中各交换机下行端口是完整的,且 AijD{Sk}uForwardSet(Sk),说明通过端口 可以到达 及 龇的子孙节点,从 出发必有一条路径可以到达 ,所以 与Ski相连(直接或间接)。 引理2在交换机下行端口完整的生成树中,如果 是 的子孙节点,则IForwardSet(Si)l>lForwardSet(Sk)l。 证明:由交换机下行端口完整性易证,证略。 定理2 生成树中所有交换机的下行端口是完整的,且 子网内交换机按照IForwardSetl从小到大放入队列中。对于队 首元素 ,在队列中从 的位置后开始查找到第一个满足 条件AqD_{SkluForwardSet(Sk)的端口sij,则此端FI sU与Ski 直接相连(如果 与Skl通过Hub等哑节点相连也认为是直 接相连)。 证明:(反证法)如果 为第一个满足条件的端口,但并 不与Skl直接相连,则必有Smn与Skl直接相连,其中,Sm 在队列中的位置位于 之后,因此,有IForwardSet(Sm)l≥ IForwardSet(Si)l。由于交换机下行端口完整,且AijD{Sk}U ForwardSet(Sk),根据引理1可知, 与Skl相连,因此在生 成树中存在一条从 到Skl的路径path,由生成树的特点易 知Sm必处于路径path上,即Sm是 的子孙节点,依引 理2有IForwardSet(Si)l>lForwardSet(Sm)l,与假设矛盾,得证。 4链路层拓扑发现算法 基本思想:应用定理2,将子网内交换机按照IForwardSetl 从小到大放入队列,取队首交换机 七,从队列中删除 ,依 次检查队列中其他交换机,找到第一个满足引理1的端IZl sO, 确定 与Ski直接相连,再取队首,继续进行判断直到队列 为空。图2是对图1所示的网络进行发现的过程。 圆 圈2拓扑发现过程 由图2可知,由于哑节点缺乏SNMP管理信息,因此在 交换机的AFT中没有相关信息,导致多个交换机直接连接在 一个端121上,这是与事实矛盾的情形。因此,在拓扑发现的 过程中,如果发现这种情况,则添加哑节点Hub。完整的拓 扑图如图3所示。 圈3完整的拓扑图 算法描述如下: Stepl将网内交换机按照[ForwardSetl集合从小到大排 序,放入队列Queue中。 Step2如果Queue=O,转Step5;否则取队首元素 , 并从Queue中删除 ,转Step3。 Step3从左遍历队列中的每个元素,找到第一个满足引 理l的端I=l ,如果 没有与其他设备相连,则置 与 Ski相连,否则, 已与其他设备S相连,则: (1)如果 为交换机,则添加哑元Hub,置 与Hub相 连,Hub与S,Skl直接相连; (2)如果S为哑元Hub,则Ski与 直接相连。 Step4转Step2。 Step5绘出拓扑图,算法结束。 5测试与分析 应用该算法测试了一个异构网络,该网络的设备来自 Cisco、华为等设备提供商,并且网络中存在Hub等哑节点, 得到如图4所示的拓扑图。可以看出,该算法能够发现比较 真实的网络拓扑结构,具有一定的实用性。 [二]交换机z Hub 图4算法发现的拓扑图 (下转第123页) 4安全路由 4.1问题描述和博弈模型 由于网络不可避免有一些恶意的参与者,其目标函数是 小于风险厌恶的值。再根据中心极限定理,则有: of 』{ X √ l d-YijP≤ :,jp(1一 ) (6) 。 其他参与者的能量消耗。因此,假设每个攻击者拥有一个合 10其他 法的身份,目标是激励自私的参与者尽可能多的合作。 其中,jOi表示 对 的行为认识,若jOi=1表示 认为i的 另外,当一个节点帮助其他节点传递数据时,数据或许 行为良好,相反则认为i为恶意参与者。在选择路径的过程 会被丢掉,或许有网络的干扰,或许因为中间节点中的恶意 中,要避免恶意参与者。 行为。用1-p表示因为网络干扰包丢失的概率。另外假设某 5结束语 些基本的监控协议,例如在文献【2—3]中介绍的,都已被启 本文运用博弈理论分析了移动自组网中的安全合作机 动了,即源节点能够知道他传递的数据包是否被成功的传递 制。除了自私的行为,也考虑了可能的攻击及设计击的 给目的节点,并且能发现是谁丢弃了他的数据包。 合作激励机制,使网络最优化。分析了博弈的纳什均衡,及 为了从形式上更好地分析在网络中的合作和安全问题, 基于网络的公平性提出的解。通过对比发现,根据Shapley 对二人通信合作博弈加入了一些新的因素: 值的分配方案能激励二人通信博弈的参与者合作,并且能使 (1)参与者:网络中的有限用户Ⅳ。 网络最优化。为了更好地运用分析结果,本文考虑了选择路 (2)类型:每一个参与者i(i∈Ⅳ)都有一个类型 ∈0,其 径问题,分析怎样辨别出网络传输失败的原因,找出并尽量 中0={自私的,恶意的}。Ⅳ 表示自私的参与者集合, 避免经过恶意节点。 Nm=N—N 表示内部攻击者的集合。 4.2安全路由 参考文献 下文分析如何分辨一次失败的传递过程是由于参与者的 【1】Yu Wei,Liu K J R.Game Theoretic Analysis of Cooperation 恶意行为还是网络的干扰问题造成的。 Stimulation and Security in Autonmous Mobile Ad Hoc 将网络干扰问题造成的包丢失用二项分布来描述。设当 Networks[J].IEEE Trnasactions on Mobile Computing,2007,6(5): 459—473. 前节点i为节点 ( ≠ )传递的数据包个数为X ,而 要求i [2】Yu Wei,Sun Yan,Liu K J R.HADOF:Defense Against Routing 为其发送的数据为’:.,,网络的稳定概率为P,由中心极限定 Disruptions in Mobile Ad Hoc Networks[C]//Proc. of 理L4J,Vx∈R ,有 INFOCOM’05.Miami, Florida,USA: IEEE Press,2005: lim P{ 三 ≤ }: ( ) (5) 1252—1261. √ √p(1一p) [3]Yu Wei,Liu K J R.Attack—resistant Cooperation Stimulation in 1 一£ Autonmous Ad Hoc Networks[J].IEEE Journal on Selected Areas 其中, ( )= __f e 0dt。 in Communication,2005,23(12):2260—2271. 把网络中的自私节点分为3种类型:风险中立,风险厌 [4]Felegyhazi M,Hubanx J Buttyan L.Nash Equilibria of Packet 恶,风险偏好。参与者会根据自身的情况,选择一种适合自 Forwarding Strategies in Wireless Ad Hoc Networks[J].IEEE 己的类型,确定出 ( )的值,从而计算出X的值。很明显风 Transactions on Mobile Computing,2006,5(5):463—476. 险偏好的参与者确定的 值小于风险中立者确定的 值,且 编辑金胡考 (上接第120页) 该算法相对于文献【5—6]的算法具有以下优点:(1)算法发 [4]Stallings W SNMP,SNMPv2,SNMPv3,and RMON 1 and 2[M】. 现过程仅要求下行端口完整,减少了交换机的学习时间,减 【S.1.]:Addison—Wesley Longman,Inc.,1999. 少了网络流量,提高了算法效率;(2)运行算法的工作机只需 【5刘玉华,余胜生,周敬利,等.基于AFT的链路层自动拓扑发现 5]置于网络的一个节点上,方便了网络管理;(3)处理了哑节点。 算法[J】_小型微型计算机系统,2004,25(12):2211—2214. 6结束语 [6]蔡伟鸿,舒兆港,刘震.基于SNMP协议的以太网拓扑自动发 本文在拓扑发现研究的基础上,提出一种新的链路层拓 现算法研究fJ1.计算机工程与应用,2005,41(14):156—160. 扑发现算法。该算法要求下行端口完整,会因为交换机的老 【7】杨婷,裴喜春,周根宝.异构以太网物理拓扑发现的简单算 化时间而受到很大,因此,该算法比较适用于中小型网 法【J】.计算机工程,2007,33(1 1):103—104. 络。作为一个完整的算法,下一步还应考虑VLAN、动态网 【8】郑海,张国清.物理网络拓扑发现算法的研究【JJ.计算机研究 络等情形。 与发展,2002,39(3):264—268. 参考文献 【9】孙延涛,吴志美,石志强.基于地址转发表的交换式以太网拓扑 【1】李延冰,马跃,王炜,等.基于生成树的链路层拓扑发现算 发现方法【J1.软件学报,2006,17(12):2565—2576. 法[J]_计算机工程,2006,32(18):109・113. [10】Breithart Garofalakis M.Topology Discovery in Heterogeneous [2】张伟明,罗军勇,王清贤.网络拓扑可视化研究综述[J】.计算机 IP Networks[C]//Proc.of IEEE INFOCOM’00.Tel Aviv.Israel: 应用研究,2008,25(6):1606—1610. 【S.n,],2000. [3】Lowekamp B,O’Hallaron D R.Topology Discovery for Large [1 1]Breitbart Garofalakis M,Jai B,et a1.Topology Discovery in Ethernet Networks[C]//Proc.of ACM S1GCOMM’01.San Diego, Heterogerneous IP Networks:the Netlnvertory System[J].1EEE/ CA,USA:Is.n.1,2001.’ ACM Transactions on Networking,2004,12(3):401—414. 编辑顾姣健