RIP路由协议

RIP概述

简介

  • 距离矢量(DV)路由协议,属于IGP(Interior Gateway Protocol)内部网关协议
  • 适用于中小型网络,有RIPv1和RIPv2两个版本
  • 基于UDP,端口号为520
  • 周期性更新(一般25s-30s更新一次)
  • 支持水平分割(Split Horizon)、毒性反转(Poison Reverse)和触发更新等防环特性
  • Router Information Protocol 路由信息协议

优缺点

  • 配置简单
  • 易于维护
  • 适用于小型网络

RIP工作原理

工作流程

  • 路由器运行RIP后,会首先发送更新请求Request
  • 收到请求的路由器会将自己的路由表封装到Response中响应(周期性的更新)给请求的路由器
  • 网络稳定后,路由器会周期性(25s-30s)的响应路由更新信息

图示

alt RIP工作原理

RIP开销(度量)

RIP开销

  • RIP使用跳数作为度量值,来衡量到达目的网络的距离
  • 缺省情况下,直连网络的路由跳数为0,当路由器发送路由更新的时候度量值会+1
  • RIP规定超过15条为网络不可达

图示

alt RIP度量值(开销)

RIPv1与RIPv2

简介

RIPv1

  • RIPv1以全广播的方式发送报文
  • RIPv1是有类别路由协议,不支持VLSM和CIDR
  • 不支持认证

RIPv2

  • RIPv2支持广播或组播的方式发送报文,组播地址是:224.0.0.9
  • RIPv2是无类别路由协议,支持VLSM、路由聚合和CIDR
  • 支持明文认证和MD5密文认证

报文

RIPv1

  1. 报文

    alt RIPv1 报文

  2. 解析

    alt RIPv1报文解析

RIPv2

  1. 报文

    alt RIPv2 报文

  2. 解析

    alt RIPv2 解析

认证

alt RIPv2认证

RIP环路

图示

alt RIP环路

RIP环路配置

R1配置

1
2
3
4
5
sys
rip 1 #开启RIP进程,默认是1
ver 2 #开启RIPv2
network 12.0.0.0 #network 宣告网络,指定运行RIP的接口,只需要输入主类网络地址即可。目的是该地址是否匹配某个接口
network 1.0.0.0

R2 配置

1
2
3
4
5
sys
rip 1
ver 2
network 12.0.0.0
network 2.0.0.0

其他的问题

  • network 1.0.0.0 如果只有部分子网对应的接口走RIP协议,怎么将别的接口不走RIP协议
  • 不同的进程号表示不同的数据库
  • 可以在RIP中注入RIP

环路产生流程

  1. 正常情况
    • 在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跳
  2. 环路情况
    • 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)

  1. 路由器从某个接口学到的路由,不会从该接口再发回给邻居路由器

  2. 图示

    alt 水平分割

毒性反转(Poison-reverse)

  1. 路由器从某个接口学到的路由后,将该路由的条数设置成16跳,并将从原接收接口发回给邻居路由器

  2. 与水平分割是矛盾的,默认是不开启的,当两个都开启的时候,优先执行毒性反转(poison reverse)机制

  3. 图示

    alt 毒性反转

触发更新

  1. 当路由信息发生变化的时候,立即向邻居设备发送触发更新的报文

  2. 图示

    alt 触发更新

RIP高级配置

Output

  1. 在路由器的接口上可以禁止该接口发送RIP报文

  2. 图示

    alt RIP配置-Output

Input

  1. 在路由器的接口上可以禁止该接口接收RIP报文

  2. 图示

    alt RIP配置-Input

抑制接口

  1. 配置路由器的某个接口为抑制状态,只接受RIP报文

  2. 此命令的优先级大于rip input 与 rip output

  3. 命令

    1
    2
    rip 1
    [R1-rip-1]silent-interface GigabitEthernet 0/0/1
  1. 图示

    alt 抑制接口

水平分割(Split-horizon)与毒性反转(Poison-reverse)

查看RIP详细信息的命令

  1. 命令

    1
    dis rip 1 interface g0/0/2 verbose
  1. 图示

    alt 水平分割与毒性反转

图示

alt 水平分割与毒性反转

命令

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

其他配置

查看配置

  1. 查看RIP接口详细信息

    1
    dis rip 1 # 1代表RIP进程号
  1. 查看RIP信息

    1
    dis rip int g0/0/0 verbose

调整度量值

  1. Metricout

    • 接受RIP路由信息的时候,Cost自动增加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

  1. 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

吴超 wechat
subscribe to my blog by scanning my public wechat account