• SNMP协议


    几个基本概念:

    1.管理信息库(MIB):包含所有代理进程的所有可被查询和修改的参数。
    2.关于MIB的一套公用的结构和表示符号,叫做管理信息结构(SMI):SMI定义计数器是一个非负整数,当达到最大值时,从0开始计数。
    3.管理进程和代理进程之间的通信协议,叫做简单网络管理协议SNMP,虽然在传输层可以采用多种协议,不过目前用的最多的是UDP。

    SNMP定义了以下5中报文:
    1.get-request操作:从代理进程中取一个或多个参数值。
    2.get-next-request操作:从代理进程处取一个或多个参数的下一个参数值。
    3.set-request操作:设置代理进程的一个或多个参数值。
    4.get-response操作:返回的一个或多个参数值。这个参数是对前面3中操作的响应操作。
    5.trap操作:代理进程主动发出的报文,通知管理进程有某些事情发生。(比如设备后端某个端口down掉了)

    管理进程发出前3个操作采用UDP的161端口,代理程序发出的trap操作采用UDP的162端口。由于收发采用不同的端口号,所以一个系统可以同时为管理进程和代理进程。

    SNMP的5中操作如下图所示:

    由于上层采用UDP协议,所以一定要有超时和重传机制。SNMP报文的编码采用了ASN.1和BER,这就使得报文的长度取决于变量的类型和值。

    SNMP报文的格式如下图:

    PDU类型:

    差错状态字段是一个整数,它是由代理进程标注的,指明差错发生,下图是SNMP差错状态的值:

    错误索引字段是一个整数偏移量,指明当有错误发生时,差错发生在哪一个参数。并且只有在发生noSuchName、readOnly、badValue差错时才进行标注。

    在MIB中定义了以下数据类型:参见卷一:协议

    对象标识符OID
    对象标识是一种数据类型,它指明一种“授权”命令的对象。“授权”的意思就是这些标识不是随便分配的,它是由一些权威机构进行管理和分配的,IOD是一个整数序列,以点“.”分割。这些整数构成一个树形结构,类似DNS或Linux中文件系统。在SNMP中所有的MIB都从1.3.6.1.2.1这个标识开始,同时树上的每个结点同时还有一个文件名。

  • 相关阅读:
    快速排序算法图文详解(模版使用)
    数据库中事务和隔离级别解析
    详解对象的创建,布局,定位,存活判断
    SpringCloud-Ribbon:认识并配置负载均衡
    SpringCloud-Feign:接口式微服务调用
    SpringCloud-Eureka(3)集群配置和了解CAP原则
    SpringCloud-Eureka(2)服务注册与信息配置
    SpringCloud-Eureka(1)认识Eureka和初步配置
    Promise
    es6
  • 原文地址:https://www.cnblogs.com/danbo/p/4942043.html
Copyright © 2020-2023  润新知