SNMP协议详解<二>

上一篇文章讲解了SNMP的基本架构,本篇文章将重点分析SNMP报文,并对不同版本(SNMPv1、v2c、v3)进行区别!

四、SNMP协议数据单元

在SNMP管理中,管理站(NMS)和代理(Agent)之间交换的管理信息构成了SNMP报文,报文的基本格式如下图1:

                                                              图 1

SNMP主要有SNMPv1SNMPV2cSNMPv3几种最常用的版本。

1、SNMPv1

SNMPv1是SNMP协议的最初版本,提供最小限度的网络管理功能。SNMPv1的SMI和MIB都比较简单,且存在较多安全缺陷。

SNMPv1采用团体名认证。团体名的作用类似于密码,用来限制NMS对Agent的访问。如果SNMP报文携带的团体名没有得到NMS/Agent的认可,该报文将被丢弃。

报文格式如下图2:

                                                                 图 2

从上图可以看出,SNMP消息主要由Version、Community、SNMP PDU几部分构成。其中,报文中的主要字段定义如下:

Version:SNMP版本

Community:团体名,用于Agent与NMS之间的认证。团体名有可读和可写两种,如果是执行Get、GetNext操作,则采用可读团体名进行认证;如果是执行Set操作,则采用可写团体名进行认证。

Request ID:用于匹配请求和响应,SNMP给每个请求分配全局唯一的ID。

Error status:用于表示在处理请求时出现的状况,包括noError、tooBig、noSuchName、badValue、readOnly、genErr。

Error index:差错索引。当出现异常情况时,提供变量绑定列表(Variable bindings)中导致异常的变量的信息。

Variable bindings:变量绑定列表,由变量名和变量值对组成。

enterprise:Trap源(生成Trap信息的设备)的类型。

Agent addr:Trap源的地址。

Generic trap:通用Trap类型,包括coldStart、warmStart、linkDown、linkUp、authenticationFailure、egpNeighborLoss、enterpriseSpecific。

Specific trap:企业私有Trap信息。

Time stamp:上次重新初始化网络实体和产生Trap之间所持续的时间,即sysUpTime对象的取值。

用Wireshark抓取的SNMPv1版本的报文格式如下图3:

                                                                                                      图 3

192.168.2.1是Agent的ip地址,192.168.2.110是NMS的ip地址

从上图可以看到,SNMPv1版本的安全性不太好,可以抓取到community也即是团体名;tarp操作只有发送报文没有响应报文


2、SNMPv2c

SNMPv2c也采用团体名认证。在兼容SNMPv1的同时又扩充了SNMPv1的功能:它提供了更多的操作类型(GetBulk和inform操作);支持更多的数据类型(Counter32等);提供了更丰富的错误代码,能够更细致地区分错误。

在v1版本中只有数据类型的错误码,而v2c版本中增加了不少,如下图4:

                                             图 4

SNMPv2报文格式如下图5:

                                                               图 5

比较SNMPv1而言,SNMPv2c新增了GetBulk操作报文和inform操作报文。GetBulk操作所对应的基本操作类型是GetNext操作,通过对Non repeaters和Max repetitions参数的设定,高效率地从Agent获取大量管理对象数据。而inform操作也就是相当于Trap的升级操作,但是二者又有什么不同之处呢?Trap报文发出去之后不会收到响应报文,而inform报文在发出报文之后能收到响应报文。

抓取的报文格式如下:

(1)GetBulk操作,批量获取数据,如下图6:

                                                                                               图 6

(2)inform操作,可以看到它与trap操作的区别,有个响应报文,如下图7:

                                                                                              图 7


SNMPv2c修改了Trap报文格式。SNMPv2c Trap PUD采用SNMPv1 Get/GetNext/Set PDU的格式,并将sysUpTime和snmpTrapOID作为Variable bindings中的变量来构造报文(可参照上图3的get-next的response和下图9SNMPv2的trap进行对比),报文格式如下:

(1)SNMPv1版本的tarp报文格式如下图8:

                                                                                           图 8

(2)SNMPv2的trap报文格式如下图9:

                                                                                           图 9

3、SNMPv3

SNMPv3主要在安全性方面进行了增强,它采用了USM和VACM技术。USM提供了认证和加密功能,VACM确定用户是否允许访问特定的MIB对象以及访问方式。

USM(基于用户的安全模型)

USM引入了用户名和组的概念,可以设置认证和加密功能。认证用于验证报文发送方的合法性,避免非法用户的访问;加密则是对NMS和Agent之间传输的报文进行加密,以免被窃听。通过有无认证和有无加密等功能组合,可以为NMS和Agent之间的通信提供更高的安全性。

VACM(基于视图的访问控制模型)

VACM技术定义了组、安全等级、上下文、MIB视图、访问策略五个元素,这些元素同时决定用户是否具有访问的权限,只有具有了访问权限的用户才能管理操作对象。在同一个SNMP实体上可以定义不同的组,组与MIB视图绑定,组内又可以定义多个用户。当使用某个用户名进行访问的时候,只能访问对应的MIB视图定义的对象。

由于v3版本的增加了不少内容,所以决定在下一篇文章中再详细的讲解SNMPv3。



  • 15
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: H3C交换机支持SNMP(Simple Network Management Protocol)协议,用于实现网络设备的远程管理与监控。SNMP配置详解如下: 1. 配置SNMP基本信息:登录H3C交换机的控制台,使用命令"system-view"进入系统视图,并使用命令"snmp-agent"进入SNMP Agent视图。 2. 配置SNMP团体字符串:使用命令"snmp-agent community {community_name} read [write] [acl_number]"配置SNMP团体字符串,其中community_name为团体字符串名称,read代表只读权限,write代表读写权限,acl_number为ACL(Access Control List)的编号,用于限制对SNMP的访问。 3. 配置SNMP版本:使用命令"snmp-agent sys-info version {version}"配置SNMP的版本,可以选择SNMPv1SNMPv2c或者SNMPv3。 4. 配置SNMP trap:使用命令"snmp-agent trap enable"启用SNMP Trap功能,用于实时地发送报警信息给SNMP管理系统。 5. 配置SNMP管理主机:使用命令"snmp-agent target-host trap-paramsname {paramsname} v2c {ip_address} {community_name}"配置SNMP管理主机,其中paramsname为Trap参数名称,ip_address为SNMP管理主机的IP地址,community_name为团体字符串名称。 6. 配置SNMP视图:使用命令"snmp-agent view {view_name} internet {subtree}"配置SNMP视图,其中view_name为视图名称,subtree为子树标示符,用于描述网络的层次结构。 7. 配置SNMP权限:使用命令"snmp-agent group {group_name} {security_model} read-view {view_name} write-view {view_name}"配置SNMP权限,其中group_name为组名称,security_model为安全模型,可以选择v1v2c或者v3,read-view为只读视图名称,write-view为读写视图名称。 8. 配置SNMP版本兼容:使用命令"snmp-agent mib-view included {view_name}"配置SNMP版本兼容,其中view_name为兼容的视图名称。 9. 配置SNMP访问控制:使用命令"snmp-agent community acl-number {acl_number}"配置SNMP访问控制,其中acl_number为ACL的编号。 以上是H3C交换机SNMP配置的基本步骤,配置完成后可以通过SNMP管理系统对交换机进行远程管理和监控。请注意,具体的配置命令可能因交换机型号和固件版本而有所不同,请参考相关的H3C交换机产品文档进行具体操作。 ### 回答2: H3C交换机的SNMP配置是指配置交换机以支持SNMP协议,以实现对交换机进行管理和监控的功能。SNMP(简单网络管理协议)是一种用于网络设备的管理协议,它允许网络管理员通过一个统一的系统来监控和管理网络设备。 H3C交换机的SNMP配置主要包括以下几个步骤: 1. 配置SNMP协议的基本参数。包括设置SNMP协议的版本、设置管理工作站的IP地址以及设置SNMP设置的读写权限等。 2. 配置SNMP团体名。SNMP团体名用于验证SNMP管理工作站的身份。管理员需要配置一个或多个团体名,并指定对应权限(读或写)。 3. 配置SNMP连接的最大尝试次数和超时时间。管理员可以根据需要配置连接失败后的最大尝试次数和超时时间,以便在网络故障等情况下进行适当的处理。 4. 配置SNMP Trap。SNMP Trap是一种用于通知管理员有关重要事件的机制。管理员可以配置交换机发送SNMP Trap通知给指定的管理工作站,以便及时处理异常情况。 5. 配置SNMP监控。管理员可以配置交换机上的各种参数进行SNMP监控,包括端口流量、CPU利用率、内存使用率等。通过监控这些参数,管理员可以及时了解交换机的运行状态,以便做出相应的调整和管理。 通过以上步骤的配置,H3C交换机就可以支持SNMP协议,并通过SNMP管理工作站进行管理和监控。管理员可以随时查询交换机的各种状态信息,及时处理问题,提升网络的稳定性和可靠性。 ### 回答3: H3C交换机是一款常用的网络设备,支持SNMP(Simple Network Management Protocol)协议,用于实现网络设备的监控和管理。下面是H3C交换机SNMP配置的详解: 1. 配置SNMP团体名(Community Name):团体名是用于验证SNMP管理的权限,可以通过读写权限进行区分。可以使用命令行或WEB界面进行配置,命令如下: snmp-agent community read public snmp-agent community write private 2. 配置SNMP协议版本:H3C交换机支持SNMPv1SNMPv2cSNMPv3协议。可通过命令行或WEB界面选择适用的版本,命令如下: snmp-agent sys-info version v2c 3. 配置SNMP Trap:SNMP陷阱用于将设备的状态和事件信息发送到SNMP管理系统。可以配置陷阱的目标地址和版本,并设置陷阱的触发条件。命令如下: snmp-agent target-host trap address udp-domain 192.168.0.1 params securityname public v2c 4. 设置SNMP身份验证:SNMPv3支持更加安全的身份验证,可以配置用户和相应的安全等级。命令如下: snmp-agent local-engineid generate snmp-agent usm-user v3 admin authentication-mode md5 privacy-mode des56 snmp-agent usm-user v3 admin privacy-mode des56 以上是H3C交换机SNMP配置的基本步骤,可以根据具体需求进行更进一步的配置。通过SNMP可以实现对交换机的远程监控和管理,比如收集交换机的性能指标、监测网络设备状态等,提高网络管理的效率和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值