snmp协议学习总结

更新时间:2023-03-14 14:45:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SNMP协议

SNMP(Simple Network Management Protocol)即简单网络管理协议,它为网络管理系统提供了底层网络管理的框架。(无连接操作)

作用:利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。

SNMP基本原理

管理者用户使用SNMP协议来通过Agent来执行管理MIB和被管对象

SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。 SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。数据报结构如下图

版本识别符(version identifier):确保SNMP代理使用相同的协议,每个SNMP代理都直接抛弃与自己协议版本不同的数据报。

团体名(Community Name):用于SNMP从代理对SNMP管理站进行认证;如果网络配

置成要求验证时,SNMP从代理将对团体名和管理站的IP地址进行认证,如果失败,SNMP从代理将向管理站发送一个认证失败的Trap消息

协议数据单元(PDU):其中PDU指明了SNMP的消息类型及其相关参数。

管理信息库M I B(Management Information Base)

1、管理信息库(MIB)是一个有组织的有层次的收集信息。MIBs使用网络管理协议如SNMP访问。包含被管理对象和对象标识符鉴定。

2、OID(对象标识符),是SNMP代理提供的具有唯一标识的键值。MIB(管理信息基)提供数字化OID到可读文本的映射。

IETF规定的管理信息库MIB(由中定义了可访问的网络设备及其属性,由对象识别符(OID:Object Identifier)唯一指定。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。

SNMP的五种消息类型

Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap 管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。SNMP的管理信息库采用和域名系统DNS相似的树型结构,它的根在最上面,根没有名字。下图画的是管理信息库的一部分,它又称为对象命名(objectnamingtree)。

1.3.6.1.4.1(enterprises) 1.3.6.1.2.1(mib-2)

管理信息库MIB指明了网络元素所维持的变量(即能够被管理进程查询和设置的信息)。MIB给出了一个网络中所有可能的被管理对象的集合的数据结构。SNMP的管理信息库采用和域名系统DNS相似的树型结构,它的根在最上面,根没有名字。下图画的是管理信息库的一部分,它又称为对象命名(objectnamingtree)。 应当指出,MIB的定义与具体的网络管理协议无关, 管理信息库的对象命名举例 对象命名树的顶级对象有三个,即ISO、ITU-T和这两个组织的联合体。在ISO的下面有4个结点,其中的一个(标号3)是被标识的组织。在其下面有一个美国国防部(Department of Defense)的子树(标号是6),再下面就是Internet(标号是1)。在只讨论Internet中的对象时,可只画出Internet以下的子树(图中带阴影的虚线方框),并在Internet结点旁边标注上{1.3.6.1}即可。 在Internet结点下面的第二个结点是mgmt(管理),标号是2。再下面是管理信息库,原先的结点名是mib。1991年定义了新的版本MIB- II,故结点名现改为mib-2,其标识为{1.3.6.1.2.1},或{Internet(1) .2.1}。这种标识为对象标识符。

SNMP的基本功能包括监视网络性能、检测分析网络差错和配置网络设备等。

SNMP规定了5种协议数据单元PDU(也就是SNMP报文),用来在管理进程和代理之间的交换。

1.get-request操作:从代理进程处提取一个或多个参数值

2.get-next-request操作:从代理进程处提取紧跟当前参数值的下一个参数值 3.set-request操作:设置代理进程的一个或多个参数值

4.get-response操作:返回的一个或多个参数值。这个操作是由代理进程发出的,它是前面三种操作的响应操作。

5.trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。前面的3种操作是由管理进程向代理进程发出的,后面的2个操作是代理进程发给管理进程的,为了简化起见,前面3个操作简称为get、get-next和set操作。

请注意,在代理进程端是用熟知端口161接收get或set报文,而在管理进程端是用熟知端口162来接收trap报文。

?SNMP报文共由三个部分组成,即公共SNMP首部、get/set首部或trap首部、变量绑定。

公共SNMP首部共三个字段:

1、version(版本)

2、共同体(community)::就是一个字符串,作为管理进程和代理进程之间的明文口令,常用的是6个字符“ public” 。

3、PDU类型:根据PDU的类型,填入0~4中的一个数字,具体含义如下表所示 PDU类型 名称

get/set首部

1、请求标识符(request ID):是由管理进程设置的一个整数值。代理进程在发送get-response报文时也要返回此请求标识符。管理进程可同时向许多代理发出get报文,这些报文都使用

0 get-request 1 get-next-request 2 get-response 3 set-request 4 trap UDP传送,先发送的有可能后到达。设置了请求标识符可使管理进程能够识别返回的响应报文对于哪一个请求报文。

2、差错状态(error status):由代理进程回答时填入0~5中的一个数字,对应关系如下表所示。

差错状态 名字 说明 0 noError 一切正常

1 tooBig 代理无法将回答装入到一个SNMP报文之中 2 noSuchName 操作指明了一个不存在的变量 3 badValue 一个set操作指明了一个无效值或无效语法 4 readOnly 管理进程试图修改一个只读变量 5 genErr 某些其他的差错

3、差错索引(error index):当出现noSuchName、badValue或readOnly的差错时,由代理进程在回答时设置的一个整数,它指明有差错的变量在变量列表中的偏移。

SNMP的技术术语

1 SNMP:Simple Network Management Protocol(简单网络管理协议)。是一个标○

准的用于管理基于【IP】网络上设备的协议。

2 MIB:Management Information Base(管理信息库)。定义代理进程中所有可被查○

询和修改的参数。

3 SMI:Structure of Management Information(管理信息结构)。SMI定义了○

SNMP中使用到的ASN.1类型、语法,并定义了SNMP中使用到的类型、宏、符号等。SMI用于后续协议的描述和MIB的定义。每个版本的SNMP都可能定义自己的SMI。

4 ASN.1:Abstract Syntax Notation One(抽象语法定义)。用于【定义语法】○

的正式语言,在SNMP中定义SNMP的协议数据单元PDU和管理对象MIB的格式。 SNMP只使用了ASN.1中的一部分,而且使用ASN.1的语言特性定义了一些自定义类型和类型宏 ,这些组成了SMI。

5 PDU: Protocol Data Unit(协议数据单元)。○【它是网络中传送的数据包】。每一

种SNMP操作,物理上都对应一个PDU。

6NMS: Network Management System,网络管理系统,又名网络管理站,简称“管○

理站”。它是SNMP的总控机,提供统一的用户界面【访问】支持SNMP的设备,一般提供UI界面,并有统计、分析等功能,是网管系统的总控制台。NMS是网络管理操作的发起者。 7 Agent:○ 是SNMP的访问代理,简称“代理”,为设备提供SNMP能力,负责设备与NMS的通信。

8 Proxy: 代理服务器。对实现【不同协议】的设备进行【协议转换】○,使【非】IP协

议的设备也能被管理。

9 Trap: 是由设备【主动】发出的报警数据,用于提示重要的状态的改变。 ○

10BER: Basic Encoding Rule,基本编码规格。描述如何将ASN.1类型的值编码为字符串的方法。它是ASN.1标准的一部分。BER编码将数据分成TLV三部分,T为Tag的缩写,是类型标识;L为Length的缩写,标识类型的长度;V为Value的缩写,标识数据内容。按照TLV的顺序对数据进行编码,生成【字节流】。

SNMP使用BER将SNMP的操作【请求】和【应答】编码后进行传输,并用于接收端进行解码。

SNMP共有v1,v2,v3这三个版本

? ? ? ?

v1和v2都具有基本的【读、写】MIB功能。

v2增加了警报、批量数据获取、管理站和管理站通信能力。

v3在v2的基础上增加了USM,使用加密的数据和用户验证技术,提高了安全性。 另外,RMON是SNMP的一个重要扩展,为SNMP增加了【子网流量、统计、分析】能力。现有两个版本:

Rmon:提供了OSI七层网络结构中【网络层】和【数据链路层】监视能力。 Rmon2:提供了OSI七层网络结构中网络层【之上】各层的监视能力。

管理对象的对象标识是从【根节点到管理信息的路径】。

RFC-1156定义了SNMP的第一个版本的管理信息,成为MIB-I。 RFC-1213定义了SNMP的第二个版本的管理信息,成为MIB-II。

MIB-II对MIB-I进行了修改和扩展,【现在SNMP都以MIB-II为基准】。 MIB-II包含下面的分组:

MIB-II的结构

system: 设备的基本信息 interface: 网络接口设备信息

at:地址转换,互联网到子网地址映射表的描述(在MIB-II中被替换) ip: 系统中IP实现和运行信息

icmp:系统中ICMP实现和运行信息 tcp :系统中TCP实现和运行信息 udp :系统中UDP实现和运行信息 egp :系统中EGP实现和运行信息 snmp:系统中SNMP实现和运行信息

在MIB-II中,除了system组存放的是设备的基本信息、snmp存放的是应用层数据之【外】,其他组都是【网络层和数据链路层】信息分组。通过对这些组的实现,可以对设备的网络层、数据链路层及设备基本信息实施监视和管理。

system组

名称 sysDescr 数据类型 DisplayString 权限(R/W) 描述 设备的文字描述,用于设备硬件、操作系统等进行说明 sysObjectID ObjectID 网管子系统的供应商标识,指向从IAB获取的enterprise树下的标识 sysUpTime sysContact sysName TimeTicks DisplayString DisplayString * * * * 从系统的网管系统启动以来的时间(百分之一秒) 设备联系人的名字及联系方式 在管理上赋予的名称 节点的物理位置 指示节点提供的服务的值。该值是此节点所支持的OSI模型中层次的和。工具提供的服务,将下面的值相加:0X01(网络层)、0X02(数据链路层)、0X04(互联网层)、0X08(端到端的传输层)、0X40(应用层) sysLocation DisplayString sysServices Integer(0..127)

实例ID规则

8.2.5.1 标量

MIB中的每个对象都有OID,OID是由对象在树型MIB中的位置决定的,【从根到该对象的路径就是该对象的OID】。SNMP或其他方式访问MIB时,访问的是对象的具体实例,而不是OID所描述的管理对象。

对于标量类型,由于系统中只要一个实例,所以实例标识总是在OID后面加上\【.0】\。 8.2.5.2 表和行

因为表和行不是叶子节点,所以不能被SNMP访问,所以他们没有实例对象。 8.2.5.3 列对象

表中的对象成为\列对象\。列对象的取值按索引标识实例。索引可以为数值型,字符型,IP型。索引可以是单个索引也可以是复合索引。

RMON

远程网络监控(RMON)是为了帮助我们理解网络自身是如何工作的,以及单台设备是如何对整个网络产生影响的,RMON不仅可用于监控局域网的流量,也可以用于广域网接口。

SNMPAdapter host.xml配置

RMON

远程网络监控(RMON)是为了帮助我们理解网络自身是如何工作的,以及单台设备是如何对整个网络产生影响的,RMON不仅可用于监控局域网的流量,也可以用于广域网接口。

SNMPAdapter host.xml配置

本文来源:https://www.bwwdw.com/article/1ltx.html

Top