基于混合探测技术的网络拓扑发现和自动布局方法及系统的制作方法

文档序号:7815803阅读:180来源:国知局
专利名称:基于混合探测技术的网络拓扑发现和自动布局方法及系统的制作方法
基于混合探测技术的网络拓扑发现和自动布局方法及系统技术领域
本发明属于互联网中的网络管理和控制领域,具体涉及一种基于混合探测技术的网络拓扑发现和自动化布局方法。
背景技术
计算机网络作为信息社会的基础设施已经渗透到社会生产生活的方方面面,对人类生活方式和工作方式产生了巨大的影响。但是与此同时,网络规模的扩大使得网络拓扑越来越复杂;为了更好地管理网络,首先很有必要快速的自动发现网络的拓扑。而且由于网络节点过多,所以如何直观简单的布局网络拓扑,也是网络管理中一个必须要解决的问题。
简单网络管理协议(SNMP)是一个管理者和代理之间通信的标准,提供了一种访问由任何厂商生产的任何网络设备,并获得一系列标准值的一致性方式。它是专门设计用于在IP网络管理网络节点的一种应用层协议。SNMP提供了一种从网络上的设备中收集网络管理信息的方法,本发明中主要用到其中的管理信息库(MIB) ;MIB是由网络管理协议使用并维护的网络管理信息数据库,它定义了一系列对象组,这些信息组包括了网络拓扑发现的重要信息。由于SNMP具有简单、灵活、扩展性好、开销小、易于实现等优点,很快得以普及,并已成为事实上的工业标准。目前流行的绝大多数的拓扑发现方法都是基于SNMP的。
Internet控制报文协议(ICMP)是一个用于在IP主机、路由器之间传递控制消息的协议。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。Ping 是ICMP中用于探测网络中主机连通性的重要工具,几乎每种拓扑发现算法都不同程度地使用它。
地址解析协议(ARP)是用于将计算机的网络地址转化为物理地址的协议,一般网络设备都支持它,即网络设备上维护着一张ARP表,保存了与它直接相连的活动主机,因此也被广泛应用于拓扑发现算法中。
发现被管理网络拓扑需要分两步进行第一步是逻辑网络拓扑发现,即发现该网络的网络设备间的连接关系,以及网络设备与子网的连接关系;第二步是发现每个子网中的活动主机。上面所述的3个协议中的SNMP协议是用来实现第一步的;而ICMP协议和ARP 协议是用来发现子网中的活动主机的。ARP协议虽然高效快速,但是实时性却不好,不能实时的删除已经关闭的主机,也不能及时的加入新加入子网的主机。相反,ICMP协议却可以探测所有正在活动的主机;为了提高发现效率,给被管理网络中的每个逻辑子网安装一个采集机。
目前网络拓扑布局算法主要有以下几种树形布局算法、环形布局算法、启发式布局算法、随机建模布局算法、基于斥力张力模型的布局算法以及基于抽象点的布局算法。但是从算法的效率和布局的效果等方面因素来看,以上算法都不能很好的达到效果。因此,一种层次分明、直观显示、算法简单高效的广度优先环状树布局算法得到了实现。发明内容
为了克服上述现有技术的不足,本发明的目的在于提供了一种基于混合探测技术的网络拓扑发现和自动化布局方法,可以快速高效的自动发现被管理网络的拓扑,并很好的将拓扑布局显示给网络管理人员。为了实现上述目的,本发明采用的技术方案是一种基于混合探测技术的网络拓扑发现和自动化布局系统,包括逻辑拓扑采集机M,为被管理网络中的一台服务器,通过获取与其直连的路由设备的SNMP协议提供的信息,发现整个被管理网络的逻辑拓扑,并将发现的路由设备间的连接以及路由设备与子网的连接信息存储到数据库服务器DB中;分布式信息采集机Cl,C2,…,Cn,通过ICMP中的ping工具来发现子网中的活动主机,并将子网中的活动主机与路由设备间的连接信息存储到数据库服务器DB中,η为信息采集机的数量且η大于1;数据库服务器DB,用于存储被管理网络的拓扑数据,同时也是组成基于SNMP和 ICMP的拓扑自动发现和布局系统中各构件之间的接口 ;Web服务器WS,数据库服务器DB交互,获取数据库服务器DB中的拓扑,执行拓扑布局算法,将被管理网络的拓扑布局;浏览器BS,与用户交互,向作为网络管理人员的用户提供人机交互界面,将Web服务器WS的布局结果提供给网络管理人员。基于以上系统,本发明还提供了一种基于混合探测技术的网络拓扑发现和自动化布局方法,包括以下步骤步骤1,利用逻辑拓扑采集机M通过SNMP协议获取被管理网络的路由设备间的连接以及路由设备与子网的连接关系,并将所有的连接关系存储到数据库服务器DB中,所述逻辑拓扑采集机M为被管理网络中的一台服务器;步骤2,利用η个分布式信息采集机C1,C2,…,Cn,根据步骤一获取的路由设备的子网信息,获取所有子网中的所有活动主机信息,并将所有活动主机与路由设备间的连接信息存储到数据库服务器DB中,其中η大于1 ;步骤3,利用Web服务器WS获取数据库服务器DB中的拓扑,执行拓扑布局算法,将被管理网络的拓扑布局后通过浏览器BS提供给网络管理人员。所述步骤1中,连接关系的获取通过以下步骤完成步骤1. 1,先定义如下几个数据结构用于表示路由设备的数据结构Router、用于表示子网的Subnet、用于存储网络中所有路由设备信息的AllRouters队列、用于存储未访问的路由设备队列AccessRouters和用于存储所有子网的Subnets队列,并初始化所有的队列为空;步骤1.2,所述逻辑拓扑采集机M通过执行ipconfig命令获取与其直接相连路由设备的ip,通过配置文件获取被管理网络中所有的路由设备的community集,其中 community是用来访问路由设备SNMP协议提供的信息的密码,将该路由设备的信息加入 AllRouters队列和AccessRouters队列,并存入数据库服务器DB ;步骤1. 3,将与逻辑拓扑采集机M直连的路由设备从AccessRouters队列中出队, 并用ip和community获取该路由设备的MIB中的信息,可以得到与该路由设备相连的所有的其他路由设备或者子网的信息,对应地加入AllRouters、AccessRouters和Subnets队列,并将这些信息以及路由设备间的连接信息和路由设备与子网的连接信息存入数据库服务器DB中;
步骤1.4,给AccessRouters中所有的路由设备执行步骤1.3,如此往复直至 AccessRouters中为空,即可以发现被管理网络中的所有路由设备之间的连接关系以及路由设备与子网的连接关系。
所述步骤2中,活动主机信息的获取通过以下步骤完成
步骤2. 1,定义用于存储网络中所有路由设备信息的AllRouters队列,每个分布式信息采集机Ci,从AllRouters中取出它所负责采集的所有路由设备的所有子网信息,其中 i e (1,2,3,……,η);
步骤2. 2,各个分布式信息采集机Ci用ping工具来发现所有子网中的活动主机, 并将活动主机与路由设备的连接信息存入数据库服务器DB中,其中i e (1,2,3,……,η);
步骤2. 3,重复上述步骤,直至所有的分布式信息采集机Ci停止采集,整个被管理网络的拓扑就已全部存入数据库服务器DB中。
所述步骤3中,执行拓扑布局算法并将被管理网络的拓扑布局具体通过以下步骤完成
步骤3. 1,设拓扑布局中的路由设备以及子网图标半径大小为r,Web服务器WS从数据库服务器DB中取出被管理网络的入口路由设备Rin,以Rin为起始执行广度优先搜索算法,得到一个以Rin中心、其他路由设备环绕Rin的广度优先环状树拓扑布局,深度为d, 其中Rin为树根,即O层,再定义以下变量对于1彡k彡d,k-Ι层的所有路由设备中直连π R的接口数目最大为Nk,根据Sin7r^f可以得到一个较为合适的Rk,其中Rd+1 = r ;Nk Kk
步骤3. 2,在浏览器BS的屏幕中央画出一个大小为r的路由设备图标,代表Rin, 把与Rin直连的所有路由设备或者子网布局在以该图标为中心,以札为半径的圆环上;
步骤3. 3,同理,把第2层上所有的路由设备也以该路由设备为中心,R2为半径来布局与该路由设备直连的所有路由设备或者子网图标;
步骤3. 4,同理,布局好所有层的图标;之后再查询数据库服务器DB把路由设备或者子网之间的其他连接也画在拓扑图上;
步骤3. 5,将每个子网中活动的主机与子网之间用星形方法连接起来;在上述步骤的基础上得到了所有的路由设备之间的相连和路由设备与子网的相连,而每个叶子节点都代表的是一个子网,当点击这个子网图标时,就可以显示出该子网中所有的主机与路由设备呈星形连接的布局。
与现有的网络拓扑自动发现和布局方法相比,本发明所述的技术方法,首先能够通过SNMP和ICMP协议实时采集,能够更直接反映当前网络拓扑,实时性更好;环状树布局算法可以层次分明、直观、简单高效地将被管网络拓扑显示给网络管理人员;网络管理人员快速了解网络的状况以后,就可以采取相应的行动使网络达到想要的效果。


图1为根据本发明技术所构建的拓扑自动发现和布局系统的示意图。
图2为本发明的基本流程图。6
图3为本发明基于SNMP的逻辑网络拓扑发现流程图。图4为本发明拓扑布局算法的流程图。图5为本发明拓扑布局的一个示例图。图6为本发明拓扑布局算法的一个应用实例图。
具体实施例方式下面结合附图和实施例对本发明做进一步详细说明。如图1所示,为本发明基于混合探测技术的网络拓扑发现和自动化布局系统。逻辑拓扑采集机M负责实时采集路由设备间的连接信息和路由设备与子网的连接信息;信息采集机Cl到Cn负责实时探测出所有子网中活动的主机,出于性能考虑可以采用分布式的采集方式;数据库服务器DB负责存储数据同时也是系统各组成构件之间的接口 ;整个管理系统通过Web服务器WS提供给管理人员以良好的人机交互界面。图2是本发明的基本流程图(1)获取与M直连的路由器的IP和community集;(2)逻辑拓扑采集机M通过SNMP协议采集路由设备间的连接和路由设备与子网的连接并存入数据库DB中;(3)分布式采集机(Cl,…,Cn)实时采集所有子网中活动的主机并存入数据库 DB ;(4) Web服务器WS运行布局算法计算出布局结果;(5)浏览器BS将布局结果显示给网络管理人员。整个过程都是周期性启动的,周期由用户设定。图3是基于SNMP的逻辑网络拓扑发现流程图(1)获取与M直连的路由器的IP和community集,其中community集是被管理网络的所有路由器的SNMP访问密码;(2)访问该路由器的MIB库,获取该路由器的基本信息,基本信息用于生成Router 对象实例;(3)将该路由器插入 AccessRouters 禾口 AllRouters 队列,其中 AccessRouters 是未访问的路由器队列,AllRouters是已经发现的全部路由器的队列,以防重复访问路由器;(4)取出AccessRouters中的一个路由器R,获取R的所有接口的连接信息;(5)将R接口连接的子网的子网信息都插入Subnets队列,并记录R和子网的连接信息以及Subnets信息到DB中;(6)把R接口连接的是路由器的,而且没有在AllRouters中出现的路由器信息插入AllRouters和AccessRouters队列中,并记录R和路由器的连接信息;(7)判断AccessRouters是否为空,如果为空算法结束,不空则跳转去执行第

少ο图4是本发明拓扑布局算法的流程图(1)初始化要布局的路由器和子网图标的半径均为r,两者的图标也可以不同,但是为了布局美观,两者图标半径均设为r ;
(2)以被管理网络的入口路由器Rin为起始执行广度优先算法,得到一个深度为d 的多层环状树形的布局,Rin记为0层,初始Rd+1 = r,然后对于1彡k彡d中所有的k,可以π R得到k-1层所有路由器直连的接口数目最大为Nk,根据可以得到一个较为合适Nk Kk的&,初始k = 0 ;
(3)判断k是否大于d-Ι,不大于则继续,否则跳去执行(6);
(4)对于k层所有的路由器R,把与R相连的路由器或者子网的图标以R为圆心、 Rk+1为半径布局;
(5)k++,跳到(3);
(6)再查询DB把路由器或者子网之间的其他连接也画在拓扑图上;
(7)每个子网中活动的主机与该子网的路由器呈星形连接,当网络管理人员要查看子网内活动的主机,点击子网的叶子节点即可。
图5为本发明拓扑布局的一个示例图,图中的所示拓扑中参数d = 2,r为已知,N1 =4,N2 = 3,由此可得仏和队。图中白色的实线小圆圈是路由器图标,黑色小圆圈为子网图标。图中最中心的图标代表入口路由器Rin,它连接4个路由器,而这4个路由器分别与 3个子网相连。下面以布局Rin周围的4个路由器图标为例来介绍如何布局一个路由器和与它相连的子网或者路由器。
对于Rin有η个路由器与它相连,其中η = 4,已知Rin图标的圆心为(centerX,centerY),布局半径为礼。则对于这4个路由器图标的计算如下2π
Xi = centerX + R1 cos(——/)η2π
Y1 =CenterY + R1 sin(—/),其中 1 < i < 4η
同理可以布局整个被管理网络的拓扑。
图6为本发明拓扑布局算法的一个应用实例图。是一个深度d = 4,r = 8,N1 = 4,N2 = 4,N3 = 4,N4 = 8,R1 = 240,R2 = 120,R3 = 50,R4 = 20, R5 = r = 8 的应用实例, 其中非叶子图标代表路由器等网络设备,叶子图标代表子网;线代表网络设备与网络设备之间的连线或者网络设备与子网的连线。通过该图可以发现,本发明的拓扑布局算法达到了层次分明、直观布局的效果。
权利要求
1.一种基于混合探测技术的网络拓扑发现和自动化布局系统,其特征在于,包括逻辑拓扑采集机M,为被管理网络中的一台服务器,通过获取与其直连的路由设备的 SNMP协议提供的信息,发现整个被管理网络的逻辑拓扑,并将发现的路由设备间的连接以及路由设备与子网的连接信息存储到数据库服务器DB中;分布式信息采集机Cl,C2,···,&!,通过ICMP中的ping工具来发现子网中的活动主机, 并将子网中的活动主机与路由设备间的连接信息存储到数据库服务器DB中,η为信息采集机的数量且η大于1;数据库服务器DB,用于存储被管理网络的拓扑数据,同时也是组成基于SNMP和ICMP的拓扑自动发现和布局系统中各构件之间的接口;Web服务器WS,数据库服务器DB交互,获取数据库服务器DB中的拓扑,执行拓扑布局算法,将被管理网络的拓扑布局;浏览器BS,与用户交互,向作为网络管理人员的用户提供人机交互界面,将Web服务器 WS的布局结果提供给网络管理人员。
2.利用权利要求1所述系统的网络拓扑发现和自动化布局方法,其特征在于包括以下步骤步骤1,利用逻辑拓扑采集机M通过SNMP协议获取被管理网络的路由设备间的连接以及路由设备与子网的连接关系,并将所有的连接关系存储到数据库服务器DB中,所述逻辑拓扑采集机M为被管理网络中的一台服务器;步骤2,利用η个分布式信息采集机C1,C2,…,Cn,根据步骤一获取的路由设备的子网信息,获取所有子网中的所有活动主机信息,并将所有活动主机与路由设备间的连接信息存储到数据库服务器DB中,其中η大于1 ;步骤3,利用Web服务器WS获取数据库服务器DB中的拓扑,执行拓扑布局算法,将被管理网络的拓扑布局后通过浏览器BS提供给网络管理人员。
3.根据权利要求2所述的网络拓扑发现和自动化布局方法,其特征在于所述步骤1 中,连接关系的获取通过以下步骤完成步骤1. 1,先定义如下几个数据结构用于表示路由设备的数据结构Router、用于表示子网的Subnet、用于存储网络中所有路由设备信息的AllRouters队列、用于存储未访问的路由设备队列AccessRouters和用于存储所有子网的Subnets队列,并初始化所有的队列为空;步骤1. 2,所述逻辑拓扑采集机M通过执行ipconfig命令获取与其直接相连路由设备的ip,通过配置文件获取被管理网络中所有的路由设备的community集,其中community是用来访问路由设备SNMP协议提供的信息的密码,将该路由设备的信息加入AllRouters队列和AccessRouters队列,并存入数据库服务器DB ;步骤1. 3,将与逻辑拓扑采集机M直连的路由设备从AccessRouters队列中出队,并用 ip和community获取该路由设备的MIB中的信息,可以得到与该路由设备相连的所有的其他路由设备或者子网的信息,对应地加入AlIRouters、AccessRouters和Subnets队列,并将这些信息以及路由设备间的连接信息和路由设备与子网的连接信息存入数据库服务器 DB中;步骤1. 4,给AccessRouters中所有的路由设备执行步骤1. 3,如此往复直至AccessRouters中为空,即可以发现被管理网络中的所有路由设备之间的连接关系以及路由设备与子网的连接关系。
4.根据权利要求2所述的网络拓扑发现和自动化布局方法,其特征在于所述步骤2 中,活动主机信息的获取通过以下步骤完成步骤2. 1,定义用于存储网络中所有路由设备信息的AllRouters队列,每个分布式信息采集机Ci,从AllRouters中取出它所负责采集的所有路由设备的所有子网信息,其中i e (1,2,3, ......,η);步骤2. 2,各个分布式信息采集机Ci用ping工具来发现所有子网中的活动主机,并将活动主机与路由设备的连接信息存入数据库服务器DB中,其中i e (1,2,3,……,η);步骤2. 3,重复上述步骤,直至所有的分布式信息采集机Ci停止采集,整个被管理网络的拓扑就已全部存入数据库服务器DB中。
5.根据权利要求2所述的网络拓扑发现和自动化布局方法,其特征在于所述步骤3 中,执行拓扑布局算法并将被管理网络的拓扑布局具体通过以下步骤完成步骤3. 1,设拓扑布局中的路由设备以及子网图标半径大小为r,Web服务器WS从数据库服务器DB中取出被管理网络的入口路由设备Rin,以Rin为起始执行广度优先搜索算法, 得到一个以Rin中心、其他路由设备环绕Rin的广度优先环状树拓扑布局,深度为d,其中 Rin为树根,即O层,再定义以下变量对于1 < k < d,k-Ι层的所有路由设备中直连的接π R口数目最大为Nk,根据Sin7r^f可以得到一个较为合适的Rk,其中Rd+1 = r ;Nk Kk步骤3. 2,在浏览器BS的屏幕中央画出一个大小为r的路由设备图标,代表Rin,把与 Rin直连的所有路由设备或者子网布局在以该图标为中心,以札为半径的圆环上;步骤3. 3,同理,把第2层上所有的路由设备也以该路由设备为中心,R2为半径来布局与该路由设备直连的所有路由设备或者子网图标;步骤3. 4,同理,布局好所有层的图标;之后再查询数据库服务器DB把路由设备或者子网之间的其他连接也画在拓扑图上;步骤3. 5,将每个子网中活动的主机与子网之间用星形方法连接起来;在上述步骤的基础上得到了所有的路由设备之间的相连和路由设备与子网的相连,而每个叶子节点都代表的是一个子网,当点击这个子网图标时,就可以显示出该子网中所有的主机与路由设备呈星形连接的布局。
全文摘要
本发明为一种基于SNMP和ICMP的拓扑自动发现以及广度优先环状树布局方法,属于网络管理和控制领域,通过SNMP协议轮询自动发现被管网络的所有网络设备间的连接关系以及网络设备与子网的连接关系,存储到数据库;然后通过ICMP中的ping工具发现所有子网中活动的主机,存储到数据库;通过基于广度优先搜索算法得到被管网络的所有网络设备与子网呈环状圆形的拓扑;而子网内的活动主机与子网的路由器呈星形连接;本发明自动发现被管网络中所有网络设备之间的连接关系、网络设备与子网的连接关系、子网中活动的主机,并将被管网络的拓扑层次分明、直观的呈现给网络管理人员。
文档编号H04L12/24GK102546251SQ20111046063
公开日2012年7月4日 申请日期2011年12月31日 优先权日2011年12月31日
发明者孔祥震, 林闯, 董扬威, 魏兵 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1