LINUX下RIP路由的实现

上传人:沈*** 文档编号:79209260 上传时间:2022-04-23 格式:DOC 页数:99 大小:2.09MB
收藏 版权申诉 举报 下载
LINUX下RIP路由的实现_第1页
第1页 / 共99页
LINUX下RIP路由的实现_第2页
第2页 / 共99页
LINUX下RIP路由的实现_第3页
第3页 / 共99页
资源描述:

《LINUX下RIP路由的实现》由会员分享,可在线阅读,更多相关《LINUX下RIP路由的实现(99页珍藏版)》请在装配图网上搜索。

1、武汉理工大学硕士学位论文武汉理工大学 硕士学位论文 Linux下RIP路由的实现 姓名:胡峰 申请学位级别:硕士 专业:计算机应用技术 指导教师:郭庆平20070501摘要互联网(Internet)是信息时代的产物,在短短的几年时间里,它已经迅速蔓延 到世界的各个角落,并在一定程度上消除了人与人之间的空间距离,它已逐渐 成为人们工作,学习,生活中必不可少的工具,可以毫不过分地讲,互联网是 人类发展历史上的又一伟大丰碑。 .未来的网络将不断扩展,网络工作者也会不断提升网络的性能。在考虑升 级网络带宽,扩充网络容量的同时,人们常常会忽略一个成本问题。在网络核 心层,高端的路由交换设备将不可避免,但

2、是在接入层,是否可以考虑成本的 节省,让网络扩容的开销变得更低呢?答案是肯定的!-本文详细介绍一种低端路由器替代方案,使得个人用户或接入层用户可以 根据需要,将废旧的计算机转换成为一台路由器。使用一台低端的电脑,安装 Linux操作系统,把这个机器作为路由器来使用。Limix做软路由的优势是非常 明显的。首先,Limix对机器的配置要求可以做到很低,而且目前有很多中文版 本的Linux操作系统;其次,Linux不会受Windows操作系统病毒的影响,这是 Linux的在安全和稳定性上的一个优势;而且,文章中所涉及到的Zebra软件也 是GNU提供的开源代码,完全不需要支付任何额外费用。所以,通

3、过这种替代 的方式,电脑资源得到有效的利用,网络组建的成本也大大减低,完全没有必 要针对边缘用户专门购置一台路由器来解决其接入问题。本文在前人工作的基础上,结合RFC 2453文档和Zebra幵源代码,专门针 对RIP路由协议,给出一套完整的路由解决方案。.实验案例的系统平台釆用 Redhat Unux,内核版本为2.4.20以及2.4.18。文章从路由器和个人电脑的对比 入手,用简单的语言描述了应用的可行性。本文第一章,简单介绍了目前的网 络概况,路由器概念和软路由的概念;第二章将RFC2453中关于RIP路由的概 念做了详细的阐述;第三章深入分析了 Zebra代码的RIP实现部分并实现了一

4、个 新的命令来引导独立幵发;第四章将limix主机结合Cisco路由器应用到了具体 案例中:文章最后对RIP路由作了总结与展望。关键字:互联网,RIP路由,Unux, Zebra, Cisco路由器AbstractInternet is a product in the information times. It has stretched to every corner of the world during these years. The distance between people are becoming smaller and peoples can not live witho

5、ut it. There is a saying that,the Internet is another milestone in human-beings history.In the future,the network will keep growing, and the networking engineers will also make it more powerful. But,there is a problem about the costs when we update the bandwidth and enhance the capacity of the netwo

6、rk,which is often overlooked by us. High-performance routing and switching equipments in the core layer are irreplaceable, but in access layer, can we get a method to save the costs? The answer is yesThis thesis uses personal computer as low-performance router to handle the problem, which can entry

7、the users in access layer into the Internet, It uses a low- performance personal computer with Linux operating system working as a router. The configuration level of Linux PC is not very high and there are many Chinese versions of Linux, and also Linux will not be influenced by the vims in Windows,

8、Besides this, the software named Zebra using in the system is a open-sourced one, which is provided by GNU, ltf s free and it is a good method. The computer will be used effectively, and the costs of constructing a network will be less then before. There is no need to buy a router for the edging use

9、rs.On the basis of previous research, this thesis gives an integrated routing project with the help of RFC 2453 and Zebra which is open-sourced. The platform of the experiment is Rcdhat-Linux (the core version Is 2.4.20 or 2,4.18). This thesis begins with the contrast of Routers and Personal Compute

10、rs. The first chapter simply introduces the recent network, the concept of routers and the soft-routing. The second chapter gives a detailed introduction of RIP described in RFC 2453. The third chapter deeply analyzes the codes of RIP in Zebra and gets a new command to lead future development. In th

11、e fourth chapter,there are some cases about Linux PC and Cisco routers working together. The last chapter gives a summarization and some future武汉理工大学硕士学位论文works for the RIP routing.Key Words: Internet, RIP routing, Linux, Zebra, Cisco router第1章绪论现如今,Internet飞速发展,它越来越成为人们生活中的一部分,人们亲切 地把它叫做信息高速公路简单地说,

12、Internet是一个由各种不同类型和规模的, 独立运行和管理的计算机网络组成的世界范围的巨大计算机网络全球性计 算机网络11】。组成互联网的计算机网络包括小规模的局域网(LAN),城市规模 的区域网(MAN)以及大规模的广域网(WAN)等等。这些网络通过普通电话 线,高速率专用线路,卫星,微波和光缆等线路把不同国家的大学,公司,科 研部门以及军事和政府等组织的网络连接起来。通过使用互联网,全世界范围内的人们既可以互通信息,交流思想,又可以获得各个方面的知识,经验和信 。TCP/IP是互联网的基础协议,它规范了数据在网上打包、寻址、选路的标 准方法。协议简单灵活,使网络资源得到充分利用,代表了

13、网络无连接化和全 球寻址的大趋势。TCP/IP协议框架中的IP层对应于OSI参考模型中的网络层, 完成路由选择和分组转发功能。TCP对应于OSI参考模型中的传送层,完成端 到端之间的数据接收与差错纠正等。对于网络的研究,主要集中在0S1模型中 的网络层。在这一层里,最主要的一个名词就是路由器。它可以将各个不同的 网络连接起来,最终实现整个互联网的通讯3IW。通常,大型网络的建设耗资巨大,一台性能较为强劲的Cisco路由器就是几 十万,再加上后续添加的模块,成本会更高。如果我们能够找到新的设备来替 代昂贵的路由交换设备那将是一件值得庆幸的事情本文介绍了 Zebra路由软件 的设计结构以及Zebr

14、a的使用方法,使得一台Limix主机能够具有完整的路由功 能,并能在某些小型网络中来取代路由器51。1.1路由器介绍在这个数字化的时代里,路由器(Router)作为网络最主要的组成部分,扮 演着非常关键的脚色。它穿插在网络拓扑的关键节点上,对不同的网段进行有 效的连通。简单的说,路由器是一种连接多个网段的网络设备,它能将不同网 络或网段之间的数据信息进行“翻译”,使其能相互“读懂”对方的数据,从而构成一个更大的网络。路由器处于OSI七层模型中的第三层,也就是网络层,它从事不同网络之 间数据包(Packet)的存储转发工作,用于连接多个逻辑上分幵的网络(所谓逻 辑网络是代表一个单独的网络或者一个

15、子网)它具有判断网络地址和选择路 径的功能,能在多个网络互联环境中,建立灵活的连接。可用完全不同的数据 分组和介质访问方法连接各种子网。路由器只接受源站或其它路出器的信息,属于网络层的一种互联设备。它 不关心各子网使用的硬件设备,但要求运行与网络层协议相一致的软件。一般 说来,异种网络互联与多个子网互联都应采用路由器来完成。由于它在两个局 域网的网络层之间按帧传输数据时,需要改变两个局域网帧中的地址,亦即决 定在网络之间数据传输时的路由去向,所以叫“路由器”。路由器有两大典型功能,即数据通道功能和控制功能。数据通道功能包括 转发决定,转发以及输出数据链路调度等,一般由硬件来完成;控制功能一般

16、用软件来实现,包括与相邻路由器之间的信息交换,系统配置,系统管理等。 这里提到的硬件,就是路由器的组成,它和一台个人电脑是很相似。 路由器所使用的软件,Cisco把它称作IOS (Internetwork Operating System), 也就是互联网络操作系统,这个系统是一个纯粹的针对网络互联的软件,目前 为止,Cisco的IOS己经升级到了 12.4版本问71。1.1.1路由器硬件平台路由器从组成到体系结构,都和普通个人电脑非常相似,它们可以被认为 是“同种设备”。和个人电脑一样,路由器也有自己的体系结构。在这个层面上看,路由器 可以分为第一代单总线单CPU结构路由器,第二代单总线主从

17、CPU结构路由器, 第三代单总线对称式多CPU结构路由器,第四代多总线多CPU结构路由器,第 五代共享内存式结构路由器,第六代交叉开关体系结构路由器和基于机群系统 的路由器等多类8】1路由器主要是由CPU, ROM, Flash,NVRAM, RAM等几大部件组成1(1111; (1)中央处理器(CPU)与计算机一样,路由器也包含了一个中央处理器。不同系列和型号的路由 器,其中的CPU也不尽相同。Cisco路由器一般采用Motorola 68030和2Orion/R4600两种处理器。这些处理器的能力相比PC中的Pentium要低效很多, 但它却可以胜任路由查询,数据转发等工作。因此,用PC来

18、做路由是非常可行路由器的CPU负责路由器的配置管理和数据包的转发工作,如维护路由器 所需的各种表格以及路由运算等。路由器对数据包的处理速度很大程度上取决 于CPU的类型和性能。(2) 只读内存(ROM)只读内存在Cisco路由器中的功能与计算机中的ROM相似,主要用于系统 初始化等功能。ROM中主要包含:系统加电自检代码(POST),用于检测路由器中各硬件部分是否完好;系统引导区代码(Bootstrap),用于启动路由器并载入IOS操作系统:备份的IOS操作系统,以便在原有IOS操作系统被删除或破坏时使用。通 常,这个IOS比当前运行的IOS版本低一些,但却足以使路由器启动和工作。顾名思义,R

19、OM是只读存储器,不能修改其中存放的代码。如要进行升级, 则要替换ROM芯片。(3) 闪存(Flash)闪存是可读可写的存储器,在系统重新启动或关机之后仍能保存数据。Flash 中存放着当前使用中的IOS。事实上,如果Flash容量足够大,甚至可以存放多 个操作系统,这在进行IOS升级时十分有用。当不知道新版IOS是否稳定时, 可在升级后仍保留旧版IOS,当出现问题时可迅速退回到旧版操作系统,从而避 免长时间的网路故障。(4) 菲易失性RAM(NVRAM)非易失性RAM(Nonvolatile RAM)是可读可写的存储器,在系统重新启动或 关机之后仍能保存数据。由于NVRAM仅用于保存启动配置

20、文件 (Startup-Config),故其容量较小,通常在路由器上只配置32KB-128KB大小 的NVRAM。同时,NVRAM的速度较快,成本也比较高(5) 随机存储器(RAM)RAM也是可读可写的存储器,但它存储的内容在系统重启或关机后将被清 除。和计算机中的RAM样,Cisco路由器中的RAM也是运行期间暂时存放 操作系统和数据的存储器,让路由器能迅速访问这些信息。RAM的存取速度优 于前面所提到的三种内存的存取速度。运行期间,RAM中包含路由表项目,ARP缓冲项目,日志项目和队列中排 队等待发送的分组。除此之外,还包括运行配置文件(Rvmningconfig),正在 执行的代码,IO

21、S操作系统程序和一些临时数据信息。路由器的类型不同,丨OS代码的读取方式也不同。如Cisco 2500系列路由器 只在需要时才从Flash中读入部分丨OS;而Cisco 4000系列路由器整个IOS必须 先全部装入RAM才能运行。因此,前者称为Flash运行设备(Run from Flash), 后者称为RAM运行设备(Run from RAM)。1.1,2路由器软件平台互联网操作系统(IOS)是思科私有的核心软件数据包,是一个为网际互连 优化的复杂的操作系统。它主要在思科路由器和交换机上实现,专门针对网络 中的各种需求提供稳定高效的服务。CiscoIOS包含了一组精湛的网络技术,它 用最简单

22、的方式实现各种网络需求。对于Limix内核来说,虽然它具备网络功能, 但并不全面 Cisco用C语言写出了自己的IOS,专门针对网络中的各种协议对 其提供支持,并专门开发ASIC硬件芯片对数据报进行寻址和转发。发展至今, Cisco IOS已经成为了互联网络服务中统一的规范121。IOS是一个与硬件分离的软件体系结构,随网络技术的不断发展,可动态地 升级以适应不断变化的技术(硬件和软件)。IOS可以被视作一个网际互连中枢, 一个高度智能的管理员,负责管理的控制复杂的分布式网络资源的功能IOS是路由器的大脑,没有它路由器就不能对路由进行选择,目前Cisco路 由器的10S已经升级到了 12.4,

23、版本越高说明路由器支持的功能越丰富.作为 .一个行业标准,Cisco IOS有着许多特点,这些特征也是其它版本IOS所应当具 备的|131.(1) 广泛性Cisco IOS软件为所有主要的互联网协议组包括IP, Novell NetWare, Apple AppleTalk, Banyan VINES,数字 DECNet, OSI, XNS 及 Apollo 域等提供了 协议和路由选择支持(2) 带宽优化Cisco IOS体系结构通过消除广域网(WAN)链路上不必要的流量以及智能选择最经济的可用WAN链路来实现带宽的最优化处理。IOS性能诸如带宽预留和优先权排序等使得网络管理员能够存储带宽,并

24、基于应用程序类型,源4或目的地等划分流量优先级。(3) 资源分配控制Cisco IOS中包含优先权排队和客户排队操作。优先权输出排队操作允许网 络管理员传送一定的数据包到较高优先级的队列中,而客户排队操作允许网络 管理员预留带宽,或基于用户定义的变量类型划分WAN链路上的流量优先级。 Cisco与其它桌面软件供应商共同合作,将Cisco IOS体系结构部件应用于服务 器,并从服务器一直延伸至终端用户站都支持带宽预留和排队技术。(4) 管理和安全Cisco IOS具有网络管理性能和特征,它可以降低网络带宽需求,并提供处 S开销,卸载(Off-Load)服务器,保存资源和减轻系统配置任务等功能。C

25、isco IOS软件具有一组完善的安全工具箱,用以区分资源以及禁止访问敏 感或保密信息或程序多面滤波器可以防止用户知道其它网络用户或资源信息。 密码加密处理,拨入认证,多级配置权限,计费和日志等特性可以阻止未被授 权的用户访问信息。强大的防火墙技术和远程访问安全方案主要用于保护共同 信息和资产。(5) 综合和可伸缩性Cisco IOS软件支持综合路由选择技术,LAN交换技术以及ATM信元交 换技术,并提供了可伸缩性,即可以任意连接大量的LANs和终端站。此外IOS 也支持可伸缩路由选择协议,从而可以避免无用拥塞,克服协议固有局限性, 并越过由于互联网区域分布特点及其分布范围引起的障碍。1.1.

26、3路由器接口路由器要连接多种不同的网络介质,那么它必须拥有多样化的接口类型。 通常,一台路由器具备以下接口类型14|151:控制口(Consoleport):所有路由器都安装了控制台端口,使用户或管理员能 够利用终端与路由器进行通信,完成路由器配置。该端口提供了一个 EIA/TIA-232异步串行接口,用于在本地对路由器进行配置(首次配置必须通过 控制台端口进行)。串口(Serialport):连接另一台路由器的串口,路由器上最常见的端口;以太网口(Ethernet port): 连接主机/路由器的Ethernet port;异步口( Auxiliary port):连接 modem ;武汉理

27、工大学硕士学位论文AUI 口(AUIport):连接同轴线揽(己经过时)。但是可以用转接口当Ethernet port使用;ATM 口(ATM port):连接另一台路由器的ATM 口。这些接口分别被应用在不同类型的网络中,相比PC来说有着很丰富的接入 类型;而个人电脑只有一个Ethernet 口,用于以太网的连接。所以,在Limix下 实现的路由,都是在以太网中的应用。1.1.4路由器登陆方式前面己经对路由器的接口做了介绍,通过这些接口,一共有5种方式登录 到路由器。(1) Console 口连接终端登录。Console 口登陆是菲常常用的一种方式,通常第一次配置路由器的时候,我 们要用到这

28、个方式,图1-1就是选择我们和路由器Console 口连接的端口。图1-2 显示的是端口建议的各个参数,当再次确定后,我们就登陆上了路由器。对应的Zebra关于PC路由器的登陆,采用的也是类似的方式,只不过是以 telnet的连接登陆到指定的本地四层端口,在实现的方式上有所区别,但是效果 是一样的。(2) AUX 口接MODEM,通过电话线与远方的终端或运行终端仿真软件的微 机相连;这种方式很古老了,适用电话线的连接已经过时。(3) 通过Ethernet上的TFTP服务器;TFTP服务器可以保存路由器的很多完整配置因此我们可以直接从TFTP 服务器上下载完整的配置文档,直接作用在路由器上(4)

29、 通过Ethernet上的Telnet程序;Telnet登陆方式是最常用的访问方式了,90%以上的操作都是通过telnet登 上的路由器。其中也包括FC路由器适用的Zebra路由,也是适用telnet结合 Console端口,登陆到路由器。(5) 通过Ethernet上的SNMP网管工作站,SNMP适合做一些简单的操作,用法不是很专业,也不是很普及。6武汉理工大学硕士学位论文图1-2 COM 口参数设置图 图1-3给出了一个登录方式汇总。在Linux中,开启Zebra后,可以直接登陆到本机的端口,通常2601 口是 Zebm的默认端口。SNrMPMtxfnnrermtJiiil图1-3 Tel

30、net方式汇总图1.2可行性分析本文的主要目的就是要介绍如何使用一台个人电脑在网络接入层取代路由 器的地位,从而达到节约资源的目的.下面通过硬件,软件两方面进行阐述。1.2.1路由器和个人电脑的硬件对比在硬件上,路由器和个人电脑非常相似。可以说,路由器就是一台低性能 主机。组成结构上的对比如下所示:武汉理工大学硕士学位论文路由器的CPU和个人电脑的CPU样,用来运算; 路由器ROM相当于PC机的BIOS,运行配置或活动配置文件保存这里; 路由器FLASH相当于PC机硬盘,存储了功能完备的IOS映像文件; 路由器RAM动态内存,也就是PC的内存;路由器的NVRAM配置文件,也叫非易失性随机存取存

31、储器。它存储了路 由器初始启动配置文件。在Cisco路由器的NVRAM中存放有startupconfig” 配置文件,路由器启动时它将被加载到主内存RAM中成为“running-config”而 生效;这就相当于PC的预先设置,开机后自动加载。除RAM以外,所有这些类型的存储器都是永久性存储器,这样的比较,发 现路由器和PC在硬件组成上基本是一致的。 路由器在启动的时候,也和PC很类似:(1) 系统硬件加电自检。运行ROM中的硬件检测程序,检测各组件能否正 常工作。(2) 开始软件初始化工作,运行ROM中的Bootstrap程序,进行初步引导 工作,寻找并载入IOS系统文件。IOS系统文件可以

32、存放在多处,至于到底采用 哪一个IOS,是通过命令设置指定的。(3) IOS装载完毕,系统在NVRAM中搜索保存的Startup-Config文件,进 行系统的配置。如果NVRAM中存在Startup-Config文件,则将该文件调入RAM 中并逐条执行。1.2.2 Cisco丨OS和Linux软路由的比较IOS是一个专门针对网络的操作系统,它可以实现多种需求,包括丨GP/BGP 路由,Multicast, Qos, IPv6等等;相比之下,一个linux操作系统不仅具备广 泛的系统服务,也拥有不错的网络功能,虽然它不像IOS那样有针对性,但它 仍然能够提供很多网络服务。Zebra是一个运行在

33、类Unix平台上的路由软件,它可以提供更为专业的网 络服务,某种程度上,Zebra可以理解为Linux的IOS:同时,Zebra还是一个开 源软件。所以,在Linux上运行Zebra,两者的结合便形成了一台专业路由器。1.2.3 Cisco路由器和Linux主机对比小结基于上面的介绍,再对主机和路由器做一个总结性的比较,看一台主机是 否可以在某种程度上代替路由器。在硬件上,一台主机是由CPU,内存,硬盘等等配件组成,它们协调工作; 硬件性能越高,主机性能也越高;一台路由器也有CPU,Flash, ROM等硬件概 念,它们的性能高低也直接关系到路由器转发数据,选择路由的能力。可以这 样说,路由器

34、就是一台性能较为低下的主机。在软件系统上,一台主机可以安装许多系统,其中就包括比较流行的Limix; 台路由器就自己专用的IOS,该系统仅仅针对网络上的需求和路由器的硬件一 起工作。所以,当一台主机拥有了专门针对网络功能的软件,它就己经是一台 路由器了。而现在就有这样一个开源的软件一Zebra。它是按照RFC文档的规 范,用C语言设计出来的。其功能几乎同Cisco路由器一样。因此,当Zebra同 Linux结合起来,一台路由器替代产品就产生了。此外,在接口上,主机只拥有以太口,这个相对于路由器丰富的接口来说, 比较不足;由此而来的登陆方式方面,主机也比路由器逊色,它只拥有Telnet 方式的登

35、陆。.所以,在特定的应用范畴里,Linux主机可以代荇路由器,在Linux下实现 RIP路由,是可行的。1.3论文研究内容和意义论文的研究内容包括Cisco路由器介绍,RIP报文结构介绍,RIP开销计算, RIP报文更新,RIP环路预防,Zebra软件结构分析,Zebra She丨丨命令行分析, RIP路由进程分析。同时,笔者还对Zebra代码做了细微修改,增加了新的路由 察看命令,设计实现了 Zebra结合Cisco路由器的应用案例,并对实验结果进行 了分析和验证。网络的发展越来越快,边缘用户数量也与日俱增。为了解决用户的网络接 入问题,用低成本的Linux主机配合Zebra软件来代替路由器

36、是一个非常节省资 源的方案。文章在分析RIP路由协议和Zebra代码的基础上,针对这种实现方案 做了全面阐述,具有一定实际意义,11武汉理工大学硕士学位论文第2章RIP路由概念RIP(Routrag information Protocol)是应用较早,使用较普遍的一种内部网关 协议(Interior Gateway Protocol,简称IGP),它适用于小型网络,是典型的距离向 量(Distance-vector)协议。RIP使用一种非常简单的度量来计算路由开销路由 跳数,就是通往目的站点所经过的设备节点数,取值115,数值16表示无穷大。 RIP进程使用UDP520端口来发送和接收RIP

37、报文。RIP报文每隔30s以广播的 形式发送一次,为了防止“广播风暴”的出现,后续RIP报文将做随机延时后 发送。在RIP中,如果一条路由在180s内未被刷新,则该路由的跳数就被设定 成无穷大,并从路由表中删除该路由。RIP-1提出较早,存在许多缺陷。为了改 善RHM的不足,在RFC1388中提出了改进的RIP-2,并在RFC 1723和RFC 2453 中进行了修订。RIP-2定义了一套有效的改进方案,新的RIP协议支持子网路由 选择,支持CIDR,支持组播,并提供了验证机制1161。随着0SPF和丨S-IS的出现,许多人认为Rff已经过时了。但事实上RIP也 有它自己的优点,对于小型网络,

38、RIP路由协议开销小,易于管理和实现。至今 为止RIP协议还在大量使用。但R】P也有明显的不足,在多个网络的情况下会 出现环路问题。为了解决环路问题,IETF提出了分割范围方法,即路由器不可 以通过它得知路由的接口去重复宣告路由。分割范围解决了两个路由器之间的 路由环路问题,但不能防止3个或多个路由器形成路由环路。触发更新是解决 环路问题的另一方法,它要求路由器在链路发生变化时立即传输它的路由表。 触发更新加速了网络的聚合,也容易产生流量泛滥。总之,环路问题的解决需 要消耗一定的时间和带宽。若釆用RIP协议,其网络内部所经过的链路数不能 超过15,这使也得RIP协议不适于大型网络2.1 R丨P

39、所属类别通常,路由协议分为距离矢量路由协议和链路状态路由协议: 距离矢量协议也称为距离向量协议,是根据距离矢量(跳数hop)来进行路 由选择,确定最佳路由。RIP路由协议就是一种距离向量协议。链路状态协议则是根据带宽,延迟等指标综合考虑得到一个权值,再根据11武汉理工大学硕士学位论文权值确定最佳路由。OSPF路由协议就是一种链路状态协议。相比较,距离矢量路由协议对路由器的性能要求不高,能够很迅速地计算 出最佳路由;而链路状态路由协议对路由器的性能要求较高,对路由开销的计 算也更加复杂:因此,前者一般用于较小规模的网络,后者则可以驾驭更大的 网络工程181。2.2 RIP版本RIP路由协议作为最

40、早的距离矢量路由协议,目前仍被广泛的使用者。RIP 协议共有两个版本VI和V2。RIPv2对RIPvl做了很多方面的补充和加强,它 并不是一个新生的路由协议。版本1和版本2最主要的区别在于:RIPvl是有类 别路由协议,而RIPv2是无类别路由协议。相比较第一版,RIPv2还增加了一些 特性:每个路由条目都携带自己的子网掩码; 路由选择更新具有认证功能; 每个路由条目都携带下一跳地址; 支持组播路由更新:其中第一条,携带子网掩码的功能,使得RIPv2跻身于无类别路由协议的 行列。2.3 RIP报文结构RIP路由协议发展至今,一共有两个版本,分别是版本1和版本2,它们的 区别可以体现在报文结构上

41、19】【201。2. 3.1 RIPvl报文结构每条消息包含一个命令标识(Command), 个版本号(VersionNumber) 和路由条目(最大25条),每个路由条目包括地址簇标识(Address Family Identifier),路由可达的IP地址和路由的跳数。 RIPvl的消息格式表2-1所示:表2-1 RIPvl报文结构表8bits8bits8bits8bitsCommandVersionUnused (set to all zeros)Address Family IdentifierUnused (set to all zeros)IPv4 Address32bits/4b

42、ytesUnused (set to all zeros)Unused (set to all zeros)Metric32bits/4bytes共可以容纳25个EntriesAddress Family IdentifierUnused (Must be zero)命令(Conmiand):只取值1或者2; 1表示该消息是请求消息,2表示该消息是响应消息。其它的取值都不被使用。版本号(Version):对于RIPvl或者RIP v2,该字段的取值对应为1或2 地址簇标识(Address Family Identifier,AFI):对己IP地址,该项设置成IP地址(IPAddress):路由

43、的目的地址。这一项可以是主网络地址,子网 地址或主机地址;表示路由器自己知道的网段。度量(Metric) : Metric在RIP里面就是指的跳数(hop),该字段的取值 在1-16之间。另外,如果某台路由器必须发布大于25条路由的更新消息,那么必须产生 多条RIP信息。由于一些历史原因,RIP消息的格式不那么合理,消息中没有使 用的字段空间占了很多,这种遗留一直保持到了现在。尽管如此,RIP作为一 个经典的路由协议,依然被很多地方使用。2.3.2 RIPv2报文结构RIPv2的消息格式基本上同RIPvl相同,如表2-2所示:表2-2 RIPv2报文结构表8bits8bits8bits8bit

44、sCommandVersionUnused (Must be zero)Address Family IdentifierRoute TAGIPv4 Address32bits/4bytesSubnet Mask32bits/4bytesNext Hop32bits/4bytesMetric32bits/4bytes一共可以容纳25个EntriesAddress Family IdentifierRoute TAG所有相对于原来协议的扩展特性都是由未使用的字段提供的。和RIPvl 一 样,RPv2的更新报文最大可以包含25个路由条目。同样,与RIPvl相同的是, RIPv2的操作使用UDP的5

45、20端口号。通过对比观察,不难发现,RIPvl中的Command, Version, Address Family Identifier, IP Address, Metric是没有变化的,它们在RIPv2版本中所代表的 意义同RIPvl是一样的。RIPv2中多定义了路由标记(Route Tag),子网掩码 (Subnet Mask),下一跳(Next Hop )体现了新版本的特性。路由标记(Route Tag):提供这个字段用来标记外部路由或重分布到RIPv2 协议中的路由默认的情况是使用这个16位的字段来携带从外部路由选择注入 到RIP中的路由的自主系统号。虽然RIP协议自己并不使用这个字

46、段,但是在多个地点和某个RIP域相连的外部路由,可能需要使用这个路由标记字段通过 RIP域来交换路由信息。这个字段也可以用来把外部路由编成“组”,以便于在 RIP域中更容易地控制这些路由。子网掩码(Subnet Mask):这个字段确定了 IP地址的网络和子网部分的32 位的掩码。正是这个新字段的提出,让RIPv2能够识别变长子网,让RIP支持 无类子网。下一跳(NextHop):如果下一跳字段存在的话,它将标识一个比通告路由 器更好的下一跳。这里指出的下一跳地址,其度量值比同一个子网上通告的路 由器更靠近目的地。如果这个字段设置为全0,说明通告路由器的地址是最好的 下一跳地址。2.4 RIP

47、请求消息类型RIP请求消息可以请求整个路由表信息,也可以仅仅请求某些具体路由的信 息。就前一种情况而言,请求消息含有一个地址簇标识字段为0(地址为0.0.0.0) 度量值为16的单条路由,接收到这个请求的设备将通过单播方式向发出请求的 地址回复自己的整个路由表,并遵循一些规则例如水平分割规则(Split Horizon) 和边界汇总规则(Boundary Summarization。一些诊断测试程序可能需要知道某个或某些具体路由的信息。这样的话, 请求信息可以附上相关地址的路由条目一起发送。接收到这个请求的设备将根 据请求信息逐个处理这些条目,构成一个响应信息。如果该设备的路由表中己 经有请求

48、信息地址中相对应的路由条目,则把这些路由条目的度量值填入Metric 字段。如果没有,Mertric字段就被设置为16。在不考虑水平分割和边界汇总的 情况下,响应将正确告诉这台路由器了解的信息。2.5 RIP跳数概念在RIP的消息结构中,提及到了度量(Metric)字段,也叫“跳数”。跳数 理解为一个路由条目所经过的结点个数。 如图2-1所示:l.lfi.l.l)1(1 丄 l.llHl.lMlIJMU 力HAKliKC图2-1 RIP拓扑图1 这里RA知道172.16.1.0和10.1.1.0两个网段,它将从RB学习到10.2.2.0和 192.168.1.0网段;对于10.2.2.0来说,

49、ItA经过了 RB这一个路由器,因此10.2.2.0 对于RA来说就是1跳;同理,192.168.1.0经过了 RC,RB,然后才到RA,因 此RA关于192.168.1.0的路由的metric是2。关于这两个网段的metric值,就包含在其路由信息中: RA# show ip routeCodes: C - connected, S - static, I - IGRP, R - RIP, M - mobile,D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type

50、 1,N2 - OSPF NSSA external type 2 El - OSPF external type 1,E2 - OSPF external type 2, E - EGPi - IS-IS, LI - IS-1S level-1, L2 - IS-IS level-2U - per-user static route, o - ODR T - traffic engineered routeGateway of last resort is not set172.16.0.0/24 is subnetted, 1 subnets C172.16.1.0 is directly

51、 connected, EthemetO10.0.0.0/24 is subnetted, 2 subnets R10.2.2.0 120/1 via 10.1.1.2,00:00:07, Serial2C10.1.1.0 is directly connected, Serial2R 192.168.1.0/24 120/2 via 10.1.1.2 00:00:07, Serial2 这里的10.2.2.0和192.168.1.0的Metric值全部都标明出来了,分别是1 和2, Metric概念的提出,是为了方便RIP选择一条到达目的地的最佳路径,如 图2-2所示。图2-2 RIP拓扑图

52、2 RA可以通过RB可以到达192.168.1.0,同时也可以通过RD到达;但是 这两条路由的metric个是2,一个是3;因此RA选择了从RB走。而RD那 条路经就成为了一个备份链路,当RB出现问题的时候,就可以被使用。2.6 RIP管理距离管理距离就是人为指定的一个数字,每一种路由协议都会有自己的管理距 离。由这个数字来代表路由协议的优先度,数字越小,路由器就越优先采用这 个路由协议通告的路由。例如,静态路由默认的管理距离1,而RIP是120。如 果到达某个网段的路由通告由这两个同时通告,则会采用静态路由通告的路径。 常用的几个路由协议的管理距离如下: 直接连接: 0 静态路由: 1 EI

53、GRP:90IGRP:100OSPF:110RIP:120RIP相比之后出来的路由协议,管理距离较低,这就意味着当某个路径被 RIP和另外一个路由协议同时学习到时,RIP将失去对该条目的控制权,如图2-3 所示。图2-3 RIP拓扑图3 假设RA-RB-RC之间是采用的RIP路由协议,管理距离是120; RA-RD-RE-RC之间采用的是OSPF路由协议,管理距离是110; 那么RA上关于192.168.1.0网段的控制权,将被OSPF抢走,OSPF的管理 距离比RIP小,因此RA将选择RA-RD-RE-RC这样一条路径到达192.168.1.0 网络。2.7 RIP更新机制如图24所示。路由

54、更新机制,指的是让其它路由器知道自己所连接的网段, 从而达到整个路由表的同步。在一个使用路由选择算法的典型距离矢量路由协议中,路由器通过广播整 个路由选择表,定期地向所有邻居发送路由更新信息。图24中,各个路由器均 向自己的邻居发布路由更新 1221 2311241在RIP更新中,有几个重要的概念,下面逐个解释!(1) 定期更新定期更新意味着每过特定时间周期就要发送更新信息。这个时间周期根据 各个路由协议的不同而有所区别。如果更新信息发送过于频繁,可能引起链路 拥塞;但如果更新信息发送不频繁,收敛时间可能长的不能被接受。(2) 广播更新当路由器首次在网络上被激活时,它需要和相邻路由器建立邻居关

55、系,还 要宣告自己的路有。路由器有三种方法实现:广播更新,组播更新,单播更新。RIP更新消息图2-4 RIP拓扑图4其中最简单的方法是向广播地址(IP网络中,广播地址是255.255.255.255) 发送更新信息使用相同路由协议的邻居路由器将会收到广播报文并且采用相 应的动作。不关心路由更新信息的主机和其它设备则会忽略该广播报文。(3)组 播/单播更新方式在RKV2版本中,路由器通过224.0.0.9这个组播地址更新路由。组播更新 和收音机的原理一样,只有接收该组播段的设备才能收到RP路由。相对于广 播而言,组播更新的方式更加节省网络开销。RIPv2还支持针对某个邻居的单播更新,即只对指定的

56、邻居路由器发布更新 报文,而不对其它路由器发送。单播更新相对组播更新,目标更加精确,使用 更加灵活,只是管理上较为复杂。(4)邻居关系在路由器的语境中,邻居通常意味着共享相同数据链路的路由器。距离矢 量路由协议向邻居路由器发送更新信息,并依赖邻居关系向它的邻居传递更新 信息。因此,RIP采用的是逐跳更新方式邻居关系的建立是交互路由信息的前对于RIP路由协议的更新,下面给出一个简单例子来分析其具体过程。拓 扑如图2-5所示-3410.1.x.x 网段 UUAA 10. L10.1.2.1 JO.L2.2 IO.IJ.I ll,pw i .)z: .:zt. .1 AB Hi.l_3.il10.1

57、.1.0JO.丨.5,0图2-5 RIP拓扑图5首先,RIP更新主要由两种-(1) 包含整个路由表的更新信息大多数距离矢量路由协议,包括R丨P,使用非常简单的方式告诉邻居自己所 知道的一切,该方式就是广播它的整个路由表。邻居路由器收到这些更新信息 后,它们会收集自己需要的信息,其它则被丢弃。(2) 依照传闻进行路由选择网络工作正常的情况下,RIP路由器将逐个交互路由信息。在各个时间周期 内路由表所含有的路由条目,如表2-3所示。C10.1 ).!)M表2-3 RIP路由更新表ABCD网络下 跳跳 数网络下 跳跳 数网络下 跳跳 数网络下 跳跳 数TO时刻10.1.1.0 10.1.2.0“0

58、010.1.2.0 10.1. 3. 00 010.1.3.0 10.1.4.00 010.1.4.0 10.1.5.0:0 0下一时间片T11 H- *o o o卷 * tCO to k 1 o o o2.20 0 110.1.2.0 10.1.3.0 10.1.1.0 10.1.4,02.1 3.20 0 1 1o o o oerj TP C LOn1 t i1 i1,o o o o3.14.20 0 1110.1.4.0 10.1.5.0 10.1. 3. 04.10 0 1下一时间片T210.1.1.0 10.1.2.0 10.1.3.0 10.1.4.02.2 2.20 0 1210

59、.1.2.0 10.1.3.0 10.1.1.0 10.1.4.02.1 3.20 0 1 11Ipi K) COooo o3.14.20 0 1 110.1.4.0 10.1. 5. 0 10.1.3.0 10.1.2.04.1 4. 10 0 1210.1.5.03.2 210.1.1.0 3.12下-时间片T310.1.1.0一010.12.0010.1.3.0一-010.14.0010.1.:2.0010.13.0-010.1.4.0010.15.0010.1.,3.02.2110.11.02.1110.1.2.03.1110.13.04.1110.11.02.2210.14.03.2

60、110.1.5.04.2110. 12.04. 1210.1.5.02.2310.15.03.2210.1.1.03.1210.11.04.13距离矢量路由协议逐跳收敛过程表2-3中,正在执行一个RIP路由算法,使用跳数作为度量。在tO时刻,路由器ABCD都可用。察看路由表,4台路由器在10时刻所具 有的唯一信息就是它们的直连网络。路由选择表标识了这些网络,并且指明它 们没有经过下一跳路由器,是直接连接在自己上的,所以跳数是0。每台路由器 都将在它所有的链路上广播这些信息。在tl时刻,路由器接收并处理第一个更新信息此时,察看路由器A的路 由表,路由器B发给路由器A的更新信息说路由器B能够达到网

61、络10.1.2.0和 10.1.3.0,而且距离跳数是0跳。如果这些目标网络距离是0跳,那么距离A则 是1跳。所以路由器A将跳数增加到1,然后再检查自己的路由表。路由选择表 中显示10.1.2.0已知,且距离为0跳,小于B通告的跳数,所以路由器A忽略 此IS息o由于网络10.1.3.0对路由器A来说是新信息,所以A将其输入到路由选择 表中。因为更新报文的原地址是路由器B的接口地址(10.1.2.2,简称为2.2), 因此该地址连同计算的跳数一起被保存到路由选择表中。在tl时刻,其它路由器也做了相应的操作,规则和路由器A样。 在t2时刻,随着更新周期再次来到,另一组更新报文被广播。路由器B发 送

62、了更新的路由选择表。路由器A再次将B通告的跳数加1后与自己的路由选 择表相比较。像tl时刻一样,A又一次丢弃了关于10.1.2.0的信息。由于网络 ).1.3.0已知且跳数没有发生变化,所以该信息也被丢弃。唯有10.1.4.0被作为 新的信息输入到路由选择表中。在13时刻,网络收敛。每个路由器都已经知道了每个网络以及到达每个网 络的下一跳路由器地址和距离跳数。2.8 RIP计时器路由器启动以后,平均每隔30秒,每个启动RIP路由协议的接口就不断发 送出相应信息。除了某些被水平分割法则抑制的路由条目之外,更新涫息包含 了路由器的整个路由表。这个周期性的更新计时器pdateTimer)进行初始化, 并且包含一个随机变量来防止表的同步。结果,一个典型的RIP处理单个更新 的时间大约是25-30秒。这样的一个随机变量让路由器更新时间缩短0-15%,也 就是减少更新时间4.5秒以内。因此路由器的更新时间是在25.5到30秒之间的 一个值。R1P路由更新默认的目的地址是所有主机255.255.255.255。距离矢量路由协议中有一个无效计时器(InvalidationTimer)用来限制停留 在路由选择表中的路由未被更新的时间。RIP称这个计时器为超时计时器 (Timeout Timer).无论什么时候,当有一条新的路由

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!