




已阅读5页,还剩81页未读, 继续免费阅读
(计算机应用技术专业论文)基于uml的ospf协议分析和建模技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第1 页 摘要 本论文研究的内容是为了适应四川省网络通信技术重点实验室两项研 究工作需要而提出的。首先协议测试系统需要易于修改适合用于测试系统调 试的测试对象,其次新的单物理层平面体系结构( s u p a ) 的研究和协议软件 开发中需要探索建模技术。选择以面向对象技术为基础、具有方便的图形化 界面的统一建模语言( u m l ) 为工具,以应用较广而复杂程度较高的o s p f 协 议作为探讨协议实现建模的对象有助于上述两项工作的后续工作的开展。 本项工作利用u m l 对o s p f 协议工作机制进行较为详细的分析,为o s p f 的主要运作机制( 链路状态数据库、邻居发现和数据库交换等) 建模并在 l ir i u x 平台上实现了o s p f 协议中的部分功能。本文中反映的作者建立的模型 包括:用例模型、静态结构对象模型和动态行为模型。最后,笔者对在l i n u x 环境中乃:发的部分o s p f 协议实现进行了初步的测试;结果表明基本该实现 具备了o s p f 协议中相关部分的基本功能。 本项研究与实践还表明:用u m l 作为协议分析与建模工具,由于所建模 型能以标准的、易于理解的方式为协议软件建立蓝图,有助于高效正确地丌 发可维护、易扩展、和可重用与可移植的o s p f 协议实现。 本论文的主要贡献是: 用u m l 中的“用例模型”和“用例详述”的形式对o s p f 进行了较为详尽 的分析,较好地解决了复杂协议中对繁琐细节的分析描述。 用u m l “状态图”对o s p f 协议中的接口状态机和邻居状态机进行了建模 分析:借用u m l 状态图中的“复合状态”等概念对协议文本中描述的“接口 状态机”和“邻居状态机”进行了细化,并以此为基础分析了相关的实现机 制。 关键词:o s p f ,路由协议,链路状态,统一建模语言 强南交通犬学硕士硒究黧学位论文第l l 页 a b s t r a c t t h eb a c k g r o u n do ft h ew o r k p r e s e n t e di nt h i sd i s s e r t a t i o ni st w or e s e a r c h p r o j e c t sc o n c e m i n g i p v 6 一b a s e dr o u t e rt e s t i n ga n d s i n g l ep h y s i c a ll a y e r u s e r d a t a t r a n s f o rp 1 a t f o r ma r c h i t e c t u r e ( s b t a ) ,t h er e a s o nf o rs e l e c t i o no ft h em u t i n g i n f o n n a t i o ne x c h a n g ep r o t o c o i m o s p f ( o p e ns h o r t e s tp a t hf i r s t l i st w o f o l d f i r s t l y , i tc a l lb eu s e da sat e s t i n gt a r g e tf o r 球r o u t e r sf o r i t sp o p u l a r i t y ;s e c o n d l y , i ti s c o m p a r a t i v e l yc o m p l e xp r o t 、c o l h e n c eg o o df o re x p e r i m e n t i n gm o d e l i n g t e c h n i q u e s i n p r o t o c o la n a l y s i s a n d i m p l e m e n t a t i o n ,f o r i t s o b j o c t o r i e n t e d f e a t u r ea n dc o n v e n i e n tg r a p h i ci n t e r f a c e s ,t h eu n i f i e dm o d e l i n gl a n g u a g e ( v m l ) i sc h o s e na st h em o d e l i n gt o o li nt h i sw o r k t h ed i s s e r t a t i o np r o v i d e sad o t a i l e da n a l y s i st oo s p f o p e r a t i o nm e c h a n i s m s a n dm o d e l sf o ri t sm a i np m t o c o lm e c h a n i s m s ( 1 i n ks t a t e d a t a b a s e ,n e i g h b o r d i s c o v e r y , d a t a b a s ee x c h a u g c a n de t c ) ap a r t i a li m p l e m e n t a t i o no f o s p f i sa l s o p r o v i d e db a s e do nt h ea n a i y s i s a n dm o d e l i n g m a i nm o d e l sp r e s e n t e di nt h i s t h e s i si n c l u d eu s ec a s em o d e l ,s t a t i c0 0s t r u c t u r em o d e l ,a n dd y a a m i c b e h a v i o rm o d e l f i n a l l 3 ;t e s tp r o c e s sa n dp r e l i m h a a r yt e s tr e s u l tt ot h ep a r t i a l i m p l e m e n t a t i o n i nt h el i n u xe n v i r o n m e n t ,a r eb r i e f l yd i s c u s s e d ,w h i c hh a v e s h o w nt h a tt h ei m p l e m e n t a t i o n p o s s e st h eb a s i cf u n c t i o n sr e q u i r e db y o s p f t h ea u t h o rh a sb e e nc o n v i n c e dt h r o u g ht h ep r a c t i c eo fa n a l y z i n ga n d m o d e l i n gt h eo s p f w i t hu m l 。t h 蕊u s eo fu m li sh e l p f u li np r o v i d i n gab l u e p r i n t f o rp r o t o c o li m p l e m e n t a t i o na n di nm a k i n gt h er e s u l t a n ti m p l e m e n t a t i o n m a i n t a i n a b l e ,e x t e n d a b l e ,r e u s a b l ea n dt r a n s p o r t a b l e t h ea u t h o r sm a i nc o n t r i b u t i o n si nt h i sd i s s e r t a t i o ni n c l u d e : a t od e a lw i t hr a m i f i c a t i o na n a l y s i sp r o b l e m si nc o m p l e xp r o t o c o l sb yu s eo f u s ec a s em o d e la n dd e t a i l e du s ec a s e d e s c r i p t i o n b t oa n a l y z ei n t e r f a c es t a t em a c h i n e sa n dn e i g h b o rs t a t em a c h i n e si no s p f a n a l y s i sa n dm o d e l i n gb y u s eo f u m ls t a t e c h a r td i a g r a m ,r e f i n et h e m b y u s e o ft h e c o n c e p to f “c o m p o s i t es t a t e , a n dp r o v i d e 越a n a l y s i s t o i m p l e m e n t a t i o nm e c h a n i s m s k e yw o r d s :o s p f , r o u t i n gp r o t o c o l ,l i n ks t a t e ,u m l ( u n i f i e dm o d e l i n g l a n g u a g e ) 亘壹壅烫本堂硕士研究生学位论文第1 页 1 1 本项目的研究背景 第一章绪论 本论文的研究背景是配合四川i 省网络通信重点实验室两个重点研究方 向进行的。这两个研究方向是:基于d w d m 的能够支持三网合一的下一代 i n t e r n e t 体系结构( s u p a s i n g l ep h y s i c a ll a y e ru s e r - d a t at r a n s f e rp l a t f o r m a r c h i t e c t u r e ) 研究和路由器多端口并发测试。本论文的题目是“基于u m l 的o s p f 协议分析和建模技术研究”,其立项依据包括: o s p f 是路由器中的重要协议之一,实现o s p f 协议可以作为路由器测 试的测试对象之一。 i e t f 的r f c 对协议文本的描述以自然语言加部分状态图的方式进行 的,自然语言描述理解困难并容易产生歧义,传统软件工程中数据流程图 :d f c d a t af l o wc h a r t ) 等工具在协议实现中缺少适台协议运作的建模工 具,不利于协泌实现的改进和更新换代,需要探索适当的建模工具。 s t i p a n e t 的研究工作中涉及在信令控制与管理平台中与保障服务质量 相关的新协议,包括基于服务质量的路径信息交换协议、服务质量协商协议 和入网控制协议的制订与开发,探索系统建模相关的技术有助于定义和开发 下一代的协议软硬件。 统一建模语言u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 是r a t i o n a l 公司开发 的基于面向对象技术的标准建模语言和可视化描述的工具。经过分析,笔者 认为u m l 较适合协议实现过程中分析与设计的系统建模。 这就是产生本论文反映的“基于u m l 的o s p f 协议分析与建模技术研 究”的直接动因。 1 2o s p f 协议概述 i n t e r n e t 网络层的基本协议为无连接的i p 协议,路径的选择以单个报 文为基础进行。i n t e r n e t 路径选择算法的研究引起了学术界的广泛兴趣,有 关路径选择协议的标准化工作也受到i e t f 的特别重视。i n t e r n e t 从最早以 a r p a n e t 为核心网络与若干外围网络互联的结构,逐渐发展为极其复杂的网 络互联关系,因此,在路径选择的思路上也发生了很大的变化,产生了以自 西南交通大学硕士研究生学位论文第2 页 治网络为基础的互联关系。所谓自治系统( a s a u t o n o m o u ss y s t e m ) ,是由 一个机构进行管理的网络和路由器的集合,每个a s 包含一组处于单一管理 实体控制下的路由器,在其内部使用自己的路由选择协议。尽管目前 i n t e r n e t 中仍然存在以n f s n e t 为基础的i n t e r n e t 核心干网,但未来的格局 很可能过渡到不只单个核心干网,而是由多个区域性的干网互联而成的“核 心干网群”,各用户的自治网络通过接入区域性的干网,共同组成全球的 i n t e r n e t “”“。相应地,路径选择协议的制订,也体现出这种层次结构性。 图1 1 描述了这种层次性结构和典型路径选择协议间的关系“”1 。 图卜1i n t e r n e t 核心干网( 群) 与自治网络间的互联结构图 图卜l 仅仅画出了i n t e r n e t 的顶层互联关系:干网与自治网间的路径 信息通过外部网关协议( e g p e x t e r i o rg a t e w a yp r o t o c 0 1 ) 和边界网关 协议( b g p b o r d e rg a t e w a yp r o t o e o ) 进行交换;干网内部和自治网内 部使用某种内部网关协议( i g p i n t e r i o rg a t e w a yp r o t o c 0 1 ) 。a s 之间的 互联采用边界网关协议b g p 。 仅就内部网关协议i g p 而言,现正使用的路由协议采用两种不同的路由 选择技术:距离矢量算法和链路状态算法。前一种包括r i p ,i g r p ,e i g r p , 后一种有i s i s 和o s p f 。对于小型网络,距离矢量算法尚能胜任,而在面 对大型网络时,采用链路状态算法的i s i s 和o s p f 更为有效,并且得到了 广泛的应用,但o s p f 更适用于t c p i p 协议族,较i s i s 更具有活力,这使 得o s p f 正在成为最为广泛的一种路由选择协议。 开放式最短通路优先协议( o s p f - - o p e ns h o r t e s tp a t hf i r s t ) 是由i e t f 西南交通大学硕士研究生学位论文第3 页 的内部网关协议( i g p i n t e r i o rg a t e w a yp r o t o c 0 1 ) 工作组制订。它以 “最短通路优先”算法( s p f s h o r t e s tp a t hf i r s t ) 为基础,而又是面 向“公共网域”的协议,故在“s p f ”之前用“o p e n ”( 开放式) 一词来修 饰。目前使用的o s p f 协议定义于r f c l 2 4 7 和r f c l 5 8 3 ,以及支持o s p fv e r s i o n 2 的r f c 2 3 2 8 和支持i p v 6 的r f c 2 7 4 0 。 o s p f 协议的基本思路是:在自治网络中每一台运行o s p f 的路由器从各 自的接口上收集邻接信息,并将与相邻节点间的通信“开销”( c o s t ) 量化 后作为链路状态,并通过可靠的泛洪( f l o o d i n g ) 将链路状态( l i n ks t a t e ) 在 整个自治网络内进行通告( a d v e r t i s e ) ,使整个自治网络内部能够维持一个 同步的链路状态数据库。根据这一数据库,路由器基于s p f 算法计算出以自 己为根,其它网络节点为叶的最短路径树,从而计算出自己到达系统内部各 可达目的地的最佳路径。 与大多数i p 协议一样,o s p f 路由器以协议分组的方式进行通信。o s p f 直接运行在i p 网络层,使用i p 协议号8 旷,不需要u d p 和t c p 的服务。 当路由器接收到一个i p 协议号等于8 9 的i p 分组时,路由器就知道该分组 包含了o s p f 数据,剥离掉i p 首部后,路由器就得到一个o s p f 分组。o s p f 协议分组有5 种不同的类型: i l e l l 0 分组:用于发现和保持邻居关系; d d 分组:链路状态数据库描述分组,用于与邻居路由器进行数据库交换 时对自己链路状态数据库的描述; r e q u e s t 分组:链路状态请求分组,用于与邻居路由器进行数据库交换 时向对方请求比自己更新的l s a ( l i n ks t a t ea d v e r t i s e m e n t ) 。 u p d a t e 分组:链路状态更新分组,用于承载l s a 在路由器间泛洪。 a c k 分组:链路状态确认分组,用于收到u p d a t e 分组后的确认,它是可 靠泛洪的保证。 o s p f 另外一个突出的优点是o s p f 将单个a s 域划分为多个区域网( a r e a n e t w o r k ) ,在a s 内部的各个区域网间采用层次化路径选择机制,能够适应 大规模a s 路径信息交换的需要,因而,正逐渐取代r i p 成为自治域内最重 要的路径信息交换协议。因此,对o s p f 协议的机制和实现技术进行深入研 究便有着重要的价值。 西南交通大学硕士研究生学位论文第4 页 1 3 统一建模语言( u m l ) 概述 对于一个复杂的协议实现,研究如何开发出具有良好的可蓬用性、可维 护性、可扩展性和可移植性的协议软件对未来s u p a n e t 的研究和开发工作有 着十分重要的意义。实践表明:用传统的结构化方法进行协议的实现难以达 到上述目的,需要借助于先进的建模工具,在分析和设计阶段首先对系统建 模。这就是本项目采用探索用建模工具实现o s p f 的出发点。 u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 是由r a t i o n a l 公司的三位面向对 象方法学的世界级大师所创造,并由对象管理组织( o m g ) 采纳的一种基于面 向对象技术的标准建模语言,是一种用于对面向对象的软件系统绘制可视化 的标准蓝图或者以图表的方式对所加工的软件产品进行可视化描述的工具, 它主要用于分析与设计阶段的系统建模。 u m l 采用规范化的图形方式( 用例图、类图、交互图、状态图和活动图) 来描述系统的静态结构和动态行为。静态结构用于定义系统中重要的对象及 对象间的关系;动态行为描述定义对象的时间特性和对象间为完成特定目标 相互作用时的通信方式。u m l 中的5 类基本图的功能如下:“”。 用例图( u s e c a s ed i a g r a m ) :定义用例之间以及参与者和用例之间的关系, 它从用户( 或外界系统) 的角度,通过描述用户与系统的交互来理解系统功 能。其中一个用例( u s ec a s e ) 是系统中的一个功能单元,而参与者( a c t o r ) 是直接与系统交互的外部对象所扮演的角色。 类图( c l a s sd i a g r a m ) :用于建模系统的静态结构:类和类间关系。 交互图( i n t e r a c t i o nd i a g r a m ) :用于对一个系统的动态行为建模,一张 交互图显示的是一组对象间用消息传递所进行的一次交互,它显示了跨越多 个对象的系统控制流程。交互图又分为顺序图( s e q u e n c ed i a g r a m ) 和协作图 ( c o l l a b o r a t i o nd i a g r a m ) ,顺序图强调对象间传送消息的时间顺序,而协 作图强调的是发送和接收消息的对象之间的结构组织。 状态图( s t a t e c h a r td i a g r a m ) :也称作状态机,它由对象的各个状态和连 接这些状态的迁移组成,用于对单个反应型对象的行为建模。它实际上与网 络协议中的状态变迁图表达的概念基本一致,只不过这里的状态是由对象的 属性值来具体体现,整个状态机说明对象由于接收事件而经历的状态迁移以 及对那些事件的响应。 活动图( a c t i v i t yd i a g r a m ) :活动图外观与作用上都类似于我们常用的流 话南交通大学颚士磷究擞学位论文蘩s 页 程图,主要用来描述一个具体的工作流程中所进行的一组顺序的或并发的活 动e 闲时活动銎的一砖高级形式是泳道图( s w i m l a n ed i a g r a m ) ,它司以将一 个活动图中豹活动分组,每一缀表示负责那黪活动豹执行角色。 1 4 本论文反映的工作概要 零谂文反浚携王痒是:隧o s p f 爨议为对象,震u m l 漾嚣分毒厅、建模、 部分实现和测试的过程,工作的重点是分析与建模。具体的工作包括: 用u m l 中的“用例模型”和“用例详述”的形式对o s p f 进行了较为详尽 的分桥,较好地解决了复杂协议中对繁琐细节的分丰斤描迷。 翻建了o s p f 协议软 誊系统鞍完整模墅,氆疆“系统豹静态结褪对象摸鍪” 和“关键用例的动态行为模型”,为构造一个具有良好的可重用性、可维护 性、可扩展性和可移植性的o s p f 协议软件奠定了基础。 矮t n l “状态辫”对o s p f 游议中斡接嚣状态凝和邻慝状态祝送行了建模 分挢;借丽u m l 状态图中的“复合状态”等概念对协议文本出描述躺“按口 状态机”和“邻居状态机”进行了细化,并以此为基础分析了相关的实现机 制。 蒸予上述系绞模鍪,在l i n u x 丽凌下,实蕊了嫠分o s p f 协议,著送行了 简单测试。 1 5 论文结构 本论文以焉章节安排如下:在第二章中,将翊蕊l 对o s p f 避行全局分 析,主要通过u m l 中的用例圈分析得到系统的基本功能单元( 用例) 、找出系 统边界和参与者:构建系统基本架构的轮廓;对整个系统进行了功能块分解。 第兰戮第七章以潮铡详述的形式分剽对备功臻缨节速嚣了努掇,逐步麴建 系统的“静态结构对象模型”和“关键用铡的动态行为模型”。第八灏主要 介绍了笔者在l i n u x 环境下基于系统模型的o s p f 协议软件实现以及相关的 简单测试过程与结果。第十章为对所做工作的总结和对束米工作的展黧。 西南交通大学硕士研究生学位论文第6 页 第二章用u m l 对o s p f 的全局分析 2 1 为o s p f 建模所制定的工作过程 用l t m l 对系统建模实际上就是对所设计系统进行完整的分析和设计活 动,整个建模过程应该在一种基于u m l 的面向对象开发过程的指导下进行。 统一过程( u n i f i e dp r o c e s s ) 正是由u m l 的创始人所制定的这样一种软件开发 过程,它提供了如何在一个较大的开发组织中严格分配任务和职责的方法。“。 ”“。由于统一过程比较复杂,笔者抽取了统一过程的核心思想将其运用 到对o s p f 的建模活动中制定了适合于笔者所进行的o s p f 协议建模活动的工 作过程。 统一过程的核心思想主要由以下几点体现: 用例驱动巾s ec a s ed r i v e n ) :开始一个项目,往往是从收集用户需求开始 的,u m l 中使用“用例”来捕获系统的功能需求。然而用例并不仅仅是 种定义系统需求的工具,它们还驱动系统的分析、设计、实现和测试,也就 是说,它们能够驱动整个开发过程。“用例驱动”意味着开发过程将按照一 系列由用例驱动的工作流程来进行:首先是建模用例,然后是实现用例,最 后,用例又成为测试人员构建测试案例的来源。尽管确实是用例在驱动整个 开发过程,但是我们并不能孤立地选择用例,它们必须与系统架构协同开发。 也就是说,用例驱动系统架构丽系统架构反过来又影响用例的选择。因此, 随着生命期的继续,系统架构和用例都逐渐成熟。 以系统架构为中一巳, ( a r c h i t e c t u r e c e n t r i c ) :系统架构是一个关于整体设计 的视图,在这个视图中,省略了一些细节,以使软件的更为重要的特征体现 得更为明显。简单地说,系统架构就像一个裹着皮肤的骨架和一些能让该骨 架作一些基本运动的必要的肌肉,而完整的系统则是由骨架、皮肤和肌肉组 成的有机整体。架构设计师首先从不与特定用例相关的部分着手来创建系统 的基本架构。尽管基本架构的这部分是用例无关的,但是,在建立基本架构 之前,架构设计师必须对用例有一个总体的把握。其次,设计人员应当从已 经确认的用例子集着手开始工作,这些用例是指那些代表待开发系统的关键 功能单元。每个选定的用例都应当被详细描述,并用u m l 创建的模型实现 以完善系统构架。随着用例已经被定义并且逐渐成熟,系统架构就越来越成 西南交通大学硕士研究生学位论文第7 页 形了。而这种状况,反过来又导致更多用例的成熟。这个过程会不断持续下 去,直至系统架构被完全构建好为止。在本次建模过程中,主要从用例模型、 静态结构对象模型和用例实现的动态行为模型等方面来定义了整个系统的 架构。 正是基于上述统一过程的核心思想,笔者制定了下面的对o s p f 协议进 行建模活动的工作过程。 1 通过对o s p f 协议宏观的分析和理解,找出o s p f 软件系统的边界,识别 将与o s p f 系统直接进行交互的参与者,并捕获系统的大多数关键功能单元 ( 用例) 。用u m i 中的用例图描述系统的功能性需求和工作流程,创建基本的 用例模型。 2 在对用例模型有了总体把握后,用u m l 的类图构建系统的基本架构,它 主要是搭建整个系统静态结构对象模型的基本轮廓,以后所有的建模工作都 是以该基本架构为中心,但同时又不断对它进行充实和更新的过程。 3 在用例模型的基础上,把系统进行功能块划分顺序地进行分析和设计工 作,每一功能块包含相关的用例,每一功能块的分析和设计工作都是在前面 阶段的工作基础上进行的,整个系统的静态结构模型、动态行为模型都随着 分析和设计工作的进行不断得到充实、完善和更新直到整个系统分析和设计 工作的完成。 4 每一功能块都进行下面的分析和设计工作流: 对o s p f 协议进行详细的细节分析,用u m l 中的活动图或标准的用例描述 模板对用例进行详细描述。一个标准的用例描述模板如下所示: 用例名( u s ec a s e ) :描述该用例所执行功能的简写。 前置条件( p r e c o n d i t i o n s ) :表明在执行用例前必须满足的条件。 被包含用例( i n c l u d e s ) :本用例要使用被包含用例所提供的功能。 事件流( f l o wo fe v e n t s ) :用例中执行的步骤。 后置条件( p o s t c o n d i t i o n s ) :用例执行之后必须满足的条件。 从用例的详细分析中提取类,定义类的属性和一些容易识别的关键操作。 确定类之间的关系,建立表述系统静态结构的u m l 类图,它是对前一阶 段所建系统架构静态结构模型的充实和更新。 用例实现,即用u m l 中的交互图( 顺序图、协作图) 演示对象如何交互以 实现由用例所说明的动态行为。这种动态行为的建模过程不仅可以帮助我 们对类封装的属性、类之间的关系都得到进一步的完善和更新,还会帮助 西南交通大学硕士研究生学位论文第8 页 我们分析出这些协作对象应提供哪些操作来实现该用例的功能。 5 根据o s p f 协议的特点,用u m l 的状态图对o s p f 中的接口状态机和邻居 状态机进行建模,笔者并尝试使用了u m l 中活动图的高级形式泳道图对接口 状态机运行中的多态行为进行建模,这些建模活动直接决定了o s p f 协议中 接口状态机和邻居状态机的实现方式和具体实现。 2 2o s p f 的基本用例模型 本次设计中首先使用u m l 的用例图对o s p f 协议实现需提供的功能进行 了总体需求分析,得到了如图2 1 所示的用例模型。它捕获了系统应实现 的关键用例( 功能单元) ,并确定了o s p f 系统与外部环境的界限,找到了系 统的参与者( a c t o r ) 。 图中的每个用例都代表一个功能单元,a c t o r 与用例之间的实连线代表 通信关系( c o m m u n i c a t e ) ;用例之间的实连线代表功能单元之间的转换,虚 连线代表包含依赖( i n c l u d ed e p e n d c e n c y ) 即包含用例需要使用被包含用例 提供的功能来完成自己的功能。 由于o s p f 协议实际上是直接工作在i p 层上的应用层协议,故o s p f 系 统的参与者主要就是外部平台的操作系统。图中的“主动外部平台”a c t o r 表示外部平台中由外部平台主动发起与o s p f 系统通信的那一部分,具体体现 在:l 、当外部平台接收到协议号为8 9 的i p 分组时就会将该分组中负载传 递进o s p f 系统中进行处理。2 、当外部平台的物理网络接口状态发生变化时, 需要通知o s p f 系统以进行相应处理。3 、o s p f 系统必须维持一个系统的运行 时间,以便维护众多的定时器,该运行时间由外部平台提供。4 、外部平台 需要查询o s p f 系统的统计信息,从而监控其操作。5 、外部平台可以请求o s p f 系统正常关闭。图中的“被动外部平台”a c t o r 表示外部平台中由o s p f 系统 主动发起与外部平台通信的那一部分,具体体现在:1 、将从o s p f 系统中传 出来的o s p f 分组从指定的物理网络接口打包成i p 分组发送出去。2 、o s p f 系统需要将指定的网络物理接口加入脱离组播组a l l s p f r o u t e r s ( 2 2 4 0 0 5 1 或a l l d r o u t e r s ( 2 2 4 0 0 6 ) 。3 、o s p f 系统需要添加或更新外部平台的内核路 由表。4 、当o s p f 应用程序由于某种错误而要紧急退出时,需要在外部平 台上保存错误日志。 亘堕至堕查耋塑主塑塞皇堂堡笙皇篁! 夏 嚣南交通大学硕士研究垒举位论文第1 9 页 下面本文根据图2 1 对o s p f 系统的主鼹工作机制以及所进行的活动进 行了分毒斤,它们楚本文中对o s p f 划分功能块的基础。 邻罐发现帮数攒疼交换 o s p f 中,所有路由器负责向其所有接口周期性发送和接受h e l l o 分组来 进行邻居路由器的发现和保持,以及判定与邻届间的链路鼹否双向。如果在 是够长靛露闫肉,鼹由器没有接受到来皇冀懿藩蓖h e l l o 分缝,路由嚣靛疼 停止通告与这个邻居路由器的链接。 当通过h e l l o 分组发现一个邻居后,o s p f 路由器就将启动数据库交换过 程泉与邻居进行它们问的链路状态数据库同步,从丽达到与邻居鲍完全邻接 关系,其有在其一曼邑建立完全邻猿关系弱键瑟才会较逶誊,之磊方戆逶过该 连接转发数据业务流。 围2 一l 对这一过程所进行的活动进行了描述,当外部平台的物理接口状 态发生改变,会将此改变信息传避o s p f 系统中该接口的接岛状惫枕中以改 变冀状态,接翻状态瓿的运季亍可会导交灞对应接强定期发送h e l i o 分缀, 也会导致对应邻膳状态机的运行。同时,接口状态机也需鼹依赖指定路由器 的选举结果来完成接口状态的杼移,但指定踌出器的选举又依赖于邻居对话 状态撬中黠应邻鼷熬凌态。从这畏,已霹分辍窭o s p f 捺议中懿接蹬状态撬 和邻耩状态机是相互交织在一超的。 当接收到h e l l o 分组、d d 分组、r e q u e s t 分组和u p d a t e 分组都可能导 致对应邻屠对话状态机的运彳予,邻居对话状态机的运行又会导致发送相应的 o s p f 努缀。拭鹜孛可魏,邻嚣对话获态撬控爨了与对斑邻矮逐孑亍数据露交换 的整个过程。 创建链路状态通告( l s a ) o s p f 路由嚣状态的一些改变可能导致路电器怠l 建邋告本地链路状态懿 赣的l s a 或新l s a 实钢。这些状态的改变主簧包括路壶瓣的接口状态笈垒变 化,与一个相邻路由器的邻居对话状态发生变化或者路由表中的路由项发生 变化。 链路凌态逶告( l s a ) 泛漾 o s p f 中,非常震要的一环便是数据库的闷步,只要数据库保持同步,o s p f 的路由计算便能保证路由的正确性。通过前阐的邻居发现和数据库交换,已 经像证了当路由器困加入o s p f 工作区域时的数据库同步。但当路由器局部 链鼹状态发皇变嚣蠢弓l 入瑟戆l s a 或英悫褰被更瑟之嚣,黧必绥涛该l s a 在 西南交通大学硕士研究生学位论文第1 1 页 路由器所属的整个工作区域进行可靠的泛洪来进行数据库的重同步。 当路由器本身创建了新的l s a 或从邻居处接收到的新l s a 时,就进入到 l s a 的泛洪过程中。泛洪l s a 需要依赖发送u p d a t e 分组和发送a c k 分组这两 个用例的功能才能完成。为了保证可靠泛洪,o s p f 系统需要根据a c k 分组对 发出【,s a 的确认情况决定是否需要重发l s a 。 链路状态数据库的更新操作 o s p f 中的链路状态数据库是一个分布式数据库,为整个协议的核心。它 由所有路由器产生的l s a 的集合而构成,描述了由域中所有路由器的集合及 其连接方式而构成的路由拓扑信息。前面所进行的邻居发现和数据库交换、 以及链路状态的泛洪都是为了确保每个路由器都有一个内容完全相同的链 路状态数据库。所以当自己创建了新的l s a 或从邻居处接收到的新l s a 时, 都必须对本地的链路数据库进行更新操作以保证数据库的同步,而对数据库 的更新会引起路由计算功能块的运作。 路由计算 路由计算是o s p f 协议中比较简单的一部分,每个路由器都用相同的链 路状态数据库信息作为输入,通过d i j k a s t r a 算法建立起同一个最短路径优 先树,用该树跟踪系统中每个目标的最短路径。最后再通过计算区间路由来 确定完整的路由表。o s p f 中路由计算功能的完成需要依赖区内路由计算、区 间路由计算和扫描路由表用例提供的功能,其中扫描路由表用例将发现路由 表中的变化,并与外部平台进行通信,更新外部平台的核心路由表。 数据库老化 数据库老化是o s p f 为了保证链路状态数据库的唯一而制定的鲁棒性机 制,它跟踪链路状态数据库中的每一个l s a 的年龄然后分别进行不同处理, 它是依赖创建l s a 的新实例和泛洪l s a 两个功能单元来完成的。 2 3 系统的基本架构 根据2 2 节的基本用例模型,可以对整个系统的用例有一个总体的把握, 现在可以确定整个系统静态结构对象模型的基本轮廓了,它用u m l 中的类图 表达为如图2 2 所示。 为了使所设计的系统具有良好的可移植性,整个系统设计为外部平台和 o s p f 应用系统两部分,o s p f 应用系统用标准c + + 进行构造,并用接口类 o s p f a p i 作为提供给外部平台的通信接口;而外部平台提供给o s p f 应用系统 的通信接口用边界类s y s t e m i n t e r f a c e 封装,它是完全由外部环境决定的。 西南交通大学硕士研究生学位论文第1 2 页 主 7 ,、n j 、3 广_ 、j 广,l , 一,i 7 s ”柳 m 据,妇 被动外部平音 图2 2 系统基本架构类崮 每个类承担的责任如下所述: 接口o s p f a p i 位于所建应用系统与外界的交界处,它是o s p f 系统提供给 外部平台的a p i ,平台系统调用这些a p i 来与o s p f 软件通信。它具有良好 的隔离作用,可将所建的应用系统与外部环境解耦。在所构建的系统中, o s p f a p i 由类o s p f 所实现。 边界类s y s t e m i n t e r f a c e 是一抽象类,用于描述所建应用系统内部运作与 外部环境之间的交互,它对应用系统中依赖与外部环境的部分进行封装, 是外部平台给o s p f 应用系统提供的接口,o s p f 系统可以调用这些接口来 要求底层硬件和外部平台实施一些动作以完成o s p f 系统的功能,将o s p f 实现移植入一个新平台都必须提供这个边界抽象类的实现。 控制类o s p f ( 也称为管理者类) 是所建立的o s p f 应用系统的入口处和系 统开始运作的初始点。它相当于协调人,知道哪些类有能力来完成哪些具 体的任务。控制类的具体职责是:a :控制总体逻辑流程和协调其它对象。 b :知道并能够执行o s p f 协议的业务规则,可以运行其它流和处理发生的 事件。c :接受其它类的任务委托,并向具体职能类委托任务。所以在类 o s p f 的构造函数中将完成整个o s p f 应用系统的初始化,即构造下面所述 的相应功能类对象并完成对它们的初始化。 类o s p f a r e a 代表路由器所附属的区,一个o s p f 路由器可能加入了一个区 圣盏 西南交通大学硕士研究生学位论文第1 3 页 或多个区。它的具体职责是负责封装跟区有关的数据和操作。 类o s p f i n t e r f a c e 是路由器所有类型接口的抽象,每一个接口必定仅属于 一个区。每一个接口实例都需要维护一个接口状态机。 类o s p f n e i g h b o r 是o s p f 路由器与其它相邻路出器建立对话的抽象。在每 一个接口上,o s p f 路由器都会与对应邻居建立对话,每一个对话用类 o s p f n e i g h b o r 的一个实例表示并维护一个邻居对话状态机。 类r o u t i n g t a b l e 是o s p f 路由器中路由表的抽象,它负责维护路由表和封 装路由表的相关操作,而类r o u t e 是路由表中路由项的抽象,它们之问存在 聚合关系。 类l s a d a t a b a s e 是链路状态数据库的抽象,负责维护整个链路状态数据 库,类a r e a 是为将数据库分区组织而设计的,类l s a 是链路状态通告的抽 象。 2 4 系统功能块分解 根据图2 1 所示的基本用例模型,可以将整个系统分为如图2 3 所示的 功能块,每个功能块包含相关的用例,其中“邻居发现和数据库交换功能块”、 “l s a 泛洪功能块”和“路由计算功能块”包含的主要用例已经在图2 1 中 得到了体现,“链路状态数据库功能块”主要是包含了用于更新l s a 数据库 的用例和数据库老化用例,而“创建l s a 功能块”则包含了用于创建各种 l s a 的用例。每个功能块都将经历分析和设计工作流,最终完成整个系统模 型的构建。功能块分析和设计的顺序是按照重要性和协议的主要工作流程进 行安排的。 i 7 链路状态数据库功能块i 一 【尹 邻居发现和数据库交换功能块 创建l s a 功能块 l s p 眨洪功能块 图2 - 3 系统功能块分解示意图 路由计算功能块 重童室强大学塑圭研舞生拳僚论文繁1 4 页 第三章链路状态数据库功能块的分析与建模 链路状态数掇痒是o s p f 谤议酌核心,数据露为路裔选择诗算疆供覆始数 据,并且o s p f 中的大部分协议机制都与维护数据库的同步有关,这是为什么 先对该功戆涣透露分据秘浚诗翡主要蒙壤。 3 1 链路状态通告和链路状态数据库的组成 l ,l s a ( 链路状态通告) 路由选择域中的每个路由器都在自己发出的l s a 中绉述其局部爨网络拓扑,然蜃将这些l s a 通过个可靠瓣泛洪过程分发到路 幽选择域的其它路由器中。o s p f v 2 。1 中定义了五种不同的l s a , 它们分别是: r o u t e r l s a :酋部通嚣创建它豹路由器,内容部分记录该路出嚣所连接的 熬它路由器或网络( t r a n s i t 网络、s t u b 嘲络和主枕) 以及到它们所需的代 价,所有的路由器都需螫创建该类l s a 然届在路由域内通告自己。 n e t w o r k - l s a :首豁通告一个t r a n s i t 网络,内容部分记录该霹络掰连接 的路由器。由于内容中没有代价通告,敞在o s p f 中认为从t r a n s i t 网段到 潞崮器代份为0 。只有广播型瓣络帮n b 嫩( n o n b r o a d c a s tm u l t i a c c e s s ) 网络中的指定路由器才会为所遣网络创建该类l s a 并进行路由域的通告。 s u m m a r y l s a :逶告一令悠内区阚熬爨兹网段( t r a n s i t 薅段、s t u b 露段 和主机) 和到该目的网段的累加代价。只有区边界路由器( a b r ) 需创建该 炎l s a 并袁所属区内通爨该区耀器的飚络。 a s b r s u m m a r y - l s a :通告一个a s 边界路由瓣( a s b r ) 和到该a s b r 豹累 加代价。同样,只有区边界路由器a b r 才霈创建该类l s a 并且它的格式、产 生与处瑷方式都与s u m m a r y l s a 耜葡。 a s e x t e r n a l l s a :通告a s 以外目的网络的路由,只肖a s b r 才需要创建 并在整个a s 内泛洪。 其中,r o u t e r l s a 、n e t w o r k l s a 、s u m m a r y l s a 、a s b r s u m m a r y i 。s a 鄹只辘程区蠹帮泛漾,嚣有矗s e x t 旺n 氇l l s 矗其有轰s 泛滚俸霸域,l 在整 个a s 域内部泛洪。 2 。链爨状态数强痒( 1 i n k - s t a t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大数据地震预警系统安全重点基础知识点
- 2025年证券从业资格证案例分享试题及答案
- 坚持学习提升特许金融分析师考试能力的策略试题及答案
- 2025年注册会计师考试审计风格与技巧试题及答案
- 双边市场与证券投资分析的试题及答案
- 复习2025年特许金融分析师考试的重点内容试题及答案
- 2025年注册会计师考试信息披露规范与案例分析试题及答案
- 证券从业资格备考指南试题及答案
- 教学改革课题申报书范文
- 针对性学习2025证券从业资格证试题及答案
- 【原创】《圆柱与圆锥》复习课教教学设计
- C6-5-2设备单机试运转记录
- 管道夜间施工方案
- 正交试验设计与数据处理.ppt
- 稀土离子的光谱特性.PPT
- 和君咨询ECIRM模型
- 让孩子学会排解压力 学生家长面授课参考教案
- 加工中心主轴传动系统设计说明书
- 信息资源目录报告格式参考-省政府办公厅 信息资源目录.doc
- 轮胎式装载机检测报告.doc
- 最准确工程勘察设计收费标准快速计算表EXCEL[共4页]
评论
0/150
提交评论