第18章 基于SNMP协议的网络拓扑发现程序

合集下载

基于SNMP和Java的网络拓扑发现

基于SNMP和Java的网络拓扑发现

基于SNMP和Java的网络拓扑发现作者:王义峰来源:《学习周报·教与学》2020年第13期摘 ;要:随着现代化的逐渐发展,我国迎来了信息化时代,网络的功能也变得日益强大。

网络服务变得越来越丰富的同时,在网络管理方面上也产生了很大的挑战。

如果想更方便地管理网络设备和相关服务,就一定要精确网络管理软件。

与此同时,也要将网络设备和显示设备拓扑图的运行代价大大降低,也就是要求在一个合理的时间段内将网络设备的拓扑结构给发掘并制作出来。

为了能够满足上诉的要求,很多网络设备供应商在其网络设备中都支持SNMP 协议,这种方法借助Java语言对网络拓扑进行描述并且使之实现,完全發挥了Java语言的可移植和跨平台的特点。

关键词:网络拓扑;SNMP;Java语言一、网络拓朴的相关协议和规范(一)对SNMP协议的介绍简单网络管理协议(SNMP)是一种实现网络设备之间交换管理信息的应用层协议。

它由管理的设备、代理、网络管理系统和管理信息库四个部分来共同组成它的管理结构。

SNMP他的询问方式包括轮询和时间驱动这两种,并且它所拥有的协议数据单元最少支持五种类型。

(二)MIB-II规范该发现算法对于MIB-II的相关规范给出了很详细的定义。

在所定义的每一个管理组当中,IP组对实现网络拓扑发现来说起着很大的积极推动作用。

它所分出来的定义包括以下几种,路由表-ipRouteTable(IP-21)、地址表-ipAddrTable(IP-20)。

(三)Bridge-MIB规范这种规范实际上是属于上一个规范的相关扩展,它将数据链路层设备桥接器的各种状态信息都给定义。

因为交换机能够看得出是多端口透明网桥,所以它也支持Bridge-MIB。

二、网络拓扑发现算法的分析网络拓扑发现算法大概可以分为三个步骤来进行。

(一)首先先建立一个可供访问的临时带验证的地址集合区,例如主机地址。

(二)然后ping这些被集中起来的地址,查看它们是否允许被访问,一旦确定这些地址可以访问,就把它们归纳进被发现设备的永久集合当中。

2021年大规模IP网络中基于SNMP的网络拓扑发现方法分析(2)

2021年大规模IP网络中基于SNMP的网络拓扑发现方法分析(2)

大规模IP网络中基于SNMP的网络拓扑发现方法分析(2) 大规模IP网络中基于SNMP的网络拓扑发现方法分析根据粒度的不同,网络网拓扑发现大致可以分为粗粒度、中间粒度、细粒度三个级别。

粗粒度是一般指AS级别的拓扑发现。

在粗粒度的拓扑图中,节点代表一个域,而边则代表域间的连接。

中间粒度是指集群(路由器集簇)间的拓扑发现。

在中间粒度的拓扑图中,节点代表单路由器或主机的特定集群,边则代表路由器或集群主机之间的连接。

细粒度是指路由器级的拓扑发现。

在细粒度的拓扑图中,节点代表路由器(子网或主机),边代表路由器的连结。

目前,面向Inter的拓扑发现的研究主要集中在AS级和路由器级两个方面。

三、基于SNMP的网络拓扑发现分析(一)SNMP协议简介SNMP C Simple Network Management Protocol)即简单网络管理协议,目前有SNMPvI、SNMPv2两个版本。

SNMPvl于1990年开始发布,其规范文为RFC1157等。

SNMPv2于1993年开始发布,RFC1441对SNMPv2进行了系统地介绍。

目前,最新版本SNMPv3的规范文本为RFC2571。

SNMP采用“管理者一代理”的模式,实现对网络设备的监视和控制。

采用“轮询”与“陷阱”两种方式,实现管理进程与代理进程之间的信息交互,共定义了基本的5种报文:get-request操作:从代理进程处提取一个或多个参数值;get-next-request操作;从代理进程处提取一个或多个参数的下一个参数值;set-request操作:设置代理进程的一个或多个参数值;get-response操作:返回的一个或多个参数值。

这个操作是由代理进程发出的。

它是前面3种操作的响应操作;trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。

SNMP是一个应用层协议,尽管可以在传输层采用各种各样的协议,但是在SNMP中,用得最多的传输层协议还是UDP。

基于SNMP的网络拓扑发现算法与实现

基于SNMP的网络拓扑发现算法与实现
维普资讯
第 2 卷第 1 2 期
20 年 1 06 月

州 大


报( 自然科学版 )
Vo . 2。 1 2 No. 1


! (
S I N E E T ON) C E C DI I
ln.2 0 a 0 6
基 于 S MP的 网络拓扑发现算法 与实现 N
得各路由设备连接 的子网及子网内所有活动主机的信息.
需要从路由设备返 回的应答数据包解析出的每条记录中的路由相关信息如表 1 所示 .
算法主要流程如下 :
表 1 需解析 出的路 由相关信息 MI B对象 i o tl ne p uef dx R l i o t xHo p ue t p R Ne i ot ye p ue p R T
维普资讯
苏 州



报( 自然科学版 )
第 2 卷 2
以进一步收集系统和 I P地址信息 . 总之, 只要给出一个路 由设备任意端 口的 I P地址作为种子路 由( 通常使
用本地网关的 I P地址作为种子路 由器的地址)即可获取到指定深度 内的所有路 由设备及 活动主机的 网络 , 拓扑结构信息 .
O 引 言
目前 , 可以实现网络拓扑 自动发现的一些常用技术有 p g t c ot、 NS S MP等 . 中 S MP的基 i 、 ae u D 、N n r r e 其 N
本思想是 : 所有的网络设备维护一个 MI B库( 管理信息库 )保存该设备上所有与 网络运行相关的信息 , , 并对
外, 对指定子网内活动主机的发现也不能完全实时反映【 本文针对上述一些缺陷提出了一种改进 的基于 . S MP的网络拓扑发现算法 , N 经过实际网络的验证 , 能够有效地解决这些问题 .

基于SNMP的网络拓扑发现系统的设计与实现

基于SNMP的网络拓扑发现系统的设计与实现
Second, the research and analysis of the common topology discovery algorithm, the application of this system to the network layer and link layer topology discovery algorithm for topology discovery algorithm in detail. This is the core technology for topology discovery, but also the difficulty of the system development.
首先,本文介绍了课题的背景及研究现状。本课题来源于某高校校园网的管理需求。 大规模的校园网络需要高效的网络管理软件进行管理。从上世纪九十年代开始,陆续有 一些学者和专家对网络拓扑发现技术进行了研究,并提出了相应的技术和理论。与此同 时,许多厂家发布了一些商业软件产品,从不同程度上实现了拓扑发现功能。
Again, this paper ObjectSNMP and AdventNet SNMP API package in the Java programming language development platform and MySQL database platforms, design and implement a practical value of the campus network with a topology discovery system. From
然后,本文研究和分析了拓扑发现的基础理论及技术。这部分的相关技术主要包含 了网络层拓扑发现和链路层拓扑发现两个方面。本系统根据校园网络的特点主要采用技 术成熟、实现较简单的基于 SNMP 协议的路由表网络拓扑发现技术实现网络层拓扑发 现;采用基于地址转发表的技术实现链路层拓扑发现。上述拓扑发现技术都是基于 SNMP 的,笔者在论文中对 SNMP 协议进行了全面的分析研究。

基于SNMP的网络拓扑发现系统的设计与实现

基于SNMP的网络拓扑发现系统的设计与实现

中图分类号:TP319密级: 公开UDC:本校编号:工程硕士学位论文论文题目: 基于SNMP的校园网拓扑发现系统的 设计与实现研究生姓名:刘家乐学号:G07084学校指导教师姓名:吴辰文职称:教授企业指导教师姓名:陈贻品职称:副教授申请学位工程领域名称:计算机技术论文提交日期:论文答辩日期:独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含获得兰州交通大学或其他教育机构的学位或证书而使用过的材料。

与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。

学位论文作者签名:签字日期:年月日学位论文版权使用授权书本学位论文作者完全了解兰州交通大学有关保留、使用学位论文的规定。

特授权兰州交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。

同意学校向国家有关部门或机构送交论文的复印件和磁盘。

(保密的学位论文在解密后适用本授权说明)学位论文作者签名:导师签名:签字日期:年月日签字日期:年月日工程硕士学位论文基于SNMP的校园网拓扑发现系统的设计与实现Design and Implementation of Campus Network Topology Discovery System Based on SNMP作者姓名:刘家乐工程领域:计算机技术学号: G07084校内导师:吴辰文企业导师:陈贻品完成日期: 2010年10月10日兰州交通大学Lanzhou Jiaotong University摘 要随着校园网络规模的不断扩大和网络技术的不断发展,依靠传统的手工管理方式对大型校园网进行管理几乎已经是一个不可能的任务。

迫切需要功能强大的网络管理软件对校园网进行自动化管理。

而网络拓扑信息的自动发现正是网络管理软件中非常基础和重要的功能。

基于SNMP的网络拓扑发现

基于SNMP的网络拓扑发现

基于SNMP的网络拓扑发现摘要随着计算机网络的高速发展,网络管理变的日趋复杂,为了提高网络设备和服务管理的智能性和可操作性,对网络拓扑高效而准确地发现成为网络管理中重要的环节。

关键词网络拓扑;简单网络管理协议;管理信息库;网络管理;三层拓扑发现;二层拓扑发现1引言现代计算机网络迅猛发展,网络管理的任务也日趋复杂,而保证网络管理系统高效运行的基础正是网络拓扑发现。

网络拓扑表现为计算机网络中各设备之间的连接关系。

网络拓扑发现更能提高网络故障管理、计量管理、配置和名称管理、性能管理和安全管理的性能,其原理是利用协议收集网络中各设备的信息,通过某种算法生成完整的拓扑结构显示出来。

本文介绍的就是基于snp协议的网络拓扑发现。

2简单网络管理协议snp及ib信息库概述2.1snp概述snp名为“简单网络管理协议”,snp基于tp/ip协议工作,对网络中支持snp协议的设备进行管理,通过snp 协议,管理员可以与各种类型支持snp协议的设备进行通信,从而进行网络管理。

在具体实现上,snp为管理员提供了一个网管平台(ns),又称为管理站或管理器,负责网管命令发出,数据存储及数据分析等。

被监管的设备上则运行一个snp代理(agent),又称为代理器,代理实现设备与管理站的snp通信,图1描述了snp协议的逻辑结构[1]。

图1snp协议的逻辑结构1990年5月,rf1157定义了snp的第一个版本snpv1。

rf1157和另一个关于管理信息的文件rf1155一起提供了一种监控和管理计算机网络的系统方法。

因此,snp得到了广泛应用,并成为网络管理的事实上的标准。

90年代初snp得到了迅猛发展,同时也暴露出了明显的不足,例如难以实现大量的数据传输,缺少身份验证和加密机制。

因此,1993年发布了snpv2,提高效率和性能,同时还支持分布式网络的管理等,但是,snpv2并没有完全实现预期的目标,尤其是安全性能没有得到提高,如:身份验证(如用户初始接入时的身份验证、信息完整性的分析、重复操作的预防)、加密、授权和访问控制、适当的远程安全配置和管理能力等都没有实现。

【网络】基于SNMP的网络拓扑结构发现

【网络】基于SNMP的网络拓扑结构发现

【关键字】网络毕业设计(论文) 题目基于SNMP的网络拓扑结构发现学院名称计算机科学与技术学院指导教师谭敏生职称教授班级2004级3班学号335学生姓名刘祺目录摘要 (iii)Abstract (iv)第一章绪论 (1)1.1 课题背景及意义 (1)1.2 本文的研究目标及文章组织 (2)1.2.1 研究目标 (2)1.2.2 文章组织 (3)第二章网络拓扑发现概述 (4)2.1网络拓扑发现概述 (4)2.1.1网络拓扑发现概念 (4)2.1.2网络拓扑发现东西 (4)2.1.3网络拓扑发现前的准备工作 (4)2.1.4常用的网络拓扑发现技术 (5)2.2 SNMP协议介绍 (8)2.2.1 SNMP的发展 (8)2.2.2 SNMP的协议层次 (9)2.2.3 SNMP管理模型 (9)2.2.4 SNMP协议报文和通信原语 (11)2.2.5 使用SNMP协议时所涉及的内容 (13)第三章网络拓扑发现算法的研究 (18)3.1 基本算法 (18)3.2 基于ARP和SNMP的拓扑发现算法 (19)3.3 使用DNS区域传输和广播Ping的拓扑发现算法 (19)3.4 使用DNS区域传输和Traceroute的拓扑发现算法 (20)3.5 使用Traceroute进行探测的拓扑发现算法 (22)3.6 基于OSPF和SNMP的拓扑发现算法 (24)3.7 骨干网拓扑发现算法 (25)第四章基于SNMP的网络拓扑发现算法的实现 (27)4.1算法的原理 (27)4.2 算法描述 (31)4.2.1 算法中用到的MIB组 (31)4.2.2 网络拓扑发现的流程 (33)4.2.3 网络拓扑发现算法的实现 (35)第五章基于Java技术的网络拓扑结构生成 (38)5.1 基于Web和Java可视化的研究 (38)5.1.1 层次型的可视化结构 (39)5.1.2 Java Applet在系统中的应用 (39)5.2 数据库的设计 (40)5.3 拓扑结构可视化的实现 (43)5.3.1 Java Applet的实现 (43)5.3.2 可视化模块的实现 (44)5.3.3 对数据库的访问 (47)5.3.4 结果展示........................... 错误!未定义书签。

基于SNMP的网络拓扑发现

基于SNMP的网络拓扑发现

基于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是网络拓扑结构的一个模型。

其中,各子网通过各自的路由器与其他子网通信,它们都连接到路由器的一个端口上。

路由器的一个端口可以连接一个子网,也可以同其他路由器相连。

当子网内的某一机器向别的子网发送数据时,数据包首先到达本子网的缺省路由器,缺省路由器检测数据包中的目的地址,根据其路由表确定该目的地址是否在与自己相连的子网中。

如果是,则把数据包直接发往目的地,否则转发给路由表中规定的下一个路由器,下一个路由器再进行类似处理,依次类推,数据包将最终到达目的地。

基于SNMP协议的网络拓扑发现算法设计与实现

基于SNMP协议的网络拓扑发现算法设计与实现

越来越困难。一个好的 网络管理 系统首先要掌握 的就是 整 个管理网络的拓扑结构。 网络管理 中的拓扑发 现主要 目的
就 是 获 取 和 维 护 网 络 中元 素 的信 息 以及 它们 之 间 的连 接 关
系 信 息 ,最 终 实 现对 它们 的有 效 管 理 。
逻辑子网反映各子网 内的设备连接情况 , 即从各子网 的网关为起点 , 每个接 口所对应的子网内的设备连接情况 。
I 堡 堕
基于 S NMP协议 的网络拓扑发现算法设计与实 现
De s i g n a nd i mpl e me n t a t i o n of c a mp us ne t wo r k t o po l o g y d i s c o v e r y s ys t e m b a s e d o n S NM P
1引பைடு நூலகம்言
随 着 网 络 的 不 断 变 化 , 使 得 网 络 的管 理 和 维 护 变 得
拓扑结 构包括 网络层 的主拓 扑结构 、数据链 路层 的 逻辑子网拓扑结构和物理拓扑结构 。主拓 扑结 构反映网络
中 的 路 由设 备 和 子 网之 间 的 关 系 ,包 括 路 由器 一 路 由器 、 路 由 器 一 子 网 以及 接 口的 关 系。
o n s i mp l e n e t wo r k ma n a g e me n t p r o t o c o l ( S NMP ) a n d b a s e d o n A RP p r o t o c o l , g e n e r a t i o n t r e e p r o t o c o 1 . B a s e d o n t h e i d e a o f t h e a l g o r i t h m, i n t h e c a mp u s n e t wo r k e n v i r o n me n t , J a v a +P h p+ S QL S e  ̄e r r e a l i z e d w e b b a s e d n e t wo r k t o p o l o y g s e a r c h f u n c t i o n , c a n

基于SNMP的网络层拓扑发现

基于SNMP的网络层拓扑发现
维普资讯
第 2 卷第 3 5 期
vo . 5 No 3 12 .
长春师范学院学报【 自然科学版 )
Ju l f hncu o a U i rt( au l c ne oma o C aghnN r l n e i N tr i c ) m v sy aS e
【 收稿 日 ]2O — 3 1 期 O6 0 — 1 【 作者简介]张海飞 (9 一) 18 0 ,男,江苏如 东人 ,南通纺织 职业技 术学 院信 息技 术 系教 师 ,硕士 ,从 事 网络 管理和地 理信 息
系统研 究 。
・5 ・ O
维普资讯
用来查询或修改代理所 来 完 成 网络 的 管 理。 N
Gt e:用 于获取特 定 的对 象 ;G t et e —N x:用 于 获 取 对
象 ,但不 知 道 其 确 切 名 称 ,它 将 允 许 用 户遍 历 MI B 树 ,并判 断 哪些 对 象 存 在 ;St e:用 于 修 改 或 创 建 对 象 ;G t e os: 回答 取 操 作 ;Ta :可 以查 找 特 e —R s ne p rp 定 的事件 并 检 测 它 们 ,发 送 一 个 Ta r p消息 给 预配 置 好 的管 理工 作站 。与前 面几 条操 作不 同 的是 ,Ta r p消
2 简单网络管理协议 【N P SM )
SMP是 以 已成事 实标 准 的 T PI N C/ P协议 为基础 的 。S M N P两个 主要 的组 成部 分 为 S MP代 理 和 S MP管 理 N N
者。我们想要监视 的每个网络设备 ( 节点)都要运行 SM N P代理,S M 代理是一个或多个 软件进程 ,它将 NP
器 。但是 ,发 现并 不完 全 准确 ,因 为用 D C H P获取 I 地址 的 主机并 没有 D S服 务 。 I ) N

【推荐下载】大规模IP网络中基于SNMP的网络拓扑发现方法分析

【推荐下载】大规模IP网络中基于SNMP的网络拓扑发现方法分析

大规模IP网络中基于SNMP的网络拓扑发现方法分析 按照对象的不同对网络拓扑发现进行分类,可分为面向域内的网络拓扑发现和跨域的网络拓扑发现。

下面是为各位朋友准备的大规模IP网络中基于SNMP的网络拓扑发现方法,希望能为广大朋友带来帮助。

 (一)按照网络拓扑发现的对象进行分类。

面向域内的拓扑发现,是指面向同一AS或者同一ISP、甚至更小规模的局部网络的拓扑发现技术。

跨域的网络拓扑发现则是指面向不同AS(或ISP)网络的拓扑发现技术。

二者的不同主要在于,面向域内的拓扑发现网络管理员一般具有对网络元素的管理和控制权,而跨域的拓扑发现网络管理员一般无法对域外的网络元素进行管理和控制。

由于探测的对象不同,因此所适用的网络发现方法以及网络拓扑发现的目的等均有很大的不同。

由于网络管理员不能对网络元素进行管理和控制,因此在一般情况下,跨域的网络拓扑发现比域内的网络拓扑发现困难得多。

 (二)按照网络拓扑发现的方法进行分类。

按照发现方法对网络拓扑发现进行分类,可分为主动式网络拓扑发现和被动式网络拓扑发现。

 所谓主动式的网络拓扑发现,是指将一组精心设计的数据报注入被探测的网络,通过对网络反馈信息进行分析,得到网络的拓扑连接情况。

例如,各种基于Traceroute的网络拓扑发现方法,就是典型的主动式网络拓扑发现。

基于SNMP的网络拓扑发现,从原理上也应该归类为主动式的网络拓扑发现方法。

由于主动式网络拓扑发现可以根据探测需要,由探测发起者对探测数据报进行专门设计,因此适用情形较广,可以探测网络范围可以很大,并且可通过提高注入数据包的科学性和合理性,不断提高网络拓扑探测的准确度。

主动式网络拓扑探测的缺点主要是探测数据报将增大网络的负荷。

在大规模多点探测中,甚至有可能导致网络性能的严重降低。

在极端的情况下,由于注入数据报严重改变了网络负荷,甚至使探测到的网络拓扑与实际情况不相符。

 而被动式的网络拓扑发现,则是指对网络元素间的数据进行侦听,通过对侦听得到的数据进行分析,进而得出网络的拓扑连接情况。

基于SNMP的网络拓扑自动发现算法的研究和应用

基于SNMP的网络拓扑自动发现算法的研究和应用

第32卷 第11期 2010-11(下)【149】收稿日期:2010-09-23作者简介:聂明 (1964 -),男,吉林人,副教授,博士,主要研究方向为软件工程、数据库技术、图形图像技术和职业教育。

基于SNMP的网络拓扑自动发现算法的研究和应用1The research and application of network topology automatic discoveryalgorithm based on SNMP protocol聂 明NIE Ming(南京信息职业技术学院,南京 210046)摘 要:网络拓扑结构是网络中各个节点之间连接关系的表现,是网络系统高效运行的基础。

本文主要论述了网管系统中一个重要的功能——网络拓扑结构的自动发现和实现技术。

在分析比较了几种常用网络拓扑结构的发现和实现方法的基础上,提出了一种基于SNMP的网络拓扑结构发现算法,该方法经过实际网络管理系统的验证,能够高效地发现整个网络的拓扑结构。

关键词:网络;SNMP;MIB;拓扑发现中图分类号:TH166 文献标识码:A 文章编号:1009-0134(2010)11(下)-0149-04Doi: 10.3969/j.issn.1009-0134.2010.11(下).510 引言随着网络规模的日益扩大,复杂度的不断增加,网络拓扑结构也随之变得日益复杂。

一个好的网络管理系统应该反映网络中所有设备的布局结构,方便用户全方位地管理网络,对网络异常流量、设备告警、网络攻击现象等进行快速诊断和定位,以减少网络异常造成的损失[1]。

网络拓扑的自动发现,其目的是获得被管理网络的拓扑结构,主要指互连设备,如路由器、交换机、PC 设备等的信息以及它们之间的连接关系。

网络拓扑的自动发现是网络管理系统的重要组成部分,是发现系统故障和监控设备性能的基础,更是衡量一个网络管理系统成败的重要标准之一[2]。

1 网络拓扑的自动发现网络拓扑的自动发现通过收集网络拓扑的各种必要信息,确定网络元素之间的互连关系,并在此基础上构造网络拓扑图,为网络管理人员提供一个直观了解全局网络状态的友好界面。

MIB论文网络拓扑发现论文:基于简单网络管理协议的网络拓扑发现算法

MIB论文网络拓扑发现论文:基于简单网络管理协议的网络拓扑发现算法

MIB论文网络拓扑发现哦了我:基于简单网络管理协议的网络拓扑发现算法摘要:该文通过对简单网络管理协议的mib库中的各种表进行分析,描述了一种基于snmp的网络拓扑发现方法,该方法能自动准确的发现指定深度内的所有网络设备的连接情况。

该方法不向网络中发送过多的探测数据包,对网络的流量不产生太大影响。

关键词:mib;网络拓扑发现;snmp当今,随着计算机网络技术的不断成熟和发展,它已经深入到社会的各个领域。

人们在日常工作、日常生活中已经非常依赖于计算机网络,以至于网络的崩溃会造成不可挽回的损失。

因此维护计算机网络的稳定就成为了目前这个领域中的重中之重。

要维护网络的稳定就必然要进行计算机网络的管理,那么,首当其冲就是要获得网络的基本信息。

这些基本信息包括了各个设备的连接状况,要知道网络中各设备的连接状况就必须要先进行网络拓扑结构的搜索。

对于目前规模越来越大的计算机网络,靠人工进行拓扑搜索已经不可能了,因此需要计算机自动的进行拓扑搜索也就是拓扑发现。

网络拓扑发现的目的就是发现网络实体,并获取实体间的连接关系。

网络拓扑发现是网络故障定位,网络管理,通信瓶颈和网络性能分析的前提与基础。

拓扑发现首先要得到整个网络中的各个设备的路由信息,然后利用这些信息来自动生成网络拓扑图,在此过程中要充分利用各种路由的搜索算法和有关协议。

网络拓扑发现算法主要包括发现路由器与路由器、路由器与子网之间的连接关系以及局域网内部交换机与交换机、交换机与主机之间的连接关系。

其中自动发现路由器与路由器、路由器与子网之间的连接关系比较简单,由于现在绝大多数设备都支持snmp协议,因此相关信息就可以从每个路由器的mib库的iproutertable中获取。

1 简单网络管理协议(snmp)简介简单网络管理协议(snmp)是为基于tcp/ip的多厂商异构互联网的管理而设计。

它作为工业标准,已被广泛接受,其应用已扩展到其它协议组。

目前几乎所有的网络产品,包括交换机、路由器、ups、modem等硬件以及许多软件均支持snmp。

基于SNMP的拓扑发现的研究

基于SNMP的拓扑发现的研究

基于SNMP的拓扑发现的研究SNMP拓扑发现随着现代网络规模不断扩结构日趋复杂,网络成为网络系统正常运行的关键,网管系统的基本功能是以图形方式直观地将被管对象显示出来,因而拓扑发现是不可缺少的一部分。

拓扑发现确定网络元素之间的互连关系,是配置管理的中心,故障管理的基础。

一、网络的结构目前的TCP/IP网络全部是通过路由器互联起来的,路由器工作在OSI 的第三层,即网络层。

路由器利用网络定义的“"上的网络地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,这样的网络连接属于网络的逻辑拓扑连接。

逻辑连接的网络拓扑实现起来相对来说比较容易。

因为,主机和路由器中都保存有一个路由表,路由表中明确的列出了到达目的地的下一跳路由器,并且MIB库中有对该路由标的抽象,通过使用SNMP协议可以很容易的得到路由设备的路由表信息。

这样,只要从管理站出发,到达路由表中的规定的下一跳路由器反复执行直到目的地,就可以发现IP路由层的网络拓扑。

二、Internet的拓扑结构,Internet是由许多子网互连而成的,而且分层管理.第一层是Internet的主干,由核心网关互连而成;下一层是由**个自治系统所包括的子网组成.**个子过**自的网关同其他的子网,这些子网可以是一个局域网,也可以是某个局域网中的一个子网,它们都连接到网关的一个端口上,网关的端口可以和一个子网相连,也可以和其他网关相连。

当子网的某一机器发送数据的时候,数据包首先到达该子网的缺省网关,缺省网关检测数据包中的目的地址,根据其路由表中的信息目的地址是否在与自己相连的子网中,如果是,则把数据包发送到目的地,否则根据路由表到规定的下一个网关。

这样下一个网关做类似的处理,依此类推,数据包将最终到达目的地址。

XX基于SNMP协议的网络拓扑发现主要是通过一些算法,使用SNMP协议从网络设备的MIB信息库中提取有用的信息来完成网络的拓扑发现.使用SNMP协议存在的问题是,并不是所有的网络节点(如:未被管理的交换机)都实现了SNMP协议,或者网络节点在拓扑发现的时候处于关闭状态.因此,只是靠SNMP并不能发现所有的网络节点,我们还需要处理SNMP的数据来获得拓扑的详细信息,特别是在数据链路层的网络设备.下面将分层进行说明网络的拓扑发现过程。

【推荐下载】SNMP的网络拓扑发现方法分析

【推荐下载】SNMP的网络拓扑发现方法分析

SNMP的网络拓扑发现方法分析网络拓扑是指网络元素及其之间的连接关系。

这里所讲的网络元素,既可以是路由器,也可以是交换机、网桥等,还可以是客户端、服务器,甚至是子网、AS等。

下面是编辑老师为大家准备的SNMP的网络拓扑发现方法分析。

 网络技术发展到今天,除非为某种特殊应用而专门设计的局部网络,以太网( Ethemet)已经成为事实上通用的网络组网方式,TCP/IP协议簇已经成为事实上的网络通讯协议标准。

从概念上说,互联网可以看作是一个个小的局域网络通过互联(互连)而成的。

但一方面,组成互联网基础的各个局域网络的拓扑结构本身可能很不相同,另一方面,各个局域网络的之间的互联(互连)关系也千差万别。

因此,互联网的拓扑结构不可能用局域网三种基本的网络拓扑结构进行抽象。

 网络拓扑发现的分类 按照对象的不同对网络拓扑发现进行分类,可分为面向域内的网络拓扑发现和跨域的网络拓扑发现。

 面向域内的拓扑发现,是指面向同一AS或者同一ISP、甚至更小规模的局部网络的拓扑发现技术。

跨域的网络拓扑发现则是指面向不同AS(或ISP)网络的拓扑发现技术。

二者的不同主要在于,面向域内的拓扑发现网络管理员一般具有对网络元素的管理和控制权,而跨域的拓扑发现网络管理员一般无法对域外的网络元素进行管理和控制。

由于探测的对象不同,因此所适用的网络发现方法以及网络拓扑发现的目的等均有很大的不同。

由于网络管理员不能对网络元素进行管理和控制,因此在一般情况下,跨域的网络拓扑发现比域内的网络拓扑发现困难得多。

 按照发现方法对网络拓扑发现进行分类,可分为主动式网络拓扑发现和被动式网络拓扑发现。

 所谓主动式的网络拓扑发现,是指将一组精心设计的数据报注入被探测的网络,通过对网络反馈信息进行分析,得到网络的拓扑连接情况。

例如,各种基于Traceroute的网络拓扑发现方法,就是典型的主动式网络拓扑发现。

基于SNMP的网络拓扑发现,从原理上也应该归类为主动式的网络拓扑发现方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10
《计算机网络高级软件编程技术》
SNMP被管系统
被管资源
MIB树结构
root ccitt(0) standard(0) iso(1) org(3) dod(6) internet(1) joint -iso - ccitt(2) -
directory(1) mgmt(2) experimental(3) private(4) security(5) mib - 2(1) system(1) interfaces(2) at(3) ip(4) icmp(5) tcp(6) udp(7)
《计算机网络高级软件编程技术》
• • • •
7
程序界面示例
8
《计算机网络高级软件编程技术》
提纲
• • • • •
编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高
9
《计算机网络高级软件编程技术》
Trap
被管对象 管理代理 SNMP SNMP UDP Link
Set Set Get - Next Get - Next Get Get
《计算机网络高级软件编程技术》
提纲
• • • • •
编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高
13
《计算机网络高级软件编程技术》
NetExplorer
程序总体结构
与路由器通讯 与路由器通讯
Worker Thread Worker Thread
SendMessage
与路由器通讯,获得本 与路由器通讯,获得本 路由器的IP地址列表和 路由器的IP地址列表和 下一跳IP地址的列表 下一跳IP地址的列表
正常退出
17
《计算机网络高级软件编程技术》
提纲
• • • • •
编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高
18
《计算机网络高级软件编程技术》
其他网络管理协议
• CMIP(公共管理信息协议 )
• WS-Management(Web Service Management)
19
PDU 类型
请求 ID
错误 状态
错误 索引
名字1:值1
名字2:值2

a) Request/Response PDU 结构
SNMP 消息 版本 团体名 Trap PDU
PDU 类型
企业
代理 地址
一般 Trap 类型
特殊 Trap 类型
时间戳
名字1:值1
名字2:值2 名字

b) Trap PDU 结构
12
3
《计算机网络高级软件编程技术》
提纲
• • • • •
编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高
4
《计算机网络高级软件编程技术》
编程训练目的
• 掌握SNMP 通信原理,实现基于SNMP 协议进行通信,获得所需信息的功能 • 掌握基于SNMP协议,与特定路由器进 行通信,生成路由器连通拓扑结构图的 网络拓扑发现程序的设计与实现的方法
维护图状结构 维护图状结构
Class:DistributeDate Class:DistributeDate
显示调用
维护一个路由器拓扑图 维护一个路由器拓扑图 的生成树结构,并且在 的生成树结构,并且在 插入新的子节点是判断 插入新的子节点是判断 是否存在环路,并作相 是否存在环路,并作相 应标识 应标识
像绘图线程发送消息,通知他调用 DrawRouter绘制doc中RouterEnty 链表中最后一个元素 获得该节点的下一跳步列表 获得该节点的下一 跳步列表 N 成功? 成功? Y 针对该列表中的每一个IP地址,加上这个 Routerenty的指针和当前递归深度+1三 个参数循环调用该函数 Y 针对该列表中的每一个IP地址,加上这个 AddChild返回的指针和当前递归深度+1三个 参数循环调用该函数 N
16
《计算机网络高级软件编程技术》
ICMP扫描线程执行流程
程序开始
初始化 IP_OPTION_INFORMATION 结构体
N
检查参 数个数是否 正确
Y
检查参数是否以 直接转化为所需格式的 IP地址
N
发送ICMP ECHO REQUEST数据包
Y
投递APC请求
N
检查参数 是否可以通过DNS 转化为IP地址
“十一五”国家重点图书 计算机科学与技术学科前沿丛书
计算机科学与技术学科研究生系列教材(中文版)
计算机网络 高级软件编程技术
吴功宜 董大凡 王 珺 刘 乾
1
《计算机网络高级软件编程技术》
第18章 基于SNMP协议的网 络拓扑发现程序
2
《计算机网络高级软件编程技术》
概述
SNMP简单网络管理协议是目前应用最为 广泛的网络管理协议一个。通过本次编程 训练,帮助读者掌握网络管理的基本概念, 掌握SNMP协议的基本内容和实行方法, 培养读者编写网络管理软件的编程能力
Y
SleepEx (完成APC操作)
N
加载 DLL 并且获得相应函 数指针
Failed
判断是否 循环结束
Y
Success
等待其他APC操作
失败返回
成功返回
异步过程调用处理流程 解析 ICMP_ECHO_R EPLY结构 生成存储相 应主机信息 的字符串 发送Message,通知界 面线程显示该主机信息 字符串
《计算机网络高级软件编程技术》
网络管理新技术 • RMON(远程网络监控) • 基于WEB的网络管理
20
《计算机网络高级软件编程技术》
ቤተ መጻሕፍቲ ባይዱ
snmpv2(6) mail(7)
transmission(10) snmp(11)
udpInDatagrams(1)
11
《计算机网络高级软件编程技术》
PDU结构
SNMP 消息 版本 团体名 GetRequest , GetNextRequest , SetRequest , GetResponse PDU
应用管理对象
SNMP消息
IP
Get Get Response Response
通信网
SNMP体系结构
SNMP管理系统
Trap Trap
应用程序 管理进程 SNMP UDP 管理 Link
Set Get Get - Next Get Get
管理 数据
IP
Get Get Response Response
成功? Y N 生成一个只有一个IP的链 表,调用AddChild
成功? N Y 以该列表和父节点指针为参 数调用AddChild()
生成一个只有 一个IP的链表 N
AddChild返回 是否为空
Y
在doc中的RouterEnty中创建新的 节点,将IP地址列表附值
像绘图线程发送消息,通知他调 用DrawRouter绘制doc中 RouterEnty链表中最后一个元素
5
《计算机网络高级软件编程技术》
提纲
• • • • •
编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高
6
《计算机网络高级软件编程技术》
编程训练要求
编写程序,实现基于SNMP协议的拓扑 发现程序,要求: 程序可以设置与路由器通信的团体名 递归深度可以控制 界面友好,可以清晰显示路由器连通拓 扑结构 实现基于ICMP协议的特定网段内活动 主机扫描
维护相关数据 维护相关数据
Class:CNetExplorerDoc Class:CNetExplorerDoc
负责相关数据结构的构 负责相关数据结构的构 造,析构和动态生成管 造,析构和动态生成管 理 理
14
《计算机网络高级软件编程技术》
功能模块分析
• • • • 获得路由器信息的工作者线程模块 Class CNetExplorerView Class DistributeDate Class NetExplorerDoc
插入新获得的路由器信息
绘制屏幕 绘制屏幕
Class:CNetExplorerView Class:CNetExplorerView
提供更新界 面所需数据
接收Worker Thread的 接收Worker Thread的 消息,为新生成的路由 消息,为新生成的路由 器Enty分配位置并在屏 器Enty分配位置并在屏 幕上绘制该路由器以及 幕上绘制该路由器以及 其与其它路由器的连线 其与其它路由器的连线
15
《计算机网络高级软件编程技术》
工作者线程执行流程
获得四个参数,需要连接的路由器IP地址和 一个父节点指针,团体名,和当前递归深度 判断是否达到 递归深度 Y 退出递归
Y (该节点为头节点)
N RouterEnty是否为 空?
N (该节点为某节点的子节点)
获得该节点的IP地址列表
获得该节点的IP地址列表
相关文档
最新文档