基于SNMP的网络拓扑发现
一种新的基于SNMP链路层拓扑发现算法

通过查找各个路 由设备将整个待发现的网络 划分 成 以不 同的子 网。可 以采用 H aC u i w hnLn等
人 提 出的算法 实现 。 ( ) 据链路 层 的拓扑发 现 2数
本文将 仔 细分 析 这 一层 的拓 扑 发 现 ,研 究 同
一
口, 果 不 在 , 么 该 数 据 将 被 发 送 到 除 源 端 口 如 那 以外 该 数 据 包 所 属 V A 的 其 他 所 有 端 口。 交 LN
义 。网络上 的 问题 , 如流量等 都可 以在 网络 拓扑 例 图上直接显 示 出来 , 网络管理员 可 以得 到一个 清 晰
的网络状况视 图 。网络 拓 扑 动 发 现是 在 动态 复 杂 网络环境 下实 现快速 、 有效 的 网络管 理 的关键技 术 。根据 网络 的分层 , 分为基 于 网络层 技术 和基 于 链 路层 的拓 扑发 现技术 , 网络层 拓扑 发现是 确定 子
( p n igTe rt o) 并 实现 了 B ig B S ann rePo c1 , o r eMI 。 d
C nrlMA 地 址信 息 , 成 MA ot ( C) o 形 C地 址 表 并 维
护 它 , 张 MA 这 C表 就 是 交 换 转 发 表 ( OB) 当 F 。
2 基于 S M N P拓 扑 发 现 算 法及 应 用
维普资讯
2 0
计算 机与数字工程
第3 5卷
一
种新 的基 于 S MP链 路 层 拓 扑发 现 算 法 N
黄 卉 陈建勋
武汉 40 8 ) 30 1 ( 武汉科 技大学计算机科学与技术学院
摘
要
提出并证 明以太 网设备的连接 定理 , 以此为基础提 出新 的针对于 网的拓扑 发现算法。与现有 自动拓扑发 现
系统相关的MIB对象分类

系统相关的MIB对象分类由上一节对MIB和SMI的分析可以看到,各种网络管理的基础就是获取或设置相应的MIB 对象值,因此对系统使用的MIB对象按管理功能分类对十网络管理系统的实现十分重要。
考虑到系统所管理的网络在今后会不断的扩充与发展,因此可能会使用不同厂商的设备,为了使系统有很好的兼容性,采用标准通用的MIB。
采用的MIB有RFC1213定义的MIB-II 下面以表格的形式具体描述各类系统所需的MIB对象。
C1)与网络自动拓扑发现相关的MIB对象集本系统采用的网络拓扑发现方法有二种,分别为基于SNMP的网络拓扑发现方法、基于ICMP协议的网络拓扑发现方法和基于ARP的网络拓扑发现方法。
因此与网络拓扑发现管理功能相关的MIB对象有MIB-II中的路由表ipRouteTable(表4-1),IP地址表ipAddrTable(表4-2 ) ,IP地址转换表ipNetToMediaTable(表4-3)等,其具体描述如下:路由表ipRouteTable(表4-1)IP地址表ipAddrTable(表4-2 )IP地址转换表ipNetToMediaTable(表4-3)(2)与配置管理相关的MIB对象集系统中的配置管理信息主要包括配置信息、网络地址及路由信息、和接口信息,因此配置管理相关MIB对象由系统组(表4-4 ) , IP组(表4-5)和接口组(表4-6)的部分对象组成。
其具体描述如下:(3)与性能管理相关的MIB对象集性能管理主要用来监测网络性能各个方面情况,因此用到的管理对象也是最多的,在这里列出MIB-2中的接口组(表4-7 ) , IP组(表4-8 ) , ICMP组(表4-9 ) , TCP }}.(表4-10), UDP }}_(表4-11)不II SNMP }}.(表4-12相关对象。
(4)用十安全管理和故障管理相关的MIB对象如表4-13至表4-19所示。
网络拓扑知识:基于网络拓扑的分组调度算法

网络拓扑知识:基于网络拓扑的分组调度算法随着互联网的不断发展,网络拓扑已成为网络架构设计中重要的一环。
网络拓扑作为网络结构的基础,对网络的性能、可靠性和安全性有着很大的影响。
在网络中,数据的传输非常重要,对传输过程的优化和调度成为了网络领域研究的热点之一。
基于网络拓扑的分组调度算法是一种有效的方法,能够提高数据传输的效率和可靠性。
本文将就此展开探讨。
一、什么是分组调度算法在网络传输中,分组调度算法的作用是将网络流量分成各个不同的分组,以便更好地控制网络流量和维护网络的正常运行。
也可以说,分组调度算法是一种管理数据传输的技术,它通过对网络拓扑结构进行分析和控制,从而优化数据流的分配和传输。
分组调度算法的核心思想是优化拓扑结构,以实现数据的快速传输和网络的高效利用。
二、基于网络拓扑的分组调度算法原理基于网络拓扑的分组调度算法是将网络拓扑结构作为核心,以此来控制分组调度。
首先,需要对整个网络的拓扑结构进行分析,了解各个节点之间的联系和相互关系。
然后,根据分组调度算法的具体需求和目的,选择合适的调度策略来优化整个网络拓扑结构。
常见的调度策略包括最短路径、最小生成树、最大流量和负载均衡等。
三、基于网络拓扑的分组调度算法的应用领域分组调度算法的应用领域非常广泛,主要应用于网络通信、数据传输、云计算等领域。
在云计算领域,基于网络拓扑的分组调度算法可以帮助提高虚拟机之间的通信质量和可靠性,从而提高整个云计算系统的性能。
在数据传输领域,基于网络拓扑的分组调度算法可以帮助实现大规模数据的快速传输和处理。
在网络通信领域,基于网络拓扑的分组调度算法可以帮助优化网络流量,提高网络带宽的利用率和性能。
四、基于网络拓扑的分组调度算法的算法原理基于网络拓扑的分组调度算法的实现原理主要分为两个步骤:首先是网络拓扑结构的建立和分析,然后是根据实际需求和调度策略来优化整个网络拓扑结构。
具体实现方法如下:1、构建网络拓扑网络拓扑是基于网络结构的图形表示。
研究网络拓扑自动发现的新方法

THNKS
汇报人:
实验方法与过程
实验设计:选择合适的网络拓扑结构设置实验参数 实验过程:按照实验设计进行网络拓扑自动发现记录实验数据 数据分析:对实验数据进行统计分析得出结论 结果展示:展示实验结果包括网络拓扑结构、自动发现过程、结果分析等
实验结果对比与分析
实验方法:采用新的网络拓扑自动发现方法与传统方法进行对比
缺点:需要较高的计算能力 分析过程复杂容易受到网络
噪声的影响
应用:适用于大型网络特别 是对网络性能要求较高的场
景
基于路由表的拓扑发现算法
原理:通过分析路由器的路由表获取网络拓扑信息 优点:简单易实现无需额外的网络设备支持 缺点:无法发现隐藏节点和链路无法发现网络拓扑的动态变化 应用场景:适用于小型、静态的网络环境
基于路由协议的网络拓扑发现方法:优点是可以获取网络设备的详细信息 缺点是实现难度大需要了解各种路由协议的实现细节。
Prt Four
网络拓扑自动发现 的新方法研究
基于深度学习的拓扑发现算法
深度学习技术:使用深度学习技术进行网络拓扑发现
网络数据:使用网络数据作为输入进行深度学习训练
拓扑发现模型:建立拓扑发现模型进行网络拓扑发现 性能评估:对基于深度学习的拓扑发现算法进行性能评估并与传统方法 进行比较
实验数据:收集了多个网络拓扑数据包括规模、复杂度、连通性等
实验结果:新的网络拓扑自动发现方法在准确性、效率和稳定性方面均优于传统方法
分析与讨论:对新的网络拓扑自动发现方法进行了深入的分析和讨论提出了改进建议和优化 方案
新方法性能评估与改进建议
实验设计:采用对比实验对比新方法与现有方法的性能差异
结果分析:新方法在速度、准确性、稳定性等方面表现优异 改进建议:针对新方法存在的问题提出改进方案如提高算法的效率、优 化数据结构等 结论:新方法在性能上具有显著优势但仍需进一步改进和完善。
基于SNMP的校园网络管理策略研究

基于SNMP的校园网络管理策略研究摘要随着Internet的蓬勃发展,高校校园网的规模越来越大,用户日益增多,网络结构也更加复杂。
采用telnet命令管理方式已经无法从总体上对校园网络进行有效的监视、分析和控制。
由于简单网络管理协议SNMP的问世,网络管理技术得到了突飞猛进的发展。
随着管理功能的增强和管理对象的扩大,网络管理技术正逐渐成为网络构建和维护中必不可少的重要因素。
因此本文的目的在于研究一种具有可视化管理网络设备功能的系统,对网络设备中的MIB进行有效的访问,得到相关数据,从而以图形界面直观的显示出来,达到有效的网络监视和分析的目的。
本文以安徽理工大学校园网络为背景,基于SNMP协议,设计的一套网络管理策略,主要完成工作如下:研究目前的网络流量数据采集技术,该模块能够针对指定的交换机端口进行连续的数据采集,并对获得的数据进行统计和计算,从而得到相关网络的性能指标。
关键词:SNMP,拓扑发现,流量监测SNMP-based management strategy of the campus networkABSTRACTWith the flourishing development of the Internet,the size of campus network is larger,and the users of campus networks are increasing.The structure is more and more complex.The managing mode using telnet command Can’t work any more.It cannot watch and analysis and control the running of the whole campus network.Because of the appearance of simple network management protocol SNMP,the network management techniques have developed rapidly. With the expansion of management functions and the management objects.The network management technology is now becoming an essential key factor of the network construction and maintenance.This thesis supposed to design a kind of system which has the function of visual management of the network devices.We can also availably access the MIB of network devices with this system,and get the correlative data as we wished. Then display these data as graphics interface .So we call reach the purpose of watching and analysis the whole network.This thesis designs and carries out a network management system bases on the SNMP protocol,under the campus network of ANHUI University of Science & Technology .The main works have been done as follows:Research present data collect technology of network traffic flow.Then I design and carry out the network traffic flow monitoring module,which can monitor any appointed port on the switch and make the continuous data collection.Then with the statistic and calculation of these data,we can get the correlative network performance index.And show these out with chart.KEY WORDS:SNMP, topology discovery, traffic flow monitor目录摘要 (I)ABSTRACT ........................................................... I I 绪论. (1)第一章概述 (4)1.1网络管理的发展及标准化 (4)1.2网络管理的功能模型 (5)1.3SNMP的发展 (6)1.4校园网及其网络管理 (7)第二章简单网络管理协议(SNMP)分析 (9)2.1SNMP网络管理协议 (9)2.1.1 SNMP体系结构 (9)2.1.2 SNMP网络管理信息库 (10)2.1.3 SNMP协议分析 (10)2.1.4 SNMP协议的操作 (11)2.1.5 SNMP的报文格式 (12)2.1.6 SNMP协议工作原理 (12)2.2策略实现的关键技术 (12)2.2.1网络拓扑发现方法的分析与比较 (12)2.2.2 基于I CMP协议的拓扑发现 (13)2.2.3 基于ARP协议的拓扑发现 (13)2.2.4 基于SNMP协议拓扑发现 (14)2.3网络流量监测的原理和方法 (15)2.3.1基于网络侦听的技术 (15)2.3.2基于路由器的方法 (16)第三章校园网络管理策略设计 (17)3.1需求分析 (17)3.2策略设计 (19)3.3策略子模块划分与研究 (19)3.3.1网络拓扑模块 (19)3.3.2 流量监控模块 (20)3.3.3 定位模块 (20)3.3.4 自动告警模块 (20)第四章网络拓扑发现模块的研究 (21)4.1网络主拓扑发现 (21)4.1.1 网络主拓扑发现相关的MIB组 (21)4.1.2网络主拓扑发现原理 (22)4.1.3算法流程描述 (22)第五章网络流量监测模块的研究 (24)5.1网络流量监测模块相关的MIB组 (24)5.2模块流程描述 (26)第六章主机定位模块的研究 (27)6.1常见主机定位方法 (27)6.2主机定位算法步骤 (27)结论 (29)参考文献 (30)致谢 (32)绪论随着信息时代的到来,对计算机网络的依赖使得计算机网络本身运行的可靠性变得至关重要,对网络管理也就有了更高的要求。
网络拓扑自动发现的 - 赛迪网

北京大学计算机科学技术系・网络与分布式系统实验室技术报告:PKU_CS_NET_TR2003-1-19XXX网络拓扑自动发现的一种方法陈霖北大网络实验室2003 年 1 月摘要介绍一种通过借助于路由器的路由表的信息,自动发现路由器的拓扑和由此扩展的网络的拓扑的一种方法。
关键词 路由表、下一跳、SNMP、MIBII、地址转换表一、 引言在一个自动化的网络管理系统中,我们希望能够不需要配置就找到网络中的所有的 主机并加入到被管理的队列中。
假设我们对路由器由足够的查询的权限,那么,这可以 以发现路由器为核心,广度优先的展开。
二、模型设计这里描述的模型是一个过程,这个过程分为两个部分:发现网络中的路由器和三层 交换设备及其连结,发现连结各个路由器和三层交换设备的各个端口的主机。
这两个部 分是以前者为基础。
以下简便起见,把路由器和三层交换设备都统称为路由器 对于这点,路由器中的 IP 路由表的下一跳地址给我们提供了足够的信息。
目的地址 和下一跳的对应关系使得路由器对数据包进行路由成为可能,而这是这构成了路由表的 核心。
所以路由器必须维护这样的路由表。
我们假设我们可以取到路由表中的下一跳信息。
以下是发现路由器的算法: 1. 设置一个发现的初始节点 S; 2. 建一个队列 Q,清空队列; 3. 把初始节点 S 加入队列 Q; 4. 取出队列 Q 中的第一个元素 F; 5. 从 F 的路由表中取得 F 的所有的下一跳地址。
。
实现。
, () 。
加入队列 Q 中。
无限?, 。
并保存连结:F 地址到某下一跳地址; 6. 如果队列 Q 不为空,转 4; 7. 结束。
1北京大学计算机科学技术系・网络与分布式系统实验室技术报告:PKU_CS_NET_TR2003-1-19XXX队列:……….广度优先,一层层扩展:………. ………. ……….接下来,我们考虑从获得与每台路由器直接相连(与路由器端口直接相连、或者只 通过二层交换机或集线器相连)的主机列表。
网络拓扑自动发现方法研究

网络拓扑自动发现方法研究舒涛【摘要】随着计算机网络的高速发展,网络管理变得日趋复杂,为了提高网络设备和服务管理的智能性及可操作性,对网络拓扑高效而准确地发现成了网络管理中的重要环节。
提出了一种利用SNM P协议在网络层和数据链路层进行网络拓扑自动发现的方法,使得拓扑发现算法实现更简单,发现效率也更高。
%With the fast development of computer network ,the network management is becoming more and more complex .In order to improve the intelligence and operability of network equipment and service management ,the high efficient and accurate discovery of network topology has been important process of network management .A method to conduct network topology auto-discovery in network layer and data link layer by using SNMP agreement was put forward ,which enables topology discovery computation to become simpler and have high efficiency .【期刊名称】《辽宁石油化工大学学报》【年(卷),期】2013(000)003【总页数】4页(P81-84)【关键词】网络管理;拓扑发现;简单网络管理协议【作者】舒涛【作者单位】四川民族学院网络信息中心,四川康定626001【正文语种】中文【中图分类】TP393网络管理是网络发展中的一个重要技术,而拓扑发现又是网络管理的基础。
基于SNMP协议的网络管理系统分析

2 S NMP网络 管理 系统 的概述
2 . 1系 统研 发 平 台与框 架
… … 一 一 … l
是 系统 索 引 , 根 据变 量 值 对 网络 系统 的连 接状 态 进行 一 定 的判 断 , 然 后 排 列路 由信 息 , 利 用深度 优 先 遍 历 的方 式对 其他 路 由 中的信 息进 行相关 的查询 。 为 了得到 网 络 设备 的真 实连 接状 态 , 对 网络 连接 与 分布 结
中图 分类 号 : T P 3 9 3
随 着 网 络技 术 的飞 速发 展 与 普遍 应 用 , 确 保 网络 系 统 运行 的安全 、稳 定 、 高效 与 可靠 已经 成为 人 们重 点 关 注 的 问题 , 为 此, 网络 管理 系 统开 始应运 而生 。 但 是在 对 网络进 行 管理 的时 候 , 还 存在 着 很 多 问题 , 一 定要 加 强 相关 方 面 的研 究 , 促进 网络 管 理 系统 的发 展 与进 步 。
2 0 1 3 年第1 6 期总第1 3 6 期
SI Ll C0 N VA LLEY
画
基于 S NMP 协议 的网络 管理 系统分析
朱 永刚 ( 潍 坊科 技 学院 , 山东 寿光 2 6 2 7 0 0 )
摘 要 随 着科 学技 术 的 不断发展 , 网络规 模也 在 逐渐扩 大 , 网络 已经 成为各 种信 息服 务 以及应 用 的基础 平 台与 支柱 人 们 也越 来越 重视 网络 管理 。文章主要 对 S N M P 协 议 的框架 与原 理进行 分析 , 阐述 网络 管理 系统 中发 送信 息的编 程 过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于SNMP的网络拓扑发现一、SNMP简介SNMP(Simple Network Management Protocol,简单网络管理协议)是一种基于TCP/IP协议的互连网管理协议。
SNMP诞生于1988年,当时只想把它作为一个短期的网络管理框架,临时用于管理连接到Internet上的设备。
但随着SNMP的发展和大量应用,其使用范围已大为扩展,超出了Internet的范围。
SNMP逐渐作为一种标准的协议在网络管理领域得到了普遍的接受和支持,成为了事实上的国际标准。
SNMP采用“管理进程/代理进程”模型来监视和控制各种可管理网络设备。
其核心思想是在每个网络节点上设置一个管理信息库MIB(Manage Information Base),由节点上的代理负责维护,管理进程通过应用层协议对这些信息库进行访问。
图3.1说明了SNMP网络管理框架的一般体系结构,它由四个主要部件构成,分别是:通信网络、网络协议、网络管理进程和被管网络实体。
网络管理进程被管网络实体图3.1 简单网络管理协议(SNMP )体系结构二、 基于SNMP 协议的网络层拓扑发现SNMP 已经成为网络管理的标准,为网络拓扑自动发现带来了巨大的方便,同时也大大提高了网络拓扑发现的速度。
路由器子网图3.2 网络拓扑结构模型网络层拓扑发现算法的任务就是发现被管网络中的子网、路由器以及它们之间的连接关系。
图3.2是网络拓扑结构的一个模型。
其中,各子网通过各自的路由器与其他子网通信,它们都连接到路由器的一个端口上。
路由器的一个端口可以连接一个子网,也可以同其他路由器相连。
当子网内的某一机器向别的子网发送数据时,数据包首先到达本子网的缺省路由器,缺省路由器检测数据包中的目的地址,根据其路由表确定该目的地址是否在与自己相连的子网中。
如果是,则把数据包直接发往目的地,否则转发给路由表中规定的下一个路由器,下一个路由器再进行类似处理,依次类推,数据包将最终到达目的地。
可见,通过分析路由器上的路由表,就可以知道网络层的拓扑结构。
2.1 网络层拓扑发现用到的MIB 组MIB-II(RFC-1213)是标准的SNMP MIB ,所有的路由器都必须实现它。
拓扑发现程序为了具有通用性的特点,必然选择MIB-II 作为拓扑发现工具。
MIB-II 由很多不同的组组成,本节的拓扑发现算法用到的组包括:system ,interfaces ,和ip 。
下面详细介绍这三个组中包含的对象。
1) System组该组内包含七个对象,分别为:sysDescr、sysObjectID、sysUpTime、sysContact、sysName、sysLocation和sysServices。
其中sysDescr描述了设备的相关信息,一般包括厂商,型号等。
S ysObjectID唯一标识特定厂商的特定类型设备,比如sysObjectID为1.3.6.1.4.9.5.45,则可以判断该设备为思科公司生产的型号为cisco6506的交换机。
SysUptime表示设备从最近一次启动开始正常运行的时间。
SysContact由网络管理员设定,一般设为网络管理员的联系方式。
SysName 为设备的名字,算法中会用这个对象来判断不同的IP地址是否属于同一个设备。
SysLocation由网络管理员设定,一般设为设备所在地点。
SysServices表示了该设备所能提供的服务。
2) Interfaces组该组包含两个对象ifNumber和ifTable。
其中,ifNumber对象表示该设备所具有的接口数量。
该组的另一个元素ifTable是一张表,表内的每一个字段都是某一个接口的一个属性,包括接口索引(ifindex),接口类型(ifType),接口速度(ifSpeed)和接口物理地址(ifPhysAddress)等。
3) IP组该组的元素较多,其中有三个表对拓扑发现来说比较重要,分别是ipAddrTable,ipRouteTable和ipNetToMediaTable。
通过表ipAddrTable,可以找到被管设备所有的IP地址,同时结合interfaces 组的ifTable表,可以把接口和其IP地址一一对应起来。
网络层的拓扑发现算法主要就是利用表ipRouteTable来判断网络层的拓扑结构的。
子网与路由器以及路由器和路由器的关系都能从路由表中得出来。
该表中对应拓扑发现的对象列举如下:IpRouteDest:路由的目的地址。
如为0.0.0.0,说明该路由为缺省路由。
通往同一个目的地的路由可能有多个,路由的选择依赖于所使用的路由协议。
IpRouteNextHop:路由的下一跳路由器地址。
ipRouteMask:路由目的地的子网掩码。
提取IP数据包中的目的地地址,与ipRouteMask进行按位“与”运算,得到的结果与ipRouteDest比较,如相同则应选择该路由。
如果ipRouteDest为0.0.0.0,则规定ipRouteMask也为0.0.0.0。
ipRouteType:路由的类型,为整型类型。
其意义如表3.1所示:表3.1 ipRouteType值及其意义ipRouteType值意义Other(1) 其他Invalid(2) 非法Direct(3) 该路由目的地址为路由器直接连接的子网远程路由,目的地址为远程的主机、网络或Indirect(4)子网2.2 基于SNMP的网络层对象发现在详细讨论拓扑发现算法之前,首先对算法中涉及到的一些问题进行说明。
1)默认网关的发现首先,访问拓扑发现程序所在计算机的SNMP MIBII中的ipRouteTable,如果发现有ipRouteDest值为0.0.0.0的记录,则说明程序所在的计算机设置了默认网关,该记录的ipRouteNextHop值即为默认网关的地址。
检查默认网关的ipForwarding值。
如果为1,则表明该默认网关确实是路由设备,否则不是。
2) 子网的发现遍历路由器MIBII的IP管理组中管理对象ipRouteDest下的所有对象,以每个路由目的网络号为索引,查询ipRouteType字段的值。
若该值为3(direct),则表明这条路由为直接路由,若该值为4(indirect),则为间接路由。
间接路由表明在通往目的网络或目的主机的路径上还要经过其它路由器,而直接路由表明目的网络或目的主机与该路由设备直接相连,这样就得到了与路由器直接相连的网络号。
再以这组网络号中的每个为索引,查询其路由掩码(ipRouteMask)。
根据路由掩码,就可以确定这组网络中每一个的IP地址范围。
例如,已知路由器的IP地址为192.168.4.1,且路由器支持SNMP协议。
利用SNMP协议可以得到以下与路由器直接相连的子网,如图3.3所示。
网络号网络掩码地址范围159.226.204.128 255.255.255.192 159.226.204.129 ~ 192192.168.0.0 255.255.255.0 192.168.0.1 ~ 255192.168.4.0 255.255.254.0 192.168.4.1 ~ 192.168.5.255192.168.6.0 255.255.255.0 192.168.6.1 ~ 255192.168.7.0 255.255.255.0 192.168.7.1 ~ 255图3.3 与网关直连的子网3) 其他路由设备的发现对于除了默认网关之外的路由设备,查询默认网关MIBII的IP管理组路由表中类型为间接路由的路由表项,得到路由的下一跳地址(ipRouteNextHop)。
下一跳地址给出了与该网关相连的路由设备,仍可以利用上面的方法搜索这个设备的路由表。
这样,该方法可以搜索出多个路由设备,并要求将它们所存储的路由表信息进行整合,得到更大的网络拓扑。
4) 网络层的连接对象网络层拓扑主要反映子网和路由器之间的连接关系。
子网和路由器的连接关系可以在发现与路由器直接相连的子网时得到,路由器和路由器的连接关系可以通过路由表中的ipRouteNextHop得到。
2.3 基于SNMP的网络层拓扑发现算法描述网络层拓扑发现算法用伪代码描述如下:CGateway gw =GetDefaultGateway();//得到默认网关If (gw确实是路由设备)把该设备添加到RouteList链表的末尾;for(RouteList中的每一个路由器CurrentRouter)//遍历该路由器的路由表,提取路由器和子网信息{for (CurrentRouter的路由表的每一项){if (ipRouteType 为direct){if ( ipRouteMask为255.255.255.255) (1){把IpRouteNextHop所代表的路由器添加到RouteList尾部,同时保证链表中的路由器不重复;(2)把当前路由器CurrentRouter和IpRouteNextHop代表的路由器之间的链接添加到链表LinkList中;}else{把ipRouteDest和ipRouteMask所代表的子网添加到SubnetList中去;把该子网与当前路由器CurrentRouter之间的连接添加到LinkList中;}}if (ipRouteType 为indirect){把IpRouteNextHop所代表的路由器添加到RouteList尾部,同时保证链表中的路由器不重复;把当前路由器CurrentRouter和IpRouteNextHop代表的路由器之间的链接添加到链表LinkList中;}}}在(1)处,如果ipRouteMask为255.255.255.255,那么该路由为到主机的路由。
也就是说,以该路由的ipRouteNextHop为地址的路由器和当前路由器通过一根电缆直接连接。
在(2)处判断不同的IP地址是否属于同一台路由器时,可以首先查询ip管理组的ipAddrTable的所有IP地址,然后看当前的IP地址是否也在列表当中,如果在就是同一台路由设备,否则不是。
三、基于SNMP协议的链路层拓扑发现算法在大多数情况下,仅仅发现网络层的拓扑结构是不够的,还需要发现链路层的拓扑结构,即子网内的设备及其连接关系。
子网内的设备包括主机、交换机、打印机、集线器等等。
连接关系不但包括设备之间的连接,还包括其他设备和交换机端口之间的连接关系以及交换机端口之间的连接关系。
虽然局域网的拓扑信息对于网络管理非常重要,但是该信息却很难得到。
大部分网络管理工具仅仅依赖网络层的拓扑发现和网络管理员手工添加二层的网络设备,比如交换机等,没有提供链路层的拓扑发现。
Cisco,Intel以及其它硬件提供商虽然设计了它们自己的拓扑发现协议,但是这些对于大型,异构的网络没有任何用处。