snmp协议格式,snmp协议类型
snmp是什么协议
snmp全称为SimpleNetworkManagementProtocol,是简单网络管理协议,是由互联网工程任务组定义的一套网络管理协议,该协议基于简单网关监视协议。
利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。 虽然SNMP开始是面向基于IP的网络管理,但作为一个工业标准也被成功用于电话网络管理。
snmp协议的组成:
NMS(网络管理系统)是运行在网管主机上的网络管理软件。Agent是运行在被管理设备上的代理进程。被管理设备在收到NMS的请求后,由Agent做出响应。
MIB(管理数据库)是一个虚拟数据库,Agent通过查找MIB收集设备状态信息。SNMP采用UDP协议在管理端和agent之间传输信息。
SNMP采用UDP 161端口接收和发送请求,162端口接收trap,执行SNMP的设备缺省都必须采用这些端口。SNMP消息全部通过UDP端口161接收,只有Trap信息采用UDP端口162。
snmp是什么协议?
SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。?
SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。
SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB,改进后的协议就是著名的SNMP。
SNMP具有以下技术优点:
基于TCP/IP互联网的标准协议,传输层协议一般采用UDP。
自动化网络管理。网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告。
屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP只提供最基本的功能集,使得管理任务与被管设备的物理特性和实际网络类型相对独立,从而实现对不同厂商设备的管理。
简单的请求—应答方式和主动通告方式相结合,并有超时和重传机制。
报文种类少,报文格式简单,方便解析,易于实现。
SNMPv3版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性。
snmp协议支不支持权限认证
SNMP目前共有v1、v2、v3三个版本
v1
SNMP的最初版本
v2c
在v1的基础上增加 ·共同体· 字段(community,实质上是密码)
v3
增加认证和对密文传输的支持
架构
SNMP协议主要由两个部分组成:SNMP管理站(NMS)、SNMP代理(Agent)。
SNMP管理站:这是一个中心节点,负责手记维护各个SNMP元素的信息,并对这些信息进行处理,最后反馈给网络管理员,相当于大脑的角色。
SNMP代理:代理运行在各个被管理的网络节点上,负责统计该节点的各项信息,并且负责与SNMP管理站交互,接收并执行管理站的命令上传各种本地的网络信息。
Untitled Diagram-2
传输层协议
SNMP传输层协议选用udp。 SNMP采用UDP 161端口接收和发送请求,162端口接收trap,执行SNMP的设备缺省都必须采用这些端口。SNMP消息全部通过UDP端口161接收,只有Trap信息采用UDP端口162。
操作方式
SNMP提供了三种操作方式:
Get操作
管理员读取设备数据
Set操作
管理员设置设备数据
Trap操作
设备在重要状况改变时主动向管理员通报事件的发生
协议数据单元PDU
SNMP定义了5中PDU对应上述3种操作,
get-request
从代理(本质上是设备)获取一个或多个参数值
get-next-request
从代理紧接着取出下一个参数值
set-request
设置代理一个或多个参数值
get-response
对上述三种请求的响应
trap
设备主动上报的数据
get-bulk(v2c)
GetBulk操作所对应的基本操作是GetNext,通过对Non repeaters和Max repetitions参数的设定,高效率地从Agent获取大量管理对象数据,如果get-request中的参数有一个不存在,请求照样会被正常执行;而在SNMPv1种将收到一个错误消息
inform(v2c)
相当于Trap的升级版,但是Trap消息发出去之后不会收到响应消息,而inform消息在发出之后能收到响应消息
img
SNMP报文结构
报文结构如下
Untitled Diagram-3
版本号
表明当前使用的版本,管理站和代理之间的版本号必须相同才能通信
团体名
团体(community)是基本的安全机制,用于实现SNMP网络管理员访问SNMP管理代理时的身份验证。类似于密码,默认值为 public。团体名(Community name)是管理代理的口令,管理员被允许访问数据对象的前提就是网络管理员知道网络代理的口令。
PDU
数据载体
详细的报文结构如下:
snmp报文格式PDU
表1: pdu类型
PDU类型 名称
0 get-request
1 get-next-request
2 get-response
3 set-request
4 trap
表2: 差错状态
差错状态 名字 描述
0 noError 无错误
1 tooBig 代理无法将回答装入到一个SNMP报文中
2 noSuchName 操作指明了一个不存在的变量
3 badValue 一个set操作指明了一个无效值或无效语法
4 readOnly 管理进程试图修改一个只读变量
5 genErr 某些其他差错
表3: trap类型
trap类型 名字 说明
0 coldStart 代理进行了初始化
1 warmStart 代理进行了重新初始化
2 linkDown 一个接口从工作状态变为故障状态
3 linkUp 一个接口从故障状态变为工作状态
4 authenticationFailure 从SNMP管理进程接收到具有一个无效共同体的报文
5 egpNeighborLoss 一个EGP相邻路由器变为故障状态
6 enterpriseSpecific 代理自定义事件,需要用后面的“特定代码”来指明
MIB管理信息库
管理信息(MIB)库可以理解成为agent维护的管理对象数据库,MIB中定义的大部分管理对象的状态和统计信息都可以被NMS访问。MIB是一个按照层次结构组织的树状结构,每个被管对象对应树形结构的一个叶子节点,称为一个object,拥有唯一的对象标识符(oid),OID由树上的一系列整数组成,整数之间用点( . )分隔开