SNMP简单网络管理协议
声明:以下内容是学习谌玺老师视频整理出来(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简单网络管理协议的更多相关文章
- SNMP简单网络管理协议(转载)
SNMP SNMP 网络管理的历史 美国国防部设计了世界上头几个包交换网之一的ARPANET,在70年代,TCP/IP协议族正式被定为军方通信标准,随着此协议的广泛使用,网络管理成了一件大事.在80年 ...
- 华为、华三 交换机 开启SNMP 简单网络管理协议
[huawei]snmp-agent //使能SNMP代理 [huawei]snmp-agent sys-info version all //允许所有SNMP 支持 协议 [huawei]snmp- ...
- SNMP:简单网络管理协议
基于 TCP/IP 的网络管理包括两部分:网络管理站 (manager) 和被管理的网络单元(被管设备).这些被管设备的共同点就是都运行 TCP/IP 协议.管理进程和代理进程之间的通信有两种方式,一 ...
- 简单网络管理协议(SNMP)
SNMP是TCP/IP网络中应用最为广泛的网络管理协议,工作在TCP/IP参考模型的应用层,是一种面向无连接的协议 功能:SNMP的功能是使网络设备之间能方便的交换管理信息,从而使网络管理员了解网络运 ...
- 【计算机网络】简单网络管理协议 SNMP
计算机网络 6.7节学习笔记 SNMP: 管理网络上的对象时,必然会给该对象添加一些软件或硬件,但这种添加必须对原有对象的影响尽量小. SNMP中的管理程序和代理程序按客户-服务器方式工作.管理程序 ...
- snmp简单识记
免费snmp探测 http://webluker.com/webtools/snmp snmp简单网络管理协议(simple network management protocol)前身时sgmp简单 ...
- SNMP 和 NetBios协议理解
一.简单网络管理协议(SNMP,Simple Network Management Protocol)构成了互联网工程工作小组(IETF,Internet Engineering Task For ...
- SNMP学习笔记之SNMP简单概述
0x00 SNMP简单概述 0.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理 ...
- SNMP简单概述
一.SNMP简单概述 1.1.什么是Snmp SNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议& ...
随机推荐
- 【每日一linux命令4】常用参数:
下面所列的是常见的参数(选项)义: --help,-h 显示帮助信息 --version,-V ...
- NuGet镜像上线试运行
为解决国内访问NuGet服务器速度不稳定的问题,我们用阿里云服务器搭建了一个NuGet镜像,目前已上线试运行. 使用NuGet镜像源的方法如下: 1)NuGet镜像源地址:https://nuget. ...
- javascript之Object.defineProperty的奥妙
直切主题 今天遇到一个这样的功能: 写一个函数,该函数传递两个参数,第一个参数为返回对象的总数据量,第二个参数为初始化对象的数据.如: var o = obj (4, {name: 'xu', age ...
- python笔记(持续更新)
1.编译python遇到下面的编码问题: SyntaxError: Non-ASCII character '\xe9' in file E:\projects\learn.py on lin ...
- 如何在Elasticsearch中安装中文分词器(IK+pinyin)
如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. ...
- BPM的魅力何在?
BPM(Business Process Management , 企业流程管理平台) 是带动企业流程自动化的帮 手,也是最能忠实反应出企业作业流程问题症结的系统工具,在管理上,BPM可以让管理者利用 ...
- 14门Linux课程,打通你Linux的任督二脉!
Linux有很多优点:安全.自主.开源--,也正是这些优点使得很多人都在学Linux. 虽说网上有大把的Linux课程资源,但是对很多小白来说网上的课程资源比较零散并不适合新手学习. 正因为此,总结了 ...
- Collections
2017-01-06 22:50:43 数据结构和算法 <如何学习数据结构?>:https://www.zhihu.com/question/21318658 <How do I ...
- 我的MYSQL学习心得(三) 查看字段长度
我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 冗余代码都走开——前端模块打包利器 Rollup.js 入门
之前翻译过一篇文章,介绍了通过 ES2015 的解构赋值语法引入模块,可以让打包工具(browserify)最终编译出来的代码量最小化. 殊不知在 webpack 1.X 版本是无法利用该特性来避免引 ...