RIP
RIP概述
- 优点
- 配置简单
- 易于维护
- 适用于小型网络
- RIP(Routing Infomation Protocol)路由信息协议
- 距离矢量(DV)路由协议,属于IGP(Interior Gateway Protocol)内部网关协议
- 适用于中小型网络,有RIPv1和RIPv2两个版本
- 基于UDP,端口号为520
- 周期性更新(一般25s-30s更新一次)
- 支持水平分割(Split Horizon)、毒性反转(Poison Reverse)和触发更新等防环特性
- 优点
RIP工作原理
RIP工作原理
- 路由器运行RIP后,会首先发送更新请求Request
- 收到请求的路由器会将自己的路由表封装到Response中响应(周期性的更新)给请求的路由器
- 网络稳定后,路由器会周期性(25s-30s)的响应路由更新信息
图示
RIP度量(开销)
RIP使用跳数作为度量值,来衡量到达目的网络的距离
缺省情况下,直连网络的路由跳数为0,当路由器发送路由更新的时候度量值会+1
RIP规定超过15条为网络不可达
图示
RIPv1与RIPv2
RIPv1
- RIPv1以全广播的方式发送报文
- RIPv1是有类别路由协议,不支持VLSM和CIDR
- 不支持认证
RIPv2
- RIPv2支持广播或组播的方式发送报文,组播地址是:224.0.0.9
- RIPv2是无类别路由协议,支持VLSM、路由聚合和CIDR
- 支持明文认证和MD5密文认证
RIPv1报文与解析
图示
+ 解析
![alt RIPv1报文解析](https://i.loli.net/2021/04/06/FV4QWGAfMpnCH1O.png)
RIPv2报文与解析
图示
解析
RIPv2认证
图示
RIP环路
图示
RIP配置
R1配置
1
2
3
4
5sys
rip 1 #开启RIP进程,默认是1
ver 2 #开启RIPv2
network 12.0.0.0 #network 宣告网络,指定运行RIP的接口,只需要输入主类网络地址即可。目的是该地址是否匹配某个接口
network 1.0.0.0
* network 1.0.0.0 如果只有部分子网对应的接口走RIP协议,怎么将别的接口不走RIP协议
* 不同的进程号表示不同的数据库
* 可以在RIP中注入RIP
* R2 配置
1
2
3
4
5
sys
rip 1
ver 2
network 12.0.0.0
network 2.0.0.0
RIP环路演示
去除端口的水平分割
R1配置
1
2
3
4sys
rip 1
int g0/0/0
undo rip split-horizon
* R2配置
1
2
3
4
sys
rip 1
int g0/0/0
undo rip split-horizon
* 环路产生流程
* 正常情况
* 在R1与R2都开启RIP之后
* R1将自己直连的路由,通过RIP宣告给R2,对R1来说是0跳,对R2来说是1跳,R2也将自己从R1学习到有关R1直连设备的路由信息发送给R1,此时R1收到关于自己的直连设备的路由信息是0跳和2跳,在开启RIP机制的情况下,R1不会相信R2发过来有关自己直连的设备的路由信息。此时,就不会产生RIP环路
* R2将自己直连的路由,通过RIP宣告给R1,对R2来说是0跳,对R1来说是1跳
* 环路情况
* RIP会周期性宣告自己的路由更新
* R1将自己直连的路由,通过RIP宣告给R2,对R1来说是0跳,对R2来说是1跳
* R2会将自己从R1学到的有关R1直连设备的路由更新信息再次发给R1,此时R1收到两条有关自己直连设备的路由信息;当R1直连设备宕机的情况下,R1路由器将标记这条路由处于不可达的状态(即该条路由是16跳)。然而,R1需要等到路由信息更新时候才会将这条不可达的路由宣告出去(R1在30s左右时间更新路由信息),此时,R1会相信从R2学过来的有关自己直连设备的路由信息(即此时R1到自己直连设备的路由为2跳,并且下一跳为R2路由器的接口地址),此时,RIP协议的路由就产生了环路。知道RIP路由跳数是16后停止
* 避免环路的机制
* 水平分割(split-horison)
* 路由器从某个接口学到的路由,不会从该接口再发回给邻居路由器
* 图示
*
* 毒性反转(Poison-reverse)
* 路由器从某个接口学到的路由后,将该路由的条数设置成16跳,并将从原接收接口发回给邻居路由器
* 与水平分割是矛盾的,默认是不开启的,当两个都开启的时候,优先执行毒性反转(poison reverse)机制
* 图示
* ![alt 毒性反转](https://i.loli.net/2021/04/08/hy8NefgCHjTz2Bx.png)
* 触发更新
* 当路由信息发生变化的时候,立即向邻居设备发送触发更新的报文
* 图示
* ![alt 触发更新](https://i.loli.net/2021/04/08/fgI2UXhM6jxE8Nu.png)
RIP高级配置
Output
- 图示
- 在路由器的接口上可以禁止该接口发送RIP报文
- 图示
Input
- 在路由器的接口上可以禁止该接口接收RIP报文
- 图示
抑制接口
配置路由器的某个接口为抑制状态,只接受RIP报文
此命令的优先级大于rip input 与 rip output
命令
1
2rip 1
[R1-rip-1]silent-interface GigabitEthernet 0/0/1图示
水平分割(Split-horizon)与毒性反转(Poison-reverse)
查看RIP详细信息的命令
图示
1
dis rip 1 interface g0/0/2 verbose
图示
命令
1
2
3
4
5
6
7
8
9
10<R2>sys
Enter system view, return user view with Ctrl+Z.
[R2]int
[R2]interface g0/0/2
[R2-GigabitEthernet0/0/2]rip spri
[R2-GigabitEthernet0/0/2]rip split
[R2-GigabitEthernet0/0/2]rip split-horizon
[R2-GigabitEthernet0/0/2]rip poi
[R2-GigabitEthernet0/0/2]rip poison-reverse
[R2-GigabitEthernet0/0/2]<R2>sys
* 查看RIP相关信息
* 查看RIP接口详细信息
1
dis rip 1 # 1代表RIP进程号
* 查看RIP信息
1
dis rip int g0/0/0 verbose
* 调整度量值
* Metricout
* 发送RIP路由信息的时候,将度量值(开销)变成N
* 命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<R2>sys
Enter system view, return user view with Ctrl+Z.
[R2]int
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]rip metricout
[R2-GigabitEthernet0/0/0]rip metricout 5 #将所有从此接口出去的RIP路由信息的Cost该为5
[R2-GigabitEthernet0/0/0]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
ip address 12.0.0.2 255.255.255.0
rip metricout 5
rip poison-reverse
#
return
* 图示
![alt RIP配置-Metricout](https://i.loli.net/2021/05/23/j9QmLtEHRGfXoC7.png)
* Metricin
* 接受RIP路由信息的时候,Cost自动增加N个
* 命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<R2>sys
Enter system view, return user view with Ctrl+Z.
[R2]int
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]rip metricin
[R2-GigabitEthernet0/0/0]rip metricin 5 # 路由器的该接口在接受RIP路由信息后,Cost自动增加5
[R2-GigabitEthernet0/0/0]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
ip address 12.0.0.2 255.255.255.0
rip metricin 5
rip metricout 5
rip poison-reverse
#
return
[R2-GigabitEthernet0/0/0]q
[R2]dis ip rout
[R2]dis ip routing-table pro rip
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : RIP
Destinations : 1 Routes : 1
RIP routing table status : <Active>
Destinations : 1 Routes : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/24 RIP 100 6 #Cost的值1+5 D 12.0.0.1 GigabitEthernet0/0/0
RIP routing table status : <Inactive>
Destinations : 0 Routes : 0
* 图示
![alt RIP配置-Metricin](https://i.loli.net/2021/05/23/GsR1AqbE6jNwJmB.png)