Rip 动态路由协议

        路由信息协议(RIP) 是内部网关协议IGP中最先得到广泛使用的协议。
        Routing Information Protocol)

        RIP是一种分布式的基于距离矢量的路由选择协议,是因特网的标准协议,其最大优点就是实现简单,开销较小。
       但RIP的缺点也较多。首先,其限制了网络的规模,能使用的最大距离为15(16表示不可达)。其次路由器交换的信息是路由器的完整路由表,因而随着网络规模的扩大,开销也就增加。最后,“坏消息传播得慢”,使更新过程的收敛时间过长。因此对于规模较大的网络就应当使用OSPF协议。然而目前在规模较小的网络中,使用RIP协议的仍占多数。

     

 

补充:

        IGP:内部网关协议 (Interior Gateway Protocol) 是一种专用于一个自治网络系统(比如:某个当地社区范围内的一个自治网络系统)中网关间交换数据流转通道信息的协议。

目前最常用的两种内部网关协议分别是:路由信息协议(RIP)和最短路径优先路由协议(OSPF),
目前的IGP有 
RIPOSPFIGRPEIGRPIS-IS  

    BGP:外部网关协议(Exterior Gateway Protocol)是一种在自治系统的相邻两个网关主机间交换路由信息的协议。EGP 通常用于在因特网主机间交换路由表信息。

目前的IGP有 BGP

 

 

 

 

        虽然RIP仍然经常被使用,但大多数人认为它将会而且正在被诸如OSPFIS-IS这样的路由协议所取代。当然,我们也看到EIGRP,一种和RIP属于同一基本协议类(距离矢量路由协议,Distance Vector Routing Protocol)但更具适应性的路由协议,也得到了一些使用。

        

 

        RIP是一种分布式的基于距离向量的路由选择协议,是因特网的标准协议,其最大的优点就是简单。RIP协议要求网络中每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。RIP协议将“距离”定义为:从一路由器到直接连接的网络的距离定义为1。从一路由器到非直接连接的网络的距离定义为每经过一个路由器则距离加1。“距离”也称为“跳数”。RIP允许一条路径最多只能包含15个路由器,因此,距离等于16时即为不可达。可见RIP协议只适用于小型互联网。

 

        RIP的特点

(1)仅和相邻的路由器交换信息。如果两个路由器之间的通信不经过另外一个路由器,那么这两个路由器是相邻的。RIP协议规定,不相邻的路由器之间不交换信息。

(2)路由器交换的信息是当前本路由器所知道的全部信息。即自己的路由表。

(3)RIPv1按固定时间交换路由信息,如,每隔30秒,然后路由器根据收到的路由信息更新路由表。Ripv2也可进行相应配置使其触发更新

(4)RIP 允许最大的hop数(跳数)为15, 多于15跳不可达

(5)RIPv1消息通过广播地址255.255.255.255进行发送RIPv2使用组播地址224.0.0.9发送消息,两者都使用UDP 协议的520端口

(6)RIP以到目的网络的最小跳数作为路由选择度量标准,而不是在链路的带宽和延迟的基础上进行选择

(7)RIP-1是一种有类路由协议,不支持不连续子网设计。RIP-2支持CIDR及VLSM可变长子网掩码,使其支持不连续子网设计

(8)RIP的协议管理距离为120

(9)rip 最多支持到单个目的地的6条同等成本路径,可以进行负载均衡。

 

配置实例:
Rip 动态路由协议 - 朝鲜程序员 - 朝鲜程序员的博客

Router0(config)#router rip

Router0(config-router)#network 10.0.0.0

Router0(config-router)#network 42.1.1.0

Router1(config)#router rip

Router1(config-router)#network 10.0.0.0

Router1(config-router)#network 192.168.1.0

Router2(config)#router rip

Router2(config-router)#network 211.1.1.0

Router2(config-router)#network 42.1.1.0

Router3(config)#router rip

Router3(config-router)#network 192.168.1.0

Router3(config-router)#network 211.1.1.0

看下路由表

Router1#show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

* - candidate default, U - per-user static route, o - ODR

P - periodic downloaded static route

 

Gateway of last resort is not set

 

C     10.0.0.0/8 is directly connected, FastEthernet0/0

R     42.0.0.0/8 [120/1] via 10.0.0.1, 00:00:09, FastEthernet0/0

C     192.168.0.0/16 is directly connected, FastEthernet0/1
R      211.1.1.0/24 [120/1] via 192.168.1.1, 00:00:25, FastEthernet0/1

    目标网络    管理距离/跳数    来源地址     更新时间      更新端口

 

rip其它选项:

Router(config)#router rip

Router(config-router)#?

auto-summary Enter Address Family command mode       打开路由自动汇总

default-information Control distribution of default information     对存在缺省路由进行分发

distance Define an administrative distance             修改默认管理距离

exit Exit from routing protocol configuration mode   退出路由配置模式

network Enable routing on an IP network                   rip网络

no Negate a command or set its defaults                  取消命令

passive-interface Suppress routing updates on an interface    被动接口    不发送路由更新,但接受路由更新

redistribute Redistribute information from another routing protocol      从另一个路由协议中重新分配信息

timers Adjust routing timers                                              时钟调整                      

version Set routing protocol version                               rip版本

 

 

rip其它命令

show ip route                      查看路由表
show ip protocols              查看路由选择协议
debug ip rip                        进行故障排除
clear ip route                     清除重建路由表中 动态路由

 

 

 

Rip路由选择环路问题:

什么是路由环路?形象的比喻一下

 
Rip 动态路由协议 - 朝鲜程序员 - 朝鲜程序员的博客
路由器C到10.4.0.0是直连的,跳数为0。路由器B到10.4.0.0经过路由器C,跳数为1。
路由器A到10.4.0.0经过路由器B和路由器C,跳数为2
 
Rip 动态路由协议 - 朝鲜程序员 - 朝鲜程序员的博客
         在这时候,10.4.0.0网络出现了问题,变成了不可达。
         这时候,C更新路由表,显示到10.4.0.0的线路Down。
Rip 动态路由协议 - 朝鲜程序员 - 朝鲜程序员的博客
        由于收敛慢,B的路由表尚未更新,到达10.4.0.0的跳数仍然为1。这时候,C会认为到达10.4.0.0的最佳路径为经过B的路径所以C的路由表错误地更新为达到10.4.0.0需要从S0口出去,到达B之后,再由B来转发。此时,C的路由表中到10.4.0.0网段的跳数变成了1(C到B)+1(B到10.4.0.0)=2
 
 
 
Rip 动态路由协议 - 朝鲜程序员 - 朝鲜程序员的博客
         而B根据先前到达10.4.0.0需要从S1口出去到达C之后,由C转发的路由表来进行更新,由于C的路由表产生错误,到达10.4.0.0由S0出去,跳数为2所以B的路由表中,到达10.4.0.0的路由也出现了错误的更新,跳数变成了2(C到10.4.0.0)+1(B到C)=3。A根据B中路由表的变化,也进行了更新,到达10.4.0.0的跳数变为了4
Rip 动态路由协议 - 朝鲜程序员 - 朝鲜程序员的博客
           如此循环之后,一条路由环路便在B与C之间产生,两者到10.4.0.0的跳数在不断升高。

参考文章:http://blog.sina.com.cn/s/blog_635e1a9e01010x4j.html

防环机制

1-记数最大值(maximum hop count):定义最大跳数(最大为15跳),当跳数为16跳时,目标为不可达。
2-水平分割(split horizon):从一个接口学习到的路由不会再广播回该接口。cisco可以对每个接口关闭水平分割功能。
3-路由毒化(route posion):当拓扑变化时,路由器会将失效的路由标记为possibly down状态,并分配一个不可达的度量值。
4-毒性逆转(poison reverse):从一个接口学习的路由会发送回该接口,但是已经被毒化,跳数设置为16跳,不可达。
5-触发更新(trigger update):一旦检测到路由崩溃,立即广播路由刷新报文,而不等到下一刷新周期。
6-抑制计时器(holddown timer):防止路由表频繁翻动,增加了网络的稳定性。
 

 

版本

RIP共有三个版本,RIPv1, RIPv2, RIPng

其中RIPV1和RIPV2是用在IPV4的网络环境里,RIPng是用在IPV6的网络环境里。

RIPv1

RIPv1使用分类路由,定义在[RFC 1058[1] ]中。在它的路由更新(Routing Updates)中并不带有子网的资讯,因此它无法支持可变长度子网掩码。这个限制造成在RIPv1的网络中,同级网络无法使用不同的子网掩码。换句话说,在同一个网络中所有的子网络数目都是相同的。另外,它也不支持对路由过程的认证,使得RIPv1有一些轻微的弱点,有被攻击的可能。

RIPv2

因为RIPv1的缺陷,RIPv2在1994年被提出,将子网络的资讯包含在内,透过这样的方式提供无类别域间路由,不过对于最大节点数15的这个限制仍然被保留着。另外针对安全性的问题,RIPv2也提供一套方法,透过加密来达到认证的效果。而之后[RFC 2082[3] ]也定义了利用MD5来达到认证的方法。 RIPv2的相关规定在[RFC 2453[4] ] orSTD56。

现今的IPv4网络中使用的大多是RIPv2,RIPv2是在RIPv1基础上的改进, RIPv2和RIPv1相比主要有以下区别。

Rip 动态路由协议 - 朝鲜程序员 - 朝鲜程序员的博客

RIPng

RIPng(Routing Information Protocol next generation)则被定义在[RFC 2080[5] ],主要是针对IPv6做一些延伸的规范。与RIPv2相比下其最主要的差异是:

RIPv2 支持RIP更新认证, RIPng 则没有 (IPv6 routers were, at the time, supposed to use IPsec for authentication);

RIPv2 容许附上arbitrary 的标签, RIPng 则不容许;

RIPv2 encodes the next-hop into each route entries, RIPng requires specific encoding of the nexthop for a set of route entries.

RIPv2 UDP的Port number 为 520,RIPng UDP的Port number 为 521

 

 

RIP 2 由 RIP 而来,属于 RIP 协议的补充协议,主要用于扩大装载的有用信息的数量,同时增加其安全性能。RIPv1和RIPv2 都是基于 UDP 的协议。在 RIP2 下,每台主机或路由器通过路由选择进程发送和接受来自 UDP 端口520的数据包。RIP协议默认的路由更新周期是30S。

 

RIP-2的特性:
RIP-2 是一种无类别路由协议(Classless Routing Protocol)。
RIP-2协议报文中携带掩码信息,支持VLSM(可变长子网掩码)和CIDR。
RIP-2支持以组播方式发送路由更新报文,组播地址为224.0.0.9,减少网络与系统资源消耗。
RIP-2支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性。
RIP-2能够支持VLSM
随着OSPF和IS-IS的出现,许多人认为RIP已经过时了。但事实上RIP也有它自己的优点。对于小型网络,RIP就所占带宽而言开销小,易于配置、管理和实现,并且RIP还在大量使用中。但RIP也有明显的不足,即当有多个网络时会出现环路问题。为了解决环路问题,IETF提出了水平分割法,在这个接口收到的路由信息不会再从该接口出去(split-Horizon)。分割范围解决了两个路由器之间的路由环路问题,但不能防止因网络规模较大、主要由延迟因素产生的环路。触发更新要求路由器在链路发生变化时立即传输它的路由表。这加速了网络的聚合,但容易产生广播泛滥。总之,环路问题的解决需要消耗一定的时间和带宽。若采用RIP协议,其网络内部所经过的链路数不能超过15,这使得RIP协议不适于大型网络。

 

 

相似协定

一只比RIP更强大,且同样基于距离矢量路由协定的协定,是思科专有的IGRP。思科在其现时发行的软件中已再没有对IGRP提供支援,而且由EIGRP ──  一只彻底地重新设计的路由通讯协定所取代。 不过它与IGRP的关系就只有命名上的相似,亦纯粹是因为EIGRP依然是基于距离矢量路由协定的缘故。


 
参考文章:http://blog.sina.com.cn/s/blog_635e1a9e010100vx.html
原文地址:https://www.cnblogs.com/centos2017/p/7896800.html