简单网络管理协议SimpleNetworkManagementProtocol

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 其二是规定运行在管理站上的客户软件如何与管理代理进行通信, 这部分定义了客户与服务器端交换信息的格式和意义。即简单网络 管理协议。
• 下面分别介绍
• 简单网络管理协议(Simple Network Management Protocol)
• SNMP 规定管理进程如何与管理代理进行通信,定义了客户与服 务器端交换信息的格式和意义。此外,提供管理授权机制。
所属组
system interface interface ip ip ip ip ip ip ip icmp tcp tcp tcp udp egp
意义
最近一次启动后的持续工作时间
网络接口数目
指定接口的 MTU IP 数据报生存周期字段的值 接收到的数据报的数目
转发的数据报的数目
路由失败的数目
汇聚的数据报的数目
– 管理站作为客户,运行客户端的软件;而各个被管设备运行的代理 程序为服务器端程序
• 为进行管理,管理进程(客户端)需要和代理程序(服务器端) 进行通信,这种通信可以有两种方式:
– 管理进程向代理进程发出请求,询问一个具体的参数(如询问网络 单元中不可达的端口数目)或者要求代理进程改变某些参数值(如 把 IP 数据包的生存期改为 64 TTL)
• 末尾为0表明是一个变量的实例:如1.3.6.1.2.1.4.3 .0,标识一个 1.3.6.1.2.1.4.3 (ipInReceives的)变量的实例。
• 以上介绍的是SNMPv1,1993年,发表SNMPv2(RFC 1441), 版本二的改进:
– 为从代理进程读取大块数据而定义了一个新的分组 – 为使在管理进程之间通信而增加了另一个分组 – 定义了两个新的 MIB ,用于管理进程之间的数据 – 提高了安全性, 可以对报文进行加密和鉴别
据结构和表示符号,并指定命名变量的规则。SMI规定所有的 MIB变量也必须使用ASN.1。 • SNMP中使用的数据类型如下:
– INTEGER、OCTER STRING、……、SEQUENDE OF等共12种。
• MIB变量的命名采用对象标识符(Object Identifier),所用对象标 识符组成一个名称空间,由OSI 与 ITU 共同管理对象标识符命名 体系利用对象标识符命名体系可以为任意对象命名(如每个国际 协议标准都有一个名称)
MIB 数据项 sysUpTime ifNumber ifMtu ipDefaultTTL ipInReceives ipForwDatagrams ipOutNoRoutes ipRessmOKs ipFragOKs ipRoutingTable icmpInEchos tcpRtoMin tcpMaxConn tcpInSegs udpInDatagrams egpInMsgs
• 但是,对于广域网,基于TCP/IP的因特网不可能只用单一的链路 层协议,而是通常是由多种物理网络由IP路由连接而成。因此, 因特网管理和单一网络管理是不同的。这种不同表现在:
– 单一网络的管理工作站不能控制异质路由设备 – 受控实体不使用相同的链路层协议 – 管理工作站控制的机器可能在因特网中的任意一个节点,管理工作
– 网络管理站是运行管理进程的主机。一般都是带有彩色监视器的工 作站,可以显示所有被管设备的状态(例如连线是否掉落、各连线 上的流量状况)。
– 被管设备主要包括种类繁多的被管主机和被管路由器,但都应该是 运行TCP/IP协议的。在被管设备中需要运行与管理相关的软件,叫 做代理程序(Agent)或代理进程。
• 早期的管理方式是提供一些管理命令,如重启系统用reboot、删 除或增加路由用 delete 或 add 等等。但是这种方式的一个重要缺 陷是对于每种数据项的每种操作都必须定义一个单独的命令,这 样,当出现一种新的数据项时,需要增加相应的协议。
• SNMP采取另一种方式,
• SNMP 规定了两类从管理进程到代理的基本命令:
站有可能需要控制和它不在同一物理网络中的设备,因此除非使用 端到端的高层连接,管理工作站不能与受控设备进行通信。
• 因此因特网管理协议工作在应用层,使用运输层协议进行通信。
• 管理协议工作在运输层之上有如下的好处:
– 协议可以设计成与硬件无关,因而相同的协议可以用于所有被管设 备
– 从管理员的角度来看,单一的管理协议集意味着所有的路由将响应 相同的命令集,通过使用TCP/IP通信,管理员可以控制整个IP网络, 而无需直接接触具体的每个物理网络或路由器类型。
– 代理进程主动向管理进程报告有某些重要的事件发生(如某个连接 口故障)
• 单个被管设备可能接收多个管理站的管理。管理软件使用授权机 制来确保只有获得授权的管理员才能管理相应的设备。同时也支 持多等级授权。例如:允许多个管理员从某个路由器获得信息, 但是只允许其中一部分的管理员能修改和控制路由。
• 最初,许多网络都在链路层协议中包含管理协议,这样,即使高 层协议失效,也可以在底层进行控制。
0-3时的报文格式如上述表格 而为4时有所不同
• 请求标识由管理进程在命令中设置,由代理进程在响应中返回。 该字段用于使客户进程能够将服务器进程发出的响应和客户进程 先前发出的查询进行匹配。
• 差错状态字段由代理进程标注,指明有差错发生,差错发生在哪 个参数。
差错状态 名称
0
NoError
1
TooBig
• 名称和值字段是要请求的数据名称或要设置的变量名称以及其值。
• 信息管理库(Management Information Base)(MIB-II RFC 1213 1991)
• 本标准指定主机和路由器等被管设备需要保存的数据项,以及可 以对这些数据项进行的操作。例如:MIB 规定 IP 软件必须保存到 达每个网络接口的8位组的数目,并规定网络管理软件只能读这项 数据。
• MIB把管理信息划分为八组,每组都有若干种数据项:
MIB 组 system interfaces addr.trans. ip icmp tcp udp egp
包含的信息 操作系统 某个网络接口 地址解析 IP 协议软件 网际控制报文协议软件 传输控制协议软件 用户数据报协议软件 外部网关协议软件
directory
1
mgmt 2
experimental
3
private
4
mib 1
system
1
inter faces
2
addr. trans.
3
ip 4
icmp
tcp
5
6
udp 7
egp 8
• 说明:
• 层次结构中每个节点的对象标识符是由从根节点到其上的数字序 列组成,如 mib 的对象标识符为 1.3.6.1.2.1,为方便阅读也可以 用相应的字符序列 .dod.internet.mgmt.mib
• 可以看到在MIB中说明的八个组实际上是对象标识符空间中mib节 点的8个子节点。这8个节点进一步可以往下分,即为各个组的变 量。例如 ipInReceives 是 ip 下的第三个节点,则其对象标识符为: 1.3.6.1.2.1.4.3 ,相应字符序列为:
.dod.internet.mgmt.mib.ip.ipInReceives
• 当然,工作在应用层也提出了更多的要求:
– 就需要下层协议都是在正常工作的,否则无法进行网管所需要的高 层通信
– 需要操作系统也是正常工作的,操作系统不正常,就不可能达到应 用层
• 基于TCP/IP的网络管理协议分为两个部分:
– 其一是管理中所需要的数据及其格式,分别为:
• 管理信息库(Management Information Base) • 管理信息结构(Structure of Management Information)
• 而其他的命令都是通过这两类命令来实现。
• 从代理进程到管理进程规定了两个操作:
– get-response:这个操作是代理进程作为对上述三个管理进程操作的 响应。
– trap:代理进程主动发出的报文,通知管理进程有某些事件发生。
• 前四种操作是简单的请求--应答方式,而 SNMP 传输通常使用 UDP ,因而需要使用超时重传机制。
• SNMP 报文格式:
IP UDP 版 共 PDU 请 求 差 错 差 错 名 值 名 值 …
首 首部 本 同 类 型 标识 状 态 索引 称


体 (0-3)
(0-5
SNMP报文使用ASN.1编码,其各字段长度取决于其取值,因 此整个长度(除了IP、UDP首部长度确定)不是固定的。
• Abstract Syntax Notation 1 是一种形式语言,有两种表示方式:
分片的数据报的数目
IP 路由表 收到的 ICMP 回波请求数目 TCP 允许的最小重传时间 允许的最大 TCP 连接 TCP 收到的分片数目 收到的 UDP 数据报数目 收到的 EGP 消息数目
• 管理信息结构(Structure of Management Information)(RFC 1155) • 对MIB中允许的变量类型进行约束,定义MIB 中各种数据项的数
• 小结
• SNMP是一种简单的管理进程和代理进程之间的请求应答协议。
• MIB中定义了所有代理进程所包含的、能够被管理进程查询和设 置的变量。
• 所有这些变量都以对象标识符进行标识,这些对象标识符构成了 一个层次命名结构。
பைடு நூலகம்
2
NoSuchName
3
BadValue
4
ReadOnly
5
genErr
描述
没有错误
代理进程无法把响应放在一个 SNMP 消息中发送 操作一个不存在的变量
Set 操作的值或语义有错误 管理进程试图修改一个只读变量
其他错误
• 差错索引字段是一个整数偏移量,指明当有差错发生时,差错发 生在哪个参数。它是由代理进程标注的,且只在差错状态为2、3、 4时才进行标注。
• 每个命名都是全球唯一的绝对名称 • 名称空间为一个层次结构(类似DNS)(如下页图)
unnamed
iso
itu
1
2
org 3
dod 6
directory
1
internet
1
mgmt 2
experimental
3
private
4
joint -iso -itu
3
internet
从根节点到此节点的标记 序列为 1.3.6
– 从一个数据项取数据,这包括两个命令:
• get-request:从代理进程处提取一个或多个数据项 • get-next-request:从代理进程处提取一个或多个数据项的下一个数据项
(关于“下一个”于数据格式有关,在后面讲。)
– 把值存储到一个数据项中。
• set-request:设置代理进程的一个或多个数据项
– 供人阅读使用的 – 压缩编码表示,用于通信协议
• 特点:
– 无歧义 – 标准化 – 互操作
• 版本字段的值为SNMP版本号减 1
• 共同体字段是管理进程与代理进程之间的明文格式的口令,默认 值为 public
• PDU类型字段
PDU 类型 0 1 2 3 4
名称 Get-request Get-next-request Get-response Set-request trap
• 除了提供网络层服务的协议和使用那些服务的应用程序,因特网 还需要运行一些让管理员进行设备管理、调试问题、控制路由、 监测机器状态的软件。这种行为称为网络管理。
• 随着网络技术的飞速发展,网络数量、网络设备越来越多,而且 许多设备来自各个不同的厂家,如何管理这些设备就变得更加重 要了。
• 从设备来看,基于TCP/IP得网络管理包含两个部分:网络管理站 和被管理的网络单元(也叫被管设备)。(见下下页示例图)
相关文档
最新文档