网络基础:(四)动态路由选择(RIP、OSPF)

admin 2021年03月08日 1,508次浏览

动态路由选择就是路由器根据协议查找网络并更新路由选择表

1、路由选择协议基础

1.1、管理距离(AD)

管理距离 用来衡量路由器收到来自相邻路由器的路由选择信息的可信度。管理距离可以是一个 0 ~ 255 之间的整数,其中 0 表示最可信赖, 255 则意味着不会有通信量通过这个路由

如果路由器接收了两个对同一远程网络的更新信息,路由器会首先检查更新信息的 AD,如果被通告的路由中有一个的 AD 值比另一个的低,那么这个拥有较低 AD 值的路由将被放置在路由选择表中;如果被通告的到同一网络的两个路由具有相同的 AD,那么路由选择协议的度量值(如跳数或链路的带宽)将被用作判断到达远程网络最佳路径的依据,带有最低度量值的、被通告的路由将被放置在路由选择表中;如果两个被通告的路由拥有相同的 AD 以及相同的度量值,这时该路由选择协议将会在这一远程网络中使用负载均衡

表:常用路由协议AD值

路由协议默认AD值
直连接口0
静态路由1
EIGRP90
IGRP100
OSPF110
RIP120
外部 EIGRP170
未知25

1.2、路由选择协议分类

路由选择协议可以分为 3 大类:距离矢量、链路状态、混合型

  • 距离矢量协议 通过判断距离来确定当前到达远程网络的最佳路径,分组每通过一个路由器,就称为一跳,到达目标网络需要最少跳数的路由被认为是最佳路由。其中 RIP 和 IGRP 都属于距离矢量路由选择协议
  • 链路状态协议 又称最短路径优先协议,路由器将分别创建 3 个彼此独立的表,其中一个表用来跟踪直接相连接的邻居,一个用来确定整个互联网络的拓扑结构,而另一个则用作路由选择表。链路状态路由器要比任一使用距离矢量路由选择协议的路由器了解更多地关于互联网络的情况。链路状态协议将包含有自身链接状态的更新发送到网络中其他所有直接连接的路由器上,然后再由这些路由器传播到它们的相邻设备
  • 混合型协议 将同时具有距离矢量和链路状态两种协议的特性

2、RIP路由选择协议

RIP路由选择协议是一个纯粹的距离矢量路由选择协议, RIP 每隔30秒就将自己完整的路由选择表从所有激活的接口上送出

RIP 只将跳计数作为判断到达远程网络最佳路径的依据,并且在默认情况下允许的最大跳计数为 15 ,也就是说 16 跳就被认为是不可达的

2.1、RIP定时器

  • 路由更新定时器 用于设置路由更新的时间间隔 (通常为 30 秒) ,此间隔是路由器发送自己路由选择表的完整副本给所有相邻路由器的时间间隔
  • 路由失效定时器 用于路由器在最终认定一个路由为无效路由之前需要等待的时长 (通常为180 秒) 。如果在这个认定等待时间里,路由器没有得到任何关于特定路由的更新消息,路由器将认定这个路由失效,出现这一情况时,路由器会给所有相邻设备发送关于此路由已经无效的更新
  • 保持失效定时器 用于设置路由选择信息被抑制的时长。当路由器接收到某个表示路由不可达的更新分组时,它将进入保持失效状态。这一保持状态将一直持续到路由器接收到具有更好度量的更新分组,或初始路由恢复正常,或者此保持失效定时器期满 (默认为180 秒)
  • 路由刷新定时器 用于设置将某个路由认定为无效路由起至将它从路由选择表中删除的时间间隔 (通常为 240 秒) 。在将此路由从路由选择表中删除之前,路由器会将此路由即将消亡的消息通告给相邻设备

2.2、配置 RIP(RIPv1)路由选择协议

本示例中,网络基础信息已经配置好,因此只介绍 RIP 的配置。配置RIP路由选择协议,只需要在路由器中配置该路由器相关网络即可。

注意:由于RIPv1版本只支持有类网络地址,因此只能使用默认子网掩码

示例图

R1:
# 启用RIP协议
[R1]rip
# 通告相关网络
[R1-rip-1]network 192.168.1.0
[R1-rip-1]network 192.168.2.0

R2:
[R2]rip
[R2-rip-1]network 192.168.2.0
[R2-rip-1]network 192.168.3.0

R3:
[R3]rip
[R3-rip-1]network 192.168.3.0
[R3-rip-1]network 192.168.4.0

RIP路由信息

2.3、配置 RIP(RIPv2)路由选择协议

  • RIPv2与RIPv1的区别

    • V1版本只支持无类网络,V2支持有类网络

    • V1版本不支持VLSM,V2版本支持VLSM

    • V1版本没有认证机制,V2版本支持MD5认证

    • V1版本不支持连续网络,V2版本支持不连续网络

  • RIPv2配置

    配置RIPv2同RIPv1几乎相同,只是在配置的时候指定版本号即可

    R1:
    # 启用RIP协议
    [R1]rip
    [R1-rip-1]version 2
    
    R2:
    [R2]rip
    [R2-rip-1]version 2
    
    R3:
    [R3]rip
    [R3-rip-1]version 2
    
  • 防路由环路配置

    由于RIP更新路由表的所需要的时间较长,因此会由于路由表更新不及时,产生路由环路。可以在运行RIP协议的接口上启用“毒性反转”功能,防止路由环路

    R1:
    [R1]int g0/0/0
    [R1-GigabitEthernet0/0/0]rip poison-reverse
    
    R2:
    [R2]int g0/0/0
    [R2-GigabitEthernet0/0/0]rip poison-reverse
    [R2-GigabitEthernet0/0/1]rip poison-reverse
    
    R3:
    [R3]int g0/0/1
    [R3-GigabitEthernet0/0/1]rip poison-reverse 
    
  • 查看RIP运行状态

    <R1>display rip
    

3、OSPF路由选择协议

开放最短路径优先 (OSPF) 是一个开放标准的路由选择协议,OSPF 首先要构建一个最短路径树,然后使用最佳路径的计算结果来组建路由选择表。

3.1、OSPF相关术语

  • 链路 链路就是一个网络或者一个被指定给任一给定网络的路由器接口
  • 路由器ID 路由器ID就是一个用来标识该路由器的IP地址,一般使用环回接口配置RID,如果没有使用带有地址的环回接口进行配置,则 OSPF 将选取所有激活的物理接口中最高的 IP 地址为RID
  • 邻居 邻居可以是两个或更多的路由器,这些路由器的某个接口是连接在同一个公共网络上
  • 邻接 邻接是指两个 OSPF 路由器之间的关系,这两个路由器之间允许直接交换路由更新数据,OSPF 只与建立了邻接关系的邻居直接共享路由信息
  • Hello协议 OSPF 的 Hello 协议能够动态地发现邻居,并维护邻居关系
  • 邻居关系数据库 邻居关系数据库是一个 OSPF 路由器的列表,这些路由器的 Hello 数据包相互可见
  • 拓扑数据库 拓扑数据库中包含有来自为同一区域接收的所有链路状态通告数据包中的信息
  • 链路状态通告 链路状态通告(LSA)是一个OSPF数据包,它包含了OSPF路由器中共享的链路状态和路由选择信息
  • 指定路由器(DR) 负责将路由选择信息分发到广播网络或链路中其他路由器上,或收集其他路由器的路由选择信息
  • 备用指定路由器(BDR) DR的备份,BDR从 OSPF 邻接路由器上接收所有的路由更新,但 并不泛发 LSA 更新
  • OSPF区域 一个OSPF区域就是一组相邻网络和路由器,在同一个区域内的所有路由器共享一个公共的区域ID
  • 广播(多路访问) 广播(多路访问)网络允许多个设备连接(或者是访问)到同一个网络上,并通过将单一数据包投递到网络中所有的结点来提供广播能力。在 OSPF 中, 每个广播多路访问网络都必须选出一个 DR 和一个 BDR
  • 非广播多路访问 是那些诸如帧中继、 X.25 和异步传输模式(ATM) 等类型的网络
  • 点到点 点到点被定义为一种由两个路由器间的直接连接组成的网络拓扑类型,这一连接为路由器提供单一的通信路径
  • 点到多点 点到多点也被定义为一种网络拓扑类型,这种拓扑中包含单个路由器上的单一接口与多个目的路由器间的一系列连接

3.2、配置OSPF

OSPF分为多区域OSPF和单区域OSPF,这里介绍单区域OSPF。在配置单区域OSPF中,我们需要提供网络地址和反掩码.反掩码就是将子网掩码反转过来,比如:255.255.255.0的反掩码就是:0.0.0.255

这里,还是使用上图做配置示例

示例图

R1:
# 配置OSPF的进程ID,取值范围0 ~ 65535
[R1]ospf 1
# 配置OSPF区域号
[R1-ospf-1]area 0
# 配置网络号,需要配置该路由器中所有需要通过OSPF协议路由的网络号
[R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255

R2:
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255

R3:
[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255
  • 相关配置介绍

    • 进程ID OSPF进程ID的数值是彼此互不相关的,在网络中每个路由器上的进程ID都可以是相同的,也可以是不同的,这个取值只具有本地意义,其作用只是使OSPF能在路由器上进行路由选择
    • 命令 network 的参数是网络号( 192.168.1.0) 和通配符掩码/反掩码( 0.0.0.255),这两个数字的组合用于
      标识 OSPF 操作的接口,并且它也将包含在其 OSPF 的 LSA 通告中
    • 单区域OSPF中,需要将所有路由器的区域设置为0
  • 查看OSPF信息

    # 查看详细信息
    [R1]dis ospf brief
    # 查看接口信息
    [R1]dis ospf interface
    

3.3、配置环回接口

在路由器上配置环回接口的原因是,如果不配置环回接口,路由器上的最高激活 IP 地址将在路由器启动时成为该路由器的RlD,而RID 用于路由的通告以及 DR 和 BDR 的选举

# 配置环回接口
[R1]int LoopBack 1
[R1-LoopBack1]ip add 192.168.100.1 255.255.255.255