文件名称:1拓扑探测的算法流程-softing protocal ip ethercat user
文件大小:2.82MB
文件格式:PDF
更新时间:2024-06-27 13:18:37
snmp
东北大学硕士学位论文 第4章网络运行管理系统的实现 4.4网络拓扑探测模块的实现 4.4.1拓扑探测的算法流程 基于SNMP拓扑探测算法的主要流程如下所述。首先,选定一台路由器(一般默认 管理工作站的缺省路由器)作为拓扑探测的初始点,将其添加到路由器队列中。接下来, 从路由器队列中选取一个路由器,并将其作为当前路由器;利用SNMP读取当前路由器 的MIB信息库,从MIB信息库中获取路由器的地址表,记录该路由器的各个端口以及 它们的IP地址,将其添加到路由器端口队列;然后,从MIB信息库获取路由表中的每 一条记录进行遍历。 若记录中ipRouteType=3(代表直接连接),接着判断是否为电缆直接连接,若是, 将连接信息加入到连接队列,若不是,将ipRouteDest“与”上ipRouteMask得到与之直接 连接的子网信息及路由器与子网的连接信息分别保存到子网队列和连接队列,接着判断 ipRouteNextHop,若未被发现,将其添加到路由器队列,并将其端口信息添加到端口队 列;通过ipRouteType=4(带表示间接连接),找到与该路由器直接连接的下一跳路由器 ipRouteNextHop,若其未被发现,将该路由器添加到路由器队列中并将其端口信息添加 到端口队列p41。 接着继续从路由器队列中取出路由器作为当期路由器按照上述过程进行拓扑探测, 最后直到待发现路由器队列为空结束。 在判断当前路由器是否已经遍历过时,由于路由器存在多个端口,也就是存在多个 IP地址,所以遍历路由器时就要注意多IP问题,避免重复【351。在实现过程中,本算法 通过访问路由器的地址表获得路由器的所有端口信息,并将这些端口的IP地址加入到 端口队列。这样可以根据当前路由器的IP是否在已经存在于遍历过的路由器端口队列 来判断,从而解决了路由器的多IP问题。 算法确定了网络中的路由器和子网以及路由器和子网的连接关系。由于使用队列来 存放待发现路由器IP地址,所以此拓扑探测算法以本主机所在子网为中心,按照类似 于数据结构中图的广度优先遍历算法的方式不断向外扩展。逐层地发现路由器以及与该 路由器直接相连的子网,最终得到整个网络的拓扑结构。搜索的范围限制采用的方法通 常有两种方,一是限制搜索层数,而是设置管理域出口地址。本系统采用第二种方法来 实现的州。 基于SNMP的网络拓扑探测的算法流程如图4.9所示。 ..49..