snmp 协议基础(一)

SNMP是一种应用层协议,通过UDP进行通信,主要管理网络设备。它包括SNMPv1、v2c和v3三个版本,v3增加了安全特性。SNMP基于代理/管理站模型运作,使用MIB库和OID进行数据标识。报文结构包含SNMP报头和PDU,且使用BER编码规则。此外,SNMP还定义了trap类型用于发送告警信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,snmp 协议(简单网络管理协议)

        应用层协议,在传输层通过UDP传输,主要用于管理网络设备,目前存在的版本有3个,分别是V1 、v2/v2c、v3。v3在v2的基础上添加了安全机制(USM/VACM 提供认证和加密,访问权限的控制)。

        注:SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI(一种管理信息的结构)和MIB,改进后的协议就是著名的SNMP。

2,snmp工作原理

          SNMP采用特殊的客户机/服务器模式,即代理(agent)/管理站(NMS)模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。所以,对于被管理设备来说,可以认为他就是一个agent。

SNMP的应用场景如图所示:

         其中管理员通过操作管理站(NMS)跟被管设备(Agent)通信,同时在两者中都维护了一个MIB库,通过MIB库中定义的节点(OID)来唯一标识双方操作的是那个数据。当然MIB库也有公共的节点(system .etc),各个厂家也会加入自己的私有节点,通过写成MIB文件的形式发布个客户。

SNMP工作场景如图:

         管理站和agent之间Get/Set请求使用161 port进行交互,因为使用UDP协议,不存在连接,GET/SET 通过数据报的消息发送和接收,162 port用于发送告警信息(Agent主动发出,告知NMS有某些事情发生)。

       snmp 各版本在协议操作定义上有部分不同,如下:

 3,SNMP 报文结构

        SNMP代理和管理站通过SNMP协议中的标准消息进行通信,每个消息都是一个单独的数据报。SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。SNMP消息报文包含两个部分:SNMP报头和协议数据单元PDU。

 

    在实际网络传输环境下,SNMP报文的长度取决于其所采用的编码方式。SNMP统一采用BER(Basic Encoding Rule)的编码规则,同时在正式SNMP规范中使用的是ASN.1语法,Abastract Syntax Notation v1,即抽象语法描述语言。这两个概念在后面实践环节再做进一步介绍,这里只要稍微了解一下即可,不妨碍我们对协议本身的分析。这里我们简单解释一下BER编码规则:

          BER作为ANS.1的基本编码规则,描述具体的ANS.1对象如何编码为比特流在网络上进行传输。BER编码规则由三部分组成: 

简单的理解BER就是:类型-长度-数据,例如 :010211 H:类型是1,比如说就是Int,数据长度是2,数据值是0x11=>这个数据是int型的17。

trap报文的结构:

        snmp也定义了几种trap类型,如下: 

4,总结:

参考博文:

        SNMP(简单网络管理协议)详解_snmp协议详解_Jeremy_Lee123的博客-CSDN博客

         网络协议篇之SNMP协议(一)——SNMP报文协议_zqixiao_09的博客-CSDN博客

 SNMP报文格式_snmp数据格式_黄大刀的博客-CSDN博客icon-default.png?t=N4P3https://blog.csdn.net/shjhuang/article/details/98489845

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值