(计算机科学与技术专业论文)snmpv3中usm和vacm的实现与研究.pdf_第1页
(计算机科学与技术专业论文)snmpv3中usm和vacm的实现与研究.pdf_第2页
(计算机科学与技术专业论文)snmpv3中usm和vacm的实现与研究.pdf_第3页
(计算机科学与技术专业论文)snmpv3中usm和vacm的实现与研究.pdf_第4页
(计算机科学与技术专业论文)snmpv3中usm和vacm的实现与研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机科学与技术专业论文)snmpv3中usm和vacm的实现与研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

s n m p v 3 中u s m 和v a c m 的实现与研究 摘要 s n m p v 3 在s n m p v 2 c 的基础上定义了一种新的体系结构,在兼 容s n m p v l 、s n m p v 2 之外增加了安全机制,是一种适应现在和未来 网络发展需要的模块化的体系结构。s n m p v 3 的体系结构由一组分布 的、互相交互的实体组成。每个实体实现整个体系结构的部分功能, 其角色或者是管理者,或者是代理者,或者是二者的结合。s n m p 实 体也是由一组互相交互的子模块组成的,这些子模块通过一组抽象服 务原语及其参数进行通信。每个实体包含一个s n m p 引擎,s n m p 引擎包括四个子模块,即调度程序、消息处理子系统、安全子系统和 访问控制子系统。s n m p 实体此外可由一些应用程序构成,如命令产 生器、通知生成器、命令响应器等等,不同的应用程序组合可以使的 s n m p 实体具有不同的功能,这种模块化的方式增加了s n m p 系统 的灵活性和可扩展性。 本文在万林克公司系列路由器上实现了s n m p v 3 模块,主要是 s n m p 引擎以及命令响应器和通知生成器等等。准最终完成整个 s n m p v 3 客户端程序设计、编码和测试,最终此模块运行稳定并投入 商用。本文针对实现过程中的一些问题根据实践经验提出了一些解决 方案,并进一步探讨了s n m p v 3 中的安全性问题,对u s m 模块中的 认证和加密协议进行分析。r f c 3 4 1 4 定义了基于用户的安全模型 ( u s m ) 。u s m 为s n m p 提供了身份认证服务和加解密服务。u s m 主要用来防御如下安全威胁:信息修改、身份伪装、消息流修改和窃 听等,s n m p 的安全保障是通过三个不同的模块分工合作来实现的。 鉴别模块实现数据完整性检查和数据源认证,及时性检查用来防止消 息被恶意延迟和重发,加密模块用来防止消息负载信息的泄漏。 u s m 要求在每一个客户端配置用户和用户密钥。虽然这个过程 可以通过一个s n m p v 3 用户管理应用程序来自动配置,但此程序必 须能在一个实际环境中配置成千上万的网络中的客户端,这种岱价也 、墨堡查竺:l 匕外望! 竺堡垫型整王二些羞行的全局的甩户,面鎏些 用户和其他的管理接口,如c l i 。t c l 引擎和x m l c o n f 中的用户 是完全丕匣:冬皇墨二蜷源的巨夫浪费f 呲外,u s m 模型对于密 钥的管理和更新并未做任何的规定,这对于安全性产生很大的影响, 因此很多人都在研究一种能够替代u s m 的模型,有几个原则,首先, 要尽可能不去改变s n m p v 3 其他模型和整体框架,其次,要明确密 钥的管理和更新,安全性应不低于现有的体系,此外还要尽可能的利 用现有的资源。为此,本文提出了一种由a a a 服务器来对密钥进行 管理和更新的模型,a a a 服务器对密钥进行集中的管理和更新,并 且在企业级的用户中得到了广泛的应用,因此具有较高的理论价值和 实践价值。本文对此模型的可行性和性能进行了研究和分析,并最终 针对实际中不同情况提出了不同的安全解决方案,希望能对以后的研 究工作提供一点借鉴。 关键字s n m p v 3e u s mv a c m 外部用户安全模型( e u s m ) t h ea p p l i c a t i o no fu s m a n dv a c mm o d e lo f s n m p v 3 s n m p v 3i san e wf r a m e w o r kb a s e do ns n m p v 2 ca n di ta d d sa n e w s e c u r i t ym e c h a n i s m w h i l eb e i n gc o m p a t i b l ew i t hs n m p v l 0 1 s n m p v 2 s n m p v 3i sf r a m e w o r kt h a tc a t lb ea d a p t e dw i t hc u r r 时na n d f u t u r ed e v e l o p m e n to f n e t w o r k s n m p v 3f r a m e w o r k a r c h i t e c t u r ec o n s i s t s ag r o u po fd i s t r i b u t e da n di n t e r a c t e de n t i t i e s e a c he n t i t yi m p l e m e n t s p a r t so ft h ew h o l ea r c h i t e c t u r e ,w h o s er u l em a y b et h em a n a g e r o rt h e a g e n to rt h em i x e dt w o 、s n m pe n t i t yi s a l s oc o m p o s e do fas e to f i n t e r a c t e ds u b s y s t e m sa n dt h e s es u b s y s t e m sc o m m u n i c a t ew i t he a c ho t h e r t h r o u g ha s e to fa b s t r a c ts e r v i c ep r i m i t i v e sa n dp a r a m e t e r s e v e r ye n t i t y c o n m m so n es n m pe n g i n ew h i c hi n c l u d e s f o u rs u b s y s t e m st h a ti s d i s p a t c h e r , m e s s a g ep r o c e s s i n g s u b s y s t e m ,s e c u r i t ys u b s y s t e ma n d a c c e s sc o n t r o ls u b s y s t e m a l s os n m pe n t i t yc o n t a i n ss o m ea p p l i c a t i o n s s u c ha sc o m m a n dg e n e r a t o r , n o t i f i c a t i o nr e c e i v e ra n dc o m m a n d r e s p o n d e r d i f f e r e n t s e l e c t i o no fa p p l i c a t i o ns u b s y s t e m s c a l lm a k e s n m pe n t i t yh a v i n gd i f f e r e n tf u n c t i o n s t h i sm o d u l ea d d st h ef l e x i b i l i t y a n de x t e n s i b i l i t yo fs n m ps y s t e m t h ea u t h o ri m p l e m e n t e dt h es n m p v 3m o d u l eo nv l r tr o u t e r sa n d g a t e w a y s t h es n m p v 3m o d u l ei n c l u d e st h ew h o l es n m pe n g i n e , c o m m a n dr e s p o n d e ra n dn o t i f i c a t i o ng e n e r a t o r b a s e do nt h ed e s i g n , p r o g r a ma n dt e s tt h es n m pa g e n tm o d u l e ,t h i ss y s t e mr u n sr o b u s t l ya n d b eu s e di nb u s i n e s s t h ea u t h o rr a i s e ds o m ec a s e sa c c o r d i n gt oh e r p r a c t i c a le x p e r i e n c e ,e x p l o r e dt h es e c u r i t yp r o b l e mo fs n m pa n d a n a l y z e dt h ea u t h e n t i c a t i n ga n dp r i v a t ep r o t o c o lo fu s m r f c 3 4 1 4 d e f i n e dt h eu s e r - b a s e d s e c u r i t ym o d e l ( u s m ) u s mp r o v i d e s a u t h e n t i c a t i o na n dp r i v a t es e r v i c ef o rs n m p t h ep r i n c i p a lt h r e a t sa g a i n s t w h i c ht h i ss n m ps e c u r i t ym o d e ls h o u l d p r o v i d ep r o t e c t i o n a r e m o d i f i c a t i o no fi n f o r m a t i o n ,m a s q u e r a d e ,m e s s a g es t r e a mm o d i f i c a t i o n a n dd i s c l o s u r e t h es e c u r i t yp r o t o c o l sd e f i n e di ns n m p v 3u s ma r es p l i t i nt h r e ed i f f e r e n tm o d u l e sa n de a c hh a si t ss p e c i f i cr e s p o n s i b i l i t i e ss u c h t h a tt o g e t h e rm e yr e a l i z et h eg o a l sa n ds e c u r i t ys e r v i c e sd e s c r i b e da b o v e t h ea u t h e n t i c a t i o nm o d u l em u s tp r o v i d ef o r :d a t ai n t e g r i t ya n dd a t a o r i g i na u t h e n t i c a t i o n t h et i m e l i n e s sm o d u l em u s tp r o v i d ef o r p r o t e c t i o na g a i n s tm e s s a g ed e l a yo rr e p l a y ( t oa ne x t e n tg r e a t e rt h a nc a n o c c u rt h r o u g hn o r m a lo p e r a t i o n ) t h ep r i v a c ym o d u l em u s t p r o v i d ef o r p r o t e c t i o na g a i n s td i s c l o s u r eo f t h em e s s a g ep a y l o a d s n m p v 3u s m r e q u i r e st h eu s e r sa n du s e rk e y st ob ec o n f i g u r e do n e v e r ya g e n t a l t h o u g ht h ep r o c e s sc a nb ea u t o m a t e dv i aas n m p v 3u s e r m a n a g e m e n ta p p l i c a t i o n ,i td o e sr e q u i r eac o n f i g u r a t i o nm a n a g e m e n t a p p l i c a t i o nt h a tc a nc o n f i g u r et e no ft h o u s a n d so fn e t w o r ke l e m e n t si n r e a lt i m e f u r t h e r , t h eu s mm o d e lc r e a t e sap a r a l l e lu n i v e r s eo fs n m p v 3 u s e r sw h i c ha r ec o m p l e t e l yd i f f e r e n tf r o mt h eu s e r st h a ta r eu s e db yt h e o t h e rm a n a g e m e n ti n t e r f a c e sl i k ec l i ,t c le n g i n ea n dx m lb a s e d p r o g r a m m a t i ci n t e r f a c e s ( x m l c o n f ) a l s o ,u s md o e sn o ta d d r e s st h e i s s u eo fm a n a g e m e n ta n dd i s t r i b u t i o no ft h ek e y i n gm a t e r i a lf o rs n m p t h e r ea y em a n yp e o p l ef i n d i n gan e ws e c u r i t ym o d e lw h i c hc a nt a k e p l a c eo fu s mm o d e l ,b u tt h ef o l l o w i n g sa r es o m ep r i n c i p a l s :n o tc h a n g e o t h e rm o d u l eo fs n m p v 3a n dt h ew h o l ef r a m e w o r ka sp o s s i b l e ,m u s tb e a tl e a s ta ss e c u r ea su s m r f c 3 4 1 4 a n du s ee x i s t e dr e s o u r c e sa sf a ra s p o s s i b l e t h ea u t h o rr a i s e dan e we u s mm o d e lw h o s ek e ym a n a g e m e n t a n d u p d a t eb e l o n g st oa a as e r v e r a a as e r v e r p r o v i d e si n t e n s e m a n a g e m e n ta n du p d a t i n ga n di t i sw i d e l ya p p l i e di nc l i e n t s s ot h i s m o d e lo w e sh i g h e rt h e o r e t i c a la n dp r a c t i c a lv a l u e s t h ea u t h o ra n a l y z e d a n dr e s e a r c h e dt h ep r o b a b i l i t ya n dp e r f o r m a n c eo fe u s m i nt h ee n dt h e a u t h o rr a i s e ds o m ed i f f e r e n t s e c u r i t yc a s e sa c c o r d i n gt o p r a c t i c a l s i t u a t i o n s h o p et og i v es o m ec l u e st ot h ef u t u r er e s e a r c h k e yw o r d ss n m p v 3u s mv a c m e u s m 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的蜕明并表示了谢意。 申请学位论文与资抖若有不实之处, 本人签名:重鱼 本人承担一切相关责任。 f q 期:兰堕蔓:丛 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 姓鬟巡竺竺适篇翟羔土理 导师签名;三篓净日期:丝 北京邮电大学硕士研究生学位论文s n m p v 3 中u s m 和v a c m 的实现和研究 1 1 研究背景 第一章绪论 随着i n t e r n e t 的出现和发展,网络技术的迅猛发展已经使得网络规模更加 庞大、结构更加复杂、支持的用户更多,同时也提供更多的服务,人们越来越意 识到网络管理的重要性。如何用经济有效的办法把来自多个供应商和运营者的网 络部件装配成一个完整的网络,并使所有的网络部件不仅能协同工作,还必须便 于作为一个整体资源来操作和维护,这已经成为网络拥有者面i 隅的巨大挑战。要 迎接这一挑战,就要使用一种集成管理方式,并使之标准化,这是一条必经之路。 而简单网络管理协议( s n m p ) 已经成为广泛应用的一种事实上的工业标准。s n m p 提供了集中的、健壮的、可互操作的网络管理,并且具有对不同厂商所提供的设 备进行管理的灵活性。 s n m p 实际上是指网络管理的一系列标准,包括协议、数据库结构定义和 一系列数据对象。s n m p 在1 9 8 9 年作为基于t c p i p 互联网的标准而被采用并受 到广大用户的欢迎。1 9 9 1 年发布了s n m p 的一个补充:跗o n ( 远程网络管理) 。 r m o n 扩充了s n m p 的功能,包括对l a n 的管理以及对依附于这些网络的设备的管 理。8 0 年代晚期和9 0 年代早期s n m p 的迅速发展使人们认识到了它的不足之处。 这些不足包括:各种功能缺陷( 例如不易表达批量数据的传送) 和安全缺陷( 例如 缺乏认证机制和加解密机制) 。许多功能上的不足已经在s n m p 的第二版中进行了 说明。1 9 8 3 年出现的s n m p v 2 引入了一种安全设施但未得到广泛的接受主要是 因为安全本身定义上存在许多不足之处。1 9 9 6 年出现了s n m p v 2 的改进版,先前 的功能增强保持不变,但是去掉了原有的安全措施。这一版s n m p 使用一种简单 但不太安全的基于口令的认证机制,即使用了s n m p v l 中的共同体概念,这一版 s n m p v 2 被称为s n m p v 2 c 。为了弥补安全上的不足,许多独立的研究机构开始致力 于增强s n m p 2 的安全性的研究,后来涌现出的两个较为著名的版本是s n m p v 2 u 和s n m p v 2 * 。然而这两种方案最终也只成为1 9 9 7 年3 月成立的i e t fs n m p v 3 工 作组的| i 期工作资料。1 9 9 8 年1 月,该组织提出了一套建议标准,即 r f c 2 2 7 l r f c 2 2 7 5 ,此后2 0 0 2 年1 2 月又发布了r f c 3 4 1 i “r f c 3 4 1 5 并废弃了原有 的r f c 2 2 7 1 “r f c 2 2 7 5 。这些文档定义了一套体甭结构将安全性与s n m p v l 和s n m p v 2 第1 页 北京邮电大学硕士研究生学位论文 s n m p v 3 中u s m 和v a c m 的实现和研疵 的功能实现结合起来。此外,文献还就网络安全和访问控制定义了相应的规则。 然而s m p v 3 并不是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 的功能综合使用。r f c 3 4 1 l 描述了一种当前和未来 s n m p 版本都适用的体系结构。r f c 3 4 1 5 定义了一种访问控制机制以独立工作于 s n m p v 3 的核心功能。这五个文档中就有三个文档是处理s n m p 的安全问题的。 s n m p v 3 提供了一个基于用户的安全模型和访问控制模型。s n m p v 3 旨在提供 一个安全的可管理性并克服s n m p 以前版本中的缺点。然而s n m p v 3 的部署却存在 很大韵缺陷,因此大量的机构仍然采用s n m p v l v 2 c 。这是因为s n m p v 3 并没有和 为已经存在的管理接口如设备命令行接口定义的安全模块很好的整合在一起,而 这是因为s n m p v 3 标准并没有明确如何管理和分发s n m p 所用到的密钥。本文为 s n m p v 3 提供一个新的安全模型e u s m ,这种模型通过一个外部的a a a 服务器来为 s n m p v 3 提供认证和密钥分发。 1 2 论文工作 本课题包括基于v l r t 系列路由器开发s n m p v 3 协议栈,完成s n m p v 3 引擎、命令响应器和通知生成器模块;在实现s n m p v 3u s m 、v a c m 模块以及测试 的基础上提出一种新的安全模型,进行了此模型的模块设计和分析。 第二章s n m p v 3 的设计与实现 2 1s n m p v 3 体系结构概述 r f c 3 4 11 定义了一种体系结构描述s n m p 的管理框架,s n m p v 3 框架就是该体 系结构的一个具体“实现”。s n m p v 3 主要解决两个方面的问题:管理和安全性。 s n m p v 3 的一个主要目标是支持一种容易扩展的模块化的体系结构。这样如果产 生新的安全协议,就可以将它们定义为单独的模块以使s n m p v 3 支持它们。 2 1 1s n m p 实体 s n m p 的体系结构由一组分布的、互相交互的实体组成。每个实体实现整个 第2 页 北京邮电大学硕i 研究生学位论文s n m p v 3 中u s m 和v a c m 的实现和研究 体系结构的部分功能,其角色或者是管理者,或者是代理者,或者是二者的结合。 s n m p 实体也是由一组互相交互的子模块组成的,这些子模块通过一组抽象 服务原语及其参数进行通信。每个实体包含一个s n m p 引擎,如图2 1 所示。 引擎负责消息收发、认证、加解密以及对管理信息的访问进行控制,这些都 作为服务提供给s n m p 应用使用。引擎和它支持的应用均被定义成一组抽象的模 块。这种模块化结构有以下几个优点:首先,s n m p 实体角色可以由组成它的模 块决定。例如一组模块可能构成s n m p 代理,而另一组模块可能构成s n m p 的管理 器。此外,模块化的结构易于为每个模块单独定义新的版本。这样,一方面不需 要更新s n m p 的整个版本而仅替换或增强其中某个部分的功能就可实现整个系统 升级;另一方面也利于实现版本共存和策略过渡。 2 1 2 传统的s n l v l p 管理站 图2 2 是传统s n v d j 管理站的组成图。管理站通过发送管理命令( 例如: 2 c t 和s e t ) 和接收陷阱( t r a p ) 报文和代理站通信。管理站还可以用i n f o r m r e q u e s t p d u s 向其它管理站发送异步警告以及接收来自其它管理站的i n f o r mr e s p o n s e 消息。传统的s n m p 管理站包括三种应用。命令产生应用( c o m m a n d g e n e r a t o r a p p l i c a t i o n ) 对远端代理站的数据库进行监控,它使用s n m p v l 和或s n m p v 2 p d u s ,包括g e t 、g e t n e x t 、g e t b u l k 和s e t 操作。通告发起应用( n o t i f i c a t i o n o r i g i n a t o ra p p l i c a t i o n ) 负责发送异步通告消息即i n f o r mr e q u e s tp d u s 。通告接 收应用处理收到的异步消息,包括i n f o r m r e q u e s t 、s n m p v 2 - t r a p 和 s n m p v l t r a p 。当它收到i n f o r m r e q u e s t 消息时还要回送一个i n f o r m r e s p o n s e 进行响应。 所有应用都利用引擎提供的服务。引擎主要执行两种功能: 第3 页 北京邮电大学硕上研究生学位论文 s n m p v 3 中u s m 和v a c m 的实现和研究 接收来自应用的待发送的p b u ,插入认证代码,加密数据,然后将p d u 封 装成消息发送出去。 从传输层接收收到的消息,对消息进行认证、解密,然后提取出p d u 交给 上层应用。 传统管理站引擎通常包括一个消息分发器、一个消息处理子系统和一个安全 子系统。 s n m pe n t i t y 厂一二二二二_ 一一 一_ 。_ 一e 一一 | l f | e s 锎辆p 酾目蝴 卜舶咖峨 瓠峨燃耘融,。 i :s u 嘞# # n 睁题隧麟 喙v 一| 1 叶。隔藩菇夏闩| l 兰型 0 、 一? 一 一l 鞠酾嘲睡1 。l冀骥啼ik h _ _ h 罅x - _ _ _ _ 捌翻 k ? 一, i | d i s p a t c h e r 攀攀 p 。n 就, 【弘8 鳓j 惭耕。d e l 引 t r a n s p o r t 国匦睁 h , e l - 一 f 一 m a p p i n g 2 # “ 、 h s n i vpe n g i n e 2 1 3 传统s n m p 代理站 图2 - 2 传统s n m p m a n a g e r 图2 3 描绘了传统的s n m p 代理站。传统s n m p 代理包括三种类型的应用。命 令响应应用( c o m m a n dr e s p o n d e ra p p l i c a t i o n s ) 提供对管理数据的访问。它处 第4 页 北京邮电人学硕士研究生学位论文s n m p v 3 中u s m 和v a c m 的宴现和研究 理收到的s n m p 检索和或配置请求并响应一个r e s p o n s ep d u 消息。通告发起应 用( n o t i f i c a t i o oo r ig i n a t o ra p p l i c a t i o n s ) 向管理站发送异步消息,对代理 束说,主要是发送s n m p v lt r a p 和s n m p v 2 一* :r a p 。代理转发应用( p r o x yf o r w a r d e r a p p l i c a t i o n s ) 负责实体问的消息转发。 传统代理引擎实现了管理站引擎的所有功能,再加上一个访问控制子系统。 访问控制处理是基于p d u 的,访问控制子系统对m i b 数据库对象的读、写操作进 行授权。一个安全系统的实现可以同时支持一种或几种访问控制模型。s n m p v 3 定义了一种基于视图的访问控制模型( v a c l d ) ,r f c 2 2 7 5 对该模型进行了详细的 说明。与安全有关的功能分成两个独立的子系统正体现了模块化的设计思想。安 全子系统主要提供身份认证、数据加解密以及消息操作有关的服务,而访问控制 子系统主要是实现管理信息访问控制和p d u 操作有关功能。 图2 - 3 传统s n m p a s e n t 第5 页 北京邮电大学硕士研究生学位论文 s n m p v 3 中u s m 和v a c m 的实现和研究 2 1 4s n m p v 3 消息格式 r f c 2 2 7 2 定义了一种一般的消息处理模型。该模型主要负责接收来自于分发 器的p d u ,封装消息,然后调用u s m 将安全参数插入消息头中。消息模型也调用 u s m 处理收到消息的安全参数,提取p d u 交给分发器。 图2 4 展示了s n m p v 3 消息的一般结构。前五个域由消息处理模型在发送消 息时生成以及在收到消息时处理使用,第六个域是u s m 使用的安全参数。p d u 、 c o n t e x t e n g i n e l d 和c o n t e x t n a m e 组成一个s c o p e d p d u ,用于p d u 处理。前五个 域为: m s g v e r s i o n :当为s n m p v 3 时为3 。 m s g l d :用在两个引擎问关联请求和响应消息以及消息处理器用于协调各予 系统对消息处理的唯一标识。取值范围o 2 3 11 。 m s g m a x s i z e :发送者支持的最大消息尺寸( 字节数) ,取值0 2 ”一1 。这也 是发送者可从另一引擎接收消息( 响应或其它类型的消息) 的最大分段尺寸。 m s g f l a g s ;一个单字节字符串。最低三位代表三个标志:r e p o r t a b l e f a g 、 p r i v f l a g 和a u t h f l a g 。若r e p o r t a b l e f l a g = 1 ,在需要发送r e p o r tp d u 的情况 下,必须向发送方发送r e p o r tp d u 消息;若为0 则可不发送。请求( g e t 、s e t ) 和通告( i n f o r m ) 消息的发送方会将r e p o r t a b l e f i a g 置为l :响应、t r a p 和r e p o r t 消息的发送方会将它置为0 。r e p o r t a b l e f l a g 作为决定是否发送r e p o r t 的辅助 手段仅在消息的p d u 部分无法解码( 例如,因为密钥不正确而解密失败) 时才使 用。p r i v f l a g 和a u t h f l a g 是发送方设置用来指示消息的安全级别。当 a u t h f l a g = l ,则使用认证;当p r i v f l a g = l ,则需加解密;除了p r i v f l a g = l 和 a u t h f l a g = o 这种情况外其它情况都是允许的,即不允许仅使用加密而不使用认 证。 m s g s e c u t i t y m o d e l :发送方发送消息时使用因此接收方也必须使用的安全模 型( 取值0 2 ”一1 ) 。当为v l 消息时为1 ,当为v 2 c 消息时为2 ,当为v 3 消息时 为3 。 第6 页 北京邮电大学硕士研究生学位论文s n m p v 3 中u s m 和v a c m 的实现和研究 图2 4s n m p v 3 格式 2 2 s n m p v 3 总体设计与实现 消息处理模 块生成或处 理 u s m 模块生成 或者处理 s c o p e d p d u ( 原文或者密 文) 本次毕业设计的任务主要是在北京邮电大学计算机网络科研室设计并研制 的路由器以及语音网关产品上设计并实现s n m p v 3 的代理功能模块。在以前已经 存在的s n m p v 3 代理模块基础上添加和完善u s m 和v a c m 模块并最终完成全部测 试。 2 2 1 实现环境 s n i p 协议的设计和实现方案都由路由器的软硬件环境决定。作为交换设备, 软件的运行开销应摆在首位,采用面向过程的实现方法较为合理。因此,在本次 毕业设计中,都是基于面向过程的软件结构。 2 2 1 1 硬件环境 路由器的主控制器采用m o t o r o l a 公司的系列芯片。 第7 页 厂_if、ll_、il厂i_、 北京邮电大学硕士研究生学位论文 s n v i f v 3 中u s m 和v a c m 的实现和研究 2 2 1 2 软件环境 路出器的操作系统采用我们实验室自行开发的实时多任务操作系统r m o s 。 r m o s 是一个高效、精炼的专用操作系统。它可以提供进程、信箱、信号量、事 件和时钟等多种资源管理以及进程间通信和差错告警等多种功能,非常适用于实 时性强的通信产品。路由器的所有软件模块均采用标准c 语言编程实现。 2 2 2 设计要求 在s n m p v 3 中不再使用管理者和代理者来区分软件功能的实现。在s n m p v 3 框 架中,每一个相关体用实体来表示,每个实体都有一个引擎,实体的功能由该实 体中所配置的应用程序来决定。这样极大的方便了软件结构的设计与实现,可以 通过不断的增加新的模块并进行相应的配置来逐步完善功能。在实际设计中,考 虑到路由器系统的规模,在实现了引擎之外,还配置了命令响应器和通知生成器。 2 2 2 1 实现范围 s n m p 协议本身具有不同的版本,而且不同版本间的差异很大。根据i e t f 的 有关s n m p 的r f c 文档状况以及现有网管产品所支持的版本情况,选择了当前使 用较广泛的三个版本即s n m p v l 、s n m p v 2 c 、s n m p v 3 。这三个版本只是指其所使用 的消息格式不同。实现中所涉及到的主要文档包括: r f c l l 5 5 一管理信息结构版本l r f c l1 5 7 一简单网络管理协议版本1 ,包括了协议操作和传输映射 r f c l 2 1 3 一管理信息库2 r f c l 9 0 5 一s n m p v 2 的协议操作 r f c 19 0 6 一s n m p v 2 的传输映射 r f c l 9 0 7 一s n m p v 2 协议相关的管理信息组 r f c 3 3 1 卜s n m p v 3 管理框架的系统结构 r f c 3 4 1 2 一s n p 的消息处理和调度 r f c 3 4 1 3 - s n m p 的应用程序 r f c 3 4 1 4 一s n m p v 3 的基于用户的安全模型( u s m ) r f c 3 4 1 5 一基于实体的访问控制模型( v a c m ) 2 2 2 2 软件复用 设计中尽可能使得模块能够复用,在模块的层次安排中将s n m p 协议的不同 第8 页 北京邮电大学硕士研究生学位论文s n m p v 3 中u s m 和v a c m 的实现和研究 版本间的共同点进行集中考虑,例如s n m p v l 和s n m p v 2 c 的消息格式具有较大的 相同点,而s n m p v 2 c 和s n m p v 3 的协议操作都是采用r f c l 9 0 5 中所描述的规程。 2 2 3 系统模块设计 在路由器的嵌入式系统软件中,s n m p 是作为一个单独的模块集成到整个路 由器软件里的,所以将s n m p 软件称为s n m p 模块,它的各个组成部分称为子 模块。 图2 5s n m p 框架图 如图2 5 所示,本系统共分为如下模块: 1 ) 调度程序模块:负责发送和接收消息。当接收到消息时,调度程序试图确定 该消息的版本号隰唇癌该滑惹蕊给适当的消息处理模型。消息处理模块 处理完后调度程序还负责将解析后的p d u 发送给命令响应器。此外,调度 程序还负责将命令响应器和通知产生器产生的消息发送给i p 模块。 2 ) 消息处理模块:熟壹准釜要发送的消息和从接收到的消息生理取数塑。 ,一、l _ _ - _ ,_ _ ,f :j _ ;= = = _ “”目- _ 一、 3 ) 安全子系统:负责验证消息和加密解密! 澄愠。 4 ) 访问控制子系统;负责确定是秀允许访问一个管理对象。 第9 页 北京邮电大学硕上研究生学位论立 s n m p v 3 中u s m 和v a c m 的实现和研究 5 ) 命令响应器:负责提供对管理数据的访问。 6 ) 通知产生器:负责初始化t r a p 或i n f o r m 消息。 2 2 3 1 调度程序模块和消息处理子模块 r f c 中规定了s n m p 服务的u d p 端口为1 6 1 ,路由器中的i p 进程接收到目的 端口为1 6 1 的u d p 报文则转发给s n m p 调度程序模块,调度程序再传递给消息处 理子模块进行分析和处理。 2 2 3 1 1s n l v l p 消息的内部表示 路由器中的s n m p 模块使用单进程服务方式,即每次对排在信箱头的消息 进行处理。对于与管理站进行交互的有关s n m p 报文的所有信息都储存在 s n m p s a d u 中。 s t r u c ts n m p _ p d u l o n gv e r s i o n ;+ v e r s i o no fs n m pm e s s a g e + l o n gr e g i d ;+ r e q u e s ti d e n t i f i c a t i o ni np d u * l o n gm s g i d ;+ m e s s a g ei d e n t i f i c a t i o ni ns n m p v 3 * i n tc o m m a n d ;* t y p eo f p d u + i m s e c u r i t y m o d e i ;* u s mi ns n m p v 3 * i n ts e c u r i t y l e v e l ;+ n o a u t h n o p r i v , a u t h n o p d v , a u t h p d v * i n tm s g p a r s e m o d e l ;s n m p v l ,v 2 c ,v 3m e s s a g e p r o c e s sm o d e l * c h a r * c o m m u n i t y ; s t r u c tv a r i 曲l el i s t * v a r b i n d s ; s n m p v l ,v 2 c 和v 3 的消息头的第一个域都是版本号( v e r s i o n ) 。通过调度程 序模块解析s n m p 报文所得v e r s i o n 域不同,将剩余消息交由不同的消息处理模 块。考虑到对不同版本的支持,在结构体类型s n m p _ _ p d u 中集成了三个版本的消 息各个域的并集。 第l o 页 北京邮电大学硕j j 研究生学位论文s n m p v 3 中u s m 和v a c m 的实现和研究 2 2 3 1 2 调度程序流程 图2 6 调度程序流程图 如图2 6 所示,消息分发器是一个简单的流量管理器。发送消息时,它从上 层应用接收待发送的p d u ,然后执行下面的操作:对于每个p d u ,根据要处理 的消息类型( 例如s n m p v l 、s n m p v 2 c 或s n m p v 3 ) 将它交给适当的消息处理 子系统,由该消息处理子系统返回一个封装了该p d u 和适当消息头的消息。分 发器然后将该消息交给传输服务进行发送。接收消息时,它从底层传输层接收消 息并执行下面的操作:根据消息类型将消息交给适当的消息处理子系统,由消息 处理子系统提取p d u ,分发器然后将p d u 交给上层应用处理。 第1 1 页 北京邮电大学硕士研究生学位论义 s n m p v 3 中u s m 和v a c m 的实现和研究 2 2 3 1 3 消息处理程序流程 图2 7 调度程序流程圈 如图2 7 所示,消息处理子系统由一个或多个消息处理模型组成,包括 s n m p v 3 、s n m p v l 、s n m p v 2 c 和其它消息处理模型。消息处理子系统负责准备 要发送的消息以及从接收到的消息中提取数据。例如,若调度子系统从通信线上 接收到一条有效的s n m p v 3 消息。调度程序首先确定消息的版本为v 3 ,并把它 转发到s n m p v 3 消息处理模型。s n m p v 3 消息处理模型接着处理该消

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论