搜档网
当前位置:搜档网 › 基于SNMP的网络拓扑发现

基于SNMP的网络拓扑发现

基于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是网络拓扑结构的一个模型。其中,各子网通过各自的路由器与其他子网通信,它们都连接到路由器的一个端口上。路由器的一个端口可以连接一个子网,也可以同其他路由器相连。当子网内的某一机器向别的子网发送数据时,数据包首先到达本子网的缺省路由器,缺省路由器检测数据包中的目的地址,根据其路由表确定该目的地址是否在与自己相连的子网中。如果是,则把数据包直接发往目的地,否则转发给路由表中规定的下一个路由器,下一个路由器再进行类似处理,依次类推,数据包将最终到达目的地。可见,通过分析路由器上的路由表,就可以知道网络层的拓扑结构。

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 ~ 192

192.168.0.0 255.255.255.0 192.168.0.1 ~ 255

192.168.4.0 255.255.254.0 192.168.4.1 ~ 192.168.5.255

192.168.6.0 255.255.255.0 192.168.6.1 ~ 255

192.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以及其它硬件提供商虽然设计了它们自己的拓扑发现协议,但是这些对于大型,异构的网络没有任何用处。

局域网拓扑发现的复杂性在于以太交换机硬件的内在透明性:网络用户感觉不到网络中交换设备的存在。这些交换机设备仅仅在执行生成树协议(Spanning tree protocol)时才和邻居设备交换信息,况且这种协议也不是在所有环境下都使用。交换机能保留的唯一状态是它的转发数据库,它的作用是把收到的数据包转发到适当的端口上去。这些信息对于局域网的拓扑发现来说是足够的,并且可以通过SNMP的标准MIB来访问。局域网中,交换机的连接关系确定了整个局域网拓扑结构的布局,所以,发现局域网络拓扑首先要发现交换机之间的连接关系。

3.1 交换机互联关系的发现

图3.4为链路层的网络模型图,其中的节点包括交换机和主机。交换机通过它们的端口相连,主机通过局域网或者集线器和交换机的端口相连。

由网桥(交换)设备组成的局域网中的设备可以被划分为网桥集合B和端点集合E。如图3.4所示,B={A,B,C,D}。E={W, X, Y, Z}。当今的以太网通常是交换式的,交换机通过不同的端口把网络中的其它各种设备连接起来。以太局域网中还包括:集线器(图3.4中与A相连),该设备用来把几台主机连接在交换机的同一个端口上;共享网段(图3.4中和C相连);哑交换机,即不支持SNMP 的交换机(图3.4中和B相连)。交换机和其它交换机以及网段之间的连接不应该出现环路,即使物理上有环路,交换机也会利用生成树算法(spanning tree protocol)在所有连接中选择一个无环路的子集。一旦拓扑结构确定,交换机就通过监听每个端口的数据包学习网络中设备的位置信息。当一个新节点发出的数据经过交换机的一个端口时,交换机会把该数据包的源地址加到与该端口对应的列表中。在这以后,当交换机收到一个发往该地址的数据包时,它会自动把这个数据包转发到对应端口上。这些对应关系组成了交换机的转发数据库。在转发数据库中,交换机的每一个端口都对应着多个设备的物理地址,称这些物理地址所对应设备的集合为该端口的转发集。对于交换机C,用F x C来标识交换机C的端口x的转发集。在图3.4中,F1C={A,B,D,W,X,Z}。该集合随着网络拓扑的变化而变化,同时由于记录有生存时间,所以该集合还随着时间而变化。当该集合中包含该端口下连接的所有设备时,该集合称为完整的,F1C是完整的。

图3.4 链路层网络模型图

1) 直接连接定理

发现局域网络拓扑首先要发现交换机之间的连接关系。当两个不同的节点互相连接,并且在它们之间不存在任何其它设备时,称该连接为直接连接。当两个不同的节点通过中间其它设备连接在一起时,称该连接为间接连接。直接连接是间接连接的一种特殊情况。如果一个数据包从交换机A的端口x发出,然后中途未经过任何其它网络设备而达到交换机B的端口y,称交换机A的端口x和交换机B的端口y之间有直接连接;如果中途需要经过其它的网络设备才能达到,则称A交换机的端口x和交换机B的端口y之间存在间接连接。例如,在图3.4中,交换机A和B通过端口1和4直接连接。A的端口1和C的端口1之间存在间接连接。

如果能判断两个交换机的不同端口之间是否有直接连接,就可以得出网络中交换机的互联关系,下一步发现交换机和主机的连接关系也变的相对容易了。由图3.4可以观察到,如果F1B和F1C都是完整的,即F1C={A,B,W,X,D,Z},F1B ={C,Y}。得到,F1B∩F1C=ф,F1B∪F1C=N(N为全集,即图3.4中所有设备的集合)。这并不是偶然的,因为如果两个交换机的不同端口x,y直接连接,中间没有任何其它设备,那么以相连处为中线,网络中的设备可以划分成两部分,一部分在端口x所对的一侧,即F x A,另一部分在端口y所对的一侧,即F y B。所以,F x A∪F y B=N。该命题的逆命题也成立。

直接连接定理[6]: 如果F x A和F y B都是完整的,那么交换机A的端口x和交换机B的端口y直接相连的充要条件是F x A∩F y B=ф且F x A∪F y B=N。

根据直接连接定理,可以遍历局域网中交换机的转发数据库(FDB),对不同交换机端口的转发集作“并”操作,如果结果为全集且“交”操作的结果为空,则这两个端口就是直接连接的。

但是,直接连接方法最大的缺陷就是要求交换机端口的转发集是完整的。当

网络的规模很大时候,获得完整的转发集几乎是不可能的。在一个拥有上百,甚至上千个节点的网络中,某个时刻总会有一些节点因为软件或者硬件的原因而处在非活动状态。这时候,相应的交换机端口的转发集就不会是完整的,上述方法就不适用了。

2) 间接连接定理

为了克服这个缺点,参考文献[7]中提出了一种能够利用非完整的转发集就能判断交换机直接连接的方法。该方法的基本思想是,利用反证法,排除不可能的连接关系。

图3.5是一个利用反证法来判断交换机之间连接的例子。假设交换机A 和B 通过某两个端口间接连接,然后判断该连接是否和交换机A 、B 的FDB 中已有信息相矛盾。如果找不到矛盾,则这个连接是可能存在的;如果矛盾,则这条连接是肯定不存在的。在图3.5中,交换机A 和交换机B 的连接关系可能有六种,如图3.6所示。

图3.5 交换机A 和B 通过不同的端口连接示例

假设交换机A 的端口1和交换机B 的端口1间接相连,如图3.6的第一种情况所示。如前文所述,以太局域网中交换机连接成一个树状结构,不存在环路。所以,此时的网络可以分成三部分。第一部分是交换机A 的端口2和3所连接的设备;第二部分是交换机B 的端口2所连接的设备;第三部分是交换机A 、交换机B ,以及位于二者中间的设备。实际上,第一部分是F 2A ∪F 3A ,第二部分是F 2B ,这两部分不应该有交集。但是,(F 2A ∪F 3A )∩ F 2B ≠ф,所以,这个事实与交换机A 的端口1和交换机B 的端口1相连矛盾。实际上,除了有间接连接

{Z} {X}

{X}

的两个端口以外,两个交换机上的不同端口的转发集不应该有相同的元素。否则,相当于声称一个设备同时存在于网络的两个不同的位置,显然是不合理的。在图3.6中,只有第五种情况下没有出现矛盾,其它五种情况均不可能。所以,实际的情况必定是交换机A的端口1和交换机B的端口2相连。

利用这种方法来判断交换机之间的连接关系并不需要交换机端口的转发集是完整的,只要所有的信息能够排除掉所有不存在的连接关系就足够了。参考文献[7]中给出了可以利用该方法得出交换机连接关系的最小要求,称之为间接连接定理。

间接连接定理:只要满足以下3个条件之一,就可以确定交换机A和B通过x和y端口间接相连。设交换机A在x端口上学习到的MAC地址的集合为

F x A。

1.F x A和F y B中同时存在着对方的MAC地址;

2.F x A中存在B的MAC地址,并且A上存在一个端口k(k≠x),使得F y B ∩F k A≠ф;

3.在B上存在两个端口i,j,使得F x A∩F i B≠ф且F x A∩F j B≠ф,并且A 上存在端口k(k≠x),使得F k A∩F y B≠ф。

图3.6 交换机A与B的六种可能的连接关系

由于交换机之间很少通信,所以条件1和2中要求的交换机A的F x A中存在B的MAC地址很难满足,可以利用IP欺骗的方法尽量地使条件满足。具体做法是:对于子网中的每个交换机S i,利用IP欺骗方法,以S i的IP地址为源地址,向子网中的其他交换机发送ICMP ECHO消息。在S i收到回应后,将导致S i的FDB中保存有其他交换机的MAC地址。

3) 基于间接连接确定直接连接

根据子网内交换机之间的间接连接关系,就可以确定交换机之间的直接连接关系。设子网内的所有交换机构成的集合为G。根据STP协议,交换机之间将构成一棵树。任选其中一个交换机S i为根,假设S i通过n个端口与其他交换机

构成间接连接,则可以将G-{S i}构成一个划分Πi,划分中包含n个元素,每个元素是与S i的某个端口p相间接连接的交换机的集合,设为G p。在G p中任选一个交换机S j,则S j必然通过某个端口q与S i的端口p间接连接,如果S j不通过端口q与G p中的其他交换机间接连接,则可以判定S j通过端口q与S i的端口p 直接连接。

3.2 算法的具体描述

基于SNMP的链路层拓扑发现算法主要任务是发现以太网的子网中设备以及连接关系。本文所描述的算法以给定的子网号和掩码地址作为输入,以交换机对象链表pSwList, 网段对象链表pSegList,打印机对象链表pPrtList和2层连接对象链表pL2ConnList为算法的输出。给定子网的拓扑信息全部包含在上述的三个链表中。

1)算法的第一部分首先根据子网地址和子网掩码计算出子网的范围,然后扫描该范围内的所有IP地址,并通过3.1.3.3节所给出的方法判断设备的类型以及其它信息。该过程用伪代码表示如下:

for(子网范围内的每一个地址ipAddr)

if(存在某个设备的IP地址为ipAddr)

deviceType = getTypeofDevice(ipAddr);

if (deviceType == switch)

生成交换机对象,添加到pSwList链表中;

else if (deviceType == printer)

生成打印机对象,添加到pPtrList链表中;

else

生成主机对象,添加到pHostList中;

2) 找到子网内所有主机的MAC地址。

3) 遍历子网中所有的交换机,下载交换机的FDB表。同时为交换机的每个端口生成一个相应的网段对象SegNode,该网段中包含对应端口转发集中的所有在本子网范围内的主机。

4)基于每个交换机的FDB表,利用3.1.3.1所描述的方法计算交换机之间的连接关系。

5)重新调整子网内的所有网段。对有直接连接的两个端口对应的网段作“与”操作,如果结果为空,则删除这两个网段;如果非空,则删除原来的两个网段,生成一个新的网段,该网段内的主机为“与”操作的结果。

6)把网段和交换机的连接关系构造成对象,添加到2层连接对象链表L2ConnList中。

在算法的第(2)步,之所以要找到物理地址是因为交换机FDB中的地址是MAC地址,在为主机划分网段时,要用到这些MAC地址。找到主机MAC地址的方法有两种。第一种是利用主机的MIBII中的inferfaces组中的ifPhysAddress 对象,另一种是利用与该子网相连的路由器中的ipNetToMediaTable来找到该子网内的所有主机的MAC地址。但是后者并不能保障找到所有的主机的MAC地址,但是它能找到那些不支持SNMP主机的MAC地址。

4 小结

本节按照不同层次描述了基于SNMP的拓扑发现方法。在网络层,主要利用MIBII的IP组中的路由表来发现网络中的路由器和子网的连接关系;在链路层,主要利用网桥MIB(Bridge Mib)来发现交换机和交换机直接的连接关系。SNMP 标准协议是拓扑发现的一个重要工具,正是SNMP的存在,才使得耗时巨大的拓扑发现过程的变得迅速快捷。

附录A XML文件格式定义

Comment describing your root element

the gateway list

gateway node

connection object in network layer

connection object in link layer

网络管理协议SNMP

●SNMP 配置 ●SNMP 协议介绍 目前网络中用得最广泛的网络管理协议是SNMP(Simple Network Management Protocol)。SNMP是被广泛接受并投入使用的工业标准,用于保证管理信息在任意两点间传送,便于网络管理员在网络上的任何节点检索信息、修改信息、寻找故障、完成故障诊断、进行容量规划和生成报告。SNMP采用轮询机制,只提供最基本的功能集,特别适合在小型、快速和低价格的环境中使用。SNMP的实现基于连接的传输层协议UDP,得到众多产品的支持。SNMP分为NMS和Agent两部分,NMS(Network Management Station),是运行客户端程序的工作站,目前常用的网管平台有Sun NetManager和IBM NetView;Agent是运行在网络设备上的服务器端软件。NMS可以向Agent发出GetRequest、GetNextRequest和SetRequest 报文,Agent接收到NMS的请求报文后,根据报文类型进行Read或Write操作,生成Response报文,并将报文返回给NMS。Agent在设备发现重新启动等异常情况时,也会主动向NMS发送Trap报文,向NMS汇报所发生的事件。 ●SNMP 版本及支持的MIB 为了在SNMP报文中唯一标识设备中的管理变量,SNMP用层次结构命名方案来识别管理对象。用层次结构命名的管理对象的集合就象一棵树,树的节点表示管理对象,如下图所示。管理对象可以用从根开始的一条路径别无二义地识别。 A 2 6 1 5 2 1 1 2 1 B ●MIB树结构 MIB(Management Information Base)的作用就是用来描述树的层次结构,它是所监控网络设备的标准变量定义的集合。在上图中,管理对象B可以用一串数字{1.2.1.1}唯一确定,这串数字是管理对象的Object Identifier(客体标识符)。 以太网交换机中的SNMP Agent支持SNMP V1、V2C和V3,支持的常见MIB如下表所示。 ●以太网交换机支持的常见MIB

SNMP(简单网络管理协议)

SNMP(Simple Network Management Protocol,简单网络管理协议) 通信线路进行管理。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。说白了就是一网管系统。网络管理功能一般分为性能管理,配置管理,安全管理,计费管理和故障管理等五大管理功能。 Windows NT是纯32位操作系统,采用先进的NT核心技术。Windows NT Workstation的设计目标是工作站操作系统,适用于交互式桌面环境;Windows NT Server的设计目标是企业级的网络操作系统,提供容易管理、反应迅速的网络环境。两者在系统结构上完全一样,只是为适应不同应用环境在运行效率上做相应调整。 另一个可以采用的保护措施是在网络边界上过滤SNMP通信和请求,即在防火墙或边界路由器上,阻塞SNMP请求使用的端口。标准的SNMP服务使用161和162端口,厂商私有的实现一般使用199、391、705和1993端口。禁用这些端口通信后,外部网络访问内部网络的能力就受到了限制;另外,在内部网络的路由器上,应该编写一个ACL,只允许某个特定的可信任的SNMP管理系统操作SNMP 1.按应用层次划分为入门级服务器、工作组级服务器、部门级服务器和企业级服务器四类。 (1)入门级服务器 (2)工作组级服务器 (3)部门级服务器 (4)企业级服务器 2.按服务器的处理器架构(也就是服务器CPU所采用的指令系统)划分把服务器分为CISC(复杂指令集)架构服务器、RISC架(精简指令集)构服务器和VLIW架构服务器三种。 (1)CISC架构服务器 (2)RISC架构服务器 (3)VLIW架构服务器 3.按服务器按用途划分为通用型服务器和专用型服务器两类。 (1)通用型服务器 (2)专用型服务器 4.按服务器的机箱结构来划分,可以把服务器划分为“台式服务器”、“机架式服务器”、“机柜式服务器”和“刀片式服务器”四类。 (1)台式服务器 (2)机架式服务器 (3)机柜式服务器 (4)刀片式服务器 入门级服务器通常只使用一到两颗CPU,主要是针对基于Windows NT,NetWare等网络操作系统的用户,可以满足办公室型的中小型网络用户的文件共享、打印服务、数据处理、Internet接入及简单数据库应用的需求,也可以在小范围内完成诸如E-mail、Proxy 、DNS等服务。

网络管理与维护实验1-Windows环境下简单网络管理协议的安装与配置

一. 实验目的 1. 掌握Windows系统中SNMP服务的安装以及SNMP服务属性配置。 2. 掌握如何使用Snmputil命令查看代理的MIB对象,熟悉MIB结构,掌握SNMP操作; 3. 理解GetRequest、GetNextRequest、trap消息,以及团体名的作用。 二. 实验所需设备及材料 安装Windows操作系统的计算机1台。 三. 实验内容及要求 1. 参考实验指导书P251页5. 2.2节实验,完成Windows操作系统中SNMP服务的安装和SNMP服务属性的配置,其中只读团体名设置为自己的八位学号,联系人设置为自己的姓名拼音全称。 2. 参考实验指导书P256页5.2.4节实验,练习使用Snmputil工具查看代理的MIB对象(实例),熟悉Get、GetNext、Walk命令操作。 完成以下内容: ⑴管理站发送Get、GetNext请求访问“系统组”,当代理正常返回的对象实例和值时,截图,并逐条给予解释。例如先解释sysObjectID对象的语义,然后根据返回的值说明是哪一厂商。 ⑵访问“IP组”的ipAddTable,截图,并根据返回的信息,绘制出本机的ipAddTable表,并填写所有列对象实例的值。用箭头标示该表的索引列。 ⑶访问“IP组”的ipNetToMediaTable,在返回的多个接口信息中,选取某一个接口,写出其ARP表,并用arp 命令验证,截取arp命令回显内容。 ⑷使用netstat命令查看TCP连接,找到有本机IP地址的n条TCP连接(n>=4),截图,注意这n条TCP连接必须是连续出现的。针对你选择的n条TCP连接,思考如何使用Snmputil的get和getnext命令,查询“TCP 组”的TCP连接表的tcpConnState、tcpConnLocalPort两个列对象实例的值,截图。并参照理论教材P50图3.19的形式画出TCP连接表的对象及其实例的子树(每个列对象只画出你选择的n个实例)。 ⑸查询本机接口的个数,并利用某个命令查询所有接口的速率,截图。 ⑹本机是否可以作为IP网关?为什么?请结合访问相关对象的截图来说明。 ⑺访问系统当前的系统安装列表,截图(若内容太多,后半部分可以适当省略)。 ⑻产生一个trap,截图,并说明显示的trap信息中generic当前取值的含义。 四.实验过程

snmp协议的分析

竭诚为您提供优质文档/双击可除 snmp协议的分析 篇一:实验三snmp协议分析 实验三snmp协议分析 一、实验目的 (1)掌握嗅探工具ethereal协议分析软件的使用方法(2)利用ethereal软件工具截snmp数据包并完成报文分析 二、实验环境 局域网,windowsserver20xx,snmputil,ethereal,superscan 三、实验步骤(0、snmp的安装配置) 1、理解应用层snmp协议工作原理; 2、使用windows平台上的snmputil.exe程序实现snmp 交互; 3、利用协议分析和抓包工具ethereal抓取分析snmp 协议报文。 四、实验内容 内容一:

1.打开ethereal软件开始抓包, 输入命令: snmputilget[目标主机ip地址]团体 名.1.3.6.1.2.1.1.2.0停止抓包。对snmp包进行过滤。(给出抓包结果截图) 2.找出一对snmp协议请求包和相对应的应答包。给出抓包结果截图。 3.对上面这对请求和应答包进行分析,根据snmp协议数据包格式填值。 请求包报文分析 应答包报文分析 内容二: 1.通过snmptuil.exe与snmp交互: 输入snmputilwalk[目标主机ip地址]团体 名.1.3.6.1.2.1.1命令列出目标主机的系统信息。 2.打开ethereal软件开始抓包,再次输入上面命令后,停止抓包。对snmp包进行过滤。给出抓包结果截图。 3.找出一对snmp协议请求包和相对应的应答包。给出抓包结果截图。 4.对上面这对请求和应答包进行分析,根据snmp协议数据包格式填值。 请求包报文分析

基于SNMP的网络管理软件的配置与使用

华北电力大学 实验报告 实验名称基于SNMP的网络管理软件的配置与使用课程名称网络管理 专业班级:学生姓名: 学号:成绩: 指导教师:实验日期:

(一)基于SNMP的网络管理软件的配置与使用 一、实验目的 1.熟悉路由器和交换机并掌握路由器和交换机的基本配置方法和配置命令。 2.练习构建一个由四个路由器和四台主机构成的网络。 3.操作SiteView NNM管理系统,掌握如何添加网元,构建管理系统,并每 一个可被管理的设备进行操作。 4.掌握网络管理软件的使用方法,实现对网络的拓扑发现实时监控,告警设置: 1).应用Siteview软件进行拓扑发现。通过自动和手动两种方式实现。 2).基于SNMP的实时监控。对设备,链路,端口等进行相应的监控。 3).进行告警设置(告警方式)。通过对不同设备,条件等进行告警设置。 二、实验环境 计算机4台、路由器4台、交换机4台、SiteView NNM网络管理软件系统。 三、实验原理 网络设备只有配置了SNMP协议以后,才能够通过SNMP进行监控和管理,因 此,使用网络管理软件之前,需要对所有设备进行配置。主要包括: 1)主机SNMP配置; 2)路由器SNMP配置; 3)交换机SNMP配置。 四、实验步骤: 1、局域网的实现与配置: 网络拓扑图:

路由配置: 1)IP分配: 四台PC的本地连接2的IP分别为: PC1:222.1.3.5 PC2:222.1.2.5 PC3:222.1.1.5 PC4:222.1.4.5 本地连接1 IP: PC51:192.168.1.21 PC52:192.168.1.22 PC53:192.168.1.23 PC54:192.168.1.24 2)地址分配: 路由器R1 S2端地址:222.1.6.1 路由器R1 S3端地址:222.1.7.1 路由器R1与路由器R2间的地址:222.1.6.0 路由器R1与两层交换机1间接口G1 地址:222.1.3.1 路由器R2 S2端地址:222.1.6.2 路由器R2 S3端地址:222.1.5.1 路由器R2与路由器R3间的地址:222.1.5.0 路由器R2与两层交换机2间的地址:222.1.2.1 路由器R3 S2端地址:222.1.5.2 路由器R3 S3端地址:222.1.8.1 路由器R3与路由器R4间的地址:222.1.8.0 路由器R3与两层交换机2间的地址:222.1.1.1 路由器R4 S2端地址:222.1.8.2 路由器R4 S3端地址:222.1.7.2 路由器R4与路由器R1间的地址:222.1.7.0 路由器R4与交换机间的地址:222.1.4.1 PC1地址:222.1.3.5 网关:222.1.3.2 PC2地址:222.1.2.5 网关:222.1.2.2 PC3地址:222.1.1.5 网关:222.1.1.2 PC4地址:222.1.4.5 网关:222.1.4.2

简单网络管理协议工具

第六章简单网络管理协议工具 本章重点仍是一些网络工具,它们可用于管理系统及其它的网络设备,例如交换器、路由器、集线器和其它支持SNMP的设备等。这部分介绍的网络工具很有用,对于你已经掌握的软件来说,是一个很好的补充。 本章中介绍的工具有: ·UCD的SNMP命令 ·Snmpconf命令 总的来看,这些工具提供了监控和管理的功能,它们可用于以下方面: ·确定SNMP 的系统节奏(system heartbeat) ·确定系统开/关消息 ·获得协议统计信息 ·获得接口性能数据 ·监控系统进程活动性 ·监控路由 ·配置网络设备 6.1 监控/管理功能 1. 系统节奏 系统节奏(system heartbeat)是一条SNMP的get-request请求,管理员使用该请求来确定管理代理和系统的一般可连接性。举例说明,网络管理员可以查询管理代理的系统时钟MIB变量,可以确定每次连续的查询都比前一次查询晚一些。各次连续查询应该表明时间在向前移动。可用于这方面的MIB变量是数据对象unitTime ,它是Sun系统管理代理的sunSystem组的一部分。此外,MIB-II的system组中的数据对象sysUpTime也可用于这个方面,所有的SNMP管理代理应该都可以使用这个数据对象。 2. 系统开/关消息 如果一个系统因某种原因被关闭或重启,此时系统应该以trap形式向指定的网络管理系统发送一条报文。我们说过,trap是一种由管理代理主动发送的报文,它表明某些特定条件或事件。例如,接收这些报文后,管理员得知发生系统中断,于是采取适当的操作。UCD 管理代理的配置文件和其它工具可用于向一个或多个网络管理系统续传trap报文。 3. 协议统计信息 因为许多SNMP管理代理支持MIB-II标准,所以有可能实现协议性能监控和系统监控。这包括IP、ICMP、TCP、SNMP协议,网络接口计数器,及一些Sun系统性能数据对象。 4. 系统进程活动性 Sun MIB扩展和UCD管理代理的应用,使得实现系统进程的监控成为可能。通过监控 143

snmp报文分析

SNMP报文格式分析 报文格式 snmp简介 snmp工作原理 SNMP采用特殊的客户机/服务器模式,即代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。 管理站和代理端使用MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和代理都实现相应的MIB对象,使得双方可以识别对方的数据,实现通信。 管理站向代理请求MIB中定义的数据,代理端识别后,将管理设备提供的相关状态或参数等数据转换成MIB定义的格式,最后将该信息返回给管理站,完成一次管理操作。 snmp报文类型 SNMP中定义了五种消息类型:Get-Request、Get-Response、 Get-Next-Request、Set-Request和Trap 。 1.Get-Request 、Get-Next-Request与Get-Response SNMP 管理站用Get-Request消息从拥有SNMP代理的网络设备中检索信息,而SNMP代理则用Get-Response消息响应。Get-Next- Request用于和 Get-Request组合起来查询特定的表对象中的列元素。 2.Set-Request SNMP管理站用Set-Request 可以对网络设备进行远程配置(包括设备名、设备属性、删除设备或使某一个设备属性有效/无效等)。 3.Trap SNMP代理使用Trap向SNMP管理站发送非请求消息,一般用于描述某一事件的发生,如接口UP/DOWN,IP地址更改等。

上面五种消息中Get-Request、Get-Next-Request和Set-Request是由管理站发送到代理侧的161端口的;后面两种Get-Response和Trap 是由代理进程发给管理进程的,其中Trap消息被发送到管理进程的162端口,所有数据都是走UDP封装。 snmp报文格式图 SNMP报文的形式大致如下图所示。 snmp报文编码格式 SNMP(简单网络管理协议)是目前在计算机网络中用得最广泛的网络管理协议,它使用(Abstract Syntax Notation One抽象语法表示法.1)来定义SNMP报文格式和MIB(Management Information Base管理信息库)变量的名称。 是一种描述数据和数据特征的正式语言,它和数据的存储及编码无关。根据标准定义,数据类型分为: a.简单数据类型: boolean布尔值

SNMP的功能及使用

TCP/IP课程设计 课题:SNMP的功能及应用 小组成员:原志祺、张冰雪、栗国齐、 许杰 姓名:原志祺 院系:计算机与通信工程学院 班级:通信工程09-1班 学号:540907040146

题目:SNMP的功能及使用网络管理功能一般分为性能管理、配置管理、安全管理、计费管理、故障管理等五大管理功能。现分工如下: 1、性能管理,配置管理原志祺 2、安全管理张冰雪 3、计费管理栗国齐 4、故障管理许杰 配置管理是网络管理的基本功能。计算机网络由各种物理结构和逻辑结构组成,这些结构中有许多参数、状态等信息需要设置并协调。另外,网络运行在多变的环境中,系统本身也经常要随着用户的增、减或设备的维修而调整配置。网络管理系统必须具有足够的手段支持这些调整的变化,使网络更有效的工作。 性能管理的目的是在使用最少的网络资源和具有最小延迟的前提下,确保网络能提供可靠、连续的通信能力,并使网络资源的使用达到最优化的程度。网络的性能管理有监测和控制两大功能,监测功能实现对网络中的活动进行跟踪,控制功能实施相应调整来提高网络性能。性能管理的具体内容包括:从被管对象中收集与网络性能有关的数据,分析和统计历史数据,建立性能分析的模型,预测网络性能的长期趋势,并根据分析和预测的结果,对网络拓扑结构、某些对象

的配置和参数做出调整,逐步达到最佳运行状态。如果需要做出的调整较大时,还要考虑扩充或重建网络 什么是SNMP?SMNP 是Simple Network Management Protocol 缩写,解释为简单网络管理协议。SNMP 是最早提出的网络管理协议之一,它一推出就得到了广泛的应用和支持,特别是很快得到了数百家厂商的支持,其中包括IBM、HP、SUN 等大公司和厂商。目前SNMP 已成为网络管理领域中事实上的工业标准,并被广泛支持和应用,大多数网络管理系统和平台都是基于SNMP 的。 一、SNMP 概述 SNMP 的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP 进行了很大的修改,特别是加入了符合Internet 定义的SMI 和MIB 体系结构,改进后的协议就是著名的SNMP。SNMP 的目标是管理互联网Internet 上众多厂家生产的软硬件平台,因此SNMP 受Internet 标准网络管理框架的影响也很大。现在SNMP 已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。SNMP 的体系结构是围绕着以下四个概念和目标进行设计的: (1)保持管理代理(Agent)的软件成本尽可能低; (2)最大限度地保持远程管理的功能,以便充分利用Internet 的网络资源; (3)体系结构必须有扩充的余地;

简单网络管理协议(SNMP)学习理解

简单网络管理协议学习理解 1.SNMP网络管理协议综述 SNMP(Simple Network Management Protocol)是被广泛接受并投入使用的工业标准,它是由SGMP即简单网关监控协议发展以来的。它的目标是保证管理信息在任意两点中传送,便于网络管理员在网络上的任何节点检索信息,进行修改,寻找故障;完成故障诊断,容量规划和报告生成。它采用轮询机制,提供最基本的功能集。最适合小型、快速、低价格的环境使用。它只要求无证实的传输层协议UDP,受到许多产品的广泛支持。 2.1 管理信息 经由SNMP协议传输的所有管理倍息都表现为非聚集的对象类型。这些对象类型被收集到一个或多个管理信息库[MIB]中并且对象类型按照管理信息结构和标识(SMI)定义。简单网络管理协议策l版的sM[于1990年5月定义在一篇题为《基于因特网的了TCP/IP管理信息结构和标识》的RFC中。这一RFC要求所有的管理信息库数据和信息必须根据ISO 8824标准《抽象句法表示法1规范》(ASN.1)编码。按照ASN.1表示所有信息和对象的目的在于方便向OSI的网络管理协议迁移而无需重新定义现已存在的所有对象和MIB。 SMI为每一对象类型定义以下成分: ①名字; ②句法; ②编码说明。 注意:一个对象类型的名字明确地代表一个对象,称为对象标识符。不得分配标识符0给对象类型作为其名字的一部分。为便于阅读,在标准文档中对象标识符旁边包含对这一对象的描述。对象标识符是按照在OSI MIB树中建立的严格分层空间构造的,对象标识符总是一个唯一的从树根开始描述MIB树的整数序列。对象标识符和它的文字描述的组合称为标号。 2.1.1 管理树 SMI明确要求所有被管理的信息和数据都要由管理树来标识。这棵管理树来源于

简单网络管理协议(SNMP)入门

简单网络管理协议(SNMP)入门 简单网络管理协议(SNMP)在体系结构分为被管理的设备(Managed Device)、SNMP管理器(SNMP Manager)和SNMP代理(SNMP Agent)三个部分。被管理的设备是网络中的一个节点,有时被称为网络单元(Network Elements),被管理的设备可以是路由器、网管服务器、交换机、网桥、集线器等。每一个支持SNMP的网络设备中都运行着一个SNMP代理,它负责随时收集和存储管理信息,记录网络设备的各种情况,网络管理软件再通过SNMP通信协议查询或修改代理所记录的信息。 SNMP代理是驻留在被管理设备上的网络管理软件模块,它收集本地计算机的管理信息并将这些信息翻译成兼容SNMP协议的形式。 SNMP管理器通过网络管理软件来进行管理工作。网络管理软件的主要功能之一,就是协助网络管理员完成管理整个网络的工作。网络管理软件要求SNMP 代理定期收集重要的设备信息,收集到的信息将用于确定独立的网络设备、部分网络或整个网络运行的状态是否正常。SNMP管理器定期查询SNMP代理收集到的有关设备运转状态、配置及性能等的信息。 SNMP使用面向自陷的轮询方法(Trap-directed polling)进行网络设备管理。一般情况下,网络管理工作站通过轮询被管理设备中的代理进行信息收集,在控制台上用数字或图形的表示方式显示这些信息,提供对网络设备工作状态和网络通信量的分析和管理功能。当被管理设备出现异常状态时,管理代理通过SNMP自陷立即向网络管理工作站发送出错通知。当一个网络设备产生了一个自陷时,网络管理员可以使用网络管理工作站来查询该设备状态,以获得更多的信息。 管理信息数据库(MIB)是由 SNMP代理维护的一个信息存储库,是一个具有分层特性的信息的集合,它可以被网络管理系统控制。MIB定义了各种数据对象,网络管理员可以通过直接控制这些数据对象去控制、配置或监控网络设备。SNMP

snmp报文分析

SNMP报文格式分析 1.SNMP报文格式 1.1 snmp简介 1.1.1 snmp工作原理 SNMP采用特殊的客户机/服务器模式,即代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。 管理站和代理端使用MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和代理都实现相应的MIB对象,使得双方可以识别对方的数据,实现通信。 管理站向代理请求MIB中定义的数据,代理端识别后,将管理设备提供的相关状态或参数等数据转换成MIB定义的格式,最后将该信息返回给管理站,完成一次管理操作。 1.1.2 snmp报文类型 SNMP中定义了五种消息类型:Get-Request、Get-Response、 Get-Next-Request、Set-Request和Trap 。 1.Get-Request 、Get-Next-Request与Get-Response

SNMP 管理站用Get-Request消息从拥有SNMP代理的网络设备中检索信息,而SNMP代理则用Get-Response消息响应。Get-Next- Request用于和Get-Request组合起来查询特定的表对象中的列元素。 2.Set-Request SNMP管理站用Set-Request 可以对网络设备进行远程配置(包括设备名、设备属性、删除设备或使某一个设备属性有效/无效等)。 3.Trap SNMP代理使用Trap向SNMP管理站发送非请求消息,一般用于描述某一事件的发生,如接口UP/DOWN,IP地址更改等。 上面五种消息中Get-Request、Get-Next-Request和Set-Request是由管理站发送到代理侧的161端口的;后面两种Get-Response和Trap 是由代理进程发给管理进程的,其中Trap消息被发送到管理进程的162端口,所有数据都是走UDP封装。 1.1.3 snmp报文格式图 SNMP报文的形式大致如下图所示。

简单网络管理协议SNMP

SNMP 1概述 (1) 2SNMP的工作原理 (1) 2.1网络管理模型 (1) 2.2网络管理协议结构 (2) 2.3网络管理服务 (3) 2.4委托代理 (4) 3管理信息结构SMI (4) 3.1ASN.1 (4) 3.2文本约定 (5) 3.3对象定义 (6) 3.4T RAP定义 (6) 3.5对象标志符 (7) 3.6表对象的定义 (8) 3.7对象和对象实例的区别 (10) 3.8OID的字典序 (10) 4协议数据单元(PDU--PROTOCOL DATA UNIT) (10) 4.1SNMP报文格式 (10) 4.2SNMP报文类型 (11) 4.3SNMP V2基本的PDU格式 (12) 4.4SNMP消息的生成 (13) 4.5SNMP消息的接受和处理 (13) 5SNMP协议操作 (15) 5.1G ET R EQUES T (15) 5.1.1GetRequest—PDU报文格式 (15) 5.1.2SNMPv2对GetRequest-PDU的处理(参考RFC1905) (15) 5.1.3SNMPv1对GetRequest-PDU的处理(参考RFC1157) (16) 5.2G ET N EXT R EQUEST—PDU (16) 5.2.1GetNextRequest报文格式 (17) 5.2.2SNMPv2对GeNextRequest-PDU的处理(参考RFC1905) (17)

5.2.3SNMPv1对GeNextRequest-PDU的处理(参考RFC1157) (18) 5.3R ESPONSE-PDU (18) 5.3.1Response报文格式 (18) 5.3.2SNMPv2对Response-PDU的处理(参考RFC1905) (20) 5.3.3SNMPv1对响应报文GetResponse的处理(参考RFC1157) (20) 5.4S ET R EQUES T-PDU (20) 5.4.1SetRequest报文格式 (20) 5.4.2SNMPv2实体对SetRequest报文的处理(参考RFC1905) (21) 5.4.3SNMPv1对SetRequest报文的处理(参考RFC1157) (22) 5.5G ET B ULK R EQUES T-PDU (23) 5.5.1GetBulkRequest-PDU报文格式 (23) 5.5.2SNMPv2对GetBulkRequest-PDU报文的处理(参考RFC1905) (24) 5.6I NFORM R EQUES T-PDU (25) 5.6.1InformRequest-PDU的格式 (25) 5.6.2SNMPv2对InformRequest-PDU的处理(参考RFC1905) (26) 5.7T RAP-PDU (26) 5.7.1SNMPv1的Trap (26) 5.7.2SNMPv2的SNMPv2-Trap-PDU (28) 6SNMP的安全控制 (29) 6.1SNMP V2-基于共同体的管理框架 (29) 6.2SNMP V3的安全策略 (30)

网络管理实验SNMP报文解析实验报告

网络管理实验————SNMP报文解析 2010-6-1 4.trap操作: Sniffer软件截获到的trap报文如下图所示:

30 2e SNMP报文是ASN.1的SEQUENCE 类型,报文长度是46个八位组。 02 01 00:版本号为integer类型,取值为0,表示snmpv1。 04 06 70 75 62 6c 69 63:团体名为octet string类型,值为“public” a4 21: 表示pdu类型为trap,长度为33个八位组。 06 0c 2b 06 01 04 01 82 37 01 01 03 01 02:制造商标识,类型为object identifier。 值为1.3.6.1.4.1.311.1.1.3.1.2。 40 04 c0 a8 01 3b:代理的IP地址,类型OCTECT STRING,值为192.168.1.59; 02 01 04:一般陷阱,类型为INTEGER,值为4,代表这是由“authentication Failure (身份验证失败)”引发的TRAP; 02 01 00:特殊陷阱,类型为INTEGER,值为0(当一般陷阱取值不是6时); 43 03 06 63 29:时间戳,类型为TIME TICKS,值为418601 (百分之一秒),即系 统在运行到大约第70分钟时,代理发出了此TRAP; 30 00变量绑定表为空。 5.SNMPv2 GetBulk操作: Sniffer软件截获到的getbulkrequest报文如下图所示:

对该报文的分析如下 : 30 27 SNMP 报文是ASN.1的SEQUENCE 类型,报文长度为46个八位组;

SNMP功能详解

SNMP功能详解 一、什么是SNMP SNMP:“简单网络管理协议”,用于网络管理的协议。SNMP用于网络设备的管理。SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了“读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了“Trap”操作。 二、SNMP背景 SNMP 的基本思想:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。 三、SNMP结构概述 SNMP 被设计为工作在TCP/IP协议族上。SNMP基于TCP/IP协议工作,对网络中支持SNMP协议的设备进行管理。所有支持SNMP协议的设备都提供SNMP这个统一界面,使得管理员可以使用统一的操作进行管理,而不必理会设备是什么类型、是哪个厂家生产的。如下图,

四、SNMP支持的网管操作 对于网络管理,我们面对的数据是设备的配置、参数、状态等信息,面对的操作是读取和设置;同时,因为网络设备众多,为了能及时得到设备的重要状态,还要求设备能主动地汇报重要状态,这就是报警功能。如下图,

?Get:读取网络设备的状态信息。 ?Set:远程配置设备参数。 ?Trap:管理站及时获取设备的重要信息。 五、SNMP的实现结构 在具体实现上,SNMP为管理员提供了一个网管平台(NMS),又称为管理站,负责网管命令的发出、数据存储、及数据分析。被监管的设备上运行一个SNMP 代理(Agent)),代理实现设备与管理站的SNMP通信。如下图,

SNMP协议全称为简单网络管理协议

SNMP协议全称为简单网络管理协议(Simple Network Management Protocol),该协议能够被广泛使用,不受协议的限制,如IP、IPX 、AppleTalk、OSI及其它传输协议均能使用。互联网络开始规模很小,网络结构简单,因此谈不上网络监控和管理问题。仅使用ICMP 的Ping 程序就能解决问题。但随着互联网络规模不断扩大,使用Ping 已无法掌握网络运行情况。此时,SNMP协议就产生了,它可通过提供有限的信息类型、简单的请求/响应机制来实现对被管理对象的操作。同时可将管理信息模型和被管理对象分成两个模块,两个模块间通过信令交互协同工作。目前SNMP协议已在TCP/IP 网络中广泛使用,并已成为网络管理领域事实标准。下面简单介绍下SNMP协议的基本概念、管理模型及版本号: 一SNMP协议基本概念 1 NMS NMS(Network Management System),是运行在网管端工作站上的网络管理软件。网络管理员通过操作NMS,向被管理设备发出请求,从而监控和配置网络设备。 2 Agent 运行在被管理设备上的代理进程。被管理设备在接收到网管设备侧NMS 发出的请求后,由Agent 作出响应操作。主要功能包括:收集设备状态信息、实现NMS 对设备的远程操作、向网管端发出告警消息。 3 MIB MIB 是一个虚拟的数据库,是在被管理设备端维护的设备状态信息集。Agent 通过查找MIB 来收集设备状态信息。MIB 按照层次式树形结构组织被管理对象,使用ASN.1格式进行描述。 4 ASN.1 抽象语法表示,使用独立于物理传输的方法定义协议标准中的数据类型。ASN.1 描述传输过程的中的语法,但不涉及具体数据含义的表示。 5 BER 基本编码规则,按照ASN.1 的语法结构,描述了在传送过程中数据内容是如何表示的。 6 SMI SMI(Structor of Management Information)为命名和定义管理对象指定了一套规则。所有管理对象都是按一种层次式树形结构排列。一个对象在这个树形结构中的位置,标识了如何访问这个对象。 7 Trap 告警信息。设备中的模块在达到告警的条件后触发告警,之后将告警消息通过SNMP发往网管端。 8 实体 可以被管理的软件或硬件。

SNMP协议详解

SNMP协议详解 简单网络管理协议(SNMP:Simple Network Management Protocol)是由互联网工程任务组(IETF:Internet Engineering T ask Force )定义的一套网络管理协议。该协议基于简单网关监视协议(SGMP:Simple Gateway Monitor Protocol)。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。虽然SNMP开始是面向基于IP的网络管理,但作为一个工业标准也被成功用于电话网络管理。 1. SNMP基本原理 SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP 代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。下图10是NMS公司网络产品中SNMP协议的实现模型。 SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP (用户数据报协议)作为第四层协议(传输协议),进行无连接操作。SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。数据报结构如下图 版本识别符(version identifier):确保SNMP代理使用相同的协议,每个SNMP代理都直接抛弃与自己协议版本不同的数据报。 团体名(Community Name):用于SNMP从代理对SNMP管理站进行认证;如果网络配置成要求验证时,SNMP 从代理将对团体名和管理站的IP地址进行认证,如果失败,SNMP从代理将向管理站发送一个认证失败的Trap消息协议数据单元(PDU):其中PDU指明了SNMP的消息类型及其相关参数。 2. 管理信息库MIB IETF规定的管理信息库MIB(由中定义了可访问的网络设备及其属性,由对象识别符(OID:Object Identifier)唯一指定。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。 下图给出了NMS系统中SNMP可访问网络设备的对象识别树(OID:Object Identifier)结构。

第三章 简单网络管理协议-SNMP

第三章简单网络管理协议-SNMP SNMP(Simple Network Management Protocol,简单网络管理协议)是由Internet活动委员会(IAB)制订的,被采纳为基于TCP/IP协议的各种互联网络的管理标准。由于它满足了人们长久以来对通用网络管理标准的需求,而且它本身简单明了,实现起来比较容易,占用的系统资源少,所以得到了众多网络产品厂家的支持,成为实际上的工业标准,基于它的网络管理产品在市场上占有统治地位。1993年它的更新版本SNMP V ersion 2(SNMPv2)又被推出,改进了SNMP的不少缺陷。 本章及下一章在介绍SNMP协议的基础上,着重讨论SNMPv2协议的特点,并就作者自己开发的基于SNMPv2协议的网络计费管理软件作了介绍。 3.1 SNMP 3.1.1SNMP协议的工作原理 SNMP的管理结构如图3.1所示。它的核心思想是在每个网络节点上存放一个管理信息库( MIB),由节点上的代理(agent)负责维护,管理站(manager)通过应用层协议对这些信息库进行管理。SNMP最大的特点就是其简单性。它的设计原则是尽量减少网络管理所带来的对系统资源的需求,尽量减少agent的复杂性。它的整个管理策略和体系结构的设计都体现了这一原则。 管理工作站 图3.1:SNMP管理模型

3.1.2SNMP通信报文的操作处理 SNMP标准主要由三部分组成:简单网络管理协议(SNMP);管理信息结构(Structure ofa nagement Information,简称SMI)和管理信息库(Management Information Base,简称MIB) 。SNMP主要涉及通信报文的操作处理,协议规定manager如何与agent通信,定义了它们之间交换报文的格式和含义,以及每种报文该怎样处理等等。 SNMP中规定的网络管理操作有五种,分别是: (1)Get-Request; (2)Get-Next-Request; (3)Set-Request; (4)Get-Response; (5)Trap。 Get-Request被manager用来从agent取回某些变量的值;Get-Next-Request被manager 用来从agent取回某变量的下一个变量的值;Set-Request被manager用来设置(或改变)agent上某变量的取值;Get-Response是agent向manager发送的应答;Trap被agent用来向manage r报告某一异常事件的发生。 Get-Request、Get-Next-Request和Set-Request这三种操作都具有原子(atomic)特性,即如果一个SNMP报文中包括了对多个变量的操作,agent不是执行所有操作,就是都不执行(例如,一旦对其中某个变量的操作失败,其它的操作都不再执行,已执行过了的也要恢复)。 SNMP的报文格式为: version community data version域表示SNMP协议的版本,在SNMP中它是version-1(0); data域存放实际传送的报文,报文有五种,分别对应上述五种操作。 community域是为增加系统的安全性而引入的,它的作用相当于口令(password)。3.1.3 SNMP的安全机制 SNMP网络管理由几个特征,它包含一个管理站和一组代理之间的一对多的关系:管理站能够取得和设置代理中的对象,并从代理接收陷阱。因此,从操作或控制的观点来看,管理站“管理”多个代理。也可能有多个管理站,其中的每一个管理站管理全部代理或这些代理的一个子集,这些子集可能重叠。 我们也可以把SNMP网络管理看作是一个在一个代理和多个管理站之间的一对多的关系。每个代理控制它自己的本地MIB,而且必须能够控制多个管理站对该MIB 的使用。该控制有3个方面:

SNMP报文分析

SNMP报文分析 一、配置SNMP协议的使用环境 1、主机Windows10的配置 ●安装SNMP协议 ●配置并打开SNMP Service服务

2、目标机Windows XP的配置 ●配置过程和Windows10下类似,此处不再赘述 ●目标机的ip地址为192.168.72.129

目标机的计算机名为 二、利用Wireshark抓取SNMP协议包 1、下载安装snmputil.exe和wireshack 2、利用snmputil工具发送snmp数据包 snmputil命令规则: [get|getnext|walk]为消息类型,我们此次进行的操作是get agent指Snmp代理即你想进行操作的网络设备的ip或名称,即192.168.10.191 community:分区域,即密码,默认是public oid:想要操作的MIB数据对象号

示例: snmputil walk 对方ip public .1.3.6.1.2.1.1.5.0列出计算机名snmputil walk 对方ip public .1.3.6.1.2.1.25.4.2.1.2 列出系统进程snmputil walk 对方ip public .1.3.6.1.4.1.77.1.2.25.1.1 列系统用户列表snmputil get 对方ip public .1.3.6.1.4.1.77.1.4.1.0 列出域名 snmputil walk 对方ip public .1.3.6.1.2.1.25.6.3.1.2 列出安装的软件snmputil walk 对方ip public .1.3.6.1.2.1.1 列出系统信息 3、同时在wireshack中抓包

SNMP:简单网络管理协议(Simple Network Management Protocol)

SNMP:简单网络管理协议(Simple Network Management Protocol) SNMP 是专门设计用于在IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS 等)的一种标准协议,它是一种应用层协议。SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。 SNMP 管理的网络有三个主要组成部分:管理的设备、代理和网络管理系统。管理设备是一个网络节点,包含ANMP 代理并处在管理网络之中。被管理的设备用于收集并储存管理信息。通过SNMP,NMS 能得到这些信息。被管理设备,有时称为网络单元,可能指路由器、访问服务器,交换机和网桥、HUBS、主机或打印机。SNMP 代理是被管理设备上的一个网络管理软件模块。SNMP 代理拥有本地的相关管理信息,并将它们转换成与SNMP 兼容的格式。NMS 运行应用程序以实现监控被管理设备。此外,NMS 还为网络管理提供了大量的处理程序及必须的储存资源。任何受管理的网络至少需要一个或多个NMS。 目前,SNMP 有3种:SNMPV1、SNMPV2、SNMPV3。第1版和第2版没有太大差距,但SNMPV2 是增强版本,包含了其它协议操作。与前两种相比,SNMPV3 则包含更多安全和远程配置。为了解决不同SNMP 版本间的不兼容问题,RFC3584 种定义了三者共存策略。 SNMP 还包括一组由RMON、RMON2、MTB、MTB2、OCDS 及OCDS 定义的扩展协议。 协议结构 SNMP 是一种应用程序协议,封装在UDP 中。各种版本的SNMP 信息通用格式如下所示 Version:SNMP 版本号。管理器和代理器必须使用相同版本的SNMP。需要删除具有不同版本号的信息,并不对它们作进一步的处理。

相关主题