zoukankan      html  css  js  c++  java
  • SNMP C#编程

    1.SNMP概述

    SNMP(Simple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了

    2.SNMP运行过程

     驻留在被管设备上的AGENT从UDP端口161接受来自网管站的串行化报文经解码团体名验证、分析得到管理变量在MIB树中对应的节点,从相应的模块中得到管理变量的值,再形成响应报文,编码发送回网管站。网管站得到响应报文后,再经同样的处理,最终显示结果。

      下面根据RFC1157详细介绍Agent接受到报文后采取的动作:

      首先解码生成用内部数据结构表示的报文,解码依据ASN.1的基本编码规则,如果在此过程中出现错误导致解码失败则丢弃该报文,不做进一步处理。

      第二步:将报文中的版本号取出,如果与本Agent支持的SNMP版本不一致,则丢弃该报文,不做进一步处理。当前北研的数据通信产品只支持SNMP版本1。

      第三步:将报文中的团体名取出,此团体名由发出请求的网管站填写。如与本设备认可的团体名不符,则丢弃该报文,不做进一步处理,同时产生一个陷阱报文。SNMPv1只提供了较弱的安全措施,在版本3中这一功能将大大加强。

      第四步:从通过验证的ASN.1对象中提出协议数据单元PDU,如果失败,丢弃报文,不做进一步处理。否则处理PDU,结果将产生一个报文,该报文的发送目的地址应同收到报文的源地址一致。

    3.何为串行化

    串行化(Serialization)是计算机科学中的一个概念,它是指将对象存储到介质(如文件、内存缓冲区等)中或是以二进制方式通过网络传输

    它有两个重要的优点就是1.在随时间变化的数据(time-varying data)检测改变

                                              2.可用于远程方法调用,如SOAP

    4.由管理信息结构(SMI)和管理信息库(MIB)组成

    5.SNMP是基于TCP/IP的internet上实现的,而CMIS/CMIP,提供了一个完整的网络管理方案必须的所欲功能,然而,CMIS/CMIP依赖于整个OSI协议簇的实现,而它没有被广泛采用的,CMOT是一个过渡性的方案,它是基于TCP/IP协议上提供CMIS的功能的,LMMP在IEEE802逻辑链路层之上直接实现CMIS服务。LMMP消息被限制在单个局域网中。

    6.ASN.1语法1.对象标示符OID是由句号隔开的一组整数。它命名节点并指示它在ASN.1树中的准确位置。

                        2.简短的文本描述对带标号的节点进行描述。

    7.MIB树的根节点并没有名字或编号但有3个节点,1,ccitt(0) 2,iso(1) 3,joint-iso-ccitt,

    一般使用的是iso(1)-dod(6)(它的完整对象标示符是1.3.6.1,它被称为internet)

    internet对象标示符下有4个子树。1,Directory(1)保留将来使用 2,Mgmt(2)DOD协议管理 3,Experimental(3)实验协议和MIB开发 4,Private(4)用来指定单方面定义的对象(用的最多的地方,每棵子树分配给一个企业,企业自己创建自己产品的属性树)

    8.SNMP使用UDP作为第4层传输协议

    9.SNMP五种消息类型:Get-Request(请求对象) Get-Response(响应请求) Get-Next-Request(请求下一个对象) Set-Request(远程配置) Trap(陷阱,通知工作站发生了什么)

    10.口令被称为SNMP团体字符串(就是所谓的安全问题,设置操作密码)

  • 相关阅读:
    HDU 4611 Balls Rearrangement 数学
    Educational Codeforces Round 11 D. Number of Parallelograms 暴力
    Knockout.Js官网学习(简介)
    Entity Framework 关系约束配置
    Entity Framework Fluent API
    Entity Framework DataAnnotations
    Entity Framework 系统约定配置
    Entity Framework 自动生成CodeFirst代码
    Entity Framework CodeFirst数据迁移
    Entity Framework CodeFirst尝试
  • 原文地址:https://www.cnblogs.com/luluping/p/1713510.html
Copyright © 2011-2022 走看看