一种基于snmp协议的网络拓扑构建方法

文档序号:9690796阅读:842来源:国知局
一种基于snmp协议的网络拓扑构建方法
【技术领域】
[0001 ]本发明涉及一种计算机网络拓扑的构建方法,特别是一种基于SNMP协议的网络拓 扑构建方法。
【背景技术】
[0002] 近几年,随着网络规模的扩大,手动绘制拓扑显得非常繁琐并且难以更新,网络拓 扑的自动构建方法得到了快速发展,国内外对拓扑构建方法的研究有很多,不过很多研究 都是基于局部范围的。目前的网络拓扑构建方法可以按构建范围分为单管理域和多管理 域,按构建协议层次可以分为网络层拓扑构建和链路层拓扑构建,按构建方法可以分为被 动探测和主动探测。目前,网络拓扑的自动构建仍然是一个富有挑战的研究课题,研究出具 有高效、快速、完整及准确性的拓扑构建方法绝非易事。特别是在针对具体网络时,不同的 拓扑构建方法会有不同的性能和效率。传统的手动构建网络拓扑方法,主要存在着以下缺 点:拓扑构建效率低,拓扑更新不及时,构建拓扑易出现人工错误,对于复杂拓扑规划构建 难度大;基于ICMP协议、基于RIP协议、基于DNS以及基于0SPF协议的拓扑构建方法使网络负 载较高,可能造成局部网络拥塞,不适用于网络数据流量庞大的网络。

【发明内容】

[0003] 本发明的目的在于,提供一种基于SNMP协议的网络拓扑构建方法。本发明具有,构 建效率高、网络负载低和拓扑布局合理的特点。
[0004] 本发明的技术方案:一种基于SNMP协议的网络拓扑构建方法,该构建方法包括拓 扑ig息米集、信息提取、息过滤和拓扑构建。
[0005] 前述的基于S匪Ρ协议的网络拓扑构建方法中,所述的拓扑信息采集为,采用多线 程模式同时采集待构建拓扑网络中路由器SNMP协议的ΜΙΒ库中实时存储的SNMP信息,SNMP 信息包括设备端口 IP地址信息、端口信息和系统信息,将采集到的SNMP信息存入MySQL数据 库中。
[0006] 前述的基于SNMP协议的网络拓扑构建方法中,所述的多线程模式为,采集S匪P信 息时为每个路由器的拓扑信息采集过程单独创建一个线程,各个线程独立使用net-snmp软 件提供的SNMP数据请求命令。
[0007] 前述的基于SNMP协议的网络拓扑构建方法中,所述的S匪P协议的MIB库中的被管 理对象分组包括system组、interfaces组和ip组;所述的system组包括sysName字段;所述 的 interfaces 组包括 if Descr 字段;所述的 ip 组包括 ipAdEntAddr 和ipAdEntNetMask 字段。
[0008] 前述的基于SNMP协议的网络拓扑构建方法中,所述的信息提取为,从MySQL数据库 中提取最近同一时间段的sysName、if Descr、ipAdEntAddr和ipAdEntNetMask信息,然后将 信息按节点名称、序号、端口类型、设备端口 IP地址和子网掩码的顺序存储到内存中;所述 的序号为同一节点的所有设备端口 IP地址的序号。
[0009] 前述的基于S匪P协议的网络拓扑构建方法中,所述的信息过滤为,首先将接口类 型为Vlan、Loopback和Mul til ink的信息过滤掉,其次根据设备端口 IP地址以及子网掩码进 行"逻辑与"运算得出每个设备端口 IP地址所在的网络号,根据网络号,在所有设备端口 IP 地址中寻找属于同一网络号中的设备端口 IP地址,将重复为不同端口设置的相同设备端口 IP地址、设置后但未进行连接的设备端口 IP地址进行过滤,过滤后将属于同一网络号的设 备端口 IP地址保留,之后将保留的设备端口 IP地址生成拓扑构建文档。
[0010] 前述的基于SNMP协议的网络拓扑构建方法中,所述的拓扑构建为,根据拓扑构建 文档获取网络节点的端口 IP对,再根据端口所属的路由器确认各网络节点间的端口 IP对的 数量,通过网络节点和端口 IP对的数量构建一个η X η的邻接矩阵,η为网络节点数量,邻接 矩阵的元素为端口 IP对的数量,之后根据邻接矩阵采用力导引布局算法进行拓扑布局。
[0011] 与现有技术相比,本发明将经由拓扑信息采集的SNMP信息存入MySQL数据库中,之 后从MySQL数据库中进行信息提取和信息过滤,通过该方法,实现了拓扑信息采集过程与后 续的信息提取、信息过滤和拓扑构建过程分离,有效规避了拓扑信息采集整体时间可能较 长的问题,即不必等到拓扑信息采集完成后再开始进行信息提取、信息过滤和拓扑构建,同 时对于拓扑结构相对稳定的网络,可以直接从MySQL数据库中提取信息过滤及恢复拓扑,极 大提高效率。相比手动构建拓扑,本发明能够更加高效、快速和准确地构建网络拓扑。
[0012] 本发明对基于SNMP协议的网络拓扑进行网络拓扑信息采集,可以实时准确地获得 网络节点信息即S匪P信息,并能够根据实时采集的SNMP信息实时地更新所构建的网络拓 扑,不仅如此,在采集过程中造成的网络负载低,不会对网络特别是流量较大的网络的正常 工作造成影响。
[0013] 本发明采用多线程模式进行拓扑信息采集,采集时为每个路由器即网络节点的 SNMP信息的采集过程单独创建一个线程,各个线程独立使用net-snmp软件提供的SNMP数据 请求命令(snmpwalk),从路由器获取前述指定S匪P信息,通过该方法,可以高效率、互不干 扰地采集网络节点SNMP信息,避免因为网络可能存在的网络节点多、节点分布广、传输延迟 高的特点造成采集时延高、效率低的情况。
[0014] 本发明在进行拓扑构建时,采用力导引算法进行拓扑布局,使得布局中节点的分 散相对均匀,节点间交叉的连线较少,得到的拓扑布局更加合理。
【附图说明】
[0015] 图1是net-snmp软件提供的smmpwalk数据请求命令;
[0016] 图2是采集到的SNMP协议中sysName字段信息示例;
[0017] 图3是采集到的SNMP协议中ifDescr字段信息示例;
[0018] 图4是米集到的SNMP协议中ipAdEntAddr和ipAdEntNetMask字段信息不例;
[0019] 图5是拓扑构建文档示例;
[0020] 图6是构建局部拓扑示例。
【具体实施方式】
[0021] 下面结合附图和实施例对本发明作进一步的说明,但并不作为对本发明限制的依 据。
[0022] 实施例1。一种基于S匪P协议的网络拓扑构建方法,该构建方法包括拓扑信息采 集、信息提取、信息过滤和拓扑构建。
[0023] 前述的拓扑信息采集为,采用多线程模式同时采集待构建拓扑网络中路由器SNMP 协议的MIB库中实时存储的SNMP信息,SNMP信息包括设备端口 IP地址信息、端口信息和系统 信息,将采集到的SNMP信息存入My SQL数据库中。
[0024] 前述的拓扑信息采集采用被动采集S匪P信息方式,通过该方式,可针对网络存在 的节点多、节点分布远和信息传输时延高的特点,采用多线程模式同时采集各个路由器上 SNMP信息,以提高采集效率,多线程模式具体为,采集SNMP信息时为每个路由器的拓扑信息 采集过程单独创建一个线程,各个线程独立使用net-snmp软件提供的S匪P数据请求命令 (snmpwalk),请求命令如图1所不,从路由器获取指定的S匪P彳目息,米集时首先确认待米集 节点(路由器)开启SNMP协议,输入网络中所有待采集节点的某一设备端口 IP地址(一般为 回环地址),执行采集程序,采集程序可以匹配待采集节点中SNMP协议MIB库的五分钟更新 速率,每五分钟自动采集一次。
[0025] 前述的SNMP协议的MIB库中的被管理对象分组包括system组、interfaces组、和ip 组。具体地,各组用到的对象如下:
[0026] system 组(节点 0ID 为 1 ·3·6·1·2·1·1)
[0027] system组对象中用到的主要对象是sysName。
[0029] interfaces 组(节点 0ID 为 1
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1