第四章:静态路由

转发数据包是路由器的最主要功能。路由器转发数据包时需要查找路由表,管理员可以通过手工的方法在路由器中直接配置路由表,这就是静态路由。虽然静态路由不适合于在大的网络中使用,但是由于静态路由简单、路由器负载小、可控性强等原因,在许多场合中还经常被使用。

4.1静态路由概述

静态路由配置简单,被广泛应用于网络中。另外,静态路由还可以实现负载均衡和路由备份。因此,学习并掌握好静态路由的应用与配置是非常必要的。

  1. 路由信息获取方式
  1. 直连路由:直连接口所在网段的路由,由设备自动生成。
  2. 静态路由:由网络管理员手工配置的路由条目
  3. 动态路由:路由器通过动态路由协议(如OSPF、IS-IS、BGP等)学习到的路由

RIPRouting Information Protocol 路由信息协议

OSPFOpen Shortest Path First开放式最短路径优先

IS-ISIntermediate system to intermediate system 中间系统到中间系统

BGPBorder Gateway Protocol 边界网关协议

  1. 路由表的参数
  1. Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。
  2. Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。
  3. Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。
  4. Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
  5. NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。
  6. Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。
  1. Pre preference表4-1列出了各种协议的preference
    表4-1:各种协议的preference

路由来源

路由类型

默认优先级

直连

直连路由

0

静态

静态路由

60


动态路由

RIP

100

OSPF

内部10,外部150

IS-IS

15

BGP

IBGP255,EBGP255


  1. 最优路由条目优先当路由器从多种不同的途径获知到达同一个目的网段的路由时,通过比较优先级和度量值来优先路由
  1. 比较优先级,优先级越低越优先
  2. 优先级相同,比较度量值,度量值越小越优先
  1. 最长匹配原则

当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。

4.2 实验一:静态路由

1、实验需求

掌握路由表的概念;

掌握route-static命令的使用;

理解根据需求正确配置静态路由。


2、实验拓扑

实验拓扑如图4-1所示:

静态路由​_路由表


图4-1 静态路由

3、实验步骤

(1)网络连通性

R1的配置如下:

<Huawei>system-view

Enter system view, return user view with Ctrl+Z.

[Huawei]undo info-center enable

[Huawei]sysname R1

[R1]interface g0/0/0

[R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24

[R1-GigabitEthernet0/0/0]undo shutdown

[R1-GigabitEthernet0/0/0]quit

R2的配置如下:

<Huawei>system-view

[Huawei]undo info-center enable

[Huawei]sysname R2

[R2]interface g0/0/1

[R2-GigabitEthernet0/0/1]ip address 12.1.1.2 24

[R2-GigabitEthernet0/0/1]undo shutdown

[R2-GigabitEthernet0/0/1]quit

[R2]interface g0/0/0

[R2-GigabitEthernet0/0/0]ip address 23.1.1.2 24

[R2-GigabitEthernet0/0/0]undo shutdown

[R2-GigabitEthernet0/0/0]quit

R3的配置如下:

<Huawei>system-view

[Huawei]undo info-center enable

[Huawei]sysname R3

[R3]interface g0/0/1

[R3-GigabitEthernet0/0/1]ip address 23.1.1.3 24

[R3-GigabitEthernet0/0/1]undo shutdown

[R3-GigabitEthernet0/0/1]quit

(2)测试网络连通性

R1访问R2

[R1]ping 12.1.1.2

PING 12.1.1.2: 56 data bytes, press CTRL_C to break

Reply from 12.1.1.2: bytes=56 Sequence=1 ttl=255 time=60 ms

Reply from 12.1.1.2: bytes=56 Sequence=2 ttl=255 time=60 ms

Reply from 12.1.1.2: bytes=56 Sequence=3 ttl=255 time=50 ms

Reply from 12.1.1.2: bytes=56 Sequence=4 ttl=255 time=40 ms

Reply from 12.1.1.2: bytes=56 Sequence=5 ttl=255 time=30 ms


--- 12.1.1.2 ping statistics ---

5 packet(s) transmitted

5 packet(s) received

0.00% packet loss

round-trip min/avg/max = 30/48/60 ms

从ping的显示结果可以看到网络连通性没有问题


R2访问R3

[R2]ping 23.1.1.3

PING 23.1.1.3: 56 data bytes, press CTRL_C to break

Reply from 23.1.1.3: bytes=56 Sequence=1 ttl=255 time=70 ms

Reply from 23.1.1.3: bytes=56 Sequence=2 ttl=255 time=40 ms

Reply from 23.1.1.3: bytes=56 Sequence=3 ttl=255 time=60 ms

Reply from 23.1.1.3: bytes=56 Sequence=4 ttl=255 time=30 ms

Reply from 23.1.1.3: bytes=56 Sequence=5 ttl=255 time=20 ms


--- 23.1.1.3 ping statistics ---

5 packet(s) transmitted

5 packet(s) received

0.00% packet loss

round-trip min/avg/max = 20/44/70 ms

从ping的结果显示可以看到网络连通性没有问题

技术要点

对于初学者来说,每次配置完IP地址以后,最好按以上方式测试网络的连通性。以此来确认IP地址配置是否有问题,如果网络不能访问可能存在以下问题:

  1. 接口没有打开,显示结果如图4-2所示,Physical下显示为“*down”。

图4-2 接口没有打开

  1. 拉口没有配置IP地址或者是IP地址配置错误,显示结果如图4-3所示, IP Address/Mask下显示为” unassigned ”

静态路由​_路由表_02


图4-3 没有配置IP地址

(2)配置静态路由

R1的配置:

[R1]ip route-static 23.1.1.0 255.255.255.0 12.1.1.2 //配置静态路由目录网络为23.1.1.0,下一跳为12.1.1.2

技术要点

配置静态路由有三种方式

①关联下一跳的方式

[Huawei] ip route-static ip-address { mask | mask-length } nexthop-address

②关联出接口的方式

[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number

③关联接口和下一跳的方式

[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address ]

在创建静态路由时,可以同时指定出接口和下一跳。对于不同的出接口类型,也可以只指定出接口或只指定下一跳。

对于点到点接口(如串口),只需指定出接口。

对于广播接口(如以太网接口)和VTVirtual-template)接口,必须指定下一跳。

对于以太网,如果要成功封装数据帧,就必须知道下一跳ip地址的mac地址,如果不指定下一跳地址而只指定出接口,设备无法通过arp协议获取到下一跳的mac地址,从而无法完成数据帧的封装。广域网协议封装帧无需mac地址,在后面的课程中会介绍,因此对于以太网接口必须指定下一跳地址。

综上所述,R1上的静态路由理论上有三种配置方法:

[R1]ip route-static 23.1.1.0 255.255.255.0 12.1.1.2 //关联下一跳

[R1]ip route-static 23.1.1.0 255.255.255.0 g0/0/0 //关联出接口

[R1]ip route-static 23.1.1.0 255.255.255.0 g0/0/0 12.1.1.2 //关联出接口和下一跳


R3的配置:

[R3]ip route-static 12.1.1.0 24 23.1.1.2


4、实验调试

(1)在R1上查看路由表

[R1]display ip routing-table //查看路由表

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Tables: Public

Destinations : 5 Routes : 5


Destination/Mask Proto Pre Cost Flags NextHop Interface


12.1.1.0/24 Direct 0 0 D 12.1.1.1 GigabitEthernet0/0/0

12.1.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0

23.1.1.0/24 Static 60 0 RD 12.1.1.2 GigabitEthernet0/0/0

127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0

127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0

以上输出可以看一路由表有一条23.1.1.0/24的静态路由

技术要点

我们查看23.1.1.0这条路由,各种参数解析如下:

  1. Destination/Mask:23.1.1.0/24 //目标网络为23.1.1.0,子网掩码为255.255.255.0
  2. ProtoStatic //此路由是通过静态路由学习到的
  3. Pre 60 //静态路由的优先级为60
  4. Cost 0 //路由的开销为0
  5. Flags RD //其中R代表此路由条目为迭代的路由条目,D代表此路由条目下发到FIB表中
  6. NextHop12.1.1.2 //路由的下一跳为12.1.1.2
  7. InterfaceGigabitEthernet0/0/0 //路由的出接口为g0/0/0

(2)在R2上查看路由表

<R2>display ip routing-table

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Tables: Public

Destinations : 6 Routes : 6


Destination/Mask Proto Pre Cost Flags NextHop Interface


12.1.1.0/24 Direct 0 0 D 12.1.1.2 GigabitEthernet0/0/1

12.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1

23.1.1.0/24 Direct 0 0 D 23.1.1.2 GigabitEthernet0/0/0

23.1.1.2/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0

127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0

127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0

思考

为什么R2上不用配置静态路由?

解析:因为R2有12.1.1.0/24和23.1.1.0/24的直连路由

技术要点

直连路由是由数据链路层协议发现的,是指去往路由器的接口地址所在网段的路径,该路径信息不需要网络管理员维护,也不需要路由器通过某种算法进行计算获得,只要该接口处于激活状态,路由器就会把直连接口所在的网段路由信息填写到路由表中去。链路层只能发现接口所在的直连网段的路由,无法发现跨网段的路由。跨网段的路由需要用其他的方法获得。


(3)在R3上查看路由表

<R3>display ip routing-table

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Tables: Public

Destinations : 5 Routes : 5


Destination/Mask Proto Pre Cost Flags NextHop Interface


12.1.1.0/24 Static 60 0 RD 23.1.1.2 GigabitEthernet0/0/1

23.1.1.0/24 Direct 0 0 D 23.1.1.3 GigabitEthernet0/0/1

23.1.1.3/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1

127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0

127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0



(4) R1访问R3

<R1>ping 23.1.1.3

PING 23.1.1.3: 56 data bytes, press CTRL_C to break

Reply from 23.1.1.3: bytes=56 Sequence=1 ttl=254 time=70 ms

Reply from 23.1.1.3: bytes=56 Sequence=2 ttl=254 time=60 ms

Reply from 23.1.1.3: bytes=56 Sequence=3 ttl=254 time=80 ms

Reply from 23.1.1.3: bytes=56 Sequence=4 ttl=254 time=50 ms

Reply from 23.1.1.3: bytes=56 Sequence=5 ttl=254 time=50 ms


--- 23.1.1.3 ping statistics ---

5 packet(s) transmitted

5 packet(s) received

0.00% packet loss

round-trip min/avg/max = 50/62/80 ms

从ping的结果我们可以看到R1可以访问R3


4.32实验二:缺省路由

  1. 实验目的 默认路由的使用场合; 默认路由的配置

静态路由​_静态路由_03

  1. 实验拓扑实验拓扑如图4-4所示

图4-4缺省路由

  1. 实验步骤
  1. 配置网络连通性R1的配置
    <Huawei>system-view
    Enter system view, return user view with Ctrl+Z.
    [Huawei]undo info-center enable
    [Huawei]sysname R1
    [R1]interface g0/0/0
    [R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
    [R1-GigabitEthernet0/0/0]undo shutdown
    [R1-GigabitEthernet0/0/0]quit
    R2的配置
    <Huawei>system-view
    Enter system view, return user view with Ctrl+Z.
    [Huawei]undo info-center enable
    [Huawei]sysname R2
    [R2]interface g0/0/1
    [R2-GigabitEthernet0/0/1]ip address 12.1.1.2 24
    [R2-GigabitEthernet0/0/1]undo shutdown
    [R2-GigabitEthernet0/0/1]quit
    [R2]interface g0/0/0
    [R2-GigabitEthernet0/0/0]ip address 23.1.1.2 24
    [R2-GigabitEthernet0/0/0]undo shutdown
    [R2-GigabitEthernet0/0/0]quit
    [R2]interface g0/0/2
    [R2-GigabitEthernet0/0/2]ip address 24.1.1.2 24
    [R2-GigabitEthernet0/0/2]undo shutdown
    [R2-GigabitEthernet0/0/2]quit
    R3的配置
    <Huawei>system-view
    Enter system view, return user view with Ctrl+Z.
    [Huawei]undo info-center enable
    [Huawei]sysname R3
    [R3]interface g0/0/1
    [R3-GigabitEthernet0/0/1]ip address 23.1.1.3 24
    [R3-GigabitEthernet0/0/1]undo shutdown
    [R3-GigabitEthernet0/0/1]quit
    R4的配置
    <Huawei>system-view
    Enter system view, return user view with Ctrl+Z.
    [Huawei]undo info-center enable
    [Huawei]sysname R4
    [R4]interface g0/0/1
    [R4-GigabitEthernet0/0/1]ip address 24.1.1.4 24
    [R4-GigabitEthernet0/0/1]undo shutdown
    [R4-GigabitEthernet0/0/1]quit
  2. 配置静态路由

R1的配置

[R1]ip route-static 0.0.0.0 0.0.0.0 12.1.1.2 //配置缺省路由到任何网段下一跳为12.1.1.2

技术要点

在本实验中,如果我们使用静态路由,那么我们要配置两条静态路由,具体配置如下:

[R1]ip route-static 23.1.1.0 255.255.255.0 12.1.1.2

[R1]ip route-static 24.1.1.0 255.255.255.0 12.1.1.2

读者想一想,如果有1000条路由,我们的配置是不是特别复杂,所以针对于下一跳相同的多条静态路由读者可以使用缺省路由来简化配置。

R3的配置

[R3]ip route-static 12.1.1.0 255.255.255.0 23.1.1.2

R4的配置

[R4]ip route-static 12.1.1.0 255.255.255.0 24.1.1.2

  1. 实验调试

查看R1的路由表

[R1]display ip routing-table

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Tables: Public

Destinations : 5 Routes : 5


Destination/Mask Proto Pre Cost Flags NextHop Interface


0.0.0.0/0 Static 60 0 RD 12.1.1.2 GigabitEthernet0/0/0

12.1.1.0/24 Direct 0 0 D 12.1.1.1 GigabitEthernet0/0/0

12.1.1.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0

127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0

127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0

通过查看R1的路由表,读者可以看到一条缺省路由,虽然简化了配置,读者测试一下网络连通性。

R1访问R3

[R1]ping 23.1.1.3

PING 23.1.1.3: 56 data bytes, press CTRL_C to break

Reply from 23.1.1.3: bytes=56 Sequence=1 ttl=254 time=100 ms

Reply from 23.1.1.3: bytes=56 Sequence=2 ttl=254 time=60 ms

Reply from 23.1.1.3: bytes=56 Sequence=3 ttl=254 time=50 ms

Reply from 23.1.1.3: bytes=56 Sequence=4 ttl=254 time=70 ms

Reply from 23.1.1.3: bytes=56 Sequence=5 ttl=254 time=80 ms


--- 23.1.1.3 ping statistics ---

5 packet(s) transmitted

5 packet(s) received

0.00% packet loss

round-trip min/avg/max = 50/72/100 ms

R1访问R4

[R1]ping 24.1.1.4

PING 24.1.1.4: 56 data bytes, press CTRL_C to break

Reply from 24.1.1.4: bytes=56 Sequence=1 ttl=254 time=60 ms

Reply from 24.1.1.4: bytes=56 Sequence=2 ttl=254 time=90 ms

Reply from 24.1.1.4: bytes=56 Sequence=3 ttl=254 time=60 ms

Reply from 24.1.1.4: bytes=56 Sequence=4 ttl=254 time=80 ms

Reply from 24.1.1.4: bytes=56 Sequence=5 ttl=254 time=80 ms


--- 24.1.1.4 ping statistics ---

5 packet(s) transmitted

5 packet(s) received

0.00% packet loss

round-trip min/avg/max = 60/74/90 ms

通过测试读者可以看到,缺省路由虽然简化了配置,但是不影响访问,所以读者以后在遇到类似的拓扑可以考虑使用缺省路由。

4.32实验三:浮动静态路由

  1. 实验目的
  1. 浮动静态路由的使用场景
  2. 浮动静态路由的配置
  1. 实验拓扑实验拓扑如图4-5所示

静态路由​_R3_04

图4-5 浮动静态路由

  1. 实验步骤(1)网络连通性
    R1的配置
    [Huawei]sysname R1
    [R1]interface g0/0/0
    [R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
    [R1-GigabitEthernet0/0/0]undo shutdown
    [R1-GigabitEthernet0/0/0]quit
    [R1]interface g0/0/1
    [R1-GigabitEthernet0/0/1]ip address 10.1.1.1 24
    [R1-GigabitEthernet0/0/1]undo shutdown
    [R1-GigabitEthernet0/0/1]quit
    R2的配置
    <Huawei>system-view
    Enter system view, return user view with Ctrl+Z.
    [Huawei]undo info-center enable
    [Huawei]sysname R2
    [R2]interface g0/0/0
    [R2-GigabitEthernet0/0/0]ip address 12.1.1.2 24
    [R2-GigabitEthernet0/0/0]undo shutdown
    [R2-GigabitEthernet0/0/0]quit
    [R2]interface g0/0/1
    [R2-GigabitEthernet0/0/1]ip address 10.1.1.2 24
    [R2-GigabitEthernet0/0/1]undo shutdown
    [R2-GigabitEthernet0/0/1]quit
    [R2]interface LoopBack 0 //创建环回口编号为0
    [R2-LoopBack0]ip address 8.8.8.8 32 //配置IP地址
    [R2-LoopBack0]quit
    【技术要点】
    Loopback是路由器里面的一个逻辑接口。逻辑接口是指能够实现数据交换功能,但是物理上不存在、需要通过配置建立的接口。Loopback接口一旦被创建,其 物理状态和链路协议状态永远是Up,即使该接口上没有配置IP地址。正是因为这个特性,Loopback 接口具有特殊的用途。在本实验中loopback中的8.8.8.8相当于是公网上的一台服务器。
    (2)浮动静态路由
    如果实验需求:R1访问8.8.8.8的数据都从g0/0/0口出去,只有当g0/0/0的链路出了问题才会从g0/0/1口出去,我们就可以通过浮动静态路由来配置,其配置如下:
    [R1]ip route-static 8.8.8.8 255.255.255.255 12.1.1.2 preference 50 //
    [R1]ip route-static 8.8.8.8 255.255.255.255 10.1.1.2 preference 100

    【技术要点】
    Preference代表一条路由的可信任的程度,越小越优。
  2. 实验调试

(1)查看R1的路由表

<R1>display ip routing-table

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Tables: Public

Destinations : 7 Routes : 7


Destination/Mask Proto Pre Cost Flags NextHop Interface


8.8.8.8/32 Static 50 0 RD 12.1.1.2 GigabitEthernet0/0/0

通过以上输出,我们可以看到路由表里面只有一条去往8.8.8.8的静态路由。

(2)查看8.8.8.8这条路由的详细信息

<R1>display ip routing-table 8.8.8.8 verbose

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Table : Public

Summary Count : 2


Destination: 8.8.8.8/32

Protocol: Static Process ID: 0

Preference: 50 Cost: 0

NextHop: 12.1.1.2 Neighbour: 0.0.0.0

State: Active Adv Relied Age: 00h12m54s

Tag: 0 Priority: medium

Label: NULL QoSInfo: 0x0

IndirectID: 0x80000001

RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/0

TunnelID: 0x0 Flags: RD


Destination: 8.8.8.8/32

Protocol: Static Process ID: 0

Preference: 100 Cost: 0

NextHop: 10.1.1.2 Neighbour: 0.0.0.0

State: Inactive Adv Relied Age: 00h12m41s

Tag: 0 Priority: medium

Label: NULL QoSInfo: 0x0

IndirectID: 0x80000002

RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/1

TunnelID: 0x0 Flags: R

通过以上输出,可以看到有两条路由,下一跳为12.1.1.2的路由优先级为50,下一跳为10.1.1.2的路由优先为100,优先级为50的路由被放到了路由表,优先级为100的没有被选中。

(3)关闭g0/0/0接口,造成g0/0/0口链路故障

[R1]interface g0/0/0

[R1-GigabitEthernet0/0/0]shutdown

[R1-GigabitEthernet0/0/0]quit

(4)查看R1的路由表

[R1]display ip routing-table

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Tables: Public

Destinations : 5 Routes : 5


Destination/Mask Proto Pre Cost Flags NextHop Interface


8.8.8.8/32 Static 100 0 RD 10.1.1.2 GigabitEthernet0/0/1

通过以上输出,可以看到优先级为100的路由出现在路由表中了,这就是浮动静态路由

(5)把R1的g0/0/0接口打开

[R1]interface g0/0/0

[R1-GigabitEthernet0/0/0]undo shutdown

[R1-GigabitEthernet0/0/0]quit

(6)查看R1的路由表

[R1]display ip routing-table

Route Flags: R - relay, D - download to fib

------------------------------------------------------------------------------

Routing Tables: Public

Destinations : 7 Routes : 7


Destination/Mask Proto Pre Cost Flags NextHop Interface


8.8.8.8/32 Static 50 0 RD 12.1.1.2 GigabitEthernet0/0/0

通过以上输出可以看到优先级为50的路由又回到了路由表,


4.4静态路由命令汇总

表4-2列出了本章所使用的命令

表4-2 静态路由命令汇总

命令

作用

ip route-static

配置静态路由

display ip routing-table

查看全局路由表

display ip routing-table x.x.x.x verbose

查看某条路由条目的详细信息


本文出自作者的《华为认证HCIA-datacom认证实验指南》

静态路由​_R3_05