SNMP简介

它是用于管理IP网络设备的因特网标准协议。主要是用于网络管理系统中监视网络相关设备。主要包括三部分:一个应用层协议,一个数据库模式,一组数字对象

在典型SNMP应用中,一个或者多个叫做管理器(manager)的管理计算机来监视或者管理一组主机或者设备。每个被管理的系统一直执行代理(agent)的软件部分,把信息通过SNMP协议传送到管理器

 本质上,SNMP代理把管理数据作为变量显示到管理系统上。该协议也允许主动管理任务,比如通过远程修改这些变量达到修改和应用新的配置。这些通过SNMP访问的变量分层次组织起来。这些层次和其他的元数据(比如变量的类型和描述),通常在管理信息数据库(MIB)中描述。

一个SNMP管理网络主要包括三个重要部分:

 被管理的设备

 代理-在被管理的设备上运行的软件

 网络管理系统(NMS)-在管理器上运行的软件

一个被管理的设备就是一个执行SNMP端口的网络节点,允许单向(只读)或者双向访问特定节点信息被管理设备通过NMS交换节点相关信息。有时候叫做网络单元,被管理的设备可以是任何类型的设备,包括但不限于路由器,访问服务器,交换机,网桥,集线器,IP电话,IP摄像头,主机和打印机。

 代理就是在被管理设备上运行的一个网络管理软件模块。代理知道本地管理信息,会把信息转换成SNMP形式。

网络管理系统运行监控和控制被管理设备的应用。NMS提供了网络管理需要的处理能力和内存。

 管理信息库(MIB)

SNMP本身没有定义被管理系统需要提供哪些信息(变量)。SNMP而是用了一个控制设置,可用信息都是在管理信息库中定义。MIB描述了一个设备子系统管理数据的结构,它们使用了一个等级命名空间,包括了对象标识符(OID)。每个对象标识符标识了一个通过SNMP可以读或者设置的变量。MIB使用了ASN.1中的符号。

协议详细情况

SNMP在OSI模型第七层-应用层运行。SNMP代理在UDP161端口接收请求。管理器可以从任何可用源端口发送请求到代理的161端口。代理的回应会发回到管理器源端口。管理器在端口162接收通知(traps和InformRequests)。代理可以从任何端口传输通知。

SNMPv1规定了五个核心协议数据单元(PDU)。两个其它的PDU,GetBulkRequest和InformRequest添加到SNMPv2并且带到了SNMPv3。

所有的SNMP PDU结构如下:


IP header


UDP header


version


community


PDU-type


request-id


error-status


error-index


variable bindings

七个SNMP协议数据单元如下:

  GetRequest

一个管理器到代理的请求,用于获取一个变量或者一系列变量的值。用来获取的变量定义在不同的绑定)中。一个带着当前值的Response会返回。

  SetRequest

一个管理器到代理的请求,用于设置一个变量或者一系列变量的值。带着当前(新值)值的Response会返回。

  GetNextRequest

一个管理器到代理的请求,用来发现可用变量和对应的值。返回一个带着变量绑定的Response,用于安装MIB顺序的下一个变量。代理的整个MIB可以通过重复应用GetNextRequest,从OID 0开始。一个表的行数可以通过指定请求变量绑定中的列OID读取。

  GetBulkRequest

GetNextRequest的优化版。一个管理器到代理的多个GetNextRequest重复。返回带多个绑定的请求Response。PDU中的non-repeaters和max-repetitions字段就是用来控制response行为。从SNMPv2才开始有。

  Response

代理返回GetRequest, SetRequest, GetNextRequest, GetBulkRequest and InformRequest变量绑定和确认到管理器。错误报告由error-status和error-index字段提供。尽管用了做get和set的response,但是在SNMPv1中仍然叫Get-Response。

  Trap

代理到管理器的异步通知。包括当前的sysUpTime值,一个OID标识trap类型和可选变量绑定。Trap的目的地址通过MIB中的trap配置变量决定。Trap消息在SNMPv2中修改了格式,叫做SNMPv2-Trap。

  InformRequest

管理器到管理器的确认异步通知。PDU和SNMPv2-Trap格式一样。因为SNMP使用UDP传输,可靠性难免打折,因此使用InformRequest,可以收到后,发回一个确认。

SNMP简介,布布扣,bubuko.com

时间: 07-09

SNMP简介的相关文章

SNMP基础知识整理

目录 1.SNMP诞生背景 2.SNMP简介 3.SNMP术语 4.SNMP的网络架构 5.MIB简介 6.SNMP协议的实现及常用指令 写在前面: 此博文是笔者通过自己对SNMP的认识及参考互联网上的资料总结出来的博文,因知识背景不同难免会有错误,若有错误请博友们指正,通过此文想达到的目的:通过阅读此博文,能让你能轻松管理网络中基于snmp协议进行管理的设备. 注:文中的涉及的图片可能来源于互联网. 1.SNMP诞生背景 试想这样一种场景,你是一个公司的IT管理者,你管理着公司的防火墙.路由器

用SNMP实现对大型网络的轻松管理!

 原文来自:http://guojiping.blog.51cto.com/5635432/985885 一.原理介绍: SNMP简介   目前网络中用得最广泛的网络管理协议是SNMP(Simple Network Management Protocol,简单网络管理协议).SNMP是被广泛接受并投入使用的工业标准,用于保证管理信息在网络中任意两点间传送,便于网络管理员在网络上的任何节点检索信息.修改信息.定位故障.完成故障诊断.进行容量规划和生成报告. SNMP采用轮询机制,只提供最基本的功能

压力测试工具tsung用法简介

tsung是用erlang开发的一款简单易用的压力测试工具,可以生成成千上万的用户模拟对服务器进行访问.目前对tsung的理解也仅限于会简单的应用,其内部结构没有深入研究过. 1.安装 tsung是用erlang编写的,所以首先安装erlang的运行环境.然后就是按照tsung的官网下载编译tsung.需要注意的是,生成测试报告需要gnuplot和perl的支持,其中perl需要安装Template扩展.具体安装过程请看相关手册或者google之. 2.配置文件 默认情况下,tsung会加载配置

SNMP 原理与实战详解

原文地址:http://freeloda.blog.51cto.com/2033581/1306743 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://freeloda.blog.51cto.com/2033581/1306743 大纲 一.什么是SNMP 二.SNMP背景 三.SNMP结构概述 四.SNMP支持的网管操作 五.SNMP的实现结构 六.SNMP的技术内容 七.SNMP的发展历史 八.SNMP的技术术语 九.综合

nagios简介与原理

1.Nagios简介 1.与cacti的区别 a) Cacti 1.Cacti比较着重于直观数据的监控,易于生成图形,用来监控网络流量.cpu使用率.硬盘使用率等可以说很在合适不过 2.通过SNMP监控数据 3.展示工具 4.用插件来增加模块做监控 b) nagios 1.比较注重于主机和服务的监控,并且有很强大的发送报警信息的功能 2.监控方式更多 3.配置灵活的监控工具 4.脚本和agent做监控 2.监控对象 a) 主机.主机组:服务器.虚拟机.网络设备 b) 服务/资源,服务组:http

SNMP的相关知识及C#开发事项

项目中会用到SNMP来上报设备信息,所以最近收集了一些关于SNMP的一些文档,暂时保存到这里.在学习和开发中,如果遇到不容易解决的问题,也会记录到这里 SNMP介绍及命令 SNMP基础简介 SNMP协议学习 C# 一个简单实用 SNMP 的例子 通过这个例子,我们可以从底层了解SNMP的通讯方式.可以看到,SNMP是利用UDP进行通讯(默认是161或162端口),拼凑固定格式的数据包发送到管理端,并解析返回数据.当然在实际开发中,我们不会一个字节一个字节的去凑.可以利用现成的开源项目,最出名的就

Dsniff简介

原文发表于:2010-09-25 转载至cu于:2012-07-21 前两天因为看局域网安全的视频中介绍dsniff,也想自己安装下来看看效果.简单的使用没什么难的(高级使用就需要研究文档了),但是安装过程倒是折腾了好久,所以想记录下来,以备不时只需. 一. Dsniff简介 Dsniff是一个基于unix系统网络嗅探工具,开发者Dub Song于2000年12月发布v2.3版本,目前最新版本是2001年3月发布的v2.4b1的beta版. 下载地址:http://www.monkey.org/

【转】kali linux简介

1.1 Kali Linux简介 如果您之前使用过或者了解BackTrack系列Linux的话,那么我只需要简单的说,Kali是BackTrack的升级换代产品,从Kali开始,BackTrack将成为历史. 如果您没接触过BackTrack也没关系,我们从头开始了解Kali Linux. 按照官方网站的定义,Kali Linux是一个高级渗透测试和安全审计Linux发行版.作为使用者,我简单的把它理解为,一个特殊的Linux发行版,集成了精心挑选的渗透测试和安全审计的工具,供渗透测试和安全设计

TCP/IP篇--各协议简介

--百家菜 在学习网络方面的知识过程中,不可避免地要接触到各种协议,对于一开始接触协议的我们来说对于协议实在没有太多的概念和接触,如果你也是这样,那么博主的这一篇博文可能给你一些关于协议的概念.其中的部分介绍为博主自己总结而出,如有欠缺不当的地方,欢迎通过发表评论或线下交流的方式斧正. 关于协议数据的具体格式和数字表示可上网(百度等网站)或者抓包(抓包方式详细见博主的相关博文-<抓包篇--wireshark使用!>,链接http://powersource.blog.51cto.com/113