产品
产品中心
< 返回主菜单
产品

交换机

交换机所有产品
< 返回产品
交换机
查看交换机首页 >

无线

无线所有产品
< 返回产品
无线
查看无线首页 >

云桌面

云桌面产品方案中心
< 返回产品
云桌面
查看云桌面首页 >

安全

安全所有产品
< 返回产品
安全
查看安全首页 >
产品中心首页 >
行业
行业中心
< 返回主菜单
行业
行业中心首页 >

SNMP是什么(二)

随着网络技术的日益发展,网络中存在的设备种类及组网规模不断增加,利用SNMP协议的原理机制能够快速,高效,准确地获取设备的运行状况,实施科学高效的管理。本文就SNMP协议的工作原理进行详细的介绍。

  • 发布时间:2022-11-25

  • 点击量:

  • 点赞:

分享至

我想评论

1 前言
上文通过《SNMP是什么(一)》已对SNMP基本部件进行了简单介绍,包括SNMP网络管理系统、SNMP代理和MIB管理信息库,并对SNMP的应用场景进行了说明。接下来本文将重点介绍SNMP是什么的工作原理部分。
                                                                                 
2 SNMP工作原理
2.1   SNMP版本介绍
SNMP从发展至今一共诞生了3个版本,分别是SNMPv1、SNMPv2c和SNMPv3,下文将进行逐一介绍SNMP版本类型。
2.1.1  SNMPv1
SNMPv1是SNMP协议的第一个正式版本,在RFC 1157中定义。SNMPv1基于团体名认证,安全性较差,且支持的错误码信息也比较少。
2.1.2  SNMPv2c
SNMPv2c也是基于共同体(Community-Based)的管理架构,在RFC 1901中定义。SNMPv2c在兼容SNMPv1的基础上增加了GetBulk等新的协议操作。支持更多的数据类型和错误码信息。
2.1.3  SNMPv3
由于SNMPv2c在数据安全性方面没有得到改进,为此,IETF(The Internet Engineering Task Force,国际互联网工程任务组)推出了SNMPv3版本,在RFC 2571中定义。SNMPv3通过对数据进行鉴别和加密,在安全性方面进行了增强。
SNMPv3主要定义了安全方面的扩展能力,通过对数据进行鉴别和加密,提供了以下的安全特性:
确保数据在传输过程中不被篡改。
确保数据从合法的数据源发出。
加密报文,确保数据的机密性。
2.2   SNMP操作类型
SNMP协议通过定义各种操作类型,来完成NMS和Agent之间的信息交互。本文将介绍如下几种操作类型。
读取类Get操作
设置类Set操作
告警类Trap操作
2.2.1  读取类Get操作
1. Get操作
Get操作是由NMS主动发起,为的是可以获取特定管理对象的值。报文中会携带有Get请求标志,请求对应的MIB的节点信息,一次Get操作只能获取一个节点信息。具体的Get操作交互过程如下。
例如NSM需要获取被管理设备MIB节点sysName(被管理设备名称),团体名为admin,权限可读写。
图2-1 Get操作原理示意图
                                                                                    
(1) NMS给Agent发送GetRequest报文。报文中Version=1表示是SNMPv1报文,PDU Type=0表示是GetRequest报文,Request ID=x是Get请求的标识,Name1=sysName表示需要请求的MIB节点。
(2) Agent收到报文后,将响应Response报文。报文中Version=1表示使用SNMPv1报文进行应答,PDU Type=2表示是Response报文,Request ID=x表示是上一步骤中GetRequest报文的应答,Value1=Hostname表示被管理设备的名称为Hostname。若Agent获取信息失败,将通过Response报文中的Error Status和Error Index字段携带错误原因和出错位置信息。
2. Get-Next操作
由于Get操作只能一次获取一个MIB节点,为了能够在一次操作中可以获得下一个节点信息,可通过Get-Next操作来完成。具体的Get-Next操作交互过程如下。
例如NMS需要获取被管理设备MIB节点sysName的下一个节点sysLocation(设备的物理位置)信息,团体名admin,权限为只读。
图2-2 Get-Next操作原理示意图
                                                                                       
(1) NMS给Agent发送GetNext报文。报文中Version=1表示是SNMPv1报文,PDU Type=1表示是GetNext报文,Request ID=x是Get请求的标识,Name1=sysName表示需要请求MIB节点sysName的下一个MIB节点。
(2) Agent收到报文后,将响应Response报文。报文中Version=1表示使用SNMPv1报文进行应答,PDU Type=2表示是Response报文,Request ID=x表示是上一步骤中GetNext报文的应答,Name1=sysLocation和Value1=Beijing表示sysName的下一个MIB节点为sysLocation,设备物理地址为Beijing。若Agent获取信息失败,将通过Response报文中的Error Status和Error Index字段携带错误原因和出错位置信息。
3. GetBulk操作
若想要在一次的操作中能批量的获取MIB节点信息,可通过GetBulk操作来完成。GetBulk操作的原理与上述的Get和Get-Next基本一致,这里便不再展开赘述,唯一不同的是GetBulk可以在一次的操作中携带多个sysName值,以此来完成批量获取MIB节点的目的。
2.2.2  设置类Set操作
若需要对被管理设备的某些参数进行设置,可通过Set操作来完成。Set操作可以对具有写权限的MIB节点进行设置,报文中会携带有Set请求标志,请求设置对应MIB节点信息。具体的Set操作交互过程如下。
例如NSM需要修改被管理设备MIB节点sysName的值为Admin-Core,团体名为admin,权限可读写。
图2-3 Set操作原理示意图
                                                                               
(1) NMS给Agent发送SetRequest报文。报文中Version=1表示是SNMPv1报文,PDU Type=2表示是SetRequest报文,Request ID=x是Set请求的标识,Name1=sysName表示需要请求的MIB节点,Value1=Ruijie-Core表示需要设置的sysName值。
(2) Agent收到报文后,将响应Response报文。报文中Version=1表示使用SNMPv1报文进行应答,PDU Type=2表示是Response报文,Request ID=x表示是上一步骤中SetRequest报文的应答,Value1=Ruijie-Core表示被管理设备的名称已经被成功设置为Hostname。若Agent设置信息失败,将通过Response报文中的Error Status和Error Index字段携带错误原因和出错位置信息。
2.2.3  告警类Trap操作
当设备发生异常的告警事件后,要求能及时向网管平台上传告警信息,以便进行处理,此时可通过Trap操作来完成。在设备发生特定异常需要通知NMS时,Agent会主动发送Trap报文。如设备某接口网线被拔出,Agent发送linkDown的Trap消息给NMS。Version=1,Community=ruijie,PDU中Enterprise=sysObjectID的取值,Generic Trap=linkDown,Variable Bindings字段将携带接口相关信息。接口网线插回去时,Agent发送linkUp的Trap消息给NMS。NMS接收到Agent发送的Trap报文后不会应答。
图2-4 Trap操作原理示意图
                                                                                      
3 总结
在SNMP版本的演进迭代过程中,满足了不同场景下的使用需求。SNMPv1适合于组网简单,对安全性要求不高的网络;SNMPv2c适用于组网规模较大,但对数据的安全性没有特别的要求的场景;SNMPv3则可以用在不同规模的网络且对数据安全性要求较高的场景,这是一个比较推荐的版本。网络管理员可根据不同需要选择使。SNMP协议同时还提供丰富的操作类型,满足了网络管理员对设备的运行状态进行监测和管理的目的,确保网络能够稳定运行。
                                                                                   
相关链接
SNMP是什么(一)

点赞

任何需要,请联系我们

返回顶部

请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反馈 意见反馈
意见反馈
更多联系方式
是否找到您想要的内容?
您遇到了什么问题?
找不到想要的信息
筛选功能不好用
加载速度太慢
页面体验差
提交
您是否找到了与产品相关的文档
筛选功能是否帮助您更快找到所需的文档?
有帮助
一般
没有帮助
没用过
请问您遇到了什么问题?
需要填写的内容太多
有些信息不懂怎么填
页面有问题/错误
其他
确定
这些客户案例是否对您有帮助?
非常有帮助
比较有帮助
没有帮助
请您对这个客户案例进行评价
兴趣度
相关性
可信度
确定
感谢您的反馈!
感谢您的反馈!