资源描述
一种分布式网络管理系统结构 摘要:抽象了网管系统中的主要管理元素,在此基础上给出了一种基于管理设备骨干树的分布式网络管理系统的实现。临时选举的主席根据骨干树对管理域进行自动划分,并由管理设备骨干树上的多管理设备使用简单的路由机制协同工作,完成大型网络管理几大功能域的需求,如分布式拓扑发现、多管理设备间多性能任务调度和故障通报等。 下载论文网关键词:分布式系统;网络管理; 任务调度中图法分类号:TP39302文献标识码:A文章编号:10013695(2007)01030904集中式网络管理系统体系结构不能满足大型网络中实现故障、配置、计费、性能及安全管理(Fault, Configuration, Account, Performance, Security, FCAPS)等网络管理五大功能域的需求,将原有单管理者模式改为多管理者协同工作的分布式或层次式计算模式,从而在大型网络中实现FCAPS是分布式网络管理的目标。分布式网络管理体系结构的不断改进,必须更多地借助于现有的成熟分布式算法。而网络中相关性流量大部分均集中在小范围区域内,所以分布式网络管理系统将网络划分成多管理域,由一台或多台管理设备构成可并行计算的集群,使其充分保证了一个域内的管理计算能力和性能扩展需求。而不同域内的管理设备,在日趋庞大的网络中形成了一个类P2P的骨干结构,通过协作完成对大型网络甚至是Internet的监控和管理功能。本文介绍了网络环境下各主要管理元素的基本概念,给出了分布式管理体系结构中实现主要几个网络管理功能域的基本算法,及算法的数据基础,如P2P形态管理设备的骨干树路由表等,以及组织这些数据时对同步、选举等的考虑,并分别给出了算法性能的分析比较和进一步的研究方向。?1基本概念?11管理域?假设设备D为设备编号和设备属性集的二元组,使用表示,则D_SET表示设备D的集合。假设L是链路两端设备编号和链路属性的三元组,使用表示,则L_SET表示链路L的集合。L可简化表示为D_ID?1D_ID?2或者D_ID?1D_ID?2, 前者表示设备间的单向路由,物理层的直接链路则使用后者表示,如果D_ID?1和D_ID?2相邻,则L更多体现在物理层的直接连接,否则更多体现在逻辑上的连接。?设备集合和链路集合组成被管理网络N使用来表示,N也可以看作整网的逻辑视图。对N来说,其D_SET的某个子集及子集中设备相关的链路集合组成的逻辑视图是N的一个子集,称为N的一个管理域MN,显然N可表示成MN的集合MN_SET。?12管理任务?管理任务MT是一系列指令的序列,是完成某项网络管理功能的算法实现,指令的粒度可以为服务级、函数级或程序语言实现中单行的代码。其形式有伪代码、文本、形式化描述或高级语言等。?13管理进程和管理设备假设管理消息集合为M_SET,E_SET是一组包含消息传递和申请资源的过程的事件集合,则服务S(MT,M_SET, E_SET)表示基于M_SET和E_SET的集合完成管理任务MT的过程,服务的集合称为管理进程MP。管理进程、设备和链路如图1所示。?如果在某D上可定制管理一定规模MN的进程,则称其为管理设备MD。MD需要可自由操纵的内存区,管理进程可以以Mobile Agent等进程方式直接在其上运行,路由器、交换机可编程性较差,不适合作为MD。管理进程在网络中搜索邻居MP,从而获得邻居MD的路由,除了邻居MD集合,管理进程还维护着MN的逻辑视图。?图1管理进程、管理设备和链路14管理知识?管理进程维护的MN逻辑视图,管理任务以及其他管理进程位置等网络管理中有用的信息,统称为管理知识。?2分布式网络管理系统对管理功能域的实现?多个MP协作完成分布式管理任务的前提是建立整网范围内MD骨干树,在此基础之上完成分布式的配置管理、性能管理及故障管理等。?21配置管理分布式拓扑发现?拓扑结构发现任务MT_CONF_DISCO是配置管理的核心任务,是多管理进程协作发现MD骨干树,并使用三层和二层连接关系1发现整网拓扑结构的算法,分为如下两种情况:?(1)情况1?在支持SNMP的网络中,选定默认网关作为入口路由器,加入待探测列表中,探测列表首部路由设备获取其路由表,把路由表中下一跳路由器加到探测列表尾端,直连的子网则进入步骤探测。?使用ICMP探测主机和二层交换设备列表,通过IP欺骗使所有二层设备FDB加入所有其他二层设备的连接MAC地址,通过间接和直接连接关系计算交换设备间 1、交换设备与主机间、交换设备与路由器端口间的链路。如果该子网中存在MD,进入步骤,否则继续步骤。?把MD加入邻居MD集合,保存到该MD路径上所有路由器间的链路集合,并向该MD发送启动探测消息,交换发现的MD邻居等管理知识。?选举主席,由主席调用MD骨干树算法建立所有MD的路由,并使用管理域划分算法获得截断(第3节将详细讨论)。使用截断剪裁原来已探测和未探测的三层设备集合。?(2)情况2?在支持SNMP不完全的网络中,所有MD必须已知,且在目标种子集合中,使用TRACEROUTE方式探测所有目标种子集合中设备;?建立MD骨干树,调用管理域划分算法,获取管理域截断约束;?使用情况1中步骤、步骤继续扩散,尽量完成各管理域的探测。?上述算法是一种深度优先的搜索方法。在超大型网络中存在耗时过长的问题2,当MD搜索到其他MD时应该中止探测。为确保所有MD连通,在MD数目小于预期数时需要继续探测,或通过手动添加MD到MD的路径。当在超大型网络中无法知道MD数目时,也可通过探测跳数限制管理域的无限扩散问题。?22性能管理分布式性能数据采集? 性能管理任务MT_PERF_MONITOR基于拓扑发现结果监测管理域中某台设备的性能状态,如在支持SNMP的网络中,对单台设备的性能管理任务可由管理协议、管理OID、基于OID性能指标计算公式的一个三元组表示。性能管理任务也可能需要监控管理域甚至整网健康状态,因此需要分成多个子管理任务,在多个MD上协同完成。可见多MD协作完成性能管理任务的问题是分布式网络性能管理中的重要问题,描述如下:?23故障管理?集中式故障管理使得所有故障事件汇报的目标均指向管理者,一旦网络中出现大量的异常事件,在管理者的接收入口很容易造成拥堵甚至丢弃。在分布式网络管理中,往往由MD来接收管理域内的实时故障告警,而全网故障信息的搜集可以由MD将压缩的故障信息上报主席,使用Mobile Agent机制使得主席可以调用故障搜集管理服务,该服务派遣的Mobile Agent实体将以前序方式遍历MD骨干树,称为一次环游。下文给出另一种按照故障发生概率的MD骨干树环游方法。?3管理进程的协调? 与自由的P2P节点间通信不一样,管理任务的发起可以是任意一个MD,但控制需由主席来完成,任务的事务原子性和执行同步必须得到保证。下面讨论各管理进程完成分布式算法的协作问题。?31骨干树上的MD路由构造?每个MD都必须查找截断设备以确定管理域边界,并最终构造到其他MD的路由。获得MD骨干树知识即构造MD路由表的过程简述如下:?(1)假设初始情况为网络中已经有n个MD,为集合MD?i,i=1,n,每个MD已有的MD路由表中路由选项和分别表示到目的MN或目的MD的下一跳MD的IP地址,路由表是完全的,即MD必须了解整网中所有其他MD的位置。?(2)当一个新的MD加入时,它在使用拓扑搜索算法探测网络拓扑结构时,查询网络设备是否为已存在的MD,如果查询到一台MD,则获取该MD(称为接口MD)所有路由选项,并把新路由选项发给所有其他MD。?(3)新加入MD发起一次MD路由更新。更新过程为各MD使用TRACEROUTE方式获得路由表中其他MD的实际路径R?1,R?iMD?2集合,并提交给选举出的主席,主席获得如图2中全网所有MD带有向边的管理设备骨干树。?图2根据截断划分管理域按照跳数半数加1的准则能保证所有的三层设备都被划分入某个管理域,但可能出现图3中管理域视图重合的情况,此时由主席对其中一个MD管理域进行剪裁。?(6)如果所有MD构成一棵树,可采取下述截断方式直接避免管理域间的重合,MD树中节点度数最大为n,对任一度数为n的节点,如果该节点的一边连向的子图中存在MD,则在该节点的余边中截断所有满足下列条件的边,即该边连向的子图中也存在MD,对截断后的所有子图递归使用上述准则截断,如果某个子图只剩下一个或者多个显式指定管理同一管理域的MD(如图2中MD?4.1和MD?4.2)则中止递归。?(7)主席根据截断连接的两个管理域的相邻关系重新计算MD路由项,与截断条件一起发给MD,MD刷新路由表,骨干树建立和管理域的划分过程结束。?定理:上述算法按照步骤(5)中的截断肯定保证所有管理域的并集覆盖整网。?证明:如果该设备在骨干树上,则根据跳数准则很明显应属于某个管理域;如果该设备不在骨干树上,假设它未被任何管理域覆盖,其必与骨干树上的某两个管理点的探测路径形成交叉,如果该设备到交叉点没有截断,必然能从交叉点设备继续探测直到未被覆盖的设备;而截断只能出现在管理点与管理点之间,该未被覆盖设备在交叉点的另一端必然有管理点,假如有管理点,必然和交叉点延一端的任意一个管理点之间形成探测路径,即该设备在骨干树上,与前提条件矛盾!?32主席选举, 任务的事务性和容错性?MD骨干树建立初采取IP最大方法确定临时主席,也可使用如欺负算法3等。MD独立管理每个管理任务的事务ID,通过设置Checkpoint保存事务发生前的状态,如果事务被中断,所有MD进行回滚;当不同的服务对资源的竞争产生死锁时,采取的中止进程方法也会产生回退。主席维持一定的任期,以心跳方式通告MD自己存活,如果某MD在一段时间内没有接收到心跳,有权重新发起选举。当主席在通告存活时检测到某个MD死亡,重新调用骨干树生成服务,此时自治域可能出现调整或接管。?33服务化控制协议?所有的通信原语和任务均转换成服务形式,可以屏蔽设计和解析控制协议的弊端,同时每个服务作为一个事务以维持原子性。以ICE4作为服务通信的中间件,使用ICEPACK作为一个域内服务注册、查询的命名服务器,MD相当于命名服务器,因此搜索MD相当于搜索该命名服务器注册表。?4比较?在北京航空航天大学软件开发环境国家重点实验室内搭建了如下支持SNMP的实验网络。该拓扑结构如图4所示。 从表1看到,MD不但发现服务中需进行ICEPACK注册表搜索,比一般拓扑发现方法ICMP和SNMP请求返回超时长,所以速度略慢,而且发现时间受路由表影响较大,如获取R?6路由选项顺序为,则MD?1发现MD?3将是十分漫长的过程,好在MD?3发现MD?1较快,因此当管理人员对网络骨干有初步认识时,最好参与MD骨干树发现过程,而后续发现中较小MN内并行搜索的速度优势较明显,因此建立全网逻辑视图的时间还是比较快,这点在更复杂的某大型网络中得到验证。MD上的近似执行时间如表2所示。近似通信时间矩阵如表3所示。表1根据网络中MD数目的先验知识拓扑搜索的结果5进一步研究方向?MD骨干树使用比较简单的MD路由表,解决管理站间的通信问题,并使用一定的截断准则比较均匀地自动划分管理域。基于管理站骨干树的在实际大型网络中的应用表明,并行的拓扑搜索效率比集中式提高很多,抽象了多管理站多性能任务的调度问题,管理站获取管理任务的概率优先则适用于故障环游机制。如何在更大规模网络中,提高MD骨干树的组建效率,并在MD失效后的重构,从而使分布式网络管理更鲁棒和更高效协同工作是进一步研究的方向。?参考文献:1Breibart Y, et al. Topology. Discovery in Heterogeneous IP NetworksC. Tel Avivl Israel:Proceeding of INFOCOM 2000,2000.2Clarke I, Sandberg O, Wiley B, et al. Freenet: A Distributed Anonymous Information Storage and Retrieval SystemC. Workshop on Design Issues in Anonymity and Unobservability,2000.2531.3Andrew S Tanenbaum. Distributed Operating SystemsM. USA: PrenticeHall, Englewood Cliffs, NJ 07632,1995.4ICE Reference ManualEB/OL. http:/www.zeroc.com/download/Ice/2.1/Ice2.1.2.pdf,2005.
展开阅读全文