已阅读5页,还剩67页未读, 继续免费阅读
(计算机软件与理论专业论文)snmp网管代理在二层交换机上实现技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 学科专业:计算机软件与理论 论文题目:s n m p 网管代理在二层交换机上实现技术的研究 硕士生:王丽杰导师:熊光泽教授 ( ;s o n o 用户上网需求的急剧增长使得低端网络设备包括路由器和交换机进 入了一个空前的发展阶段,而这些设备不可避免需要能够通过网络进行合理的 配置。当前,这类网络配置广泛使用的协议是s n m f 。,7 本文首先分析了网络管理和嵌入式网络设备的发展形势和用户需求,介绍 了国外几种产品的特点,强调在网络设备上实现s n m p 网管代理的必要性:然 后,详细讨论了二层交换机上s n m p v l 网管代理的实现技术,并对所实现的网 管代理提出了自己的测试方法,给出了几种测试实例;最后,在研究s n m p v 2 c 和s n m p v l 差异的基础上,指出了实现s n m p v 2 c 网管代理的技术要点,给出 了实现方法。 ,本文设计实现的s n m p v l 网管代理代码量很小,在最小配置时为1 8 k ,与 低层协议平台的耦合度也非常小,此外还具有很强的可伸缩性,并提供了方便 的配置接口。因此,本实现不仅适用于交换机,而且可以非常轻易的移植到其 它网络设备如路由器上。二层交换机上的测试证明了软件实现的正确性和完整 性。同时,本论文提出的的测试方法对规范网络管理软件测试,尤其是代理方 的测试具有一定的参考价值。卜、,一 关键词:网络管理,s n m p 代理,网络管理测试方法 一 一一一一 一 i m a j o r :c o m p m e r s o f t w a r ea n d t h e o r y - s u b j e c t :r e s e a r c ho n t h e h n p l e m e n t a t i o nt e c h n o l o g yo f s n m pm a n a g e m e n ta g e n t f o rt h e l a y e r 2s w i t c h g r a d u a t es t u d e n t :w a n g l i j i e t u t o r :p m f x i o n g g u a n g z e t h ed e v d o p m e n to fl o w e n dn e t w o r kd e v i c e ss u c ha sr o u t e ra n ds w i t c hh a s s t e p p e di n t o au n p r e c e d e n t e dp h a s eo nt h er a p i dr i s i n gd e m a n do fs o h oi n t e r a c t t l s e i s ,a n d s ot h e s ed e v i c e sm u s tc a nb e c o n f i g l l r e d v i a n e t w o r k n o w a d a y s , s n m p ( s i m p l e n e t w o r km a n a g e m e n tp r o t o c 0 1 ) i st h em o s t p o p u l a r n e t w o r k m a n a g e m e n tp r o t o c 0 1 t h et h e s i sf i r s t l yd e s c r i b e st h ed e v e l o p m e n t p o s i t i o na n d t h eu s e r sr e q u i r e m e mo f t h en e t w o r km a n a g e m e n ta n dt h ee m b e d d e dn e t w o r kd e v i c e s ,i n t r o d u c e ss e v e r a l f o r e i g np r o d u c t s ,a n de m p h a s i z e st h en e c e s s i t yo fi m p l e m e n t i n gt h es n m p n e t w o r k m a n a g e m e n ta g e n t t ot h en e t w o r k d e v i c e s s e c o n d l y , i td i s c u s s e sh o w t oc a l yo u tt h e s n m p v la g e n to nt h el a y e r2s w i t c hd e v i c e si nd e t a i l ,a n dg i v e st h et e s t i n gm e t h o d a n ds e v e r a le x a m p l e f i n a l l y , b yr e s e a r c h i n gt h ed i f f e r e n c ei nf e a t u r eb e t w e e nt h e s n m p v 2 ca n ds n m p v l ,t h et h e s i sa l s o p o i n t o u tt h ek e yt e c h n o l o g i e so ft h e i m p l e m e n t a t i o no f t h es n m p v 2 ca g e n t ,a n dp r o v i d e s t h ea c h i e v e m e n tm e a n s t h es n m p v la g e n to ft h i sd c s i g n i t sc o d es i z ei s l i t t l ea s18k b y t e si n m i n i m u mc o n f i g u r a t i o n ,a n da l s oh a st h ef e a t u r e so fl i t t l ec o u p l i n gw i t ht h el o w e r p r o t o c o lf i a t ,g o o ds e a l a b i l i t y ,a n dc o n v e n i e n tc o n f i g u r a t i o ni n t e r f a c e s o , i ta p p l i e s n o to n l yt h es 1 耐t c h e s ,b u ta l s oc a nb ep o r t i n gt oo t h e rn e t w o r kd e “c e s ,e g r o u t e r s , e a s i l y t h et e s t i n go n t h e l a y e r 2s w i t c h p r o v e s i t sc o i t i c t u o s sa n di n t e g r i m a tt h es a m e t i m e ,t h et e s t i n gm e t h o di nt h i sa r t i c l ei sh e l p f u lf o rt h es t a n d a r d i z a t i o no f n e t w o r k m a n a g e m e n t s o f t w a r et e s t ,e s p e c i a l l yt h ea g e n t k e y w o r d s :n e t w o r k m a n a g e m e n t ,s n m pa g e n t ,n e t w o r km a n a g e m e n tt e s t i n g m e t h o d i f 第一章引论 1 1 网络管理的需求与发展 第一章引论 随着计算机及通信技术的飞速发展,计算机网络已经渗透到社会经济的各 个领域,对社会经济发展起着越来越重要的作用,也使人们的工作甚至生活方 式发生着巨大的变革。今天人们对网络的依赖就像过去人们对电话的依赖一样, 哪怕几分钟的中断也是难以容忍的。与此同时,随着网络规模的扩大,影响网 络服务的因素也增多了,如网络设备( 交换机、路由器以及通信线路等) 的失 效问题、主机和终端的故障问题、软件中出现的问题、安全保密问题等。因此, 网络服务的复杂度也太大增加。如何进行有效的网络管理,确保信息网络可靠、 稳定的运行已经成为一个迫切需要解决的问题。 网络管理的发展也是经历了一个从无到有、从简单到复杂的过程。这个过 程是伴随着网络和通信技术的发展而发展的。特别是全球范围内i n t e m e t 的繁 荣,为网络管理提供了条件和迅速发展的动力。 早期的i n t e m e t 网络管理工作是利用诸如p i n g 等简单的工具来了解网络连 通情况,判断故障所在的。在网络发展的最初,连在网上的计算机和各种网络 设备都很少,且种类单一,因此这种方式在一段时期内能够胜任网络的管理任 务。但是到了2 0 世纪8 0 年代后期,由于连入n t e m e t 的计算机数量爆增,而 且i n t e m e t 中使用的路由器、协议、应用软件都是由许多不同的厂商提供的, 所以,那种早期的、由建设和使用i n t e r n e t 的研究人员协商就能完成的网络管 理工作,显然已不能再由少数专家来完成了,而需要有一种自动的、独立于厂 商的通用机制来为网络管理员提供监控整个网际网通信状态的能力,这就要有 一个比p i n g 功能强太的网络管理标准协议来支持。 在过去的十几年里,国际标准化组织和i n t e r n e t 工作组在这方面都做了大量 的工作,并提出了各自的网络管理框架、协议标准和服务。其中最主要的两种 就是国际标准化组织开放系统互连o _ s o l o s o 提出的公共管理信息服务及协议 c m i s c m i p ( c o m m o nm a n a g e m e n t i n f o r m a t i o ns e r v i c ea n dc o m m o n m a n a g e m e n t i n f o r m a t i o np r o t o c 0 1 ) 和i n t e r n e t 的简单网络管理协议s n m p ( s i m p l e n e t w o r k m a n a g e m e n tp r o t o c o l ,由因特网网络工程任务组i e t f 制定) 。 第一章引论 c m i s c m i p 基于o s i 的七层模型,包括四个子模型:为要管理的资源建立 的信息模型、分配网络管理角色的组织模型、交换管理信息的通信模型和定义 基本网络管理功能的功能模型。这些使它能够提供较完整的管理操作,但是 正是由于为追求完整和灵活而带来的复杂性,使c m i s ,c m d 难以实现和应用。 特别是它是建立在o s i 的模型之上的,o s i 模型现今仍没有得到广泛的推广和使 用,因此这也注定c m i s c m p 无法发挥它的强大功能。尽管曾经提出过基于 t c p 仰的c m i s c m i p ,即c m o t ,但是也由于历史的原因已经被搁浅。 当前,被广泛使用的网络管理标准协议是s n m p 。 1 2 网络管理与s n m p s n m p 最初是作为一种短期的解决方案而提出来的。由于c m 璐忙m 体系 的复杂性,因特网活动委员会( i a b ) 决定采用两步走的方式来实现因特网的管理。 第一步就是加强s g m p ( s i m p l eg a t e w a y m o n i t o r i n g p r o t o c o l ,简单网关监视协议) , 将其完善成为s n m p , 即简单网络管理协议,以此提供短期的解决方案;第二步 即长期的解决方案就是前面提到的c m o t ( t c p i p 上的c m i p ) 。 s n m p 一经出现,很快在因特网管理中得到了广泛的应用,很多的代理系统 和管理系统的网络经营者都采用了s n m p 来进行网络管理。在这同时,作为长 期解决方案的c m o t 却没有象预想的那样逐步推广,到现在为止,支持c m o t 的产品依然寥若晨星。c m o t 在一定程度上已经被打上“历史”的标记。 随着支持s n m p 产品的增多和i n t e r n e t 管理的要求,s n m p 本身管理的许多 不足之处也越来越体现出来了,因此,对s n m p 的完善迫在眉睫。1 9 9 2 年3 月, i e t f 提出要求改进s n m p v l 的建议,于1 9 9 3 年4 月形成s n m p v 2 。随后, 由于其安全性功能和管理体系框架过于复杂,在1 9 9 6 年1 月又进行了修订,形 成s n m p v 2 c 。然而,增加安全性的要求仍然存在,s n m p 工作组在s n m p v 2 u 和s m 佃v 2 + 的基础上,加上基于伙伴的s n m p v 2 ,形成了现在的s n m p v 3 s n m p 之所以流行,是由于它具有以下的特点: 首先相对于其它种类的网络管理体系或管理协议而言,s n m p 易于实现。 s n m p 的管理协议、m m ( 管理信息库) 及其它相关的体系框架能够在各种不同 类型的设备上运行,包括低档的个人电脑到高档的大型主机、服务器、及路由 器、交换器等网络设备。网络设备中的s n m p 网管代理在运行时不需要很大的 2 第一章引论 的内存空间,因此也就不需要太强的计算能力。s n m p 协议一般可以在目标系 统中快速开发出来,所以它很容易在面市的新产品或升级的老产品中出现。尽 管s n m p 协议缺少其它网络管理协议的某些优点,但它设计简单、扩展灵活、 易于使用,这些特点大大弥补了s n m p 协议应用中的其他不足。 其次,s n m p 协议是开放的标准。但只有经过i e t f 的标准议程批准,才 可以改动s n m p 协议:厂商们也可以私下改动s n m p 协议,这样作的结果很可 能得不偿失,因为他们必须说服其他厂商和用户支持他们对s n m p 协议的非标 准改进,而这样做却有悖于他们的初衷。 第三,s n m p 协议有很多详细的文档资料( 例如i 江c ,以及其它的一些文 章、说明书等) ,网络业界对这个协议也有着较深入的理解,这些都是s n m p 协议进一步发展和改进的基础。 最后,s n m p 协议可用于控制各种设备。比如说电话系统、环境控制设备, 以及其它可接入网络且需要控制的设备等,这些传统装备都可以使用s n m p 协 议。 正是由于有了上述这些特点,s n m p 协议已经被认为是网络设备厂商、应用 软件开发者及终端用户的首选管理协议。 1 3s n m p 管理代理在网络管理体系中的角色 1 3 1 网络管理通用结构模型 作为一个网络管理系统,它的任务是:收集网络中各种设备和系统的工作 参数运行状态信息;处理收集到的各种信息,并以各种各样的、可视化的方 式呈现给网络管理人员:接收网络管理人员的指令或根据对上述信息的处理结 构向网络中的设备发出控制指令:既实现网络控制功能,同时监视指令执行的 结果;保证网络设各按照网络管理系统的要求工作。 网络管理体系结构主要涉及到网络管理系统的组成部件和结构,各部件之 间的关系,网络管理应该包括的功能以及这些功能应该如何划分。网络管理内 容的一致性使得各种网络管理系统在组成上也具有基本统一的结构,图2 - 1 即 为网络管理的通用结构模型。 3 第一章引论 、 请求 、一 管代 理 站理 响应麒匝告 、 图1 - 1 网络管理的通用结构模型 如图所示,现代计算机网络的网络管理系统基本上由四部分组成:多个被管 代理、至少一个网络管理站、一种通用的网络管理协议和一个或多个管理信息 库。 网络管理站负责接收管理者的命令,并通过网络管理协议向各被管代理转 发,同时接收来自被管代理的通告或中断信息,并向管理人员显示或报告;被 管代理负责接收来自管理进程的命令并发起响应事件:网络管理协议用于封装 和交换管理站和代理之间的命令和响应信息:管理信息库提供被管网络设备的 信息,用于网络配置、网络失效、网络性能和安全以及计费管理;另外,代理 也有可能在某些情况下主动对管理站传送信息。 1 3 28 8 8 p 网络管理体系 基于s v i p 的网络管理体系也符合网络管理的通用结构模型。如图2 - 2 所示。 图1 2 详细揭示了基于s n m p 的网络管理体系。很自然的,这个体系对应于网 络管理的通用模型只不过是各部分实现有不同的机制而已。 管理站:一般是一个单机系统或者是一个共享网络中的一员用来作为 网络管理员和网络管理系统的接口。它至少满足以下条件: 1 拥有一套数据分析、故障发现等的管理应用软件; 2 提供网络管理员监视和控制网络的接口: 3 能够将网络管理员的命令转换成对远程网络元素的监视和控制; 4 能从网上所有被管实体的m i b 中提取出信息数据库。 其中,后两项是由s n m p 来实现的,前两项由s n m p 网络管理 开发人员实现。 4 s n m p 管理站 s n m p 管理代理 图1 - 2s n m p 网络管理体系结构 管理代理:指位于被管理站管理的设备上的软件。被管理设备包括很多, 如主机、路由器、网桥和交换机等。管理代理对来自管理站的信息查询 和动作执行的请求作出响应,或者向管理站提供一些重要的非请求信 息。 管理信息库:对于需要管理的网络资源,s n m p 将其表示成对象的形式。 每个对象就是一个代表代理的特性的数据变量。这些对象的集合就称为 管理信息库( m i b ) 。管理站通过获取m i b 对象的值来实现监视功能; 管理站通过修改特殊变量的值,可以使得在管理代理上发生一个动作或 者修改代理的配置。 回络管理协议:管理器和代理之间是通过s n m p 网络管理协议进行信息 的交换的。它主要包括几个方面的功能 1 g e t :管理站获取m m 对象的值: 第一章引论 2 s e t :管理站设置m 对象的值; 3 t r a p :代理向管理器通告重要事件的发生。 s n m p v l 最初是在u d p i p 协议上定义传输通信的,后来由于在其它平台上 的使用要求,s n m p v 2 正式定义了在其它传输协议上的执行,包括o s i 传输 ( c l t s c l n s c o n s ) 、a p p l e t a l k 的资料包传输协议d d p 和n o v e | l 的互联网包 交换协议口x 。 1 4 嵌入式网络技术简介 1 4 1 嵌入式系统 最初,按照体系结构、运算速度、结构规模和适用领域,计算机被划分为大 型机、中型机、小型机和微型机。这种分类在计算机发展的前期,是比较合适 的,但是,在计算机发展到现在的今天,计算机的应用已经非常的广泛,现在 处理器的速度也有了突飞猛进的发展,根本不是当年的定义所能涵盖的了。因 此,学者们主张按照其应用重新对计算机进行分类。这种分类方法认为,应该 按照计算机的嵌入式应用和非嵌入式应用,把计算机划分为嵌入式计算机和通 用计算机。 其中,通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类 似的面目出现并应用在社会的各个方面,其典型产品为p c :而嵌入式计算机则 是以嵌入式系统的形式隐藏在各种装置、产品和系统中。事实上,我个人认为, 所谓的嵌入式计算机和通用计算机的概念应该不是绝对界限分明的。只是取决 于它应用在什么方面。比如这里定义的通用计算机p c ,如果把它应用在嵌入式 的领域,那它的身份就是嵌入式计算机,而不再是原来的通用计算机。 嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的 外部设备中就包含了5 1 0 个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示 卡、显示器、m o d e m 、网卡、声卡、打印机、扫描仪、数字相机、u s b 集线器 等均是由嵌入式处理器控制的。在制造工业、过程控制、通讯、仪器、仪表、 汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的 应用领域。 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可 6 第一章引论 裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算 机系统。 1 4 2 嵌入式网络技术 互联网技术在世界范围的高速发展,使得嵌入式产品具有网络功能的要求 越来越普遍。包括网络中的路由和交换设备以及各种消费电子产品特别是移动 电话等,都必须具有能够与外界通信的能力。最初的通信限于处理速度和资源 问题,都是通过专用网络和专用协议解决的。目前,各种高速嵌入式微处理器 的出现打破了这种局限性,使得利用i n t e m e t 上的各种通信协议成为可能,这 不仅能够完成原来需要的网络通信,而且,各种嵌入式设备也能够和i n t e m e t 进行连接,从而可以应用在更广泛的范围中去。当然,在嵌入式设备中的通信 协议和标准i n t e r n e t 协议在一定程度上还是存在着差别: 1 ) 首先,嵌入式通信协议要求有很好的可裁剪性。 由于嵌入式的应用要求千差万别,各种嵌入式应用对系统的要求不尽相 同,并且在嵌入式应用中对产品的成本和价格比较敏感,存储器的容量有 一定的限制。因此,必须根据嵌入式网络产品的功能,对通信协议的功能 进行裁剪,以满足用户的需要。 2 ) 其次,嵌入式通信协议必须具有很强的可移植性。 嵌入式应用的多样性同时也决定了嵌入式应用平台也是变化多端的。我 们不可能针对每一种平台都重新开发通信协议。因此在开发过程中必须 把于硬件无关的部分独立出来,在遇到新的平台的时候,只需要修改硬件 相关部分代码。 3 ) 最后,嵌入式领域的应用需要精简的代码。 s n m p 同样是i n t e m e t 上的通信协议,对于嵌入式设备来讲,必须得到 适当的管理。由于它缺少p c 机那种很成熟的管理界面,而且很多时候管理 人员不能亲自到现场,如果为每个设备配置管理人员就会受到地域的限 制而造成人员的浪费和疲于奔命。如果我们能够通过网络对设备进行控制, 则不但节约了管理人员,而且不受工作地点的限制。并且,可以利用成熟 的管理方软件,使得管理变得异常方便。因此,当今很多设备特别是网络 相关应用设备路由器等都需要有通过网络进行管理的功能。 7 _ - _ _ - - - _ _ - - - _ - _ - - - _ _ _ _ 。_ 。一一 第一章引论 1 5 国内外同类产品综述 众多网络服务商看到了网络管理的迫切陛和潜力,纷纷推出了自己的网络管 理系统。其中较有影响力的几乎都是国外的产品。如c a b l e t r o n 系统公司的 s p e c t r u m ,h p 公司的o p e n v i e w , 太阳微系统公司的s o l s t i c e ,t i v o l i 系统公司 的t m en e t v i e w 。 与此同时,国内外的网络设备厂商们几乎都推出了支持s n m p 的产品。 在嵌入式产品领域,各大公司的操作系统产品也都具有s n m p 的接口,咀方 便其上的开发人员快速的绑定管理信息,实现自己的管理功能,从而开发出形 形色色支持网络管理的设备和系统。 目前最为著名的嵌入式系统开发商w i n d r i v e t 推出的s n m p 解决方案的基本 包包括s n m p v l v 2 c ,另外,其+ 3 增强版包括s n m p v 3 ,其+ x 增强版包括a g e n t x ( 一种s n m p 协议的辅助协议,但不属于s n m p 协议) 。w i n d r i v e r 的s n m p 解 决方案提供了十分完美的用户接口和m 编译器,它的代码紧凑,其v 1 的最小 配置为1 9 k ,v 2 为2 0 k ,x 8 6 平台上的v 1 v 2 兼容版为2 2 k 。 下面我们再看一下现在比较流行的f l e e 的s n m p 解决方案u c d s n m p 。 u c d - s n r n p 源自于卡耐基梅隆大学的s n m p 软件包c m us n m p2 1 2 1 ,由加州大 学d a v i s 分校( u n i v e r s i t yo f c a l i f o n i a a td a v i s ) 开发与维护,所以命名为u c d s n m p 。 2 0 0 0 年1 1 月u c d s n m p 项目转到由s o u r c e f o r g e ( w w w s o u r c e f o r g e n e t ) 管理,并更 名为n e t s n m p 。u c d - s n r n p4 , 2 是以u c d s t a m p 命名的最后的一个主要版本,也就 是说,以后发布的u e d - s n m p4 2 x 仅仅修改软件包中的b u g s ,而大的修改版本 将以n e t s r t m p 命名,并发布为5 , x 。u c d s n m p4 2 1 软件包包括:一个可扩展 的s n m p 代理程序;一个s n m p 代理和管理程序开发库;几个用于请求或设置 s n m p 代理变量的工具程序;几个用于生成或处理s n m p 陷阱的工具程序;一 个标准u n i x 命令n e t s t a t 的s n m p 版本:一个基于t k p e r l 的m i b 浏览器。由于 u c d - s n m p 并不是为嵌入式应用而设计的,且是一个免费的软件,因此,它在用 户接口以及适应嵌入式设备的需要方面,显得比较薄弱。 1 6 研究的背景、目标及意义 在国内的嵌入式设备生产厂商,普遍采用国外的操作系统v x w o r k s 或p s o s 等的s n m p 解决方案。本着发展民族产业的原则,北京科银京成技术有限公司 第一章引论 在推出了具有独立产权的操作系统和网络解决方案的基础上,准备发展基于 s n m p 的网络管理解决方案,本文正是基于这种背景而开展的。 我的学位论文的研究任务是: 1 分析在嵌入式平台上利用s n m p 进行网络管理的体系结构和技术要求; 2 在公司研发项目n e t c o r e 公司n t 6 0 1 6l a y e r2m a n a g e m e n ts w i t c h 上实现 s n m p v l 管理代理: 3 利用二层交换机的平台实现s n m p v l 管理代理的全面测试; 4 考虑s n m p v 2 c 的设计。 1 。5 本文章节安排 第一章介绍网络管理的基本概念和发展,指出用s n m p 进行网络管理的特 点,对s n m p 的发展进行简单描述。接着介绍了嵌入式网络技术和国内外的同 类产品,最后提出了本次设计的主要工作和论文的章节安排。 第二章对在二层交换机上实现的s m 但v l 管理代理进行总体描述。 第三章详细讨论s n m p v l 管理代理的设计与实现。 第四章描述了在二层交换机上进行的测试。 第五章指出s n m p v 2 c 和s n m p v l 的区别,并提出在s n m p v l 代理基础上 实现s m v 2 c 的方法。 结束语总结了本文所做工作,指出其中的不足之处,提出后续工作的建议。 第二章s n m p v l 网管代理的总体设计描述 第二章s n m p v l 网管代理的总体设计描述 2 1n e t c o r el a y e r2m a n a g e m e n ts w i t c h n t 6 0 1 6 简介 n t 6 0 1 6 的体系结构如图2 - 1 所示: 图2 - 1 二层交换机n t 6 0 1 6 体系结构 n t 6 0 1 6 具有如下特点: 具有1 6 口交换功能: 支持设置两组t r u n k i n g : 可划分v l a n 来隔离流量: 支持s m 正p 、r 1 管理功能; 可通过c o n s o l e 口,t e l n c t 和w e b 方式配置; 可通过网络升级。 从图中可以看出,s n m p 基于u d p ( 用户数据报) 协议,支持一组m m 包括标准m 和厂商特定m m 。 l o 第二章s n m p v l 同管代理的总体设计描述 2 2 s n m p v l 管理代理的技术目标和适用范围 本次设计要达到的技术目标是: 能够响应管理站的请求,包括g e tr e q u e s t ,g e t n e x tr e q u e s t ,s e tr e q u e s t ; 能够提供生成发送陷阱( t r a p ) 报文的接口; 提供通过菜单实现对s n m p 配置的命令; 为其它设计人员提供m m 的管理和使用接口; 具有很好的可移植性和执行效率。 本次设计虽然是在交换机解决方案d e l t a s w i t c h 上实现的,但是实际上, 它完全适合路由器解决方案d e l t a r o u t e r ,经过很少修改后可适合d e l t a n e t 。 2 3d e i t a r o u t e r ( d e l t a s w i t o h ) 上s n i p 代理的总体接口设计描述 2 3 1 总体外部调用接口 管理代理提供3 个外部总体调用接口。下面给出它们的格式及功能描述。 1 1 代理初始化 s n m p _ i n i t ( ) : 调用参数:无。 功能描述: 初始化s n m p 代理。内容包括:分配缓冲区、初始化m m 、初始化全局 变量、发送t r a p 陷阱报文给管理站,声明自己已经启动,可以开始工作。 2 ) 代理主入口调用 s n m p _ a g t _ p a r s e ( u n s i g n e dc h a r d a t a , u n s i g n e d t e n g t l a , u n s i g n e d c h a r + o u t _ d a t a ,u n s i g n e d o u tl , n g t h ) ; 调用参数: d a t a :指向收到的请求报文 l e n g t h :请求报文的长度 o u td a t a :用于输出应答报文的缓冲区指针 o u t :应答报文缓冲区最大长度1ength 功能描述: 当有s n m p 请求到达s n m p 端口时调用,负责处理请求。首先分析请求报 第二章s n m p v l 同管代理的总体设计描述 文,若正确,返回对应响应报文:否则返回原报文,并指明错误信息;若 不支持此报文类型,则直接丢弃,不进行任何响应。 3 ) 发送陷阱报文 s n m p _ t r a p ( i n tt r a p t y p e ,i ts p e c i f i c t y p e ,o i d + e m e r p f i s e o i d , u n s i g n e de n t e r p r i s e o i d l e n ,i n ts p e c i f i c v a r c o u n t , s t r u c tt r a p v a r o i d + s p e c i f i c v a r s ) : 数据结构: t y p e d e f u n s i g n e dl o n go i d ; s t r u c tt r a p v a r o i d + s t r u c tf o re a c h t r a po u t p u tv a r i a b l e + o i d + v a r n a m e ; ,t h en a m eo fv a r i a b l e * u n s i g n e dv a r n a r n e l e n ; 严o c t e t si nv a r i a b l ed a t af i e l d + ) ; 调用参数: t r a p t y p e :陷阱报文类型,取值范围为o 一6 : s p e c i f i c t y p e :厂商特定陷阱报文类型,在t r a p t y p e = 6 时有效; e n t e r p f i s e o i d :企业对象描述符,指出生成该t r a p 报文的设备; e n t e r p f i s e o i d _ e n :e n t e r p r i s e o i d 的长度: s p e c i f i c v a r c o u n t :报文所携带的变量的个数; s p e c i f i c v a r s :变量数组的指针。 功能描述: 根据提供的报文类型,对变量数组中的每个变量,从m m 中得到他们的 值,生成所要求的陷阱报文后发送给已经配置好的管理站。 2 3 2m i b 子树管理接口 对一个好的s n m p 代理软件来讲,必须提供一个好的m 管理接口。因为 新的m m 层出不穷,不可能全部都由s n m p 代理设计人员进行m m 子树的添 加和进行相关m 变量的实现。因为那样不仅需要浪费大量时间去熟悉所有的 模块,而且这样的重复劳动也使人才没有得到充分利用。为了更好的发挥每个 人的能力,使相关m m 得到高效和迅速的开发,以及得到全面专业的测试,需 要让每个模块的人员自己设计开发相关的m i b 。这符合分布式开发的特眭,更 适合软件工程的要求。 1 2 第二章s n m p v l 网管代理的总体设计描述 本小节将介绍m i b 子树管理接口,在下一小节对m i b 变量实现接口进行讨 论。 2 3 2 1 主要数据结构 1 ) m m 变量 s t r u c tv a r i a b l ef o i d n a m e d e f _ v a r l e n ;变量描述符+ u n s i g n e dc h a rn a m e l e n ;+ 变量描述符长度+ c h a r v a r d e s c r v a rd e s c r _ l e n ; 幸变量的字符描述符+ c h a r t y p e ; 变量类型+ u n s i g n e dc h a rm a g i c ;产变量在该组中的一个标识+ u n s i g n e ds h o r ta c l ; + 变量的访问控制+ i n t ( + f i n d v a r ) ( s t r u c tv a r i a b l e _ b i n d + ,s t r u c tv a r i a b l e + ,i n 0 ; 产用于进行g e t ,g e t n e x t 操作的函数+ , i n t ( + w r i t em e t h o d ) ( s t r u e tv a r i a b l e _ b i n d ,s t r u c tv a r i a b l e ,m 0 ; ,t 用于s e t 操作的函数, ) ; 2 ) m 子树 s t r u c ts u b t r e e o l d n a m e m a xo i dl e n ;+ 该子树的描述符前缀+ u n s i g n e d n a m e l e n ;+ 前缀长度+ s t r u c tv a r i a b l e * v a r i a b l e s ;严指向该子树下的变量树组+ c h a r l a b e l v a rd e s c r _ l e n ;+ 子树字符串描述+ s t r u c ts u b t r e e * n e x t ;严指向按照字典顺序的下一棵子树+ : 2 3 2 2 函数调用接口 有2 个系统调用用于对m i b 子树的添加和删除,从而可以按照子树对m m 进行管理。 第二章s n m p v l 两管代理的总体设计描述 1 ) m m 子树添加 l o a d _ s u b t r e e ( s t m c ts u b t r e e + s u b s t r u c ts u b t r e e + + s u b _ h e m p ) ; 调用参数: s u b :要添加的子树; s u b:要添加的 视图的头指针的指针。h e a d p m i b 功能描述: 在指定的m 母视图中为要添加的m m 子树查找适当的位置,将其挂入队列。 2 ) m i b 子树删除 u n l o a d _ s u b t r e e ( s t m c t s u b t r e e 。s u b s t r u c ts u b t r e e + + s u b _ h e a d p ) ; 调用参数: s u b :要删除的m i b 子树指针; s u bh e a d p :要删除的m i b 子树所在的m i b 视图的头指针的指针。 功能描述: 在指定的m i b 视图中查找要删除的子树,如查到,进行删除操作:否则返 回错误信息。 2 3 3 用户_ i b 接口 在完成了子树添加之后,下一步就必须按照指定的接口,提供给s n m p 处理 函数关于相关m i b 变量的访问。在这一点上本设计提供统一和灵活的接口。 2 3 3 1 主耍数据结构 1 ) p d u 变量t l v p 结构 s t r u c tt y p e _ l e u g t h v a l p u n s i g n e dc h a rt y p e ;,+ 类型 u n s i g n e dl e n g t h ; 长度吖 u n s i g n e dc h a r + v a l u e ;+ 值的指针+ ) ; 结构说明: 这个结构用于表示s n m pp d u 中的变量。用值的指针的意思是在需要的时 候直接把值传出来到指定的空间。一个典型应用就是在s e t 操作时把所操作 的变量的值赋到实际的空间。 1 4 第二章s n m i i 网管代理的总体设计描述 2 ) 变量l v 结构 s t r u c tl e n g t h _ v a l u e u n s i g n e dl e n g t h ;严长度+ , u n i o n l o n gv _ n u m b e r ;+ 整型+ u n s i g n e dl o n gv _ c o u n t e r ;+ 无符号整数 + c h a r + v _ s t r i n g ; + 八位字节串 + o l d v _ o b j e c t i d ; + 对象标识 + u n s i g n e d c h a r v _ n e t w o r k _ a d d r e s s 4 ;产网络地址+ ) v a l u e ; ) ; 结构说明: 这个结构用于表示处理过程中的变量,两个主要的地方就是g e t 或 g e t n e x t 时用来存储所查询到的变量的值,或者s e t 操作时保存原值,以各必 要的时候将要操作的变量恢复原值。 3 ) 变量绑定结构 s t r u c tv a r i a b l e _ b i n d o l d * n a m e ; ,对象描述符d + i m n a m e l e n ;幸对象描述符长度+ s t r u c tt y p e _ _ l e n g t h _ v a l p v b _ v a l ;产s n m pp d u 中的变量值+ s t r u c tl e n g t h _ v a l u ev a r _ v a l ;严变量值存储 p 下面两个域用于用户释放缓冲区或者做其它一些需要在s n m pp d u 处理 结束之后做的工作。比如在g e t 操作时用户可能需要分配一些空间,那么 这些空间的释放函数和参数就可以在这里指定,系统将在处理结束释放 s n m p 使用的空间之前用指定的参数调用这些函数 i n t c a u b a c k _ a r g ; p c a l l b a c kf u n c t i o n sa r g u m e n t +
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高校行政招聘试题及答案
- 基因工程行业市场分析与技术动向
- 公务员面试模板男士面试题及答案
- 公务员面试矛盾模板面试题及答案
- 华东医药秋招笔试题及答案
- 公务员面试联系实际面试题及答案
- 恒丰银行秋招面试题及答案
- 海康威视校招笔试题及答案
- 国家开发投资校招笔试题及答案
- 广药集团校招笔试题及答案
- 2025年度食品安全员考试试题(答案+解析)
- DL∕T 1732-2017 电力物联网传感器信息模型规范
- 特种设备(每周)安全排查治理报告
- 钢筋混凝土梁承载能力一览表
- MOOC 运筹学-北京科技大学 中国大学慕课答案
- 第五章 中国特色社会主义理论体系的形成发展(一)
- 可重复使用诊疗器械、器具、物品处理流程S
- DB53∕T 1032-2021 公路隧道超前地质预报技术规程
- 新版食品安全管理HACCP体系V1.0内审检查表
- AutoCAD 中文版室内设计实例教程(AutoCAD 2020)课件 第1、2章 初识 AutoCAD 2020 中文版、绘图设置
- 互联网宗教信息服务审核员考试报名表
评论
0/150
提交评论