- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RIP協议设计课程设计报告(包含源代码)
网络程序设计
课程设计报告
题 目 RIP协议设计
专业及班级 网络工程1101班
学 号
姓 名
日 期 2012年7月3日
课程设计目的
了解RIP协议的原理和应用等相关知识,通过距离矢量算法来实现最短传输路径的路由选择。通过本次课程设计,可以对RIP协议的工作原理和实现机制,路由表的建立和路由信息的更新等有更直观和清晰的认识。
程序运行后能与路由器的RIP协议程序正确通信。
查阅相关RFC。
提供配置命令,程序运行后能动态设置协议参数。
收到的数据先放入循环队列,再从队列中取出依次处理。
使用定时器处理超时事件。
设计与实现
2.1 RIP协议的报文格式分析
对于RIP报文有两种版本的格式,Version 1和Version 2。两种报文稍有不同,如所示分别为RIPv1和RIPV2:
命令 版本 全零 地址族 全零 IP地址 全零 全零 度量值 前20个字节的重复 命令 版本 路由选择 地址族 路径标签 IP地址 子网掩码 下一个站点的IP地址 度量值 前20个字节的重复 RIP报文中至多可以出现25个AFI、互联网络地址和度量域。这样允许使用一个RIP报文来更新一个路由器中的多个路由表项。包含多个路由表项的RIP报文只是简单地重复从AFI到度量域的结构,其中包括所有的零域。
图表 2显示了路由信息域中只带一个目的地的RIP报文。
1字节命令 1字节版本 2字节0域 2字节
AFI 2字节
0域 4字节
网络地
址 4字节
0域 4字节
0域 4字节
度量
图表 2
图表 3具有两个表项的RIP报文
1字节
命令 1字节
版本 2字节
0域 两字节
AFI 2字节
0域 4字节
网络地址 4字节
0域 4字节
0域 4字节
度量 4字节
网络
地址 4字节
0域 4字节
0域 4字节
度量 图表 3
地址域可以既包括发送者的地址也包括发送者路由表中的一系列IP地址。请求报文含有一个表项并包括请求者的地址。应答报文可以包括至多2 5个RIP路由表项。
2.2 RIP的工作原理
RIP协议是矢量距离算法在局域网上的直接实现,RIP将协议的参加者分为主动机和被动机两种。主动机主动地向外广播路径刷新报文,被动机被动地接受路径刷新报文。一般情况下,网关作主动机,主机作被动机。
RIP规定,网关每30秒向外广播一个报文,报文信息来自本地路由表。RIP的度量是基于跳数(hops count)的,每经过一台路由器,路径的跳数加一。如此一来,跳数越多,路径就越长,RIP算法会优先选择跳数少的路径。RIP支持的最大跳数是15,跳数为16的网络被认为不可达。
对于相同开销路径的处理是采用先入为主的原则。在具体的应用中,可能会出现这种情况,去往相同网络有若干条相同距离的路径。在这种情况下,无论哪个网关的路径广播报文先到,就采用谁的路径。直到该路径失败或被新的更短的路径来代替。
RIP中路由的更新是通过定时广播实现的。缺省情况下,路由器每隔30秒向与它相连的网络广播自己的路由表,接到广播的路由器将收到的信息添加至自身的路由表中。每个路由器都如此广播,最终网络上所有的路由器都会得知全部的路由信息。正常情况下,每30秒路由器就可以收到一次路由信息确认,如果经过180秒,即6个更新周期,一个路由项都没有得到确认,路由器就认为它已失效了。如果经过240秒,即8个更新周期,路由项仍没有得到确认,它就被从路由表中删除。上面的30秒,180秒和240秒的延时都是由计时器控制的,它们分别是更新计时器(Update Timer)、无效计时器(Invalid Timer)和刷新计时器(Flush Timer)。
距离向量类的算法容易产生路由循环,RIP是距离向量算法的一种,所以它也不例外。如果网络上有路由循环,信息就会循环传递,永远不能到达目的地。如果出现环路,直到路径长度达到16,也就是说要经过210秒(30X7秒)来回,路径回路才能被解除,这就是所谓的慢收敛问题。是RIP的一个很大的缺陷,为了避免这个问题,RIP等距离矢量算法实现了4个机制:
文档评论(0)