




已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)路由器的开发rip的研究和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 学科号业:计算机应用技术 论文题目:路由器的开发r i p 的研究和实现 硕1 :生: 郭霞( 9 9 s 6 0 1 3 ) 导师;曾家智 ( 随着i n t e m e t 和i n t r a n e t 的广泛构建,作为网络桥梁的路山器成为大量需要 的产品,但e i 前大都靠国外进口。因此,自主研发我国e 己的路由器即是发展民 族工业的需要,也会有很好的经济效益。路山器的研发是我校和江苏南京宏 图高科技公司的合作项目,我们负责路由器的研发,而产业化的工作山宏图高科 、,一一。 完成。r 竹 本课题利j f i | 国际:流行的嵌入式实时操作系统( v r t x ) 内核及配套的丌发 环境,在a m d 的1 8 6 c c 平台上丌发路山器、远程访问服务器及多路复用器等 系列产品。网络仇 义大部分采用i n t e r n i c h e 公司提供的标准t c p i p 卧议软件包, 路山汕、议包括静念路山、r i p 、o s p f ,并针对路山器技术需求做相应的改进。安 全方面增加防火墙中的包过滤功能。配置上实现c i s c o 路l 自器的基本配置,以及 钊对实际情况的傻瓜型配置。要求解决所有相关的技术问题,最终实现整套基= j 二 t c p i p 的路由技术,并搭建环境,设计案例对产品进行严格的,多方面的测试。 测试结果表明完全达到了设汁要求。 、我的这篇论文主要讲述路山协议r i p 的研究以及在路山器h t 一2 5 0 0 系列产 品上的实现。首先介绍了r i p 作为一利t 简单的推广最久的向量距离坍议的基本原 理:接着说明了软件系统的总体发计以及r i p 同系统的接口关系;第凹章则详细 的讨沦了r i p v i 的实现和r i p v 2 移植到i n t e r n i c h e 的t c p i p 汕、议j 二;第血章则 介绍了r i p 的路由配置命令及其实现的方法;第六章介绍了丌发的环境和嵌入式 系统的丌发方法,并举出网络运用中的典型例子,对r i p 的功能和性能进行了严 、 一 格的测试,对测试结果提出了改进的方向。f + o 【关键词】:路由器路由协议r i p t c p i p 第章概述 第一章概述 1 1 课题提出的背景 随着因特网的迅速发展利进入中国,我国也掀起了因特网的高潮,因特网已 经成为大家普遍关注的话题,各个组织和单位都纷纷组建自己的网络并年因特网相 连。因而,作为网络桥梁的路f h 器和交换机成为了急需的产品。似是在目前,国内 的i n t e r n e t 和i n t r a n e t 的建设采用的大都是围外进】产品,国内的产品大都是在包 装上或功能上做些精简,从操作系统、硬件平台到网络胁议都没有大的改进。中国 作为一个泱泱大国,很有必要结合当前社会的需求和围外技术的发展情况,做一些 自己民族方面的产品。 江苏宏图高科技股份有限公刁认识到了这一点并敏锐的捕捉了阂特刚技术所 带来的商机,决定把路由器的开发作为公司发展计划的重点项h ,这也是宏图高科 进入计算机网络通讯产品领域的第一步。而路由器是技术密集型平资金密集型产 品,d 于产品的技术含量较高,在产品开发过程中,采用与我校电了科大联合开发 的方式。我校负责蹄由器的研发,而产业化由宏图通信新品开发所负责。 作为计算机网络和通信研究的专、世的研究牛,利用我们现有的技术开发国产 蹄南器,一方而是对我们所掌握的技术的检验,另+ 方面也将摊动我们在通信领域 的研究不断完善,走上产业化的道路。 1 2 路由器技术的简单介绍 i n t e m e t 网络的丰要结点设备是路由器,路由器通过路由决定数据包的转发。 转发策略称为路由选择( r o u t i n g ) ,这也是路由器名称的由来( r o u t e r ,转发 者) 。决定转发的办法可以是人为指定,仙人为指定工作量大,而且不能采取灵活 的策略,j 二是动态路由协议应运而t e ,通过传播、分析、计算、挑选路由,来实王见 路由发现、路由选择、路由切换和负载分担等功能。 路由选择算法,通常使用的丰要是两种,即向量距离算法( 血:r i p 协议) 利 链路状态算法( 如:o s p ff 办议) 。实际上,i n t e r n e t 是由许多相对独立的网络构成 第。章概述 的,各个网络采用的路由选择算法可能是不同的。为了i n t e r a c t 的符理,这种相对 独立的网络i 彳_ = 被称之为自治系统a s ( a u t o n o m o u ss y s t e m ) 。路由选择算法或者 m 议用在自治系统内称之为内部网关协议i g r p ( i n t e r i o r g a t e w a y r o u t i n g p r o t o c 0 1 ) ,用刁:自治系统之间称之为外部网关叻- 议e g r p ( e x t e r i o r g a t e w a y r o u t i n g p r o t o c 0 1 ) ( 如b g p ) 。r i p 雨o s p f 路由协议是使用的最广泛的路由褂 议,它们都是| j 部网关协议。 r i p ( r o u t i n g l d n f o r m a t i o np r o t o c 0 1 ) 路l h i 办议是 f 川j 展久的一利路r t t 胁 义,采 用向量跗离算法,它通过厂播路f j :;i 信息来维护相邻路巾器的关系,同时根据收到的 路d 1 信息计算自己的路由表。总的来说,r i p 是一种简单易丁实现的路| | 1 协议:在 一个小型网络中,r i p 对于使用带宽以及网络的配置, t f q 理方而的要求足比较少 的;现在r i p 还在大量使用,这是o s p f 利其他许多协议所不能比的。因此r i p 协议虽然有很多缺点,如周期性更新报文带来的耗费带宽、收敛速度较慢等,似是 诅小型网络上运行州省是很女,的,刺于本课题所开发的路由器无疑是非常经济和实 用的。 1 3 路由器开发环境和目标 利用国际上流行的嵌入式实时操作系统( v r t x ) 内核及酣套的开发环境,分 别在a m d 的l8 6 c c 和m o t o r o l a 的p o w e r p c8 6 0 平台上开发路由器、远程访问服务 器及多路复用器等系列产品。其中网络协泌大部分采用国外一家公词( i n t e r n i c h e 公司) 提供的标准t c p i p 胁议软 ,| = 包,并针对路由器技术需求做相应的改进。安 全方面增加防火墙中的包过滤功能。配霞上实现c i s c o 路由器的基本配置,以及针 对实际情况的傻瓜型配置) 。要求解决所有相关的技术问题,最终实王见整套基于 t c p i p 的路由技术,并搭建环境,设计案例对产品进行严格的,多方面的测试。 图1 1 是我们设计的系列路由器运用的个拓朴图。这是一个摹j 二t c p i p 的 r i p 、o s p f 蹄由器。它支持2 个同步串口,1 个内置m o d e m 的异步串v i ,1 个 1 0 b a s e t 以太网口,实现局域网网问路由,提供局域网与i n t e m e t 曩联网i s p i c p 或企业内部广域网瓦联。 第学概述 1 4 我所做的工作 图1 1 应用拓扑图 在整个项目中,我主要负责了r i p 、n a t 、s n m p 、h t t p 等几个模块的工 作。在本论文中,丰要介绍r i p 模块,具体工作如下: 、基于i n t e m i c h e t c p i p 防议簇源码完整的实现了r i p 的功能。由于在 i n t e r n i c h e 的t c p i p 胁议簇中,r i p 协议只实现了简单的功能,网络应用中的实际 情况和链路的情况并没有考虑。在应用中,这些因素会直接影响路由表的正确获 得,甚至导致r i p 协议根本无法运转。因此,我在原来协议的框架上,根据网络 应用的情况,引入了在路由器接口肩动路由协议的概念( 及路由器的接口是否参与 了r i p 协议) ,增加了r i p 肩动对链路的考虑、启动接口发送请求报文、根据链 路状态维护路由表等功能,详细参见第四章( ( r i p 的设计和实现。 二、扩充r i p 2 功能。i n t e r n i c h e 的r i p 协议中没有实现r i p 2 协议,我在 r i p i 的框架上增加了r i p 2 路由信息在以太网上的多目传送、r i p 2 的认证、r i p 2 的了网选择路由等功能。 第审概述 二、r i p 路由同静态蹄f j _ i 、o s p f 路由的重分发。 四、实现路由器中r i p 的配置命令。 五、设计案例,对r i p 协议在路由器上的运转做了多方面的测试。 1 5 论文的内容 第章概述,丰要介绍了课题提出的背景,路由器和路由协议的基本知 识;第二章( ( r i p 路由协议的摹本原理,介绍r i p 作为一利,向量距离阱议的基本 算法以及对各种情况的处理,另外根据r f c 。1 0 5 8 、r f c 1 3 8 7 、r f c 1 3 8 8 介绍了 r i p 版木1 和版本2 的规范:第二章系统的总体设计实现,从路由器的技术指 标和整个软件系统的流程介绍了整个系统的设计思想;第四章( ( r i p 的实现和设 计,讨论基了二i n t e m i c h e 的r i p 框架,实现完整的r i p 协议;第五章路由器中 r i p 用户命令的设计和实现,介绍h t 2 5 0 0 系列的配置界面和用户命令的设计方 法;第六章( ( r i p 的调试环境和测试,以v r t x 这种嵌入式操作系统为例介绍了 嵌入式软件系统开发的环境、方法和流程,利用几个典型的案例测试r i p 胁议的 功能和性能,根据测试结果提出了改进的方向。 4 第二章r i p 路由排议的基本原理 第二章r i p 路由协议的基本原理 曼p 是路由信息协议( r o u t i n gi n f o r m a t i o np r o t o c 0 1 ) 的缩写,它是当今因特 网中应用最广泛的一种“内部网关协议”,即定义了一利t 在单一自治系统内的路 由协议,如图2 - 1 : 削2 - i 臼冶系统的说l 川 幽例说叫:自治系统a 路由器之间的路山信息可以通过r i p o s p f ,i g r p ,e i g r p 等内部| 叫关协i 义 通讯,自治系统a 和自治系统b 之间的路由信息通过外部州关协波完成。 r i p 采用的算法是两种基本路由算法距离矢量算法和链路算法的前者,它属 于距离矢量协议簇中比较简单的一种。实际上,r i p 作为一种路由协议,它的职 责就是保持路由的精确,即使由于设备或线路故障以及新网段的加入使互连网络 拓扑结构发生变化,也能保持这种精确性。 在这一章将根据一个简单的网络拓扑结构,详细的说明向量距离算法的基 本原理以及r i p v l 和r i p v 2 两个版本的规范。在本论文中,向量足从源结点到 系统内各结点的当前最短路由为元素所构成;向量元素足序偶( v ,d ) ,v 是 v e c t o r 的缩写,表示信宿,即目标结点或网络号;d 是d i s t a n c e 的缩写,表示距 离,实为加权和,在r i p 中,是该条路由所经过的链路数。 2 1 向量距离协议 如阿所述,r i p 是向量距离协议簇的一种协议。向量距离协议通常义称为 “b e l l m a n f o r d ”协议,因为它们足一reb e l l m a n 的最短路径算法及f o r d 和 f u l k e r s o n 最先提出的分布算法为基础的。为了理解r i p 西议,暂时不考虑复杂 的因特网的情况,而采用如图2 - 2 的五个结点和它们构成的六条链路的网络拓扑 结构。 r o u “j r e 幽2 - 2 个简单的州络拓扑 | 呈| 例说l 州:五个结点分别用路山;i a 、b 、c 、d 、e 、f 表小,链路分别用i 、2 、3 、4 、5 、6 表小 s 第二章r i p 路由协议的基本原理 2 1 1 冷启动 所谓“冷启动”操作,就是假设图2 2 中所有结点同时开启初始化网络。在 向量距离协议中要求每个结点具有最低限度的永久性信息,用来记忆自身的地址 和辩知与之相连的链路,即每个结点都只知道本地的状况,而不知道整体网络的 布局。这是一种初始化状态,路由表基本只是一个简单的框架,只包含本地的状 况。以路出器a 为例,路由表的内容如表2 1 表2 - i 路山措a 的路由表 结点a 以向量距离形式对该表进行抽象处理为向量。第二步,a 将向所有 以它相邻的结点或者确切的说在本地链路“广播”包含有序偶( a ,0 ) 的报文。 结果,b 和d 都收到这一信息,从而增加自己的知识。以路由器b 为例,初始 化状态下路由表的信息知表2 - 2 裘2 - 2 路由;| b 的胡始路由表 结点b 从链路l 收到包含序偶( a ,o ) 的报文,它就更新全部距离,方法 是在原有数值上) j h a 本地链路的丌销值( 一般设定为1 ) ,于是到达a 距离改为 1 。接着,将距离向量信息与本地路由表进行刘比,发现a 是未知项,于足加入 路由表,如表2 - 3 : 表2 - 3 路山;: b 的路由表 目的结点链路丌销 b 本地0 all 在此期问,结点d 也收到来自结点a 的初始报文,路由表更新如表2 - 4 表2 - 4 路由器d 的路由表 目的结点链路开销 d本地0 a3l 第三步,结点b 向它的本地链路1 、4 、2 ,结点d 向本地链路3 、6 ,分别 发送含有序偶( a ,1 ) 的报文。结点a 、c 、e 都会受到来自b 的报文,结点a 、 e 还会收到来自d 的报文。为了方便描述,假定结点b 的报文先到达a 、e 。 从链路1 上收到报文后,结点a 将到达目的地a 的距离更新为2 ,b 为1 。 它发现a 的距离比本地项要大,于足只插入到达结点b 的信息。同样当它从链 路3 收到d 的消息后,插入到达结点d 的信息。结点a 的路山表更新如表2 5 表2 - 5 路由器a 的路由衷 2 6 目的结点链路丌销 a 本地0 b1l d31 结点c 从链路2 收到包含序偶( b ,0 ) 、( a ,1 ) 的报文,路山表更新如表 第二章r i p 路由协议的基本原理 表2 - 6 路由器c 的路山表 目的结点链路丌销 c 本地0 b21 a22 结点e 从链路4 收到收到包含序偶( b ,0 ) 、( a ,1 ) 的报文,将其路由表 更新为如表2 7 : 表2 7 路由器e 的路由表 目的结点链路丌销 e 本地0 b41 a42 接着从链路6 收到包含序偶( d ,0 ) 、( a ,1 ) 的报文,距离加1 后为( d , 1 ) 、( a ,2 ) 。山于经过链路6 到a 的距离等于经过链路4 的距离,所以只在路 由表中加入了到达d 的情况。路由表更新为如表2 - 8 表2 - 8 路由器e 的路由表 现在a 、c 、e 都已经计算出新的路由表,并从各自的信息中概括出距离向 量,在其本地链路上进行传送。结点a 在链路1 、3 上发出包含序偶( a ,0 ) 、 ( b ,1 ) 、( d ,1 ) 的报文;结点c 在链路2 、5 上发出包含序偶( c ,0 ) 、( b , 1 ) 、( a ,2 ) 的报文:结点e 在链路上4 、5 、6 上发出包含序偶( e ,0 ) 、( b , 1 ) 、( d ,1 ) 、( a ,2 ) 的报文。于是,结点b 、d 、e 路由表分别改变如表2 - 9 , 2 1 0 ,2 1 1 : 表2 - 9 路山 | b 的路由表 目的结点链路丌销 b 本地0 a11 di2 c21 e41 袭2 1 0 路由器d 的路由表 目的结点链路丌销 d 本地0 a31 b32 e61 1 第二章r i p 路由协议的基本原理 表2 - 】i 路由器e 的路山表 目的结点链路丌销 e 本地0 b41 a4 2 d6 1 c51 结点b 、d 、e 准备好各自的距离向量,分别向本地链路发送。结点b 在链 路】、2 、4 上发送包含序偶( b ,o ) 、( a ,1 ) 、( d ,2 ) 、( c ,1 ) 、( e ,1 ) 的报 文;结点d 在链路3 、6 上发送包含序偶( d ,o ) 、( a ,1 ) 、( b ,2 ) 、( e ,1 ) 的报文;结点e 在链路4 、5 、6 上发送包含序偶( e ,0 ) 、( b ,1 ) 、( a ,2 ) 、( d , 1 ) 、( c ,1 ) 的报文。结点a 、c 、d 收到这些信息后,更新相应的路山表,如 表2 1 2 ,2 、l3 ,2 ,1 4 : 表2 一1 2 蹿由 | a 的路由表 目的结点链路丌销 a 本地o b11 d3 1 c12 e12 表2 1 3 路由器d 的踏由表 目的结点链路开销 d 本地o a3 1 b3 2 e61 c62 表2 1 4 路由器c 的路由表 目的结点链路开销 c 本地o b2 】 a22 e51 d5 2 至此,算法收敛,结点a 、c 、d 准备新的距离向量并在本地链路发送,但 这些报文不会导致b 、d 、e 路由表的任何变化。就这样,通过分柿式计算,每 一个结点已经了解了整个网络的拓扑结构。 2 1 2 链路中断 在上小节中,各个结点已经可以利用距离向量汁算路山,现在假没某条 链路发生了中断,假设是链路1 由于某种原因( 如:电源掉电、电t i t :f 扰或者人 为的被扒掉) 而被中断( 如图2 - 3 ) ,此时网络拓扑结构发生了变化,各个结点足 如何重新得到新的拓扑结构的睨? 首先路出器a 和b 发现了这个故障,他们立即把各自链路中链路l 的丌 8 - 第二章r l p 路由协议的基本原理 r o u te ie | 芏| 2 - 3 链路l 断抻后的= f 】扑结构 销改为“无穷大”,即把所有经由链路l 达到的结点的路【j i i :销变为无穷大,如 表2 1 5 ,2 1 6 : 表2 i 5 路由器a 的路山表 目的结点链路歼销 a 本地0 bl 无穷大 d31 c1 无穷大 e1 无穷大 表2 1 6 路由器b 的路山表 目的结点链路jr 销 b 本地0 a1 无穷人 d1 无穷人 c2l e41 结点a 、b 将重新计算并发送新的距离向量。结点a 向链路3 发送包含序 偶( a ,0 ) 、( b ,o o ) 、( d ,1 ) 、( c ,o 。) 、( e ,o o ) 的报文:结点b 向链路2 和4 发送包含序偶( b ,0 ) 、( a ,。) 、( d ,o 。) 、( c ,1 ) 、( e ,1 ) 的报文。 当d 收到a 的报文,发现所有的新的距离都大于或者等于原米的距离,但 只:有到达b 的路由是从链路3 来的,于是更新dt ”该条路山。d 的路山表更新 后为如表2 1 7 : 表2 1 7 路山器d 的路f b 表 日的结点链路:) 1 :销 d 本地0 a3l b3 无穷大 e61 c62 同样的c 、e 的路由表也因为结点b 的距离向量的变化而更新为如表2 - 1 8 ,2 一1 9 表2 - 1 8 路由器c 的路由丧 目的结点链路) r 销 c 本地0 b21 a2 无穷大 9 第二章r i p 路由协议的基本原理 e5l d52 表2 1 9 路山器c 的路由表 目的结点链路丌销 e 本地0 b41 a4 无穷人 d6l c51 现在,结点d 、c 、e 准备各自新的距离向量 发自d :( d ,0 ) 、( a ,1 ) 、( b ,一) 、( e ,1 ) 、( c ,2 ) ;( 链路3 、6 ) 发自c :( c ,0 ) 、( b ,1 ) 、( a ,o o ) 、( e ,1 ) 、( d ,2 ) ;( 链路2 、5 ) 发自e :( e ,0 ) 、( b ,1 ) 、( a ,o o ) 、( d ,1 ) 、( c ,1 ) ;( 链路4 、5 、6 ) 这些报文将导致a 、b 、d 、e 的路山更新,如表2 2 0 ,2 - 2 1 ,2 - 2 2 ,2 - 2 3 表2 - 2 0 路山器a 的路山表 目的结点链路丌销 a 本地0 b1 无穷人 d31 c33 e32 表2 - 2 1 路由器b 的路由表 目的结点链路玎销 b 本地0 a1 无穷大 d42 c21 e41 表2 2 2 路山器d 的路由袭 目的结点链路开销 d本地0 a31 b62 e61 c62 表2 2 3 路山器e 的路d l 表 目的结点链路”销 e本地0 b41 a62 d6l c5 1 结点a 、b 、d 、e 发送新的距离向量,引起结点a 、b 、c 的路 l 表的更新 如表2 2 4 ,2 ,2 5 ,2 2 6 : 1 0 第二章r i p 路由协议的基本原理 表2 - 2 4 路山 a 的路山表 目的结点链路丌销 a 本地0 b33 d31 c33 e32 表2 2 5 路由器b 的路山表 目的结点链路开销 b 本地0 a43 d42 c21 e41 丧2 - 2 6 路山器c 的路山表 目的结点链路丌销 c 本地0 b21 a53 e51 d 52 a 、b 、c 将继续发送各自新的距离向量,但4 ;会再引起路山表的新的改变; 山此,完成了由于链路1 的中断新的路由算法的收敛,并恢复了整个网络的畅 通。 2 1 3 弹跳现象 r o u t e r d r o u t e i f e 髑2 t 4 谩龄2 断抖) l i 旧孙| 铺粕 现在把网络 4 i j l 、结构改变卜,如图2 - 4 ,假设从r o u t e r c 剑r o u t e r e 的” 销为1 0 。链路2 突然断掉,l t , ib 把e - i 己的链路2 的丌销没为无穷人,即向量 c ( 距离为无穷人) ;但r o u t e r a 在b 发送新的距离向量之前已经把的向量c ( 距 离为2 ) 发送到d ;d 将向量c ( 距离为3 ) 给e ;e 的c 向量如果从链路4 得 到,距离为无穷大,如果从n i 确的链路6 得到为1 0 ,都人于向量c ( 距离为4 ) 。 于是e 认为町以从链路5 得到更近的到达c 的路山,并向本地链路广播,从而改 变b 的路山表。如此循环往复,至到当e 的c 向量的值超过1 0 ,这时爿能得到 从e 到c 的f 确路山经山链路6 。然后a 、b 、di t l t j 能得到到达c 的j 1 一确路山。 最后,计算过程结束,但已经经过了好儿轮,主要足因为刚络必须逐步增 加各个距离值。由于每一轮都使距离增加2 ,所以必须经过5 轮4 能增加到1 0 。 第二章r i p 路由协议的基本原理 但在实际的过程中,各个结点报文发送的顺序的随机性必将引起升i 同的结果:州 时,由于反复的循环,必将增加传输媒介的负担,分组会出现堆积并且极易引起 网络的阻塞,而这种阻塞引起的报文丢失将会使收敛的时| r l j 大大延长。 2 1 4 记数到无穷大 继续考虑链路断掉的情况。在12 节中已经讨论了当链路1 断掉,各个结点 是如何汁算路山的。此时结点a 的路山表为如表2 2 7 丧2 2 7 路山器a 的路山表 目的结点链路, :销 a本地0 b33 d31 c33 e32 | 芏i2 - 5 链路 假设在某个时刻链路5 突然断掉 5 断掉后的打i 扑结掬 网络拓扑结构盘图2 - 5 。此时路山器d 马 上更改相关的距离,路“| 表更新为如表2 2 8 表2 2 8 路由器d 的路山表 目的结点链路丌销 d本地0 a31 b6 无穷人 e6 无穷人 c6 无穷犬 如果此时,结点d 率先向缩点a 发送报文,那么很快结点a 就州以得到链 路断的消息;但,如果是结点a 率先向结点d 发送消息,那么d 的路山就更新为 女l i 表2 2 9 : 表2 2 9 路山柑d 的路山表 目的结点链路丌销 d本地0 a31 b34 e34 c33 结点d 将更新后的距离向量向链路3 发送,结点a 将史新e l 己的j | ! t i t 农月 形成新的距离向量向链路3 发送,如此循环往复,至到无穷大。 在上面的分析中,可以看出,在记数到无穷人的过程中,网络的一 ,问状念 蓐。厘群凶 第二章r i p 路由协议的基奉原理 十分混乱,大量分组循环发送,链蹿拼j 塞,路由报文本身也会凶为j | j 塞而丢失, 但是只要网络拓扑结构的不再发生变化,可以证实网络会逐渐收敛到新的状态。 2 1 5 水平分割 弹跳现象以及记数到无穷大都是距离向量中最小愿意看到的引起网络性能 降低的特钶:。可以采用水平分割( s p l i th o r i z o n ) 和“触发更新”技术将这种不利 的影响减到最低。 水平分割基于一个比较简单的原理。如图2 - 6 所示,当结点a 通过结点b 向目的站x 发送分组,那么b 就不会再试图通过结点a 到达目的站x 。也就是 说,如果r o u t e r a 从链路l 获得到达x 的路由,那么r o u t e r b 不会从链路1 获得 到达x 的路山。 幽2 - 6 水、f 分削 实现水平分割有两利叼;同的形式。简单的种,如果有关 i 的站的路山消 息从某条链路来的,那么在向浚条链路广播距离向量被忽略掉;比如结点a 从 链路1 卜得到结点x 的距离,那么当结点a 向链路发送它的距离向量时不发送 结点x 的距离。另外一种是毒性反转水平分割( s p l i th o r i z o nw i t hp o i s o n o u s r e v e r s e ) ,它将从该条链路米的距离向量以无穷人的丌销发向奉条链路。 前面两小节的循环问题都可以解决,但这种办法并不能解决所有的环路问 题。如上节图2 5 中的b 、e 、c ;p 的环路问题。 当链路5 由于某种原因断掉( 如图2 7 ) ,结点e 修改到达结点d 、a 的距 离向量为无穷火。此时如果结点e 在结点b 、c 发送消息之前将盟三新后的距离向 量在链路4 和6 上发送,那么网络会很快收敛。相反,无论结点b c 那一个在前 发送,都将修改结点e 到达a 、d 的无穷大的距离,从斯形成环路,出现记数到 无穷大的现象。 甲rout-ra 孽卧 6 r o ul e r d r o u t e ie 幽2 7 链路i 、5 断种肝的州络打l 扑 构 2 1 6 触发更新 在r i p 协议中,每一个结点何时发送距离向量是受多利一因素决定的,包括 1 3 第二章r i p 路由协议的基本原理 信息是否需要及时处理,是否有必要在做出决定之前等待全部更新,是否防止分 组的丢失,是否要监视邻机的状态等等。 在实现距离向量协议的很多种方案前,结点靠经常发送距离向量分纽监视 邻近结点和纠正分组的丢失。每个路山器都有一个更新定时器,周期性的发送 距离分组;另外有一个无效定时器,决定在多长时间内没有更新距离向量表示 该条信息不可达,邻机可能出现故障:还有一个删除的定时器,决定在一定的时 间内还没有路山更新,就删除陔条信息。在选择定时器的值时要注意既要满足能 及时的了解邻机或本地链路故的故障,又要注意彳i 能发送太多的分组形成网络拥 塞。一般情况下,更新定时器的值为3 0 秒,无效定【| 、】器为1 2 0 秒删除的定时 器为1 8 0 秒。 这种定时器的设置会出现一个问题,当某个结点的距离向量发_ 二改变,它 必须等到下一个周期才能将这个消息发送出去,使得网络收敛很慢,而儿容易出 现环路。解决这个问题的一个办法是再发定一个“触发定时器”,当某个结点的距 离向量发生变化,在触发时f h 内立即将更新的距离向量发送。显而易见,触发更 新会加快网络的收敛。 2 1 7 算法 由上沦述,可以看 n ,向量距离协议的算法是一个比较简单的分自j 式最短 路径算法。综合e 述的分析,距离向量算法可以表述如下: 一、初始化每个路由器g 的权值表只填写直接棚连的信宿( 或目的网络) 。 设路由器g 直接相连的网络有网络l 1 和网络l 2 ,则路山器g 的仞始化时的权 值表如表2 3 0 ) ; 表2 3 0g 初始化时的权值表 信宿v加权和d经过的相邻路由g l la直接 l 2b直接 _ 二、每个路由器g 周期性地( 例如每3 0 秒) 向各柏邻路山器j 。播“自己到 网上= 所有信宿的当前最短加权和”报文( v 、d ) 。 二、当每个路山器g 收到槲邻路山器g 的+ 个序偶( v 。,d 。) 时,其处理 如f : 1 若在g ,的权值表【 1 无v 。项,则增加项( 其巾,d 。是路山器g 到g 的权值,在r i p 中相邻路由器之州的权值为1 ,即d 。= i ) : v o ,d o + d l l ,g l 2 若在g 的权值表中已有v 。项,例如 v o ,d ,g k 如果d 。+ d 。 d ,且g k = g ( 原路径中断) 则也改为: v 。d 。+ d 。g 否则,不改。 对所有的十h 邻结点,对所有( v ,d ) 序偶执行上述1 ,2 操作。 四、不断重复二、三。一段时阳j 后每个路由器的权值表中的加权和d 都是最 1 4 - 第二章r i p 路由协议的基本原理 短的( 最佳的) 。权值表相当于该路由器的路由表。 从实现的角度r i p 算法可以描述如下: 1 、运行r i p 协议的路由器,启动f l e x , 路由表初始化,刈每个与自己直接相 连的网络生成一个表项。r i p 路由表包含目标网络、到目标网络的跳跃计数或度 量、以及包被发送到目标网络应经过的接 。其中到到目标刚络的跳跃计数川跳 数来表示,直接相连的网络跳数为0 。 2 、每个路出器周期性的向直接相连的其他路由器发送自己的路山表。 3 、当个路由器收到一个r i p 信息时,如果收到的路由不在路由表叶,则 将跳数加l 后添加到路由表中;如果要更新的路由在路出表中,世跳数更少( 即 距离更短) 且来自路由器不同的接口,则修改路由表中的干h 应项日;如果要更新 的路由在路山表中,来自相同的接口,则接收它。 2 2 r i p 版本1 最初设汁的r i p 做为u n i x 的b s d 版网络代码的一部分,在率课题中,r i p l 主要参照r f c ,1 0 5 8 设i t 的。 2 2 1 r i p 距离向量协议 在前面的论述中,已经了解r i p 是众多距离向量队议的砷i ,足一利,内部 网关协议。同时,r i p l 也是一种有类路由协议。所谓有类路山协议,就是路山 表f ;每一条路山都不从外部获得子网掩码,而是根据目的地址的特征,判断它属 于标准地址的那一类。_ i _ j 点分式表示i p 地址a b c d 。如果 0 00 o = a b c d ;1 2 7 2 5 5 2 5 52 5 5 ,是a 类地址,掩码为2 5 5 0 00 ;如果 8 0 0o = a b c d = 1 9 12 5 52 5 5 2 5 5 ,是b 类地址,掩码为2 5 52 5 5 00 ;如果 1 9 2000 = a b c d = 2 2 32 5 52 5 52 5 5 ,是c 类地址,掩码为2 5 52 5 5 2 5 50 。 默认情况下,r i p 使用一种非常简单的度量值式,距离就是通往目的站点所 必须经过的链路数,所旧“跳数”,值为l 1 5 。当度量值为1 6 表示无穷大。无 穷大的值不能太小,否则不能得到正确的网络拓扑结构,减低网络的性能;也不 能太大,凶为r i p 协议是一个不停广播报文的不安静的协议,如果太大,可能会 造成网络风暴。 r i p 支持点到点连接和广播型的网络。r i p 报文通过u d p 和i p 传输。r i p 进程通过u d p 的5 2 0 端口来进行发送和接收报文。 2 2 2 r i p i 的报文格式 r i p i 的报文格式如图2 _ 8 ,报文的头3 2 位是命令字+ 版夺标志符,后跟一 组或多组地址的信息,个r i p 报文最多可跟2 4 组地址信息。者个撒文不能 包含所有的路由信息,则另外组包。 命令域:值为1 是请求报文,请求发送路山器的路山信息;值为2 是应答 报文,包含路由信息。 版本域:值为l 是r i p v l 协议;版本域值为2 是r i p v 2 协议。 地址簇标识符:标谚 地址的类型。若是碑地址,则值为2 。 1 5 第二章r i p 路由掷议的基本原理 0781 51 63 l 命令字( 1 )版本( 1 )必须为0 ( 2 ) 地址簇标志符( 2 )必须为0 ( 2 ) i p 地址( 4 ) 必须为0 ( 4 ) 必须为0 ( 4 ) 度量值( 4 ) 地址簇标志符( 2 )必须为0 ( 2 ) 下一个i p 地址( 4 ) 2 3 r i p 版本2 r 1 p 2 足对r i p i 的升级。虽然r i p 曲,议是一种比较简单的距离向量协议, 但它并没有过时。旨先,在一个小型网络中,r i p 埘于使用带宽以及网络配置和 管理方面的要求是比较少的,与一些新的i g p 相比,r i p 的实现是比较容易的。 此外,现在r i p 还在大量使用,这足其他协议不能相比的。闪此,别r i p l 的升 级是有价值的。在下面的章节中,将详细介绍r i p 2 对版本1 的改进。 2 3 1 r 1 p 2 的报文格式 从图2 - 9 可以看出,r i p 2 的报文同r 1 p 1 的报文格式足兼容的,j 4 i 过将一 些域定义了新的意义。其中,“路由选择”域和“f 一跳”域起使用米使多 个自治系统共享一条线路;“子m 掩码”域使子网路由选择性能更好;“路山标 签”域用j 二对“外部路山”做标志,供e g p 和b g p 使用。 0781 51 63 l 命令字( 1 )版本( 1 )路由选择域( 2 ) 地址簇标志符( 2 )路山标签( 2 ) i p 地址( 4 ) 子网掩码( 4 ) 下一跳( 4 ) 度量值( 4 ) f地址簇标志符( 2 )路山标签( 2 ) l下一个i p 地址( 4 ) l | 芏| 2 - 9r i p 2 的撤史 2 3 2 按子网选择路由 如图2 1 0 ,路由器运行r i p i 版本的情况。初始化后r o u t e r a 路虫表2 3 0 表2 3 0 路由器a 的路由衷 目的网络子网掩码链路开销 1 0 1 0 0 2 5 5 2 5 5 0 0本地0 1 6 第二章r i p 路由协议的基本原理 z 眠吣晨虱量一z 虱募 】i o u t e r a i i o n t e ib 1 r o u t e r b 的跺山表如表2 - 3 1 表2 3 1 路山器b 的路山表 i 警i2 一1 0 按了列选择路山 部子网掩码,r o u t e r a 自己形成标准掩码2 5 50 0 0 ,e 1 的网络就从1 0 10 0 变成了1 000o ;b 所能到 达的网络经标准予网掩码后,也为1 0 000 ,小会修改b 的路由表;同样的,a 中也不会新增加任何路由信息。于是当主帆a 要向主k s lb 发送报文时,该报 文1 i 会找到1 r 确的路山,从而不能正确的到达日的地;对主机b 也是同样的结 果;所以,1 0i 0 0 子网同1 020 0 予网在r i p l 协议下不能通信。 但是,如果在r o u t e r a 和r o u t e r b 上采f t jr i p 2 协议,子刚1 0 1 0 0 同子网 1 0200 可以相互通信。这是因为r i p 2 叻议的路t t :l 报文会传送子例掩码,当 r o u t e r b 接收到r o u t e r a 形成的距离向量,所能到达的网络足1 01 00 2 5 52 5 500 , 在b 的路山表中不存在浚项,于是修改路出表:同样的,r o u t e r a 也会从链路2 收到新的路山信息,路由表被修改。具体如表2 3 2 ,2 3 3 表2 3 2 路由器a 的路山表 目的网络子网掩码链路 ,t 销 10 1 0 0 2 5 5 2 5 50 0本地0 1 020 0 2 5 52 5 50 021 表2 3 3 路由器b 的路由表 目的网络子网掩码 链路,r 销 1 0 2 0 0 2 5 52 5 5 0 0本地0 1 0 10 0 2 5 52 5 5 00 21 2 3 3 关于验证 r i p i 协议是一个不安全的协议,凼为任何个主机或者路山器只要构造一 个端口号为5 2 0 的任何u d p 报文都可以被邻机当作矿确的信息加入路山表。r 1 p 2 协议对此做了改进,引入了认证机制,对报文的地址簇域作了扩展。格式如图 2 1 1 。 即r i p 2 报文的第一项可以山一个“验证字段”;验证项唰以通过“地址簇 标志符”0 x f f f f 来标识:带有一个认证类型,一般有两种,明文认证和m d 。5 校验码的认证;后面紧跟的足4 个字节的验证数据。撇文经过验证后,可以不同 程度的防范各种攻击。 2 3 4 下一跳 在同一个线路上加载多个网络有一个缺陷。如图2 1 2 所示,路山器a 要从 自治系统x 向自治系统y 的f 发送一个报文。山f 路山器d 在名义上是自治系 第二章r i p 路由协议的基本原理 统y 的一个接【u j ,凶此首先将报文发送到d ,然后根据自治系统y 的路由表传 到e ,再将报文传给路由器f 。可见,一个报文在自治系统y 内的同一个链路上 传递了两次。 0 78151 63 l 命令字( 1 )版本( 1 )路由选择域( 2 ) 0 x f f f f验证类型( 2 ) 验证字符一审( 4 ) 地址簇标志? ( 2 )路由标签( 2 ) i p 地址( 4 ) 子网掩。吗( 4 ) 下一蹦i ( 4 ) 度量值( 4 ) 地址簇标志符( 2 )路由标签( 2 ) 下一个i p 地址( 4 ) | 芏| 2 1 ir i p 2 的验计报史 a s x ” 彳甲彳 | | | 上曹 、 “羔吵弋? s | 芏f2 1 2 选择域做f 一跳 r i p 2 为了解决这个问题,引入了下一跳,当路由器d 向自治系统发送路山 器f 的路由信息时,将f 一跳设为e ,于是告诉自治系统x 的路山器,到f 的 最好路径足经过e ,而不足d 。 r i p 2 的“路由选择域”,足当个路由器属丁二多个网络,用来标志该更新哪 个网络的路山表。 2 3 5 多点广播 r i p l 使用广播地址发送路由信息。这样,收到撇文的不仪有路山器,还有 同一局域网的所有主机;而在以太网或令牌环接口上滤去所有广播报文是不现实 的,它会使主机丢失许多重要的信息。 为了实现这种过滤,r i p 2 采用m a c 层多点j 、播地址机制。首先,r i p 2 定 义了一个d 类i p 地址2 2 4 009 ,通过汁算得出对应的多目m a c 地址;这样没 有允许该多日m a c 地址的计算机就不接收这个多r - i 广播地j 1 。构造多曰m a c 地址的算法:将i p 地址的低2 3 比特放到指定的以太网组播t 也j 1 1 :0 10 05 e0 0 0 00 0 的低2 3 比特。那么2 2 4009 的m a c 组播地址为叭0 05 e0 0o o0 9 。 需要注意的是,r i p 2 并不需要特殊的多日。播网络连接,闪为r i p 2 的多 日广播包h 在本地网络上传播,它甚至不需要组管理协议i g m p 。 1 8 第二章r i p 路由协议的基本原理 但存在一个与r i p l 兼容的问题。所以r i p1 , 2 2 、议存在三个操作模式 + 以广播方式发送r i p l 报文 + 以广播方式发送r i p 2 报文( 与r l p l 的兼容模式) + 以多i _ 广播方式发送r i p 2 报文 1 9 第三章系统的总体设计实现 第三章系统的总体设计实现 r i p 路由曲- 议只足整个路d 】器的一个简单的模块,它依靠整个系统软件和坎 件的支撑j 能证常的运行,实现它的价值。凶此,为了剥 发的整个路山器系统 有一个全面的理解,为了系统的阐述r i p 蹄山协议的实现,在这一章主要介绍系 统的总体设计。 本章主要包括的内容足,路山器产品设计的总体目标、主要性能指标;结 构设计方案;硬件总体殴计;软件的总体设汁和r i p 模块同系统的接i j 。 3 _ 1 路由器设计主要性能指标 一歹移 e ! 三:至至叵:二亘乒 j1 i 广西惑季瑟i ;i 卧_ 一面囵f h t w a yr 2 5 0 9 | 芏 3 1h 1 2 5 0 0 糸,0 路山器的外肌| 茎| 其上要性能指标如下: 3 1 1 物理接口与网络协议: 、物理接r 1 l 、以太网( l a n ) 的接i 】 1 个,支持l o b a s e 一r ,端接器r j 4 5 。 2 、广域网( w a n ) 的接口 2 个同步【:3 :可配置为r s 2 3 2 ,r s 4 4 9 ,e a 一5 3 0 ,x 21 ,v3 5 i 科一类型接 口,速率9 6 k 一6 4 k b p s :接f :】方式支持d i 、e d c e ,内时钟外l h 钟。 异步拨号口:l i t 一2 5 0 1 ,1 个a u x 口,异步r s 一2 3 2 ,d c e 标准,最商速率 6 4 k b p s ;i t r 一2 5 0 9 ,1 个a u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024安全员考试综合提升测试卷附答案详解(综合题)
- 2024年高职单招题库检测试题打印附完整答案详解【典优】
- 2025年陕西汽车控股集团有限公司招聘笔试备考试题及一套答案详解
- 2024-2025学年度工程硕士常考点试卷附答案详解(突破训练)
- 2024-2025学年度中医执业医师真题附参考答案详解AB卷
- 绿色能源项目2025投资合同
- 2025年自考专业(公共关系)预测复习带答案详解(考试直接用)
- 2025年版夫妻双方净身出户分割合同范本版B版
- 2024辽宁省东港市中考数学考试黑钻押题附参考答案详解【考试直接用】
- 2025年采煤作业人员考试题(附答案)
- 活动承办方协议书
- 屋面防水监理单位工程质量评估报告
- 安利公司奖金制度管理
- 人教版九年级化学上册暑假衔接讲义(初二升初三)
- 家庭网络安全指南
- 压滤机安装施工方案
- 中山事业单位笔试真题2024
- 形式与政策:第1课 国际形势的回顾与展望
- 关联规则挖掘与知识图谱-深度研究
- 危重新生儿救治基础知识考试题库500题(单选、多选题)
- 2025年酒店布草租赁与维护保养服务合同范本3篇
评论
0/150
提交评论