SNMP简单网络管理协议
SNMP简介

一、SNMP简单概述1.1、什么是SnmpSNMP是英文"Simple Network Management Protocol"的缩写,中文意思是"简单网络管理协议"。
SNMP是一种简单网络管理协议,它属于TCP/IP五层协议中的应用层协议,用于网络管理的协议。
SNMP主要用于网络设备的管理。
由于SNMP协议简单可靠,受到了众多厂商的欢迎,成为了目前最为广泛的网管协议。
SNMP协议主要由两大部分构成:SNMP管理站和SNMP代理。
SNMP管理站是一个中心节点,负责收集维护各个SNMP元素的信息,并对这些信息进行处理,最后反馈给网络管理员;而SNMP代理是运行在各个被管理的网络节点之上,负责统计该节点的各项信息,并且负责与SNMP管理站交互,接收并执行管理站的命令,上传各种本地的网络信息。
SNMP管理站和SNMP代理之间是松散耦合。
他们之间的通信是通过UDP协议完成的。
一般情况下,SNMP管理站通过UDP协议向SNMP代理发送各种命令,当SNMP代理收到命令后,返回SNMP管理站需要的参数。
但是当SNMP代理检测到网络元素异常的时候,也可以主动向SNMP管理站发送消息,通告当前异常状况。
SNMP的基本思想:为不同种类的设备、不同厂家生产的设备、不同型号的设备,定义为一个统一的接口和协议,使得管理员可以是使用统一的外观面对这些需要管理的网络设备进行管理。
通过网络,管理员可以管理位于不同物理空间的设备,从而大大提高网络管理的效率,简化网络管理员的工作。
SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了【读】操作;管理员需要向设备执行设置操作,所以SNMP提供了【写】操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了【Trap】操作。
1.2、SNMP 和 UDPSNMP采用UDP协议在管理端和agent之间传输信息。
SNMP采用UDP 161端口接收和发送请求,162端口接收trap,执行SNMP的设备缺省都必须采用这些端口。
SNMP协议

SNMP协议一.SNMP协议介绍简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema),和一组资料物件。
该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
该协议是互联网工程工作小组(IETF,Internet Engineering Task Force)定义的internet协议簇的一部分。
简单网络管理协议(SNMP)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。
随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet 定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。
SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。
现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。
二.SNMP协议发展第一版SNMP第一版和SMI规格的资料型态SNMP第一版SMI指定许多SMI规格的资料型态,它们被分为两大类:简单资料型态泛应用资料型态第二版SNMP第二版和管理资讯结构SNMP第二版SMI在RFC 2578之中描述,它在SNMP第一版的SMI规格资料型态上进行增加和强化,例如位元串(bit strings)、网络位址(network addresses)和计数器(counters)。
SNMP协定在OSI模型的应用层(第七层)运作,在第一版中指定五种核心PDU:GET REQUESTGET NEXT REQUESTGET RESPONSESET REQUESTTRAP其他PDU在SNMP第二版加入,包含:GETBULK REQUESTINFORMSNMP第二版SMI资讯模块SNMP第二版SMI也指定了资讯模块来详细说明一群相关连的定义。
SNMP(简单网络管理协议)的原理与管理技巧

SNMP(简单网络管理协议)的原理与管理技巧SNMP(Simple Network Management Protocol),即简单网络管理协议,是一种用于网络管理的标准协议。
它被广泛应用于计算机网络中,用于监控和管理网络设备,提供网络的可靠性和可用性,并及时发现和解决网络故障。
本文将介绍SNMP的原理和管理技巧,并提供相关实例,旨在帮助读者更好地理解和应用SNMP。
1. SNMP的基本原理SNMP是一种应用层协议,基于客户-服务器模型。
它主要由管理系统(Manager)和被管理设备(Agent)组成。
管理系统负责监控和管理设备,而被管理设备则向管理系统提供相关的信息。
SNMP的工作原理是通过管理系统发送请求(GetRequest)到被管理设备的Agent,Agent收到请求后,会根据请求返回相应的信息。
管理系统可以通过设置(Set)请求来修改被管理设备的配置参数,也可以通过陷阱(Trap)机制,实现对网络故障的监测和通知。
2. SNMP的管理技巧2.1 合理选择SNMP版本SNMP有多个版本,其中最常用的是SNMPv1、SNMPv2c和SNMPv3。
不同版本的SNMP在安全性、功能和扩展性上有所差异。
在选择SNMP版本时,需要根据实际需求进行权衡。
2.2 配置网络设备的SNMP代理要实现对网络设备的监控和管理,首先需要在被管理设备上配置SNMP代理。
通过设置SNMP代理,可以定义设备的基本信息、访问控制列表、陷阱接收者等,从而提供给管理系统有效的信息。
2.3 合理使用SNMP的命令和对象SNMP提供了丰富的命令和对象,管理系统可以通过这些命令和对象获取设备的状态和配置信息。
在使用这些命令和对象时,需要根据实际情况选择合适的命令,并了解各个对象的具体含义和取值范围。
2.4 合理配置SNMP的告警和陷阱SNMP的陷阱机制可以实现对网络故障的主动监测和通知。
为了及时发现和解决问题,需要合理配置SNMP的告警和陷阱功能。
SNMP简单网络管理协议报文格式详解理论

SNMP简单网络管理协议报文格式详解理论SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于管理和监控网络设备的协议。
它定义了一套规范,允许网络管理系统(NMS)通过发送和接收报文来获取设备的状态信息和执行管理操作。
了解SNMP协议的报文格式对于理解和使用SNMP非常重要。
本文将详细介绍SNMP报文格式的理论知识。
1. SNMP协议概述SNMP是一种应用层协议,被设计用于简化网络设备的管理和监控任务。
它由三个主要组件组成:网络管理系统(NMS)、管理代理(Agent)和被管理设备。
NMS是一个集中式的管理系统,通过SNMP 协议来收集和显示设备状态信息。
管理代理是安装在被管理设备上的一种软件,负责与NMS进行通信并提供设备的管理功能。
被管理设备包括路由器、交换机、服务器等网络设备。
2. SNMP报文结构SNMP使用一种基于ASN.1(Abstract Syntax Notation One,抽象语法标记一)的报文编码格式,用于在网络管理系统和管理代理之间进行交换。
SNMP报文由两个部分组成:头部和数据部分。
2.1 头部(Header)SNMP报文的头部包含了各种元信息,用于标识报文的类型和版本信息。
它包括以下字段:- 版本(Version):指定了SNMP协议的版本号,常用的版本有SNMPv1、SNMPv2c和SNMPv3。
- 社区名(Community):用于授权和身份验证的字符串,用于标识发送方的权限。
- 数据类型(PDU Type):指定了SNMP报文的类型,如Get、GetNext、Set等。
- 请求标识(Request ID):每个SNMP报文都有一个唯一的标识符,用于跟踪该请求。
- 错误状态(Error Status):用于指示SNMP报文的处理状态,成功为0,失败为非零值。
- 错误索引(Error Index):当SNMP报文处理失败时,指示出错对象的索引。
SNMP协议详解

SNMP协议详解一、介绍SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于管理和监控网络设备的标准协议。
它允许网络管理员通过网络收集设备的状态信息、配置设备参数、监控网络性能等。
SNMP协议基于客户端-服务器模型,其中网络设备充当服务器,而网络管理系统充当客户端。
二、协议结构SNMP协议由以下组件组成:1. SNMP管理站点(NMS):NMS是网络管理员用于管理和监控网络设备的工具。
它可以发送SNMP请求到网络设备,然后接收和处理设备返回的SNMP响应。
2. 管理信息库(MIB):MIB是一种数据库,用于存储网络设备的配置和状态信息。
MIB使用层次结构来组织数据,每个数据项都有一个唯一的标识符。
3. 网络设备:网络设备包括交换机、路由器、防火墙等。
这些设备可以通过SNMP协议与NMS进行通信。
4. SNMP协议引擎:SNMP协议引擎是网络设备上的软件模块,负责处理SNMP请求和生成SNMP响应。
三、SNMP操作SNMP定义了以下几种操作:1. GET:NMS向网络设备发送GET请求,以获取设备的某个或多个数据项的值。
2. SET:NMS向网络设备发送SET请求,以修改设备的某个或多个数据项的值。
3. GETNEXT:NMS向网络设备发送GETNEXT请求,以获取MIB中的下一个数据项的值。
4. GETBULK:NMS向网络设备发送GETBULK请求,以获取MIB中的多个数据项的值。
5. TRAP:网络设备在发生特定事件时,可以向NMS发送TRAP消息,以通知管理员。
四、MIB结构MIB使用OID(Object Identifier,对象标识符)来标识每个数据项。
OID由一系列数字组成,每个数字表示一个层级。
OID的根节点是iso(1),其下面是org (3),然后是dod(6),接着是internet(1),最后是private(4)。
私有MIB 通常以1.3.6.1.4开头。
简单网络管理协议(SNMP)学习理解

简单网络管理协议学习理解1.SNMP网络管理协议综述SNMP(Simple Network Management Protocol)是被广泛接受并投入使用的工业标准,它是由SGMP即简单网关监控协议发展以来的。
它的目标是保证管理信息在任意两点中传送,便于网络管理员在网络上的任何节点检索信息,进行修改,寻找故障;完成故障诊断,容量规划和报告生成。
它采用轮询机制,提供最基本的功能集。
最适合小型、快速、低价格的环境使用。
它只要求无证实的传输层协议UDP,受到许多产品的广泛支持。
2.1 管理信息经由SNMP协议传输的所有管理倍息都表现为非聚集的对象类型。
这些对象类型被收集到一个或多个管理信息库[MIB]中并且对象类型按照管理信息结构和标识(SMI)定义。
简单网络管理协议策l版的sM[于1990年5月定义在一篇题为《基于因特网的了TCP/IP管理信息结构和标识》的RFC中。
这一RFC要求所有的管理信息库数据和信息必须根据ISO 8824标准《抽象句法表示法1规范》(ASN.1)编码。
按照ASN.1表示所有信息和对象的目的在于方便向OSI的网络管理协议迁移而无需重新定义现已存在的所有对象和MIB。
SMI为每一对象类型定义以下成分:①名字;②句法;②编码说明。
注意:一个对象类型的名字明确地代表一个对象,称为对象标识符。
不得分配标识符0给对象类型作为其名字的一部分。
为便于阅读,在标准文档中对象标识符旁边包含对这一对象的描述。
对象标识符是按照在OSI MIB树中建立的严格分层空间构造的,对象标识符总是一个唯一的从树根开始描述MIB树的整数序列。
对象标识符和它的文字描述的组合称为标号。
2.1.1 管理树SMI明确要求所有被管理的信息和数据都要由管理树来标识。
这棵管理树来源于OSI的定义,它具有从很开始的严格分层化结构。
管理拷的分支和叶子是用数字和字母两种方式显示的。
数字化编码是机器可读的,字母显示则更适合于人的眼睛并帮助用户寻找穿过错综复杂分支的路径。
SNMP协议概述

SNMP协议概述SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于管理和监控网络设备的应用层协议。
它提供了一种标准化的方法,使网络管理员能够远程监测和控制网络中的设备,以确保网络的正常运行。
一、SNMP的基本原理SNMP的基本原理是采用客户端-服务器模型,其中网络设备(如路由器、交换机、服务器等)充当服务器,而网络管理系统(NMS)则充当客户端。
NMS通过向网络设备发送SNMP命令(如获取设备状态、设置参数等)来监控和管理网络设备。
二、SNMP的组成部分1. 管理站点(NMS):NMS是SNMP网络管理的中心控制站点,负责监控和管理网络设备。
NMS可以是一个单独的计算机或一组计算机组成的集群。
2. 管理代理(Agent):管理代理是网络设备上运行的一种软件,用于响应NMS发送的SNMP命令。
管理代理将设备的状态信息存储在管理信息库(MIB)中,并在收到SNMP请求时返回相关信息。
3. 管理信息库(MIB):MIB是一种标准化的数据库,用于存储网络设备的各种状态和性能信息。
MIB定义了一系列的对象和属性,NMS通过查询和设置这些对象和属性来获取设备的状态信息。
三、SNMP的工作方式SNMP采用基于UDP的传输方式,使用的是简单的请求和响应模式。
NMS通过SNMP协议向管理代理发出请求,请求可以是获取设备状态、设置设备参数等。
管理代理接收到请求后,将相关信息从MIB 中读取出来,并通过SNMP协议将响应发送回NMS。
四、SNMP的版本SNMP有多个版本,其中最常用的版本为SNMPv1、SNMPv2c和SNMPv3。
1. SNMPv1:SNMPv1是最早的版本,具有较简单的功能和较低的安全性。
它使用固定的社区字符串来进行身份验证,存在一些安全风险。
2. SNMPv2c:SNMPv2c是SNMPv2的一个更新版本,修复了SNMPv1的一些问题,并添加了一些新的功能。
简单网络管理协议

简单网络管理协议(snmp )对于每个网络管理员来说说都是必需的。
通过几个简单的命令,我们就可以对其进行配置。
目前SNMP 仍然是监视网络设备(包括cisco 路由器和交换机)性能的流行方法。
通过SNMP 管理站点,管理员可以查看网络设备性能的图表。
另外,Cisco 网络设备还会将报警信息(称作 traps )发送到管理站点。
什么是SNMP ?SNMP 分为三个版本:v1 ,v2 ,和v3. 其功能是依次递增的。
很多网络管理员喜欢用V2 版,但是V3 版本可以提供更多的安全特性。
那么SNMP 是怎么工作的呢?SNMP 设备包含了一个配制好的SNMP 代理。
网络管理系统(NMS )会与每个网络设备上的SNMP 代理进行对话。
NMS 可以是一个很大的系统,比如HP OpenView ,也可以是一个小巧的工具软件,比如PRTG.SNMP 如何帮助我?SNMP 可做的工作很多,比如以下几类:◆以图表的方式显示Cisco 路由器/ 交换机的带宽使用情况,可以按端口,数据流向等分类。
◆以图形方式显示网络错误(比如CRC 错误)。
◆某个端口出现问题时可以发送警告信息给管理员。
是否需要NMS ?作为管理员,一定要有一个NMS 来帮助实现SNMP 的功能。
配置SNMP 本身并不会让你获得任何信息,你需要配置一个NMS 系统来接收,并显示出SNMP 的信息。
如何配置SNMP 监视?要配置SNMP ,我建议首先查看一下设备的信息。
比如下面这些:接下来我们要配置SNMP 以便NMS 可以监视它。
配置SNMP 的方法很多。
这里我们只介绍一点配置Cisco 路由器和交换机的方法。
首先,我们需要建立一个识别字符串。
识别字符串其实就是访问网络设备的密码。
设立一个良好的识别字符串可以让我们更好的读写网络设备,比如:现在我们的NMS ,不论在网络的什么节点,都可以读取(view )以及写入(change )设备的配置和状态。
(对于高级的NMS ,我们可以使用SNMP 修改设备上的配置,但是这并不是SNMP 的主要功能)在本例中,我们将网络设备设置为MyCommunity972 .如何配置SNMP 发送警报信息?在这方面,我们可以使用诸如PRTG 等NMS 来图形化路由器或者交换机端口的带宽使用情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 获取一个或者多个MIB变量 – 错误码
• noSuchName • tooBig • genErr
• 举例
– get(7.1.0); response(7.1.0=>192.168.101.102) – get(7.1); response(noSuchName) – get(7.3.1.3.5.1); response(7.3.1.3.5.1=>2) – get(7.3.1.1.5.1,7.3.1.2.5.1, 7.3.1.3.5.1); response(7.3.1.1.5.1=>5, 7.3.1.2.5.1 =>1 ,7.3.1.3.5.1 =>2)
• 标记
– 类:通用 应用 具体上下文 私有 通用/应用 具体上下文/私有 应用/具体上下文 – 格式:基本 结构化编码 格式:基本/结构化编码 – 标记编号
• 长度
– <128,一个字节,实际长度 ,一个字节, – 大于127,多个字节,如右图 大于 ,多个字节,
• 值
– 根据具体类型而编码有所不同
MIB文件编写
• 模块基本形式 module-all.txt • 模块定义(module)
– MODULE-IDENTITY
module-define.txt
• OID分配 • 对象定义(object)
OID-define.txt
– OBJECT-TYPE
• 告警定义(notification)
– NOTIFICATION-TYPE
SNMPv2-Get Bulk
• Get Bulk的两个重要变量
– non-repeators(N)、max-repetitions(M) – 假设GetBulk绑定中有N+R个变量,则前N个按照普通GetNext操 作返回,后R个返回每个后面的连续M个变量。
• 示意
SNMPv2-Get Bulk举例
• 配置管理(configuration management) (configuration
– 初始化并配置网络;控制、识别被管理对象使其实现特定的功能 或者使网络达到最优;
• 性能管理(performance management)
– 对被管理对象的行为、系统资源的运行状况和通信活动的效率进 行评价
SNMPv1 GET-NEXT
• GET-NEXT
– 获取下一个mib变量oid 和值 – 错误码,跟GET一样
• 举例
– getNext(7.1.0); response(7.2.1.0=>printer-1) – getNext(7.2.1.0); response(7.2.2.0=>123456) – getNext(1); response(7.1.0=>192.168.101 .102) – getNext(7.3.1.3.5.1); response(7.3.1.3.5.2=>3)
OSI网络管理模型
• 组织模型
– 描述网络管理组件以及它们之间的关系
• 信息模型
– 网络对象里管理信息的结构和存储
• 通信模型
– 管理者和被管理者之间的通信,SNMP
• 功能模型
– 着重点在网络管理系统上的网络管理程序
网络管理组件
• 管理工作站
– 必须有管理应用程序,用于数据分析、故障修复 – 给网络管理员提供接口
SMI编码举例
• NULL 05 00 • SEQUENCE(INTEGER,INTEGER)(3,8)
– 30 06 02 01 03 02 01 08
Ber.jpg
• OID (1.3.6.1. 01 04 01 C5 36 06 03 – 其中, 1.3=>1*40+3=>2B;8886=>22B6=>C5 36
每两年一次综合网络管理专题讨论会
– 主办方:国际信息处理联合会(IFIP)
网络管理解决方案
– – – – – 网络管理论坛(NFM)的OMNIPoint 开放软件基金会(OSF)的DME OMG的公共对象请求代理体系结构(CORBA) TINA-C的电信信息网络体系结构(TINA) ITU-T的电信管理网(TMN)…. hp的openview ibm的netview系列 sunsoft的sunnetmanager CiscoWorks 2000 Raisecom的NView NNM….
– 用户角度
• 网络服务越来越多,用户需要高性能网络
– 理论角度
• 网络是一个系统、一种组织 • 任何一个系统都需要管理
网络管理的发展
网络管理发展ing
• • • 每两年一次NOMS
– 网络营运与管理专题讨论会(network operation and management symposium) – 主办方:IEEE通信学会下属CNOM
– 差错索引是一个偏移, 差错索引是一个偏移,它 告诉管理器哪个变量引起 这个差错。
SNMPv1 TRAP
• 被管理站向管理站主动 发送重要事件的通告 • SNMPv1 trap
– – – – 冷启动 热启动 端口up/down 厂商自定义trap
• Trap报文
SNMPv1缺陷与SNMPv2
• 没有提供成批存取机制,对大 块数据进行存取效率很低; • 没有提供足够的安全机制,安 全性很差; • 有限的告警 • 有限的错误码 • 缺乏层次结构 • 传输层依赖:只在UDP协议上 运行,不支持别的网络协议; • 没有提供管理者与管理者之间 通信的机制,只适合集中式管 理,而不利于进行分布式管理; • 只适于监测网络设备,不适于 监测网络本身。 • v2提供GET-BULK操作,大大 提高效率 • v2在安全性方面没有改进 • v2在告警方面通过 NOTIFICATION-TYPE宏定义 • 增强了错误码 • 通过inform trap增强管理站到 管理站的功能 • 支持UDP、CLNS、DDP、IPX • v2开始分布式管理的研究,这 部分研究被分离出来,转到 DISMAN组研究 • RMON mib增强了对网络本身 的监测 • SMIv2比SMIv1改进了很多
– Internet在anization.DoD下 – Internet分为四个子树
• • • • directory:为将来OSI目录保留 mgmt:在IAB批准文档中定义的对象(标准MIB) experimental: 在internet实验中使用的对象 private:厂商私有mib
MIB树举例
• System(.1.3.6.1.2.1.1)
– 标量 – 表(二维标量)
• 索引 • 列
– trap
SMI基本类型
• 通用类型universal——ASN.1中定义
– 简单类型:INTEGER、OCTET STRING、OBJECT IDENTIFIER、 NULL – 结构类型:SEQUENCE、SEQUENCE OF,mib表中使用
MIB树
公司私有mib树:1.3.6.1.4.1.8886 树 公司私有
MIB树介绍
• OID (Object Identifier )
– 表示一个被管理对象,点十进制,例如1.3.6.1 – 对应一个可读的名字,例如internet,raisecom – 树的叶子节点才是真正能够被管理的对象
• MIB树
• 管理代理
– 能够响应管理工作站的信息或者操作请求 – 向管理工作站提供重要但未经请求的信息(trap)
• 管理信息库
– 网络环境下资源的表示 – MIB (management information base) 被管对象的集合
• 网络管理协议
– 管理工作站和管理代理之间的通信机制
网络管理体系结构(一)
• 集中式网络管理结构
网络管理体系结构(二)
• 分层的网络管理结构
网络管理体系结构(三)
• 分布式网络管理结构
网络管理功能模型
• 故障管理(fault management)
– 探测、隔离和修正OSI环境下的不正常操作
• 计费管理(accounting management)
– 记录网络资源的使用,控制和监测网络操作的费用和代价
• 详细参见rfc2578.txt
Z:\ros\commonos\ src\tms\rfc\rfc2233.mi2
SNMPv1协议
• • • • SNMPv1操作 SNMPv1报文格式 SNMPv1 trap SNMPv1缺陷
SNMPv1的操作
• Get、getNext、set、trap
SNMPv1 GET
SNMP 简单网络管理协议
李琼,2007-06
主要内容
• • • • • 网络管理背景 网络管理信息模型(SMI) 网络管理通信模型(SNMP协议) 网络管理工具 公司私有MIB
网络管理的重要性
• 网络的重要
– 人们生活已经离不开网络
• 网络管理的重要
– 网络自身
• 规模和复杂性越来越大,厂商和设备繁多,需要管理
• 应用类型application——SMI定义
IpAddress:4字节,例如0xC0A80001表示192.168.0.1 PhysAddress:物理地址,例如mac地址0x00-19-5B-86-95-89 Counter:循环计数器,非负整数, 0到232-1 Gauge:可增可减的非负整数, 0到232-1,达到232-1后保持不变直 到复位 – TimeTicks:单位,百分之一秒 – – – –
• getBulk(non-repeators=1,max-repetitions=3; 7.2.1.0; 7.3.1.1; 7.3.1.2; 7.3.1.3); • response(7.2.2.0=>123456; 7.3.1.1.2.1=>2;7.3.1.1.3.1=>3; 7.3.1.1.5.1=>5; 7.3.1.2.2.1=>1;7.3.1.2.3.1=>1; 7.3.1.2.5.1=>1; 7.3.1.3.2.1=>2;7.3.1.3.3.1=>3; 7.3.1.3.5.1=>2; )