欢迎访问拔笔兔范文大全网!

简单网络管理协议(SNMP)

天下 分享 时间: 加入收藏 我要投稿 点赞
简单网络管理协议(SNMP)是最早提出的网络管理协议之一,它一推出就得到了广泛的应用和支持,特别是很快得到了数百家厂商的支持,其中包括IBM,HP,SUN等大公司和厂商。目前SNMP已成为网络管理领域中事实上的工业标准,并被广泛支持和应用,大多数网络管理系统和平台都是基于SNMP的。
一、 SNMP概述

SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

SNMP的体系结构是围绕着以下四个概念和目标进行设计的:保持管理代理(agent)的软件成本尽可能低;最大限度地保持远程管理的功能,以便充分利用Internet的网络资源;体系结构必须有扩充的余地;保持SNMP的独立性,不依赖于具体的计算机、网关和网络传输协议。在最近的改进中,又加入了保证SNMP体系本身安全性的目标。

另外,SNMP中提供了四类管理操作:get操作用来提取特定的网络管理信息;get-next操作通过遍历活动来提供强大的管理信息提取能力;set操作用来对管理信息进行控制(修改、设置);trap操作用来报告重要的事件。

二、 SNMF管理控制框架与实现

1.SNMP管理控制框架

SNMP定义了管理进程(manager)和管理代理(agent)之间的关系,这个关系称为共同体(community)。描述共同体的语义是非常复杂的,但其句法却很简单。位于网络管理工作站(运行管理进程)上和各网络元素上利用SNMP相互通信对网络进行管理的软件统统称为SNMP应用实体。若干个应用实体和SNMP组合起来形成一个共同体,不同的共同体之间用名字来区分,共同体的名字则必须符合Internet的层次结构命名规则,由无保留意义的字符串组成。此外,一个SNMP应用实体可以加入多个共同体。

SNMP的应用实体对Internet管理信息库中的管理对象进行操作。一个SNMP应用实体可操作的管理对象子集称为SNMP MIB授权范围。SNMP应用实体对授权范围内管理对象的访问仍然还有进一步的访问控制限制,比如只读、可读写等。SNMP体系结构中要求对每个共同体都规定其授权范围及其对每个对象的访问方式。记录这些定义的文件称为“共同体定义文件”。

SNMP的报文总是源自每个应用实体,报文中包括该应用实体所在的共同体的名字。这种报文在SNMP中称为“有身份标志的报文”,共同体名字是在管理进程和管理代理之间交换管理信息报文时使用的。管理信息报文中包括以下两部分内容:

(1)共同体名,加上发送方的一些标识信息(附加信息),用以验证发送方确实是共同体中的成员,共同体实际上就是用来实现管理应用实体之间身份鉴别的;

(2)数据,这是两个管理应用实体之间真正需要交换的信息。

在第三版本前的SNMP中只是实现了简单的身份鉴别,接收方仅凭共同体名来判定收发双方是否在同一个共同体中,而前面提到的附加倍息尚未应用。接收方在验明发送报文的管理代理或管理进程的身份后要对其访问权限进行检查。访问权限检查涉及到以下因素:

(1)一个共同体内各成员可以对哪些对象进行读写等管理操作,这些可读写对象称为该共同体的“授权对象”(在授权范围内);

(2)共同体成员对授权范围内每个对象定义了访问模式:只读或可读写;

(3)规定授权范围内每个管理对象(类)可进行的操作(包括get,get-next,set和trap);

(4)管理信息库(MIB)对每个对象的访问方式限制(如MIB中可以规定哪些对象只能读而不能写等)。

管理代理通过上述预先定义的访问模式和权限来决定共同体中其他成员要求的管理对象访问(操作)是否允许。共同体概念同样适用于转换代理(Proxy agent),只不过转换代理中包含的对象主要是其他设备的内容。

2.SNMP实现方式为了提供遍历管理信息库的手段,SNMP在其MIB中采用了树状命名方法对每个管理对象实例命名。每个对象实例的名字都由对象类名字加上一个后缀构成。对象类的名字是不会相互重复的,因而不同对象类的对象实例之间也少有重名的危险。

在共同体的定义中一般要规定该共同体授权的管理对象范围,相应地也就规定了哪些对象实例是该共同体的“管辖范围”,据此,共同体的定义可以想象为一个多叉树,以词典序提供了遍历所有管理对象实例的手段。有了这个手段,SNMP就可以使用get-next操作符,顺序地从一个对象找到下一个对象。get-next(object-instance)操作返回的结果是一个对象实例标识符及其相关信息,该对象实例在上面的多叉树中紧排在指定标识符;bject-instance对象的后面。这种手段的优点在于,即使不知道管理对象实例的具体名字,管理系统也能逐个地找到它,并提取到它的有关信息。遍历所有管理对象的过程可以从第一个对象实例开始(这个实例一定要给出),然后逐次使用get-next,直到返回一个差错(表示不存在的管理对象实例)结束(完成遍历)。

由于信息是以表格形式(一种数据结构)存放的,在SNMP的管理概念中,把所有表格都视为子树,其中一张表格(及其名字)是相应子树的根节点,每个列是根下面的子节点,一列中的每个行则是该列节点下面的子节点,并且是子树的叶节点,如下图所示。因此,按照前面的子树遍历思路,对表格的遍历是先访问第一列的所有元素,再访问第二列的所有元素……,直到最后一个元素。若试图得到最后一个元素的“下一个”元素,则返回差错标记。

wpe20.jpg (11270 bytes)

SNMP树形表格结构示意图 

SNMP中各种管理信息大多以表格形式存在,一个表格对应一个对象类,每个元素对应于该类的一个对象实例。那么,管理信息表对象中单个元素(对象实例)的操作可以用前面提到的get-next方法,也可以用后面将介绍的get/set等操作。下面主要介绍表格内一行信息的整体操作。

(1)增加一行:通过SNMP只用一次set操作就可在一个表格中增加一行。操作中的每个变量都对应于待增加行中的一个列元素,包括对象实例标识符。如果一个表格中有8列,则set操作中必须给出8个操作数,分别对应8个列中的相应元素。

(2)删除一行:删除一行也可以通过SNMP调用一次set操作完成,并且比增加一行还简单。删除一行只需要用set操作将该行中的任意一个元素(对象实例)设置成“非法”即可。但该操作有一个例外:地址翻译组对象中有一个特殊的表(地址变换表),该表中未定义一个元素的“非法”条件。因此,SNMP中采用的办法是将该表中的地址设置成空串,而空字符串将被视为非法元素。

至于删除一行时,表中的一行元素是否真的在表中消失,则与每个设备(管理代理)的具体实现有关。因此,网络管理操作中,运行管理进程可能从管理代理中得到“非法”数据,即已经删除的不再使用的元素的内容,因此管理进程必须能通过各数据字段的内容来判断数据的合法性。
信息流广告 网络推广 周易 易经 代理招生 二手车 网络营销 招生代理 旅游攻略 非物质文化遗产 查字典 精雕图 戏曲下载 抖音代运营 易学网 互联网资讯 成语 成语故事 诗词 工商注册 注册公司 抖音带货 云南旅游网 网络游戏 代理记账 短视频运营 在线题库 国学网 知识产权 抖音运营 雕龙客 雕塑 奇石 散文 自学教程 常用文书 河北生活网 好书推荐 游戏攻略 心理测试 好做题 石家庄人才网 考研真题 汉语知识 心理咨询 手游安卓版下载 兴趣爱好 网络知识 十大品牌排行榜 商标交易 单机游戏下载 短视频代运营 宝宝起名 范文网 电商设计 职业培训 免费发布信息 服装服饰 律师咨询 搜救犬 Chat GPT中文版 经典范文 优质范文 工作总结 二手车估价 实用范文 爱采购代运营 古诗词 衡水人才网 石家庄点痣 养花 名酒回收 石家庄代理记账 女士发型 搜搜作文 石家庄人才网 铜雕 词典 围棋 chatGPT 读后感 玄机派 企业服务 法律咨询 chatGPT国内版 chatGPT官网 励志名言 河北代理记账公司 文玩 朋友圈文案 语料库 游戏推荐 男士发型 高考作文 PS修图 儿童文学 买车咨询 工作计划 礼品厂 舟舟培训 IT教程 手机游戏推荐排行榜 暖通,电采暖, 女性健康 苗木供应 主题模板 短视频培训 优秀个人博客 包装网 创业赚钱 养生 民间借贷律师 绿色软件 安卓手机游戏 手机软件下载 手机游戏下载 单机游戏大全 免费软件下载 网赚 手游下载 游戏盒子 职业培训 资格考试 成语大全 英语培训 艺术培训 少儿培训 苗木网 雕塑网 好玩的手机游戏推荐 汉语词典 中国机械网 美文欣赏 红楼梦 道德经 网站转让 鲜花
43970
领取福利

微信扫码领取福利

微信扫码分享