SNMP简单网络管理协议入门教程

简单网络管理协议

目录

章节目标

 

简单网络管理协议

 

背景
SNMP基本组成
SNMP基本命令
SNMP管理信息基础
SNMP和数据表示
SNMP v1

SNMPv1和管理信息结构

SNMPv1和ASN.1数据类型
SNMP MIB表

SNMPv1协议实施

SNMP v2

SNMPv2和数据信息结构
系统管理中断信息模块
SNMPv2协议实施

SNMP管理
SNMP安全
SNMP协作

代理服务器代理
能说两种语言的网络管理系统

SNMP参考: SNMPv1消息格式

SNMPv1消息头
SNMPv1协议数据单元
陷阱协议数据单元格式

SNMP参考: SNMPv2消息格式

SNMPv2消息头
SNMPv2协议数据单元

取得散装协议数据单元格式

复习问题

 

章节目标

  • 论述SNMP管理信息基础
  • 描述SNMP v1
  • 描述SNMP v2

简单网络管理协议

背景

简单网络管理协议(SNMP)是一种应用层协议, 便于在网络设备间交换管理信息. 它是TCP/IP协议簇的一部分. 网络管理员使用SNMP管理网络性能, 发现和解决网络故障, 并计划网络增长.

有两种SNMP版本: SNMP v1SNMP v2. 它们有一些共同的特征, SNMPv2提供增强功能, 例如附加的协议操作.另一种版本SNMPv3的标准化还没有完成. 这一章提供对SNMPv1SNMPv2协议操作的描述. 56-1描述SNMP管理的基本网络.

 

56-1: SNMP便于设备间的网络信息的交换.

SNMP基本组成

一个SNMP管理的网络包含三个主要部分: 被管理设备、代理和网络管理系统(NMSs.

一个被管理设备是一个包含一个SNMP代理并处于被管理的网络中的一个网络结点。被管理设备收集和存储管理信息,并使用SNMP使这些信息对网络管理系统有用。被管理设备有时被称为网络元素,可能是路由器和访问服务器,交换机和网桥,集线器,计算机主机或打印机。

代理是处于被管理设备中的一个网络管理软件模块。代理有管理信息的本地知识,并能转化为SNMP一致的格式。

网络管理系统执行应用程序监控被管理设备。网络管理系统为网络管理提供大量的处理和内存资源。在任何被管理的网络中至少存在一个网络管理系统。

56-2 描述了这三个组成的关系。

 

  56-2SNMP被管理网络包含被管理设备、代理和网络管理系统

SNMP基本命令

被管理设备被监控,使用如下四个基本SNMP命令:读,写,陷阱和traversal操作。

网络管理系统使用读命令来监控被管理设备。网络管理系统检查被被管理设备维持的不同的变量。

网络管理系统使用写命令控制被管理设备。网络管理系统改变存储在被管理设备中的变量值。

被管理设备使用陷阱命令向网络管理系统asynchronously报告事件。当一定类型的事件发生,被管理设备向网络管理系统发送一个陷阱。

网络管理系统使用Traversal操作决定被管理设备支持那些变量,从而收集信息到变量表中,例如路由表。

SNMP管理信息库

管理信息库是被hierarchically组织的信息的收集。管理信息库使用网络管理协议如SNMP访问。它们包含被管理对象和被对象标识符识别。

一个被管理对象(有时被称为一个管理信息库对象,一个对象或一个管理系统库)是被管理设备中所有特殊的特征中的一个。被管理对象包含一个或多个对象实例(实质上是变量)。

有两种类型的被管理对象:标量和列表。标题对象定义一个单独的对象实例。列表对象定义多个关联的对象实例,并分组在同一个管理信息库表中。

一个被管理对象的例子是输入,一个标量对象包含一个单独的对象实例,整型值显示在路由器接口上输入AppleTalk数据包的总数目。

一个对象标识符(对象ID)在管理信息库层次中独特地识别一个被管理对象。管理信息库层次能被描述为一棵没有名字的根的树,水平被不同的组织指派。图 56-3 描述管理信息库树。

顶层MIB对象ID属于不同的标准组织,同时低层对象ID被联合的组织分配。

卖主可以定义私有的分支,为他们自己的产品包含被管理对象。管理信息库在实验的分支中还没有代表性地标准化。

被管理对象输入能被独特地标识,对象名称(国际标准化组织).被识别(组织)模块.互联网.私有的.企业.思科.临时变量.AppleTalk。输入或等价的对象描述符,1.3.6.1.4.1.9.3.3.1.

 

56-3:管理信息库树描述了不同的组织分配了不同变量层次

SNMP和数据表示

SNMP在被管理设备之间必须说明和调整到不相容。不同的计算机使用不同的数据表示技术,能折衷SNMP的性能在被管理设备间交换信息。SNMP使用抽象语法符号1ASN.1)的子集在不同的系统之间提供通讯。

SNMPv1

SNMPv1SNMP协议的最初实现。它在请求注释(RFC1157中有描述,管理信息结构(SMI)规范中有功能描述。SNMPv1运行在协议之上,如UDPIP,开放式系统互联参考模型无连接网络服务(CLNS),AppleTalk数据报投递协议(DDP),和Novell网络数据报交换(IPX)。SNMPv1被广泛地使用,成为因特网内事实上的网络管理协议。

SNMPv1和管理信息结构

管理信息结构(SMI)定义描述管理信息的规则,使用抽象语法符号1ASN.1)。SNMPv1 管理信息结构被定义在RFC1155中。管理信息结构制定三种主要的规范:ASN.1数据类型,SMI-specific数据类型和SNMP MIB表。

SNMPv1ASN.1数据类型

SNMPv1管理信息结构指定所有被管理对象有一个抽象语法符号1ASN.1)数据类型的子集与它们关联。三种ASN.1数据类型是必需的:姓名、语法和编码。服务的名称被看作对象标识符(对象ID)。语法定义对象的数据类型(例如,整型或字符串)。管理信息结构使用ASN.1语法定义的子集。编码数据描述信息怎么被关联到被管理对象,被格式化为一系列数据项,用于网络传输。

SNMPv1和管理信息结构-specific数据类型

SNMPv1管理信息结构指定一系列管理信息结构-specific数据类型的使用,被划分为两种:简单数据类型和广泛应用数据类型。

三种简单数据类型被定义在SNMPv1管理信息结构中,所有取唯一的值:整型、八位位组字符串和对象ID。整型数据类型是一个范围在-2,147,483,648 to 2,147,483,647之间的单独的整型。八位位组字符串是065535八位位组的规则序列。对象ID来自所有对象标识符依照ASN.1中的指定规则分配的。

七种广泛应用数据类型存在在SNMPv1管理信息结构:网络地址、计数器、规格、时间记号、不透明物和无符号整型。网络地址表示一个来自一个特殊协议族的一个地址。SNMPv1只支持32IP地址。计数器是非负整型,增加直至达到最大值,然后返回到零。在SNMPv1中,一个32位计数器大小被指定。规格是非负整型,能增加或减少,但它们保留达到的最大值。时间记号表示自一些事件的一秒的每一百。不透明物表示一个任意的编码,被使用在任意的信息字符串中,在管理信息系统中,不需要与严格的数据类型一致。整型表示有符号的整型值信息。这个数据类型重新定义了整型数据类型,在ASN.1中有任意的精确度,但是在管理信息结构中,是有限制的。无符号整型表示无符号整型值信息,整型数据类型在ASN.1中有任意的精确度,但是在管理信息结构中是有限制的。

SNMP管理信息库表

SNMPv1管理信息结构定义抽象的结构表,用于分组列表对象(一个对象包含多个变量)实例。表格由零或多行组成,在某种程序上,索引允许SNMP使用简单的Get,GetNextSet命令去重新得到或改变一个完整的行。

SNMPv1协议操作

SNMP是一种简单的请求/应答协议。网络管理系统发出一个请求,被管理设备返回一个应答。这种行为使用使用四种协议操作:Get,GetNext,Set,Trap中的一种实现。Get操作被网络管理系统用于重新取得代理中一个或多个对象实例的值。GetNext操作被网络管理系统用于重新取得代理中表格或链表中下一个对象实例的值。Set操作被网络管理系统用于在代理中设置一个对象实例的值。Trap操作被代理用于asynchronously通知网络管理系统一个有意义的事件。

SNMPv2

SNMPv2是初始版本SNMPv1的发展,最初,SNMPv21993年以被提议为因特网标准发布;当前,它是一个标准草案。在管理信息结构规范中有SNMPv1,SNMPv2功能功能详述。在理论上,SNMP2提供了SNMPv1的实现,包括附加的协议操作。

SNMPv2和管理信息结构

管理信息结构(SMI)定义了使用ASN.1描述管理信息的规则。

SNMPv2管理信息结构在RFC1902中有描述。它制定了一些对SNMPv1管理信息结构-specific数据类型额外的增强,例如包含位字符串,网络地址和计数器。位字符串中只在SNMPv2中有定义,由零或更多的指定值的位组成。网络地址表示一个来自特殊协议族的地址。SNMPv1只支持32IP地址,但SNMPv2能支持其他类型的地址。计数器是非负整型,增加直到它们达到最大值,然后返回到零。在SNMPv1中,32位计数器大小是指定的。在SNMPv2中,32位和64位计数器被定义。

管理信息结构信息模块

SNMPv2管理信息结构也指定信息模块,指定一组关联的定义。有三种类型的管理信息结构信息模块:MIB模块,顺从声明和性能声明。MIB模块包含相关的被管理对象的定义。顺从声明提供描述一组被管理对象的一种系统方法,必须实现与标准一致。性能声明显示支持的精确层次,代理要求考虑MIB组。为了代理依照性能声明关联到每个代理,网络管理系统可以调整它的行为。

SNMPv2协议操作

Get,GetNextSet操作用于SNMPv1中,在SNMPv2中可以正确地同样使用。SNMPv2增加和增强一些协议操作。SNMPv2 Trap操作,例如,提供同样的功能在SNMPv2中,但是它使用一种不同的消息格式,被设计用于替代SNMPv1 陷阱。

SNMPv2也定义两种新的协议操作:GetBulkInformGetBulk操作被网络管理系统有效地重新取得大块的数据,例如表中的多行。GetBulk填充一个合适的并足够多的被请求的应答消息。Inform操作允许一个网络管理系统发送陷阱信息到另一个网络管理系统,然后重新行到一个应答。在SNMPv2中,如果代理应答GetBulk操作不能提供链表中所有变量的值,它将提供部分结果。

SNMP管理

SNMP是一种分布式的管理协议。系统能操作专用地NMS或代理,或它都能执行功能。当一个系统操作如NMS和代理,另一个NMS可能需要系统询问管理设备,提供有学问的信息的摘要,或报告局部的存储管理信息。

SNMP安全

SNMP缺乏任何的证明能力,导致多种安全攻击威胁。包括伪装事件,修改信息,消息序列,定时修改和揭发。伪装事件包括一个未授权的实体企图通过伪装成一个经授权的管理实体来执行管理操作。修改信息包括未授权的实体企图更改一个经授权的实体产生的消息,从而消息导致未授权管理或配置管理操作。当一个未授权的实体重新排序,延迟或拷贝和更新重放一个经授权实体产生的消息,消息序列和定时修改发生。当一个未经授权的实体析取存储在被管理对象中的值或学习须申报的监视管理器与代理间的交换事件时,揭发结果。因为SNMP没有实现鉴定,许多卖主没有实现Set操作,因此削减了SNMP的监控能力。

SNMP协作

在目前的说明中,SNMPv2SNMPv1在两个主要领域是矛盾的:消息格式和协议操作。SNMPv2消息使用不同于SNMPv1的头和协议数据单元(PDU)格式。SNMPv2也使用两种在SNMPv1中没有指定的协议操作。此外,RFC1908定义在SNMPv1/v2中可能共存的策略:代理服务器代理和能说两种语言的网络管理系统。

代理服务器代理

SNMPv2代理能作为一个代理服务器代理在SNMPv1被管理设备上,如下:

  • SNMPv2网络管理系统为SNMPv1代理发布一个有意义的命令
  • 网络管理系统发送SNMP消息到SNMPv2代理服务器代理
  • 代理服务器代理无变化地执行Get,GetNextSet消息到SNMPv1代理
  • GetBulk消息被代理服务器代理修改为GetNext消息,然后转寄到SNMPv1代理

代理服务器代理绘制SNMPv1陷阱消息到SNMPv2陷阱消息,然后把它们传送到网络管理系统。

能说两种语言的网络管理系统

能说两种语言的SNMPv2网络管理系统支持SNMPv1SNMPv2。为支持双重的管理环境,一个在能说两种语言的网络管理系统中的管理应用程序必须连接到一个代理。网络管理系统然后解释存储在本地数据库中的信息,决定支持SNMPv1SNMPv2代理。依赖于数据库中的信息,网络管理系统使用SNMP适当的版本与代理通信。

SNMP参考:SNMPv1消息格式

SNMPv1消息消息包含两部分:消息头和协议数据单元(PDU)。图 56-4 描述SNMPv1消息的基本格式。

 

  56-4SNMPv1消息包含头和PDU

SNMPv消息头

SNMPv1消息头包含两部分:版本号和团体名称。

下面描述了这些域的概述:

版本号——指定使用的SNMP的版本
团体名——为一组网络管理系统定义一个访问环境。在网络管理系统中,团体存在于相同的管理领域。因为设备能排除未知的正当的团体名的SNMP操作,所以团体名服务可作为一种弱的形式的鉴定。

SNMPv1协议数据单元

SNMPv1协议数据单元包含一系列明确的命令(Get,Set等)和操作数,显示与处理事务有关的对象实例。SNMPv1协议数据单元域长度是可变的,由ASN.1规定。图 56-5 描述了SNMPv1 Get,GetNext,ResponseSet协议数据单元处理的域。

 

  56-5SNMPv1 Get,GetNext,ResponseSet数据协议单元包含相同的部分

下面描述了图56-5中被描述的域的概述:

PDU类型——指定传输的PDU的类型
请求ID ——使SNMP请求和应答相联系
错误情形——显示错误和错误类型。只有应答操作规定这个域。其它操作设置这个域为零。
错误索引——使一个错误与一个特殊的对象实例相联系。只有应答操作有这个域。其它操作这个域为零。
变量捆绑——服务当作SNMPv1协议数据单元的数据域。每个变量捆绑与一个特殊的对象实例及其当前值(使用GetGetNext请求的异常,这个值被忽略)相关联。

陷阱PDU格式

 

  56-6 描述了SNMPv1陷阱协议数据单元的域。

56-6SNMPv1陷阱协议数据单元包含八部分:

下面描述了在图56-6中描述的各个域的概述:

企业——识别产生陷阱的被管理对象的类型
代理地址——提供产生陷阱的被管理对象的地址
一般的陷阱类型——显示一般的陷阱类型
明确的陷阱编码——显示明确的陷阱代码
时间邮票——提供在最后的网络reinitialization和产生陷阱之间流逝的时间
变量捆绑——SNMPv1 陷阱协议数据单元的数据域。每个变量绑定关联到一个特殊的对象实例及其当前值。

SNMP参考:SNMPv2消息格式

SNMPv2消息包含头和PDU。图 56-7 描述了一个SNMPv2消息的基本格式。

 

  56-7SNMPv2消息也包含头和PDU

SNMPv2消息头

SNMPv1消息头包含两部分:版本号和团体名称。

下面描述了这些域的概述:

版本号——指定使用的SNMP的版本
团体名——为一组网络管理系统定义一个访问环境。在网络管理系统中,团体存在于相同的管理领域。因为设备能排除未知的正当的团体名的SNMP操作,所以团体名服务可作为一种弱的形式的鉴定。

SNMPv2协议数据单元

SNMPv2指定了两种PDU格式,依赖于SNMP协议操作。SNMPv2协议数据单元的长度是可变的,,由ASN.1规定。

56-5 描述了SNMPv2 Get,GetNext,ResponseSet协议数据单元处理的域。

 

  56-5SNMPv1 Get,GetNext,ResponseSet数据协议单元包含相同的部分

下面描述了图56-5中被描述的域的概述:

PDU类型——指定传输的PDU的类型
请求ID ——使SNMP请求和应答相联系
错误情形——显示错误和错误类型。只有应答操作规定这个域。其它操作设置这个域为零。
错误索引——使一个错误与一个特殊的对象实例相联系。只有应答操作有这个域。其它操作这个域为零。
变量捆绑——服务当作SNMPv1协议数据单元的数据域。每个变量捆绑与一个特殊的对象实例及其当前值(使用GetGetNext请求的异常,这个值被忽略)相关联。

GetBulk协议数据单元格式

 

  56-9描述了SNMPv2 GetBulk协议数据单元的域。

56-9SNMPv2 GetBulk协议数据单元包含七部分

下面描述了图56-9中描述的域的概述:

PDU类型——识别一个GetBulk操作的PDU
请求ID ——关联SNMP请求和应答
非中继器——在变量绑定域中,指定一系列对象实例,应该不止一次地从请求的开始处重新得到。当一些实例标题对象只有一个变量时,这个域被使用。
最大重复——定义其它变量被非中继器域应该被重新得到的指定的最大时间
变量绑定——服务当作SNMPv2协议数据单元的数据域。每个变量绑定关联到一个特殊对象实例及其当前值(使用GetGetNext请求的异常,这个值被忽略)。

复习问题

Q什么是MIBs,如何访问?

A管理信息库(MIB)是一个有组织的有层次的收集信息。MIBs使用网络管理协议如SNMP访问。包含被管理对象和对象标识符鉴定。

Q—SNMP使用一系列________来管理网络。

A—GetsPuts。在网络中SNMP使用一个Get对象和一个Put对象去管理设备,如取得计数器。

Q命名SNMPv2 GETBULK 3/7域。

A—PDU类型,请求ID,非中继器,最大重复,变量绑定(变量绑定包含变量对象域由三个保留域组成)。

 

posted @ 2023-04-22 16:55  鹤烟  阅读(323)  评论(0编辑  收藏  举报