基于SNMP的网络拓扑发现技术研究
作者:佚名; 更新时间:2016-01-20
摘要:本文对简单网络管理协议(SNMP)相关理论进行了详细阐述。并在此基础上分析研究了基于SNMP的网络拓扑发现的原理和算法,以此来提高网络管理的效率。
关键词:SNMP;网络拓扑;网络管理
0引文
随着全球化的脚步逐渐加快,网络的重要性更与日俱增。如何有效管理网络也成为了企业、政府和学校等重要的管理课题。网络管理随着信息网络的飞速发展,规模的越来越大,对现代网络管理的功能需求也就越来越复杂,目前这个时期,正是网络管理加速发展的黄金时期,原有的标准被不断的更新,目的就是为了满足日益增长的网络管理功能需求,提高网络管理的效率和降低网络管理的成本。
1 SNMP概述
1.1 SNMP的组成
SNMP主要由三个部分组成:SMI、MIB和SNMP协议。
(1)管理信息结构(SMI)
管理信息结构是管理信息库中的对象定义和编码(以便通过协议传输)的基础,它是对公共结构和一般类型的描述,和标识方法一起,在实现中都要用到。SMI经常被比作数据库的模式。如同模式描述数据库中对象的格式和布局一样,SMI描述MIB中的对象。
(2)管理信息库(MIB)
MIB定义了可以通过网络管理协议进行访问的管理对象的集合。管理信息库中为每个对象说明了具体的对象实例,并为每一个实例绑定了一个值。
(3)SNMP协议
SNMP是NMS和代理之间的异步请求和响应协议。NMS能够发出3个含有不同协议数据单(PDU)的报文。这3个PDU是提取请求GetRequest-PDU,提取下一个请求GetNextRequest-PDU和设置请求SetRequest-PDU。代理则只能发出两个不同的报文:一个是对来自NMS请求做出应答的GetResponse-PDU报文,另一个是陷阱TraP-PDU报文,是代理发现预定义的异常事件发生时主动发出的。利用SNMP协议,对网络设备状态的监视主要通过查询代理MIB中相应对象的值来完成【1】。
SNMP采用了client/Server模型的特殊形式:代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP代理负责回答SNMP管理工作站关于MIB定义信息的各种查询。SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作"SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。SNMP协议主要包括三个主要组成部分:SMI、MIB和SNMPvl协议,后来SNMPv2、
sNMPv3对这三个主要组成部分都作了相应的增强及修改。
1.2 SNMP工作原理
SNMP使用代理/管理站模型。SNMP代理是一个软件,它可以回答来自SNMP管理站的对MIB中定义的各种信息的查询,每个提供MIB信息给管理系统的网络设备都有一个SNMP代理。
SNMP代理和管理系统通过SNMP协议中的标准消息进行通讯,每个消息都是一个单独的数据报,SNMP使用用户数据报协议(Use: Datagram Protocol,UDP)作为传输协议,进行无链接操作,因此SNMP协议不需要依靠在管理系统和代理之间保持连接来传递信息。
在SNMP中主要包括以下五个原语:Get-Request、set-Request、Get-Next-Request、Get-Response和Tran组成,在SNMPv2中又增加了Inform-Request和Get-Bulk-Request,用来完成管理系统对安全部件的管理。管理系统通过Get-Request从拥有管理代理的网络设备中获取信息,管理代理用Get-Response来响应Get-Request消息,Get-Request和Get-Next-Request一起可以用来获取一个表中的对象。使用Set-Request可以对管理代理进行设置。而Tarp是管理代理发送给管理系统的非请求消息【2】。图1描述了对SNMP的五个原语进行操作。
2 基于SNMP的网络拓扑发现
SNMP是一种基于TCP/IP协议的互连网管理协议。SNMP网络管理框架的一般体系结构由四个主要部件构成,分别是:通信网络、网络协议、网络管理进程和被管网络实体。
SNMP己经成为网络管理的标准,为网络拓扑自动发现带来了巨大的方便,同时也大大
提高了网络拓扑发现的速度。
网络层拓扑发现算法的任务就是发现被管网络中的子网、路由器以及它们之间的连接关系。网络拓扑结构的各子网通过各自的路由器与其他子网通信,它们都连接到路由器的一个端口上。路由器的一个端口可以连接一个子网,也可以同其他路由器相连。当子网内的某一机器向别的子网发送数据时,数据包首先到达本子网的缺省路由器,缺省路由器检测数据包中的目的地址,根据其路由表确定该目的地址是否在与自己相连的子网中。如果是,则把数据包直接发往目的地,否则转发给路由表中规定的下一个路由器,下一个路由器再进行类似处理,依次类推,数据包将最终到达目的地。可见,通过分析路由器上的路由表,就可以知道网络层的拓扑结构【3】。
2.1网络层拓扑发现用到的MIB组
MIB-II(RFC-1213)是标准的SNMP MIB,所有的路由器都必须实现它。拓扑发现程序了具有通用性的特点,必然选择MIB-II作为拓扑发现工具。MIB-II由很多不同的组组成,本拓扑发现算法用到的组包括:system 、interfaces和 ip。下面详细介绍这三个组中包含的对象。
(1)System组
该组内包含七个对象,分别为:SysDescr, sysObjectlD, sysUpTime, sysContact, sysName,sysLocatio和sysServices。其中sysDescr描述了设备的相关信息,一般包括厂商,型号等。SysObjectlD唯一标识特定厂商的特定类型设备,比如sysObjectlD为1.3.6.1.4.9.5.45,则可以判断该设备为思科公司生产的型号为cisco6506的交换机。SysUptime表示设备从最近一次启动开始正常运行的时间。Contact由网络管理员设定,一般设为网络管理员的联系方式。SysName为设备的名字,算法中会用这个对象来判断不同的IP地址是否属于同一个设备。SysLocation由网络管理员设定,一般设为设各所在地点。SysServices表示了该设备所能提供的服务。
(2) Interfaces组
关键词:SNMP;网络拓扑;网络管理
0引文
随着全球化的脚步逐渐加快,网络的重要性更与日俱增。如何有效管理网络也成为了企业、政府和学校等重要的管理课题。网络管理随着信息网络的飞速发展,规模的越来越大,对现代网络管理的功能需求也就越来越复杂,目前这个时期,正是网络管理加速发展的黄金时期,原有的标准被不断的更新,目的就是为了满足日益增长的网络管理功能需求,提高网络管理的效率和降低网络管理的成本。
1 SNMP概述
1.1 SNMP的组成
SNMP主要由三个部分组成:SMI、MIB和SNMP协议。
(1)管理信息结构(SMI)
管理信息结构是管理信息库中的对象定义和编码(以便通过协议传输)的基础,它是对公共结构和一般类型的描述,和标识方法一起,在实现中都要用到。SMI经常被比作数据库的模式。如同模式描述数据库中对象的格式和布局一样,SMI描述MIB中的对象。
(2)管理信息库(MIB)
MIB定义了可以通过网络管理协议进行访问的管理对象的集合。管理信息库中为每个对象说明了具体的对象实例,并为每一个实例绑定了一个值。
(3)SNMP协议
SNMP是NMS和代理之间的异步请求和响应协议。NMS能够发出3个含有不同协议数据单(PDU)的报文。这3个PDU是提取请求GetRequest-PDU,提取下一个请求GetNextRequest-PDU和设置请求SetRequest-PDU。代理则只能发出两个不同的报文:一个是对来自NMS请求做出应答的GetResponse-PDU报文,另一个是陷阱TraP-PDU报文,是代理发现预定义的异常事件发生时主动发出的。利用SNMP协议,对网络设备状态的监视主要通过查询代理MIB中相应对象的值来完成【1】。
SNMP采用了client/Server模型的特殊形式:代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP代理负责回答SNMP管理工作站关于MIB定义信息的各种查询。SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作"SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。SNMP协议主要包括三个主要组成部分:SMI、MIB和SNMPvl协议,后来SNMPv2、
sNMPv3对这三个主要组成部分都作了相应的增强及修改。
1.2 SNMP工作原理
SNMP使用代理/管理站模型。SNMP代理是一个软件,它可以回答来自SNMP管理站的对MIB中定义的各种信息的查询,每个提供MIB信息给管理系统的网络设备都有一个SNMP代理。
SNMP代理和管理系统通过SNMP协议中的标准消息进行通讯,每个消息都是一个单独的数据报,SNMP使用用户数据报协议(Use: Datagram Protocol,UDP)作为传输协议,进行无链接操作,因此SNMP协议不需要依靠在管理系统和代理之间保持连接来传递信息。
在SNMP中主要包括以下五个原语:Get-Request、set-Request、Get-Next-Request、Get-Response和Tran组成,在SNMPv2中又增加了Inform-Request和Get-Bulk-Request,用来完成管理系统对安全部件的管理。管理系统通过Get-Request从拥有管理代理的网络设备中获取信息,管理代理用Get-Response来响应Get-Request消息,Get-Request和Get-Next-Request一起可以用来获取一个表中的对象。使用Set-Request可以对管理代理进行设置。而Tarp是管理代理发送给管理系统的非请求消息【2】。图1描述了对SNMP的五个原语进行操作。
2 基于SNMP的网络拓扑发现
SNMP是一种基于TCP/IP协议的互连网管理协议。SNMP网络管理框架的一般体系结构由四个主要部件构成,分别是:通信网络、网络协议、网络管理进程和被管网络实体。
SNMP己经成为网络管理的标准,为网络拓扑自动发现带来了巨大的方便,同时也大大
提高了网络拓扑发现的速度。
网络层拓扑发现算法的任务就是发现被管网络中的子网、路由器以及它们之间的连接关系。网络拓扑结构的各子网通过各自的路由器与其他子网通信,它们都连接到路由器的一个端口上。路由器的一个端口可以连接一个子网,也可以同其他路由器相连。当子网内的某一机器向别的子网发送数据时,数据包首先到达本子网的缺省路由器,缺省路由器检测数据包中的目的地址,根据其路由表确定该目的地址是否在与自己相连的子网中。如果是,则把数据包直接发往目的地,否则转发给路由表中规定的下一个路由器,下一个路由器再进行类似处理,依次类推,数据包将最终到达目的地。可见,通过分析路由器上的路由表,就可以知道网络层的拓扑结构【3】。
2.1网络层拓扑发现用到的MIB组
MIB-II(RFC-1213)是标准的SNMP MIB,所有的路由器都必须实现它。拓扑发现程序了具有通用性的特点,必然选择MIB-II作为拓扑发现工具。MIB-II由很多不同的组组成,本拓扑发现算法用到的组包括:system 、interfaces和 ip。下面详细介绍这三个组中包含的对象。
(1)System组
该组内包含七个对象,分别为:SysDescr, sysObjectlD, sysUpTime, sysContact, sysName,sysLocatio和sysServices。其中sysDescr描述了设备的相关信息,一般包括厂商,型号等。SysObjectlD唯一标识特定厂商的特定类型设备,比如sysObjectlD为1.3.6.1.4.9.5.45,则可以判断该设备为思科公司生产的型号为cisco6506的交换机。SysUptime表示设备从最近一次启动开始正常运行的时间。Contact由网络管理员设定,一般设为网络管理员的联系方式。SysName为设备的名字,算法中会用这个对象来判断不同的IP地址是否属于同一个设备。SysLocation由网络管理员设定,一般设为设各所在地点。SysServices表示了该设备所能提供的服务。
(2) Interfaces组
热门论文