声明:以下内容是学习谌玺老师视频整理出来(http://edu.51cto.com/course/course_id-861.html

SNMP(Simple Network Management Protocol,简单网络管理协议),基于TCP/IP工作,能对企业网络中支持SNMP功能的设备进行集中网络管理。这些设备包括服务器、工作站、路由器、交换机、PIX防火墙、ASA、入侵检测与防御设备等,它是一种开放的、标准的应用层协议。SNMP使网络管理员能够更有效的管理企业网络,包括:集中监控网络服务器及各种网络设备的CPU、内存、接口状态等实时信息。发现并解决网络问题及规划网络增长。通过SNMP接收随机消息(及事件报告),使得网络管理系统获知网络出现问题。

SNMP网络管理的组件

    SNMP管理的网络由3个主要部分组成:被管理设备、SNMP代理和NMS(网络管理系统)。

被管理设备:通常有一个基本的网络通信点,可以是路由器、服务器、交换机和网桥、主机、网络打印机、防火墙等。被管理设备有时被称为网络单元。

SNMP代理:是被管理设备上的一个网络管理软件功能模块,通常被集成到被管理的网络设备上。SNMP代理拥有本地的相关管理信息,并将它们转换成SNMP兼容的格式消息,发送给网络管理平台。

NMS(网络管理系统):运行基于SNMP的网络管理应用程序以实现监控被管理的网络设备,也就是SNMP管理的服务端。任何受SNMP管理的网络至少需要一个或多个网络管理系统,整个SNMP的网络管理构建如下图所示。

SNMP的网络管理

关于思科网络设备支持SNMP的版本

SNMPv1:SNMPv1是最早的SNMP定义,其所有的PDU有相同的格式,相对简单,但存在严重的安全问题、一般不建议使用。

SNMPv2:与SNMPv1相比较,在MIB的定义上有所增强,在安全性上有所增强,事实上整体报文结构的定义也有很大的区别。如存在基于共同体的v2c、思科的网络设备就支持SNMPv2c,在SNMPv2中还存在基于用户的v2u,但无论是v2的什么版本,始终不变的是PDU报文格式。

SNMPv3:v3成功的解决了v2存在多种变体的问题,并在SNMP报文首部标识出了处理安全性事务的专用字段,每种SNMPv3的安全性模型可以裁剪安全性字段,v3具备更高的安全性与灵活性,但是很多厂商现在不支持这个版本。

SNMP的报文格式

SNMP的报文格式如下图。

SNMP的报文格式

版本标识符(Version Identifier):确保SNMP代理使用相同的协议版本。每个SNMP代理都会丢弃与自己协议版本不同的数据报文。

团体名(Community Name):用于SNMP代理与SNMP管理站之间进行认证。如果被管理设备与SNMP网络管理系统之间协同工作,那么要求它们的团体名称必须一致。在默认情况下,private与public为SNMP的团体名。private表示SNMP管理站可对SNMP代理(被管理设备)执行写操作,具有安全风险,如果不是必须,请小心使用。public表示SNMP管理站可对SNMP代理(被管理设备)执行只读操作。

协议数据单元(PDU):PDU指明了SNMP的消息类型及其相关参数。PDU消息是SNMP代理(被管理设备)发出的真实消息。

注意:SNMP数据报文与PDU之间的区别。SNMP报文与SNMP的PDU报文严格地说不是一回事。PDU是被管理设备之间通信的真实消息,它和大量用于携带标识和安全性字段一起被嵌入到SNMP整体报文中。因此,一般我们将SNMP的报文表达成SNMP报文首部与PDU消息体。

哪些网络设备可以被执行SNMP的网络管理,为什么可以精确到设备上的每个部件或功能?

只要集成了SNMP管理信息库和SNMP代理的设备都可以被执行SNMP管理。管理信息库(Management Information Base,MIB)是执行SNMP网络管理的标准,在MIB库里面认定了网络代理设备必须保存的数据项目、数据类型及允许在每个数据项目中的操作。通过对这些数据项目的存取访问,就可以得到该网络设备的所有内容。在MIB中定义了可访问的网络设备及其功能属性,网络设备的每个特性由对象识别符(Object Identifier,OID)唯一指定。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。换而言之,一个可被SNMP执行管理的网络设备的哪些功能和特性能被管理,是由MIB所定义的。MIB的树形结构如下图所示。

MIB的树形结构

实例:理解SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备OID,如下图所示。

OID .1.3.6.1.4.1.9.1.323

OID .1.3.6.1.4.1.9.1.323的意义是什么?

分析:1代表ISO组织标准;3代表org;6表示美国国防部;1表示Internet;4表示私有定义;1表示企业标准;9表示思科公司;1.323表示交换机2950上运行的标准镜像系统。

NMS平台正是使用这样的方式获得思科交换机2950的相关信息。

SNMP简单网络管理协议的更多相关文章

  1. SNMP简单网络管理协议(转载)

    SNMP SNMP 网络管理的历史 美国国防部设计了世界上头几个包交换网之一的ARPANET,在70年代,TCP/IP协议族正式被定为军方通信标准,随着此协议的广泛使用,网络管理成了一件大事.在80年 ...

  2. 华为、华三 交换机 开启SNMP 简单网络管理协议

    [huawei]snmp-agent //使能SNMP代理 [huawei]snmp-agent sys-info version all //允许所有SNMP 支持 协议 [huawei]snmp- ...

  3. SNMP:简单网络管理协议

    基于 TCP/IP 的网络管理包括两部分:网络管理站 (manager) 和被管理的网络单元(被管设备).这些被管设备的共同点就是都运行 TCP/IP 协议.管理进程和代理进程之间的通信有两种方式,一 ...

  4. 简单网络管理协议(SNMP)

    SNMP是TCP/IP网络中应用最为广泛的网络管理协议,工作在TCP/IP参考模型的应用层,是一种面向无连接的协议 功能:SNMP的功能是使网络设备之间能方便的交换管理信息,从而使网络管理员了解网络运 ...

  5. 【计算机网络】简单网络管理协议 SNMP

    计算机网络  6.7节学习笔记 SNMP: 管理网络上的对象时,必然会给该对象添加一些软件或硬件,但这种添加必须对原有对象的影响尽量小. SNMP中的管理程序和代理程序按客户-服务器方式工作.管理程序 ...

  6. snmp简单识记

    免费snmp探测 http://webluker.com/webtools/snmp snmp简单网络管理协议(simple network management protocol)前身时sgmp简单 ...

  7. SNMP 和 NetBios协议理解

      一.简单网络管理协议(SNMP,Simple Network Management Protocol)构成了互联网工程工作小组(IETF,Internet Engineering Task For ...

  8. SNMP学习笔记之SNMP简单概述

    0x00 SNMP简单概述 0.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理 ...

  9. SNMP简单概述

    一.SNMP简单概述 1.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议& ...

随机推荐

  1. .net 分布式架构之任务调度平台

    开源地址:http://git.oschina.net/chejiangyi/Dyd.BaseService.TaskManager .net 任务调度平台 用于.net dll,exe的任务的挂载, ...

  2. Node.js:Buffer浅谈

    Javascript在客户端对于unicode编码的数据操作支持非常友好,但是对二进制数据的处理就不尽人意.Node.js为了能够处理二进制数据或非unicode编码的数据,便设计了Buffer类,该 ...

  3. MVC CodeFirst简单的创建数据库(非常详细的步骤)

       最近在学习MVC的开发,相信有过开发经验的人初学一个新的框架时候的想法跟我一样最关心的就是这个框架如何架构,每个架构如何分工,以及最最关键的就是如何与数据库通信,再下来才是学习基础的页面设计啊等 ...

  4. spring源码分析之@ImportSelector、@Import、ImportResource工作原理分析

    1. @importSelector定义: /** * Interface to be implemented by types that determine which @{@link Config ...

  5. History API与浏览器历史堆栈管理

    移动端开发在某些场景中有着特殊需求,如为了提高用户体验和加快响应速度,常常在部分工程采用SPA架构.传统的单页应用基于url的hash值进行路由,这种实现不存在兼容性问题,但是缺点也有--针对不支持o ...

  6. 【热门技术】EventBus 3.0,让事件订阅更简单,从此告别组件消息传递烦恼~

    一.写在前面 还在为时间接收而烦恼吗?还在为各种组件间的消息传递烦恼吗?EventBus 3.0,专注于android的发布.订阅事件总线,让各组件间的消息传递更简单!完美替代Intent,Handl ...

  7. MediatorPattern(中介者模式)

    /** * 中介者模式 * @author TMAC-J * 研究了这么多设计模式,觉得无非就是几点: * 1.若两个类有耦合关系,设立一个中间类,处理两个类的关系,把两个类的耦合降低 * 2.面向接 ...

  8. RabbitMQ + PHP (一)入门与安装

    RabbitMQ: 1.是实现AMQP(高级消息队列协议)的消息中间件的一种. 2.主要是为了实现系统之间的双向解耦而实现的.当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层.保存这个数 ...

  9. Spring(三)__aop编程

    aop( aspect oriented programming ) 面向切面编程,是对所有对象或者是一类对象编程 几个重要的概念: 1.切面(aspect):要实现的交叉功能,是系统模块化的一个切面 ...

  10. MySQL:Fabric 安装

    MySQL Fabric安装 MySQL Fabric是Oracle提供的用于辅助进行ha\sharding的工具,它的基本架构: 从上面看出,借助于Fabric, 可以搭建 HA 集群.Sharin ...