基于SNMP的拓扑发现的研究(2)
作者:佚名; 更新时间:2014-12-05
三、基于路由裹的拓扑发现方法分析
将上述算法中的节点替换成路由器,该算法就实现了网络层拓扑结构的遍历。基于TCP/IP的互连网是由全世界成千上万的网络互连而成的,其间的核心设备就是路由器。当今的主流路由设备都提供了对SNMP协议的支持,因此网络层的拓扑发现,主要是采用基于SNMP协议路由表的方式发现主干路由器,路由表是网络管理的重要信息,从路由表中提取网络拓扑的有关信息,而MIB提供了访问路由表的方法。
路由表存储有关可能的目的网络节点和怎样到达目的网络节点的信息,每台主机和路由器都要为数据报选择路由,因此它们都有IP路由表。路由表中包含的是目的地址而不是特定主机的地址,这样可以大大减少路由表的大小,提高路由选择的效率,而把特定主机的信息限定在这些主机运行的特定环境中。一个路由表包含一系列的(N,R)序偶对,其中N代表目的网络的网络地址,R代表到达网络N的路径上下一个要经过的路由器的IP地址,通常称路由器R称为下一跳。路由器的路由表仅仅指定从该路由器到达目的网络路径上的一步,其中并不包括到达目的网络的完成路径。
从路由表的信息,我们可以知道IP数据报传输的路径,信捷职称论文写作发表网,从而得到网络连接的拓扑。在一个由路由器连接起来的互连网中,假定其中所有的连接都是连通的,那么,任何一条从源网络到目的网络的IP数据报的传输路径都会在路由表里面表现出来,因为路径本身就是通过路由表来选择的。
在一个路由器R的路由表中,包含了经过R的所有IP路径。和路由器R直接相连的路由器都将在路由器R的路由表中出现。即,路由器R的路由表中的所有“下一跳”的集合,就是和R直接相连的所有路由器的集合。从某个路由、器R开始,找到和它相连的所有其他路由器R1,R2,…Rn,在分别在R1,R2,…Rn上重复这个过程,递归下去,可以找到一个互连网络里的所有路由器。这就是对一个图进行广度优先遍历的过程。但是这样发现的范围很多,如果不加以控制,可能造成搜索时间过长的情况下,可以采用对某个路由器向下发现跳数进行计数,并设置最大值,当从这个路由器出发的发现跳数达到最大值的时候,停止搜索。也可以采用限制搜索时间,超时则不再向下搜索。
四、结束语
网络的拓扑发现进行网络管理的重要手段和工具。但是设计和实现一个高效的网络拓扑搜索工具一直是网络管理领域中重要但是又很困难的部分。本文根据网络本身的结构特点,分析构建网络的拓扑图的方法,将网络的拓扑构建分成两级来实现:一级拓扑和二级拓扑。一级拓扑实现了路由设备和子网之间的互连的拓扑发现,二级拓扑完成了子网内主机的互连以及子网类型的分析。对于采用大量的交换机互连的局域网,为了精确的发现链路层交换机设备之间,以及其与主机、路由设备的互乱,就需要分析交换机的工作原理,以及交换机所使用的支撑树算法(spanning Tree Protocol),并从中找出了对于拓扑发现有用的信息,提出了另一种链路层设备的拓扑方法。
热门论文