RIP路由协议

RIP(Routing Information Protocol,路由信息协议)作为一种较为简单的动态路由协议,在实际使用中有着广泛的应用。RIP协议是一个应用于网关(路由器)和主机之间交换路由器信息的距离矢量协议,目前最新版本是RIP v2。RIP采用距离矢量算法,即路由器根据距离选择路由,所以,也称为距离向量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其他信息均予以丢弃。同时,路由器也把所收集的路由信息用RIP协议通知相邻的其他路由器。这样,正确的路由信息逐渐扩散到了全网。

1.RIP工作机制

RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用UDP报文进行路由信息的交换。RIP使用跳数(Hop Count)来衡量到达信宿机的距离,称为路由权(Routing Metric)。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定metric取值在0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。

RIP每隔30 秒钟发送一次路由刷新报文,如果在180秒内收不到从某一网络邻居发来的路由刷新报文,则将该网络邻居的所有路由标记为不可达。如果在300秒之内收不到从某一网上邻居发来的路由刷新报文,则将该网上邻居的路由从相应协议路由表中清除。

为提高性能,防止产生路由环,RIP支持水平分割(Split Horizon)和毒性逆转(Poison Reverse)。RIP还可引入其他路由协议所得到的路由。

每个运行RIP的路由器管理一个路由数据库,该路由数据库包含了到网络所有可达信宿的路由项,这些路由项包含下列信息。

目的地址:指主机或网络的地址。

下一跳地址:指为到达目的地,本路由器要经过的下一个路由器地址。

接口:指转发报文的接口。

metric值:指本路由器到达目的地的开销,是一个0~16之间的整数。

定时器:从路由项最后一次被修改到现在所经过的时间,路由项每次被修改时,定时器重置为0。

路由标记:区分路由为内部路由协议的路由还是外部路由协议的路由的标记。

Rip工作在UDP的端口520上-也就是说,所有的RIP数据包的源端口和目的端口都是520。

2. RIP的启动和运行

RIP启动和运行的整个过程可描述如下:

某路由器刚启动RIP时,以广播或组播的形式向相邻路由器发送请求报文,相邻路由器的RIP收到请求报文后,响应该请求,回送包含本地路由表信息的响应报文。

路由器收到响应报文后,修改本地路由表,同时向相邻路由器发送触发修改报文,广播路由修改信息。相邻路由器收到触发修改报文后,又向其各自的相邻路由器发送触发修改报文。在一连串的触发修改广播后,各路由器都能得到并保持最新的路由信息。

同时,RIP每隔30秒向相邻路由器广播本地路由表,相邻路由器在收到报文后,对本地路由进行维护,选择一条最佳路由,再向其各自相邻网络广播修改信息,使更新的路由最终能达到全局有效。同时,RIP采用超时机制对过时的路由进行超时处理,以保证路由的实时性和有效性。

3. RIP-1和RIP-2

RIP 有两个不同的版本,RIPv1和RIPv2. RIPv1 。

RIPv1和RIPv2. RIPv1 的主要区别:

1.RIPv1是有类路由协议,RIPv2是无类路由协议

2.RIPv1不能支持VLSM,RIPv2可以支持VLSM

3.RIPv1没有认证的功能,RIPv2可以支持认证,并且有明文和MD5两种认证

4.RIPv1没有手工汇总的功能,RIPv2可以在关闭自动汇总的前提下,进行手工汇总

5.RIPv1是广播更新,RIPv2是组播更新,

6.RIPv1对路由没有标记的功能,RIPv2可以对路由打标记(tag),用于过滤和做策略

7.RIPv1发送的updata最多可以携带25条路由条目,RIPv2在有认证的情况下最多只能携带24条路由

8.RIPv1发送的updata包里面没有next-hop属性,RIPv2有next-hop属性,可以用与路由更新的重定

RIP的四个定时器

Update timer更新计时器。在RIP启动之后,平均每30秒,启用了RIP的接口会发送应答信息(也就是update),这个update包含了路由器除了被split horizon(水平分割)抑制的完整的路由表.update周期发送的时间间隔(即update timer)为25.5秒到30秒之间(随机),并且update的目标地址为255.255.255.255

invalid timer无效计时器。如果180秒(默认值)后还未收到可刷新现有路由的更新,则将该路由的度量设置为16,从而将其标记为无效路由。在清除计时器超时以前,该路由仍将保留在路由表中。

flush timer清除计时器。默认情况下,清除计时器设置为240秒,比无效计时器长60秒。当清除计时器超时后,该路由将从路由表中删除。

这里就意味着一个路由条目在180秒内没有收到更新报文时,无效计时器超时。路由条目中该路由被标志为x.x.x.x is possibly down,直到刷新计时器也超时了(再过60秒后)该路由条目才被删除。在RIP中真正删除路由条目的是刷新计时器超时。

holddown timer抑制计时器。该计时器用于稳定路由信息,并有助于在拓扑结构根据新信息收敛的过程中防止路由环路。在某条路由被标记为不可达后,它处于抑制状态的时间必须足够长,以便拓扑结构中所有路由器能在此期间获知该不可达网络。默认情况下,抑制计时器设置为180秒。

抑制计时器通过以下方式工作:

1.路由器从邻居处接收到更新,该更新表明以前可以访问的网络现在已不可访问。

2.路由器将该网络标记为possibly down并启动抑制计时器。

3.如果在抑制期间从任何相邻路由器接收到含有更小度量的有关该网络的更新,则恢复该网络并删除抑制计时器。

4.如果在抑制期间从相邻路由器收到的更新包含的度量与之前相同或更大,则该更新将被忽略。如此一来,更改信息便可以继续在网络中传播一段时间。

5.路由器仍然会转发目的网络被标记为possibly down的数据包。通过这种方式,路由器便能克服连接断续所带来的问题。如果目的网络确实不可达,但路由器又转发了数据包,黑洞路由就会建立起来并持续到抑制计时器超时。

4.RIP协议优缺点

RIP协议的优点是配置简单,非常适用于小规模网络。

RIP协议的缺点包括:

大量广播。RIP向所有邻居每隔30秒广播一次完整的路由表,将占用宝贵的带宽资源,在较慢的广域网链路上尤其有问题。

没有成本概念。RIP没有网络延迟和链路成本的概念。当采用RIP时,路由/转发的决定只是基于跳线,这样,很容易导致无法选择最佳路由。例如,一条链路拥有较高的带宽,但是,跳数较多,从而不能被选择。

支持的网络规模有限。由于RIP最多只支持16个步跳,当超过该跳数时,网络将认为无法到达。因此,RIP只能适用于规模较少的网络。

什么是rip协议其优缺点_RIP协议详解相关推荐

  1. 计算机网络中的语法 语义 时序的概念,网络iso协议及语义语法时序详解

    网络iso协议及语义语法时序详解 计算机学习 网络协议的三要素 在计算机网路中,通信发生在不同系统的实体之间,,实体(entity)是能够发送和接收信息的任何事物.然而,两个实体间仅发送比特流就指望能 ...

  2. USB CCID类协议中的APDU命令详解

    出处:http://blog.chinaunix.net/uid-29124653-id-4573075.html 原文地址:USB CCID类协议中的APDU命令详解 作者:jeffasdasd 最 ...

  3. HTTP协议之http状态码详解 300-305 重定向

    HTTP协议之http状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果 ...

  4. HTTP协议头部与Keep-Alive模式详解

    HTTP协议头部与Keep-Alive模式详解 HTTP协议头部与Keep-Alive模式详解 - 玩命写博客 - 博客频道 - CSDN.NET HTTP协议头部与Keep-Alive模式详解 20 ...

  5. NLP:Transformer的简介(优缺点)、架构详解之详细攻略

    NLP:Transformer的简介(优缺点).架构详解之详细攻略 目录 Transformer的简介(优缺点).架构详解之详细攻略 1.Transformer的简介 (1).Transforme的四 ...

  6. OSI七层参考模型及其协议和各层设备详解

    引言 我们在学习计算机网络的时候,都会接触到网络的分层模型,那么,这个分层模型是怎么来的呢? 本次博客,张大帅比将写出自己对于这个网络分层模型的详细理解 分层模型的理解 a.为什么需要分层,分层的作用 ...

  7. spi四种工作模式时序图_SPI总线协议及SPI时序图详解

    嵌入式linux QQ交流群:175159209,欢迎爱好者加入交流技术问题! SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种 ...

  8. 传输层两大协议:TCP与UDP详解(两者的联系与区别)

    一.TCP协议 1.TCP协议报文格式 TCP协议报文格式详解 2.TCP"三次握手"建立连接 位码即tcp标志位,有6种标示: SYN(synchronous建立联机) ACK( ...

  9. 4-4:TCP协议之TCP头部格式详解

    文章目录 一:TCP头部格式详解 (1)4位首部长度 (2)序列号和确认应答号 A:可靠性问题 B:32位序号和确认号 (3)窗口大小 (4)标志位 (5)紧急指针 A:带外数据(out_of _ba ...

最新文章

  1. 使用hibernate与mysql时数据不能插入的原因及解决办法
  2. keytool 错误: java.io.IOException: Keystore was tampered with, or password was incorrect
  3. suse linux 10 ftp服务配置
  4. java volatile 原子性_Java中volatile不能保证原子性的证明
  5. [振动力学]期中复习
  6. tensorboard特征图可视化
  7. 计算机网络自顶向下-链路层
  8. PYTORCH批标准化
  9. 极验滑动验证码破解分析
  10. hdu 4336 Card Collector 容斥原理 多校联合赛(四) 第六题
  11. 分布式监控系统Zabbix3.2给异常添加邮件报警
  12. 如何恢复删除的文件?wps文件恢复,4种方法教你找回来
  13. 5G标准专利,谁执牛耳?
  14. web前端简历怎么写?
  15. import sys
  16. caffe 报错 Aborted(core dumped
  17. Fabric CA官方文档翻译——Planning for a CA
  18. 炒股杠杆-AI量化交易
  19. 火车头采集器 页面图片等信息采集
  20. (一)Activiti 数据库25张表——流程历史记录表18(ACT_HI_ATTACHMENT)

热门文章

  1. MySQL必知必会——了解SQL/SQL简介/使用MySQL
  2. Keil的可重定位段
  3. envi导出jpg文件_保存技巧,完美解决PS导出文件过大的问题
  4. golang byte转string_Golang和Rust语言常见功能/库
  5. 控制src_【聚焦】仙知机器人基于SRC的激光SLAM自动叉车,满足各类场景需求
  6. python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...
  7. linux安装weblogic9,linux_weblogic9_安装说明.doc
  8. 第1节 yarn:15、关于yarn中常用的参数设置
  9. Luogu1574 超级数
  10. 解题报告 『活动安排(贪心)』