声明:以下内容是学习谌玺老师视频整理出来(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. 拨开迷雾,找回自我:DDD 应对具体业务场景,Domain Model 到底如何设计?

    写在前面 除了博文内容之外,和 netfocus 兄的讨论,也可以让你学到很多(至少我是这样),不要错过哦. 阅读目录: 迷雾森林 找回自我 开源地址 后记 毫无疑问,领域驱动设计的核心是领域模型,领 ...

  2. Linux CentOS 配置JDK环境

    一.下载JDK 下载JDK的方式有两种: 1.Linux中使用wget下载 1.使用命令安装wget yum install wget 2.下载 wget 'http://download.oracl ...

  3. OpenCASCADE Shape Location

    OpenCASCADE Shape Location eryar@163.com Abstract. The TopLoc package of OpenCASCADE gives resources ...

  4. Android注解使用之注解编译android-apt如何切换到annotationProcessor

    前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...

  5. Java中Comparable与Comparator的区别

    相同 Comparable和Comparator都是用来实现对象的比较.排序 要想对象比较.排序,都需要实现Comparable或Comparator接口 Comparable和Comparator都 ...

  6. vmware上网的方式

    vmware上网设置 vmware虚拟机上网设置 我的一些心得,如下: 如何使vmware虚拟机中的操作系统能够上网? 第一种情况: 主机使用PPPOE拨号上网 方法一:NAT方式 1.先关闭虚拟机中 ...

  7. Velocity笔记--使用Velocity获取动态Web项目名的问题

    以前使用jsp开发的时候,可以通过request很轻松的获取到根项目名,现在换到使用velocity渲染视图,因为已经不依赖servlet,request等一些类的环境,而Web项目的根项目名又不是写 ...

  8. MyBatis基础入门--知识点总结

    对原生态jdbc程序的问题总结 下面是一个传统的jdbc连接oracle数据库的标准代码: public static void main(String[] args) throws Exceptio ...

  9. ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存

    ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存 part 1:给我点时间,允许我感慨一下2016年 正好有时间,总结一下最近使用的一些技术,也算是为2016年画上一个完 ...

  10. 《动手实现一个网页加载进度loading》

    loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在刷新和加载的过程中为了让用户感知到 load 的过程,我们会使用一些过渡动画来表达.最常见的比如"转圈圈" ...