网络基础:(三)路由选择基础与静态路由

admin 2021年03月05日 934次浏览

---------- 最后编辑时间:2022年7月7日 ----------

IP 路由选择是一个通过路由器将分组从一个网络发送到另一个网络的过程,在开始介绍 IP 选择路由前,先来了解两个基础概念:路由选择协议和被路由协议

  • 路由选择协议: 是指被路由器用于在彼此互联的网络上动态地发现所有网络,这一协议可以确保所有路由器都拥有相同的路由选择表

    常见的路由选择协议有:RIP、RIPv2、EIGRP 和 OSPF 协议等

  • 被路由协议: 就是 IPv4 和 IPv6

1、路由选择基础

一且将多个 WAN 和 LAN 网络连接到路由器,一个彼此互联的网络就创建起来了,而接下来要完成的工作就是为这个互联网络上的所有主机配置 IP 地址,以便这些主机能够通过这一互联网络进行通信

路由选择:是指将分组从一个设备通过互联网络发往位于不同网络上的另一个设备的操作。 路由器并不关注网络中的主机,而只关注互联起来的网络以及通往各个网络的最佳路径。主机的 IP 地址用来获取通过可路由网络传送到指定网络中的分组,主机的 MAC 地址用来将分组从路由器发送到正确的目标主机上

对于直接连接到路由器的网络,路由器不需要配置路由,就可以知道如何到达这个网络;但是如果一个网络没有和这个路由器直接相连,那么就需要使用路由选择协议将数据发送到远端网络,这里就涉及到路由的选择协议了。路由选择协议包括静态路由动态路由两种,静态路由是通过网络管理员手工创建的,而动态路由是通过在网络中各路由器上面运行同一种协议,这些路由器可以不断更新各自对所有网络的了解,并将相关的信息加入到路由选择表中。如果网络连接出现变化,这个动态路由选择协议就会将这个变化自动通知到所有的路由器

2、路由选择过程

关于路由选择过程,这里使用一个图来说明

如果 PC1 需要对 PC2 进行ping访问,具体过程如下:

2.1、数据发送方

  • 首先 ICMP 将创建一个回应请求数据包

  • ICMP 会将这一有效负荷递交给 IP 协议,IP 协议会用它创建一个分组,在这个分组中至少包含了:源 IP 地址、目标 IP 地址和值为0x01(ICMP)的协议字段

  • 分组被创建后,IP 协议就需要判断目标 IP 地址是位于本地网络还是远程网络

  • 由于 IP 协议判断这是一个远程 IP,因此需要将该分组发送到默认网关,要把分组发送到默认网关,首先得知道默认网关的 MAC 地址,因为只有知道了 MAC 地址,才能将数据交给数据链路层分装成帧,然后将数据帧发送给默认网关所在的接口 (在本地局域网上,主机只能通过 MAC 地址完成通信)

  • 接下来,需要检查主机的 ARP 缓存,查看此默认网关的 IP 地址是否已被解析为一个硬件地址,如果已被解析,此分组就可被传送到数据链路层以组建成帧;如果在主机的 ARP 缓存中没有被解析的硬件地址,那么用于查找 192.168.1.1 MAC地址的 ARP 广播将被发送到本地网络上,这时,示例中的路由器会响应这个请求,并提供 GE 0/0/1 的 MAC 地址,此后主机会接收并缓存这个地址

  • 分组和目的方的 MAC 地址被交付给数据链路层,通过将控制信息封装到此分组上帧就被创建了。在这个帧中,附加有目的方 MAC 地址和源 MAC 地址,以及以太网类型字段,这个字段用于描述给数据链路层交付帧中分组的网络层协议

  • 数据帧创建完成后,就会交付到物理层上进行传输,这时局域网中的所有主机都会接收到这些比特,然后组成数据帧,再通过 CRC 校验并与帧中 FCS 字段的内容进行比对

    • 如果值不匹配,接收到的帧将被丢弃
    • 如果匹配,接着将检查目的方的 MAC 地址与自己是否匹配,如果匹配,则接下来查看以太网类型字段,以获悉完成数据后续处理的网络层协议
  • 将分组从帧中取出,并将其他部分丢弃,然后分组被递交给 IP 协议

  • IP 将接收这个分组,并检查它的 IP 目的地址。由于分组的目的地址与配置到此接收路由器上的各个地址均不匹配,此路由器会在其路由选择表中查找目的方的 IP 网络的地址

    • 如果路由表不包含网络 10.10.10.0 的相关表项,否则路由器会立即将收到的分组丢弃,并同时向发送数据的源方设备回送一个携带有目标网络不可达信息的 ICMP 报文

    • 如果路由器在路由选择表中查找到了关于目的方网络的内容,则分组将被交换到指定的输出接口

2.2、数据接收方

  • 路由器收到分组后,在分组中获取目的 MAC 地址,然后在 ARP 缓存中查找对应的 MAC 地址
    • 如果 PC2 的 MAC 地址已经被解析并保存在路由器的 ARP 缓存中,那么此分组和硬件地址将被递交到数据链路层,用于帧的组建
    • 如果此 MAC 地址没有被解析,则路由器将从 GE0/0/2 发出一个 ARP 请求,用以查找 10.10.10.10 的MAC 地址,此时 PC2 将用它的 MAC 地址进行响应,随后此分组和目的方的 MAC 地址都会被传递给数据链路层,用以组装成帧
  • 数据链路层将使用目标 MAC 地址和源 MAC 地址、以太网类型字段及帧尾部的 FCS 字段创建帧。随后这个帧将被递交到物理层,并由物理层以逐比特发送的方式发送到物理介质上
  • PC2 将接收此帧,并立即运行 CRC,如果运算的结果与 FCS 字段中的内容匹配,则检查帧中的目标 MAC 地址。如果主机认定地址也是匹配的,则检查帧中以太网类型字段的值,判断将分组向上递交的网络层协议(IP协议)
  • 在网络层,IP 会接收这个分组,并对 IP 报头运行 CRC 。如果校验通过, IP 随后将检查分组中目标地址。由于它们最终是匹配的,接下来要检查的就是分组的协议字段,并据此了解分组有效负荷的交付对象
  • 此有效负荷将被递交给 ICMP ,后者知道这是一个回应请求数据,ICMP 将负责应答这个请求。它首先立即丢弃这个接收到的分组,然后产生一个新的有效负荷作为回应应答数据
  • 后续的执行流程就和上节 (2.1) 的步骤相同了

3、静态路由

3.1、静态路由概述

静态路由需要管理员以手工方式为每台路由器的路由选择表添加路由

3.2、静态路由的优缺点

  • 优点

    • 不增加路由器 CPU 的开销,因为静态路由是由手工配置,不需要系统参与计算
    • 不增加路由器间的带宽占用
    • 提高了安全性,因为管理员可以有选择地配置路由,使之只通过某些特定的网络
  • 缺点

    • 管理员必须了解整个网络,以及每台路由器间的连接方式,以便实现对这些路由的正确配置
    • 如果网络结构有变化时,管理员必须在所有路由器上重新配置新的路由信息
    • 对于大型网络,使用静态路由选择基本上是不可行的,因为配置静态路由选择会产生巨大的工作量

3.3、默认路由

如果在一台路由器中,仅有唯一的一条路径能通往到其他网络,那么我们称该路由器为存根路由器,在存根路由器中,我们可以配置默认路由去往其他网络(如下图中 R1、R3),其配置方法为 ip route-static 0.0.0.0 0.0.0.0 网络接口或下一跳 IP 地址

3.4、配置静态路由

静态路由配置_示例

  • 配置各设备 IP 地址

    # R1:
    [R1]int g0/0/1
    [R1-GigabitEthernet0/0/1]ip add 192.168.1.1 24
    [R1-GigabitEthernet0/0/1]int g0/0/0
    [R1-GigabitEthernet0/0/0]ip add 192.168.2.1 24
    
    # R2:
    [R2]int g0/0/0
    [R2-GigabitEthernet0/0/0]ip add 192.168.2.2 24
    [R2-GigabitEthernet0/0/0]int g0/0/1
    [R2-GigabitEthernet0/0/1]ip add 192.168.3.2 24
    	
    # R3:
    [R3]int g0/0/0
    [R3-GigabitEthernet0/0/0]ip add 192.168.3.1 24
    [R3-GigabitEthernet0/0/0]int g0/0/1
    [R3-GigabitEthernet0/0/1]ip add 192.168.4.1 24
    
  • 配置静态路由

    # R1
    ## 因为R1只有一个WAN,因此只需要配置默认路由就行
    [R1]ip route-static 0.0.0.0 0 192.168.2.2
    
    # R2
    ## 去往192.168.1.0网段
    [R2]ip route-static 192.168.1.0 24 192.168.2.1
    ## 去往192.168.4.0网段
    [R2]ip route-static 192.168.4.0 24 192.168.3.1
        
    # R3
    ## 因为R3只有一个WAN,可以配置默认路由,也可以配置两条路由
    [R3]ip route-static 192.168.1.0 24 192.168.3.2
    [R3]ip route-static 192.168.2.0 24 192.168.3.2
    
  • 静态路由表

    # R1(使用默认路由)
    <R1>dis ip routing-table 
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
            0.0.0.0/0   Static  60   0          RD   192.168.2.2     GigabitEthernet0/0/0
            
    # R2
    <R2>dis ip routing-table
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
        192.168.1.0/24  Static  60   0          RD   192.168.2.1     GigabitEthernet0/0/0
        192.168.4.0/24  Static  60   0          RD   192.168.3.1     GigabitEthernet0/0/1
    
    # R3(没有使用默认路由)
    ## R3中虽然只有唯一一条通往其他网络的路径,
    ## 但是因为没有使用默认路由,因此就会出现两条路由指向同一个出口
    <R3>dis ip routing-table 
    Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
        192.168.1.0/24  Static  60   0          RD   192.168.3.2     GigabitEthernet0/0/0
        192.168.2.0/24  Static  60   0          RD   192.168.3.2     GigabitEthernet0/0/0
    
  • 验证 PC 连通性