网工路由基础(3)RIP原理与配置

RIP原理描述

RIP是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量值来衡量到达目的地址的距离。

在RIP网络中,缺省情况下,设备到与它直接相连网络的跳数为0,通过一个设备可达的网络的跳数为1,其余依此类推。也就是说,度量值等于从本网络到达目的网络间的设备数量。

为限制收敛时间,RIP规定度量值取0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。由于这个限制,使得RIP不可能在大型网络中得到应用。

RIP基本原理

 RIP路由表的形成 

RIP启动时的初始路由表仅包含本设备的一些直连接口路由。通过相邻设备互相学习路由表项,才能实现各网段路由互通。

RIP路由形成的过程如图所示:


•RIP协议启动之后,RouterA会向相邻的路由器广播一个Request报文。

•当RouterB从接口接收到RouterA发送的Request报文后,把自己的RIP路由表封装在Response报文内,然后向该接口对应的网络广播。

•RouterA根据RouterB发送的Response报文,形成自己的路由表。

 RIP的更新与维护 

RIP协议在更新和维护路由信息时主要使用四个定时器:

  • 更新定时器(Update timer):当此定时器超时时,立即发送更新报文。

  • 老化定时器(Age timer):RIP设备如果在老化时间内没有收到邻居发来的路由更新报文,则认为该路由不可达。

  • 垃圾收集定时器(Garbage-collect timer):如果在垃圾收集时间内不可达路由没有收到来自同一邻居的更新,则该路由将被从RIP路由表中彻底删除。

  • 抑制定时器(Suppress timer):当RIP设备收到对端的路由更新,其cost为16,对应路由进入抑制状态,并启动抑制定时器。为了防止路由震荡,在抑制定时器超时之前,即使再收到对端路由cost小于16的更新,也不接受。当抑制定时器超时后,就重新允许接受对端发送的路由更新报文。

RIP路由与定时器之间的关系:

RIP的更新信息发布是由更新定时器控制的,默认为每30秒发送一次。每一条路由表项对应两个定时器:老化定时器和垃圾收集定时器。当学到一条路由并添加到RIP路由表中时,老化定时器启动。

如果老化定时器超时,设备仍没有收到邻居发来的更新报文,则在RIP数据库中把该路由的度量值置为16(表示路由不可达,路由表中删除),并启动垃圾收集定时器。

同时设备对外发送不可达路由更新请求报文,如果垃圾收集定时器超时,设备仍然没有收到更新报文,则在RIP数据库中删除该路由。

 触发更新 

触发更新是指当路由信息发生变化时,立即向邻居设备发送触发更新报文,而不用等待更新定时器超时,从而避免产生路由环路。网络10.4.0.0不可达时,RouterC最先得到这一信息。

  • 如果设备不具有触发更新功能,RouterC发现网络故障之后,需要等待更新定时器超时。在等待过程中,如果RouterB的更新报文传到了RouterC,RouterC就会学到RouterB的去往网络10.4.0.0的错误路由。这样RouterB和RouterC上去往网络10.4.0.0的路由都指向对方从而形成路由环路。

  • 如果设备具有触发更新功能,RouterC发现网络故障之后,不必等待更新定时器超时,立即发送路由更新信息给路由器B,这样就避免了路由环路的产生。



RIP-2的增强特性

 RIP-2的优势 

  • 支持外部路由标记(Route Tag),可以在路由策略中根据Tag对路由进行灵活的控制。

  • 报文中携带掩码信息,支持路由聚合和CIDR(Classless Inter-Domain Routing)。

  • 支持指定下一跳,在广播网上可以选择到目的网段最优下一跳地址。

  • 支持以组播方式发送更新报文,只有支持RIP-2的设备才能接收协议报文,减少资源消耗。

  • 支持对协议报文进行验证,增强安全性。

  • 路由聚合

路由聚合的原理是,同一个自然网段内的不同子网的路由在向外(其它网段)发送时聚合成一个网段的路由发送。RIP-1的协议报文中没有携带掩码信息,故RIP-1发布的就是自然掩码的路由。

RIP-2支持路由聚合,因为RIP-2报文携带掩码位,所以支持子网划分。在RIP-2中进行路由聚合可提高大型网络的可扩展性和效率,缩减路由表。 

 RIP-2路由聚合

路由聚合有两种方式:

  • 基于RIP进程的有类聚合:

聚合后的路由使用自然掩码的路由形式发布。比如,对于10.1.1.0/24(metric=2)和10.1.2.0/24(metric=3)这两条路由,会聚合成自然网段路由10.0.0.0/8(metric=2)。RIP–2聚合是按类聚合的,聚合得到最优的metric值。

  • 基于接口的聚合:

用户可以指定聚合地址。比如,对于10.1.1.0/24(metric=2)和10.1.2.0/24(metric=3)这两条路由,可以在指定接口上配置聚合路由10.1.0.0/16(metric=2)来代替原始路由。

水平分割和毒性反转

水平分割

水平分割(Split Horizon)的原理是,RIP从某个接口学到的路由,不会从该接口再发回给邻居路由器。

这样不但减少了带宽消耗,还可以防止路由环路。水平分割在不同网络中实现有所区别,分为按照接口和按照邻居进行水平分割。广播网、P2P和P2MP网络中是按照接口进行水平分割的,如图所示。

RouterA会向RouterB发送到网络10.0.0.0/8的路由信息,如果没有配置水平分割,RouterB会将从RouterA学习到的这条路由再发送回给RouterA。这样,RouterA可以学习到两条到达10.0.0.0/8网络的路由:跳数为0的直连路由;下一跳指向RouterB,且跳数为2的路由。


但是在RouterA的RIP路由表中只有直连路由才是活跃的。当RouterA到网络10.0.0.0的路由变成不可达,并且RouterB还没有收到路由不可达的信息时,RouterB会继续向RouterA发送10.0.0.0/8可达的路由信息。

即,RouterA会接受到错误的路由信息,认为可以通过RouterB到达10.0.0.0/8网络;而RouterB仍旧认为可以通过RouterA到达10.0.0.0/8网络,从而形成路由环路。配置水平分割后,RouterB将不会再把到网络10.0.0.0/8的路由发回给RouterA,由此避免了路由环路的产生。

对于NBMA(Non-Broadcast Multiple Access)网络,由于一个接口上连接多个邻居,所以是按照邻居进行水平分割的。路由就会按照单播方式发送,同一接口上收到的路由可以按邻居进行区分。从某一接口的对端邻居处学习到路由,不会再通过该接口发送回去。

在NBMA网络配置了水平分割之后,RouterA会将从RouterB学习到的172.16.0.0/16路由发送给RouterC,但是不会再发送回给RouterB。

毒性反转

毒性反转(PoisonReverse)的原理是,RIP从某个接口学到路由后,从原接口发回邻居路由器,并将该路由的开销设置为16(即指明该路由不可达)。利用这种方式,可以清除对方路由表中的无用路由。

配置毒性反转后,RouterB在接收到从RouterA发来的路由后,向RouterA发送一个这条路由不可达的消息(将该路由的开销设置为16),这样RouterA就不会再从RouterB学到这条可达路由,因此就可以避免路由环路的产生。

RIP配置举例

组网需求

在网络中有4台路由器,要求在RouterA、RouterB、RouterC和RouterD上实现网络互连。

配置思路

由于要在小型网络中实现设备的网络互连,所以推荐配置RIP-2路由协议。配置各接口IP地址,使网络可达。在各路由器上使能RIP,基本实现网络互连。在各路由器上配置RIP-2版本,提升RIP路由扩展性能。

操作步骤

🕖配置各路由器接口的IP地址

# 配置RouterA。

<Huawei> system-view

[Huawei] sysname RouterA

[RouterA] interface gigabitethernet1/0/0

[RouterA-GigabitEthernet1/0/0] ipaddress 192.168.1.1 24

RouterB、RouterC和RouterD的配置与RouterA一致(略)。


🕖配置RIP基本功能

# 配置RouterA。

[RouterA] rip

[RouterA-rip-1] network 192.168.1.0

[RouterA-rip-1] quit

# 配置RouterB。

[RouterB] rip

[RouterB-rip-1] network 192.168.1.0

[RouterB-rip-1] network 172.16.0.0

[RouterB-rip-1] network 10.0.0.0

[RouterB-rip-1] quit

# 配置RouterC。

[RouterC] rip

[RouterC-rip-1] network 172.16.0.0

[RouterC-rip-1] quit# 配置RouterD。

[RouterD] rip[RouterD-rip-1]network 10.0.0.0

[RouterD-rip-1]quit

🕖配置RIP的版本

# 查看RouterA的RIP路由表

RouterA] display rip 1 route

Route Flags: R – RIP

              A – Aging, S – Suppressed, G -Garbage-collect 

————————————————————-

Peer 192.168.1.2  on GigabitEthernet1/0/0      Destination/Mask        Nexthop     Cost  Tag     Flags   Sec10.0.0.0/8           192.168.1.2      1   0        RA      14 172.16.0.0/16        192.168.1.2      1   0        RA      14从路由表中可以看出,RIP-1发布的路由信息使用的是自然掩码。


🕖配置RIP的版本

# 在RouterA上配置RIP-2。

[RouterA] rip

[RouterA-rip-1] version 2

[RouterA-rip-1] quit# 在RouterB上配置RIP-2。

[RouterB] rip

[RouterB-rip-1] version 2

[RouterB-rip-1] quit# 在RouterC上配置RIP-2。 

[RouterC] rip

[RouterC-rip-1] version 2

[RouterC-rip-1] quit

# 在RouterD上配置RIP-2。 

[RouterD] rip

[RouterD-rip-1] version 2

[RouterD-rip-1] quit 

验证配置结果

# 查看RouterA的RIP路由表。

[RouterA] display rip 1 route  

Route Flags: R – RIP

              A – Aging, S – Suppressed, G -Garbage-collect

————————————————————————- 

Peer 192.168.1.2  onGigabitEthernet1/0/0 Destination/Mask       Nexthop     Cost  Tag     Flags    Sec  

10.1.1.0/24         192.168.1.2      1   0        RA      32  

172.16.1.0/24       192.168.1.2      1   0        RA      32

从路由表中可以看出,RIP-2发布的路由中带有更为精确的子网掩码信息。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇