记录生活中的点点滴滴

0%

SNMP协议

计网的一个小作业,记录一下。

诞生背景

试想这样一种场景,你是一个公司的IT管理者,你管理着公司的防火墙、路由器、交换机、服务器、PC、打印机等IT设备,而这些设备数量之多,而且品牌也不仅限于一个产商,如果一个商家对自己的设备有一个独有的协议来进行管理,这会让IT管理者非常头疼的一件事。有没有一个规范规定所有的IT产品的商家在管理上形成统一的接口,只要通过一种方式就能把所有设备进行统一管理,SNMP协议就是这样一种规范,这就是SNMP产生的背景。

什么是SNMP

SNMP是英文”Simple Network Management Protocol“的缩写,中文意思是”简单网络管理协议“。

SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。SNMP主要用于网络设备的管理。由于SNMP协议简单可靠 ,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。基于C/S的模型

特点:高效、批量、统一、远程

SNMP的基本思想

为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。

三种角色

  • 网管站(Notwork Management Station,NMS)
  • 被管理设备(Device)
  • 代理(Agent)

网管站像一个管理者,它会向被管理设备发送各种请求报文来查询或修改信息,也会接受被管理设备发送的告警信息。

Agent其实就是运行在被管理设备上的一个进程。

被管理设备接受到网管站发出的请求是由代理进程做出相应操作的。

Agent的功能有:

  • 接受、解析NMS的查询报文
  • 对管理变量读(Read)、写(Write)
  • 及时向NMS发送告警信息

管理变量????

能够被Agent查询和设置的设备信息,放在MIB中。

MIB?????

MIB:Management Information Base

属于被管理设备,就是一个数据库!

里面有大量对象(Object:存放设备信息)

对象标识符OID(Object Identifer):从根开始的路径,可唯一识别对象。

例:学号的OID为10

例:internet的OID为 {1,3,6,1}

SNMP的网管操作(工作方式)

  • 管理员需要向设备获取数据,所以SNMP提供了【读】操作;
  • 管理员需要向设备执行设置操作,所以SNMP提供了【写】操作;
  • 设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了【Trap】操作。

SNMP的发展历史

  • 1989年—— SNMPv1
  • 1991年—— RMON(Remote Network Monitoring 远程网络监视),它扩充了SNMP的功能,包括对LAN的管理及对依附于这些网络的设备的管理。RMON 没有修改和增加SNMPv1,只是增加了SNMP监视子网的能力。
  • 1993年—— SNMPv2(SNMPv1的升级版)
  • 1995年—— SNMPv2正式版,其中规定了如何在基于OSI的网络中使用SNMP
  • 1995年—— RMON扩展为RMON2
  • 1998年—— SNMPv3,一系列文档定义了SNMP的安全性,并定义了将来改进的总体结构,SNMPv3可以和SNMPv2、SNMPv1一起使用。

总结:

SNMP共有v1,v2,v3这三个版本:

  • v1和v2都具有基本的读、写MIB功能。
  • v2增加了警报、批量数据获取、管理站和管理站通信能力。
  • v3在v2的基础上增加了USM,使用加密的数据和用户验证技术,提高了安全性。
  • 另外,RMON是SNMP的一个重要扩展,为SNMP增加了子网流量、统计、分析能力。现有两个版本:
    • Rmon:提供了OSI七层网络结构中网络层和数据链路层监视能力。
    • Rmon2:提供了OSI七层网络结构中网络层之上各层的监视能力。

SNMP的消息构成

  SNMP协议定义了数据包的格式,及网络管理员和管理代理之间的信息交换,它还控制着管理代理的MIB数据对象。因此,可用于处理管理代理定义的各种任务。
一条SNMP消息由”版本号”、”SNMP共同体名”和”协议数据单元(PDU)”构成,数据包的长度不是固定的。

  img

  • 版本识别符(version identifier):用于说明现在使用的是哪个版本的SNMP协议,确保SNMP代理使用相同的协议,每个SNMP代理都直接抛弃与自己协议版本不同的数据报。
  • 团体名(Community Name)团体(community)是基本的安全机制,用于实现SNMP网络管理员访问SNMP管理代理时的身份验证。类似于密码,默认值为 public。团体名(Community name)是管理代理的口令,管理员被允许访问数据对象的前提就是网络管理员知道网络代理的口令。如果把配置管理代理成可以执行Trap命令,当网络管理 员用一个错误的分区名查询管理代理时,系统就发送一个autenticationFailure trap报文。
  • 协议数据单元(PDU)PDU (协议数据单元)是SNMP消息中的数据区, 即Snmp通信时报文数据的载体。PDU指明了SNMP的消息类型及其相关参数

应用

摘自百度百科

在大型网络管理中,网络管理员比较头痛的问题就是如何实时了解不在身边的网络设备的运行状况。若要一台一台的去查看网络设备的运行现状,那明显不是很现实。实际网络中,利用SNMP协议自动帮助管理员收集网络运行状况的方法应用最为广泛。通过这种方法,网络管理员只需要坐在自己的位置上,就可以了解全公司的网络设备的运行情况。有了这个简单网络管理协议(SNMP),网络管理员可以很方便的在SNMP Agent和NMS之间交换管理信息。SNMP的主要作用就是帮助企业网络管理人员更方便的了解网络性能、发现并解决网络问题、规划网络的未来发展。