摘要:随着网络技术的迅猛发展,网络管理技术的相关研究也越来越得到广泛重视,传统的集中式管理方法在可扩展性、可靠性、灵活性方面存在一定的不足。基于移动Agent的分布式网络管理方案很好地解决这些问题。该文设计了基于移动Agent的分布式网络管理系统模型— — MADNMs.详细阐述了其核心拓扑算法,并对算法的性能进行了分析。 关键词:移动Agent:网络管理:拓扑算法 网络管理系统作为计算机网络体系的重要组成部分,对保证计算机网络正常高效运行,为用户提供令人满意的服务起着关键性作用 其管理能力和自身性能直接影响着网络的运行效率。 随着计算机网络规模和技术的不断发展,传统的SNMP集中式管理模式开始暴露出诸多弊端,已经越来越不能适应规模快速增长中的网络网管的需求,新型的分布式网络管理逐渐成为研究热点。移动Agent因为其具有移动性、自治性、智能性等优点,在分布式网络管理系统中得到的广泛的应用[31。 1基于移动Agent的分布式网络管理系统— —MADNMS 本文设计了一个基于移动Agent技术的分布式网络管理系统MADNMS (Mobile Agent based Distributed Network Management Sys.tern)。系统体系结构如图1所示。 用户使用标准浏览器实现对网络的管理。H,rrP引擎由嵌入在管理站的Web服务器负责提供。Web服务器负责向客户端浏览器提供的代码有两个来源:一个是由网管开发人员定制,主要负责客户端浏览器界面;另~ 个则来自应用服务器提供的网管操作的结果。Web服务器还负责将用户通过浏览器提交的网管要求传递给应用服务器。应用服务器接收并分析传递来的用户网管请求后从移动Agent数据库中定制并生成相应的移动Agent。此外应用服务器负责接收来自被管理设备的移动Agent,读取并处理其携带的网管数据,将其中一些数据存储到网管分布式数据库中,并生成脚本代码将结果传递给Web服务器。 分布式数据库存贮了被管理网络的拓扑信息以及网络的其他重要信息。网络拓扑信息是整个系统的基石,它向用户提供了描述操作对象的描述手段。同时它存储的网络重要信息可以用来实现广域网的分布式管理平台。基于移动Agent网络拓扑算法将在下文具体说明。 移动Agent经过移动Agent平台进行相应的处理后被派遣出去执行网管功能。Agent经过网络传送到被管理节点,被管节点上的移动Agent平台接收该Agent,移动Agent平台根据相应的算法要求对Agent进行处理,如转发、复制或者销毁等。移动Agent平台提供执行环境使得Agent携带的代码被执行以完成网管功能,然后将执行结果存贮于该Agent中。移动Agent根据事先安排的算法可以继续迁移到下一个被管节点,也可以迁移回网管站。 本系统中的被管理节点除了移动~gent平台外,还包括了传统SNMP/CMIP的静态代理和管理信息库,它们依然执行传统的功能。移动Agent通过与静态代理的交互实现对管理信息库信息的读写。为了提高效率,在被管理节点设计了一个分布式数据库.移动Agent把从静态代理那里获得常用的和访问频繁的网管信息使用SQL语句存储到该数据库中,这样可以提高执行效率。 从网管功能来看,网络管理的所有功能必须建立在实现网络拓扑图的前提下。从技术角度来看。基于移动Agent的网络拓扑包括了基于移动Agent网络管理的所有基本操作,如移动Agent的派生,迁移、复制、销毁等。出于以上的原因,MADNMS的拓扑算法是本系统实现的重点和难点。 2 MADNMS的拓扑算法 2.1算法系统模型系统的网络模型描述如下: 1)该网络模型是由网络节点和连接这些节点的链路组成的图状结构。 2)每一个节点具有唯一性的标识符ID(如IP地址)并提供移动Agent运行平台、可读写的数据区以及数据读写和加锁接口。该数据区存储了以下内容:错误!未找到引用源。该节点的状态字,分别为null和“visited”,当节点状态字为null时.代表该节点未被发现Agent访问,称这样的节点为处女节点;当节点状态字为“visited”,代表该节点已被发现Agent访问。错误!未找到引用源。与该节点关联的所有链路在该节点处的状态字。此类状态字有"uproad”和null,其含义在具体算法中进行介绍。初始状态下这些状态字状态为null。错误!未找到引用源。与该节点关连的链路数f;错误!未找到引用源。该节点及其邻接节点的标识信息ID。 3)移动Agent之间可以交换信息。Agent交换信息的某一个时刻瞬时是单向的,即只允许一个Agent访问另外一个Agent数据。 4)双向链路理想状态下双向传输速度相等,但是每段链路速度并不要求相等。 5)网管站可以是网络中的任意一个节点。 根据移动Agent的特点,将网络拓扑算法分为三部分,一部分是网络拓扑的发现,设计了发现Agent,通过发现Agent对被管理网络的洪泛,实现网络节点的快速发现;另一部分则是将拓扑信息送至网管站,网管站端的应用服务器利用拓扑信息生成网络拓扑图,针对这项功能,设计了报告Agent;最后一部分是网管站接受报告Agent生成网络拓扑的算法。 2.2发现Agent的算法为了保证拓扑发现的快速性,在MADNMS系统的拓扑发现中设计了一种受控制的洪泛法,具体描述如下1)发现Agent到达节点m后,将m的数据区加锁;2)如果m 的状态字为“visited”,发现Agent将数据区解锁后注销。否则发现Agent将节点状态字设为“visited”,将到达链路i在m端状态字设为“uproad”;3)发现Agent衍生出一个报告Agent,报告Agent读取m及其邻接节点的ID,并迁移至管理站驻留节点(报告Agent迁移算法在后文中介绍);4)如果f=l,发现Agent执行解锁并注销。否则发现Agent复制f_2个发现Agent;5)发现Agent随机选取j外的f_1条链路i,将复制出的f_2个发现Agent沿除i和i外f_2条链路派遣出去;6)发现Agent执行解锁后从链路i迁移,转步骤2)。 此算法的实质是将网络的拓扑图结构转成了树结构,树的根即为网管站驻留节点。节点之间的父子关系由连接节点的链路状态确定,当一段链路的两端的状态字分别为null和“upstream”,则端状态字为null,节点为父节点。由于算法采用了洪泛特性.代价很小,而且算法对洪泛的规模进行了限制,所以具有很好的稳健性。 2.3报告Agent的算法1)节点n出现报告Agent后,报告Agent首先将n的数据区加锁;2)如果报告Agent在节点n衍生,则报告Agent收集n及其邻接节点的ID,否则转步骤3);3)报告Agent检查n将其携带的拓扑信息交付给网管站,判断n是否为网管站驻留节点。如果n是网管驻留节点,则解锁n的数据区后注销,否则转步骤4);4)找到在n端状态字为“uproad”的链路i: 5)报告Agent解锁n的数据区,沿链路i上行至下一节点。转步骤1)。 本算法中.当一个发现Agent到达一个处女节点,它立亥 衍生出一个报告Agent。报告Agent携带该节点及其邻接节点的ID信息回到网管站。报告Agent返回到NMS的路由机制由upstream链路提供的信息实现。 2.4网管站获得拓扑信息的算法网管站接收报告Agent后,首先将报告Agent携带的拓扑信息存储到拓扑数据库。网管站为了确认网络拓扑信息是否被收集,检查数据库中的所有节点是否被报告Agent发现。如果发现节点都被报告Agent发现,则管理站可以生成网络拓扑图。此处设计了一个计数器用来统计数据库中尚未被发现Agent发现节点的数目。网管站每次接受发现Agent时负责更新计数器的内容,算法如下。 1)NMS将未访问节点计数器清零并向驻留节点派遣一个发现Agent。 2)NMS等待接受报告Agent。当一个报告Agent到达后,NMS读取其携带的拓扑信息。此时该拓扑信息有两部分:一部分为节点ID:另一部分为该节点邻接的节点ID。节点ID为已访问节点,邻接节点ID为未访问ID。 3)NMS更新未访问节点计数器。如果计数器为0,则算法中止,否则则转步骤2)。 2.5算法性能分析定义图G(V,E),其中V={v。,v ,v ?,v }为图G的节点集合,E={eo,e ,e。,?,e }为图G的边集合。不失一般性,取vo为NMS驻留节点。使用上述可控制洪泛法遍历图G,结果为一棵以Vo为根的生成树。其中标示为upstream的边为树的边,此树表示为T( V,E,),其中E ={e ,e ,?,e }为E的子集且e,,其中I=1,2,? ,m一1为连接节点v 与其父节点的边。定义u={v ,v ? l为生成树T的叶子节点集合。K为生成树T的叶子节点数;C。:路径e;上发送一个字节的代价;S.:从节点v。发送一个字节的消息到节点v。的代价;d :节点v.的拓扑信息的字节数;h:传输协议包头字节数;md:发现Agent的代码段字节数;m :报告Agent的代码段字节数。 算法的代价相应分为发现Agent算法的代价和报告Agent的代价两部分。 1)发现Agent算法的代价根据算法,生成树T的每个节点都需要通过被发送的一个发现Agent,所以发现T中每个节点的代价为( +卅 JΣ 。除此之外还要排除E—E 的边。对于一条这样的边,到达该边两端节点的发现Agent需要向对方发送一个发现Agent,这样,所有非生成树的边需要被两个发现Agent经过。2)报告Agent算法的代价报告Agent代价就是报告Agent携带网络拓扑消息迁移到NMS的代价。可以将其分为两部分:一部分代价是由于包头和报告Agent代码段引起的;另一部分代价则是由拓扑信息的长度引起的. 在快速算法中,发现Agent每到达一个处女节点,都会发送一个报告Agent,所以,总共衍生了n个报告Agent,考虑到NMS驻留节点不会引起发送代价.2.6小结 -- ,本算法的一大有点是避免了管理站给每个被管理节点发送Agent,管理站只要向巡游列表中的第一个节点发送Agent即可。设想,当被管节点之间的网络是高速和廉价的,而管理站和被管节点之间的网络是慢速和昂贵的,那么Agent在被管节点之间移动可以大大降低网络开销。另一方面,也可以减少网管站的工作,避免成为性能上的瓶颈。 3结束语 移动Agent独特的对象传递思想和卓越的特性给分布式计算乃至开放系统带来了极大的革新。但在移动Agent平台互操作性、安全性和容错性等方面还应加强,而且在实际应用中与传统分布式技术相比,只有在网络繁忙时,移动Agent才能体现出较大的性能优势 。 移动Agent技术在分布式网络管理中的应用仍处于研究阶段,仍存在许多问题和不足有待解决,但其应用前景广阔,有很高的使用价值和研究意义。 本文创新点:本文介绍了基于移动Agent的分布式网络管理系统— —MADNMS,对系统的结构和工作原理作了详细的阐述。对系统的核心拓扑算法作了重点的阐述,并对算法性能进行了评估。
|