目 录

1  IP路由概述

1.1  IP路由概述简介

1.2  原理描述

1.2.1  路由器及路由基本原理

1.2.2  静态路由与动态路由

1.2.3  路由表和FIB表

1.2.4  路由协议的优先级

1.2.5  路由的度量

1.2.6  负载分担与路由备份

1.2.7  IP FRR

1.2.8  路由的收敛

1.2.9  缺省路由

1.2.10  不同路由协议的互相引入

1.2.11  自治系统

1.2.12  下一跳分离

1.3  参考信息

1  IP路由概述

介绍IP路由的基本信息。

1.1  IP路由概述简介

路由是数据通信网络中最基本的要素。路由信息就是指导报文发送的路径信息,路由的过程就是报文转发的过程。

根据路由目的地的不同,路由可划分为:
  • 网段路由:目的地为网段,IPv4地址子网掩码长度小于32位或IPv6地址前缀长度小于128位。
  • 主机路由:目的地为主机,IPv4地址子网掩码长度为32位或IPv6地址前缀长度为128位。
根据目的地与该路由器是否直接相连,路由又可划分为:
  • 直连路由:目的地所在网络与路由器直接相连。
  • 间接路由:目的地所在网络与路由器非直接相连。
根据目的地址类型的不同,路由还可以分为:
  • 单播路由:表示将报文转发的目的地址是一个单播地址。
  • 组播路由:表示将报文转发的目的地址是一个组播地址。

1.2  原理描述

介绍IP路由的基本原理。

1.2.1  路由器及路由基本原理

在因特网中,网络连接设备用来控制网络流量和保证网络数据传输质量。常见的网络连接设备有集线器(Hub)、网桥(Bridge)、交换机(Switch)和路由器(Router)。这些设备的基本原理类似,下面就以路由器为例来介绍一下设备的基本原理。

路由器是一种典型的网络连接设备,用来进行路由选择和报文转发。路由器根据收到报文的目的地址选择一条合适的路径(包含一个或多个路由器的网络),然后将报文传送到下一个路由器,路径终端的路由器负责将报文送交目的主机。

路由就是报文从源端到目的端的路径。当报文从路由器到目的网段有多条路由可达时,路由器可以根据路由表中最佳路由进行转发。最佳路由的选取与发现此路由的路由协议的优先级、路由的度量有关。当多条路由的协议优先级与路由度量都相同时,可以实现负载分担,缓解网络压力;当多条路由的协议优先级与路由度量不同时,可以构成路由备份,提高网络的可靠性。

1.2.2  静态路由与动态路由

路由器不仅支持静态路由,同时也支持RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、IS-IS(Intermedia System-Intermedia System)和BGP(Border Gateway Protocol)等动态路由协议。

静态路由与动态路由的区别

路由协议是路由器之间维护路由表的规则,用于发现路由,生成路由表,并指导报文转发。依据来源的不同,路由可以分为三类:
  • 通过链路层协议发现的路由称为直连路由。
  • 通过网络管理员手动配置的路由称为静态路由。
  • 通过动态路由协议发现的路由称为动态路由。

静态路由配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网络。缺点是不能自动适应网络拓扑的变化,需要人工干预。

动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置对用户要求比较高,对系统的要求高于静态路由,并将占用一定的网络资源和系统资源。

动态路由的分类

对动态路由协议的分类可以采用以下不同标准:

根据作用范围不同,路由协议可分为:

  • 内部网关协议IGP(Interior Gateway Protocol):在一个自治系统内部运行。常见的IGP协议包括RIP、OSPF和IS-IS。

  • 外部网关协议EGP(Exterior Gateway Protocol):运行于不同自治系统之间。BGP是目前最常用的EGP协议。

根据使用算法不同,路由协议可分为:

  • 距离矢量协议(Distance-Vector Protocol):包括RIP和BGP。其中,BGP也被称为路径矢量协议(Path-Vector Protocol)。

  • 链路状态协议(Link-State Protocol):包括OSPF和IS-IS。

以上两种算法的主要区别在于发现路由和计算路由的方法不同。

1.2.3  路由表和FIB表

路由器转发数据包的关键是路由表和FIB表,每个路由器都至少保存着一张路由表和一张FIB(Forwarding Information Base)表。路由器通过路由表选择路由,通过FIB表指导报文进行转发。

路由表

每台路由器中都保存着一张本地核心路由表,同时各个路由协议也维护着自己的路由表。

  • 本地核心路由表

    路由器使用本地核心路由表用来保存协议路由和决策优选路由,并负责把优选路由下发到FIB表,通过FIB表指导报文进行转发。这张路由表依据各种路由协议的优先级和度量值来选取路由。

    说明:

    对于支持L3VPN(Layer 3 Virtual Private Network)的路由器,每一个VPN-Instance拥有一个自己的管理路由表(本地核心路由表)。

  • 协议路由表

    协议路由表中存放着该协议发现的路由信息。

    路由协议可以引入并发布其他协议生成的路由。例如,在路由器上运行OSPF协议,需要使用OSPF协议通告直连路由、静态路由或者IS-IS路由时,要将这些路由引入到OSPF协议的路由表中。

路由表中的内容

在路由器中,执行命令display ip routing-table时,可以查看路由器的路由表概要信息,如下所示:

<Huawei> display ip routing-table
Route Flags: R - relay, D - download to fib                                     
------------------------------------------------------------------------------  
Routing Tables: Public                                                          
         Destinations : 14       Routes : 14                                    
                                                                                
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface      
                                                                                
        0.0.0.0/0   Static  60   0          RD   10.137.216.1    GigabitEthernet
2/0/0      
     10.10.10.0/24  Direct  0    0           D   10.10.10.10     GigabitEthernet
1/0/0
    10.10.10.10/32  Direct  0    0           D   127.0.0.1       InLoopBack0    
   10.10.10.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0    
     10.10.11.0/24  Direct  0    0           D   10.10.11.1      LoopBack0      
     10.10.11.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0    
   10.10.11.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0    
   10.137.216.0/23  Direct  0    0           D   10.137.217.208  GigabitEthernet
2/0/0      
 10.137.217.208/32  Direct  0    0           D   127.0.0.1       InLoopBack0    
 10.137.217.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0    
      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    
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0    
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0 

路由表中包含了下列关键项:

  • Destination:表示此路由的目的地址。用来标识IP包的目的地址或目的网络。

  • Mask:表示此目的地址的子网掩码长度。与目的地址一起来标识目的主机或路由器所在的网段的地址。

    将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。

    掩码由若干个连续“1”构成,既可以用点分十进制表示,也可以用掩码中连续“1”的个数来表示。例如掩码255.255.255.0长度为24,即可以表示为24。

  • Proto:表示学习此路由的路由协议。

  • Pre:表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级高(数值小)者将成为当前的最优路由。各协议路由优先级请参见1.2.4 路由协议的优先级

  • Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。

    说明:

    Preference用于不同路由协议间路由优先级的比较,Cost用于同一种路由协议内部不同路由的优先级的比较。

  • NextHop:表示此路由的下一跳地址。指明数据转发的下一个设备。

  • Interface:表示此路由的出接口。指明数据将从本地路由器哪个接口转发出去。

图1-1所示的网络中,路由器A与三个网络相连,因此有三个IP地址和三个出接口,其路由表如图所示。

图1-1  路由表示意图

路由超限自动恢复

本地核心路由表里保存着各路由协议的路由,如果本地核心路由表里的路由数量达到系统上限,协议路由表将无法向本地核心路由表添加路由。本地核心路由表有以下几种路由限制:
  • 整机路由限制:指定所有路由条数的上限值。
  • 整机路由前缀限制:指定所有路由的地址前缀范围。
  • 组播IGP路由限制:指定组播IGP路由条数的上限值。
  • 多拓扑路由限制:指定多拓扑路由条数的上限值。
  • 所有私网路由限制:指定所有私网路由条数的上限值。
  • VPN路由限制:指定VPN路由条数的上限值。
  • VPN路由前缀限制:指定VPN路由的地址前缀范围。

如果协议由于某种路由限制而向本地核心路由表添加路由失败,系统会记录本次添加路由的协议和对应的路由表Table ID。

当协议删除本地核心路由表里的路由释放了路由表的空间之后,路由超限解除,系统会通知所有向本地核心路由表添加路由失败的协议,重新向本地核心路由表添加路由,使得本地核心路由表中的路由能够得到最大程度的恢复。是否可以完全恢复,取决于释放的路由表空间的大小。

FIB表的匹配

在路由表选择出路由后,路由表会将激活路由下发到FIB表中。当报文到达路由器时,会通过查找FIB表进行转发。

FIB表中每条转发项都指明到达某网段或某主机的报文应通过路由器的哪个物理接口或逻辑接口发送,然后就可到达该路径的下一个路由器,或者不再经过别的路由器而传送到直接相连的网络中的目的主机。

FIB表的匹配遵循最长匹配原则。查找FIB表时,报文的目的地址和FIB中各表项的掩码进行按位“逻辑与”,得到的地址符合FIB表项中的网络地址则匹配。最终选择一个最长匹配的FIB表项转发报文。

例如,一台路由器上的路由表如下:

Routing Tables:
Destination/Mask    Proto  Pre  Cost     Flags NextHop         Interface
 0.0.0.0/0    Static   60   0       D   120.0.0.2      GigabitEthernet1/0/0
 8.0.0.0/8    RIP      100  3       D   120.0.0.2      GigabitEthernet1/0/0
 9.0.0.0/8    OSPF     10   50      D   20.0.0.2       GigabitEthernet3/0/0
 9.1.0.0/16   RIP      100  4       D   120.0.0.2      GigabitEthernet2/0/0
 20.0.0.0/8   Direct   0    0       D   20.0.0.1       GigabitEthernet4/0/0

一个目的地址是9.1.2.1的报文进入路由器,查找对应的FIB表。

 FIB Table:
 Total number of Routes : 5
Destination/Mask   Nexthop         Flag TimeStamp     Interface              TunnelID
0.0.0.0/0          120.0.0.2       SU   t[37]         GigabitEthernet1/0/0  0x0
8.0.0.0/8          120.0.0.2       DU   t[37]         GigabitEthernet1/0/0  0x0
9.0.0.0/8          20.0.0.2        DU   t[9992]       GigabitEthernet3/0/0  0x0
9.1.0.0/16         120.0.0.2       DU   t[9992]       GigabitEthernet2/0/0  0x0
20.0.0.0/8         20.0.0.1        U    t[9992]       GigabitEthernet4/0/0  0x0

首先,目的地址9.1.2.1与FIB表中各表项的掩码“0、8、16”作“逻辑与”运算,得到下面的网段地址:0.0.0.0/0、9.0.0.0/8、9.1.0.0/16。这三个结果可以匹配到FIB表中对应的三个表项。最终,路由器会选择最长匹配9.1.0.0/16表项,从接口GE2/0/0转发这条目的地址是9.1.2.1的报文。

1.2.4  路由协议的优先级

对于相同的目的地,不同的路由协议(包括静态路由)可能会发现不同的路由,但这些路由并不都是最优的。事实上,在某一时刻,到某一目的地的当前路由仅能由唯一的路由协议来决定。为了判断最优路由,各路由协议(包括静态路由)都被赋予了一个优先级,当存在多个路由信息源时,具有较高优先级(取值较小)的路由协议发现的路由将成为最优路由,并将最优路由放入本地路由表中。

路由器分别定义了外部优先级和内部优先级。外部优先级是指用户可以手工为各路由协议配置的优先级,缺省情况下如表1-1所示。

表1-1  路由协议缺省时的外部优先级

路由协议的类型

路由协议的外部优先级

Direct

0

OSPF

10

IS-IS

15

Static

60

RIP

100

OSPF ASE

150

OSPF NSSA

150

IBGP

255

EBGP

255

说明:

其中,0表示直接连接的路由,255表示任何来自不可信源端的路由;数值越小表明优先级越高。

除直连路由(DIRECT)外,各种路由协议的优先级都可由用户手工进行配置。另外,每条静态路由的优先级都可以不相同。

路由协议的内部优先级则不能被用户手工修改,如表1-2所示。

表1-2  路由协议内部优先级

路由协议的类型

路由协议的内部优先级

Direct

0

OSPF

10

IS-IS Level-1

15

IS-IS Level-2

18

Static

60

RIP

100

OSPF ASE

150

OSPF NSSA

150

IBGP

200

EBGP

20

选择路由时先比较路由的外部优先级,当不同的路由协议配置了相同的优先级后,系统会通过内部优先级决定哪个路由协议发现的路由将成为最优路由。例如,到达同一目的地10.1.1.0/24有两条路由可供选择,一条静态路由,另一条是OSPF路由,且这两条路由的外部优先级都被配置成5。这时路由器系统将根据表1-2所示的内部优先级进行判断。因为OSPF协议的内部优先级是10,高于静态路由的内部优先级60。所以系统选择OSPF协议发现的路由作为最优路由。

1.2.5  路由的度量

路由的度量标示出了这条路由到达指定的目的地址的代价,通常以下因素会影响到路由的度量。

  • 路径长度

    路径长度是最常见的影响路由度量的因素。链路状态路由协议可以为每一条链路设置一个链路开销来标示此链路的路径长度。在这种情况下,路径长度是指经过的所有链路的链路开销的总和。距离矢量路由协议使用跳数来标示路径长度。跳数是指数据从源端到目的端所经过的设备数量。例如,路由器到与它直接相连网络的跳数为0,通过一台路由器可达的网络的跳数为1,其余以此类推。

  • 网络带宽

    网络带宽是一个链路实际的传输能力。例如,一个10千兆的链路要比1千兆的链路更优越。虽然带宽是指一个链路能达到的最大传输速率,但这不能说明在高带宽链路上路由要比低带宽链路上更优越。比如说,一个高带宽的链路正处于拥塞的状态下,那报文在这条链路上转发时将会花费更多的时间。

  • 负载

    负载是一个网络资源的使用程度。计算负载方法包括CPU的利用率和它每秒处理数据包的数量。持续监测这些参数可以及时了解网络的使用情况。

  • 通信开销

    通信开销衡量了一条链路的运营成本。尤其是只注重运营成本而不在乎网络性能的时候,通信开销则就成了一个重要的指标。

1.2.6  负载分担与路由备份

当多条路由的路由优先级和路由度量都相同时,这几条路由就称为等价路由,多条等价路由可以实现负载分担。当这几条路由为非等价路由时,就可以实现路由备份。

负载分担

路由器支持多路由模式,即允许配置多条目的地相同且优先级也相同的路由。当到达同一目的地存在同一路由协议发现的多条路由时,且这几条路由的开销值也相同,那么就满足负载分担的条件。

当实现负载分担时,路由器根据五元组(源地址、目的地址、源端口、目的端口、协议)进行转发,当五元组相同时,路由器总是选择与上一次相同的下一跳地址发送报文。当五元组不同时,路由器会选取相对空闲的路径进行转发。

图1-2  负载分担组网图

图1-2所示,RouterA已经通过接口GE1/0/0转发到目的地址10.1.1.0/24的第1个报文P1,随后又需要分别转发报文到目的地址10.1.1.0/24和10.2.1.0/24。其转发过程如下:

  • 当转发到达10.1.1.0/24的第2个报文P2时,发现此报文与到达10.1.1.0/24的第1个报文P1的五元组一致。所以之后到达该目的地的报文都从GE1/0/0转发。

  • 当转发到达10.2.1.0/24的第1个报文P1时,发现此报文与到达10.1.1.0/24的第1个报文P1的五元组不一致。所以选取从GE2/0/0转发,并且之后到达该目的地的报文都从GE2/0/0转发。

说明:

系统所允许的负载分担的具体路由条数,与实际产品型号相关。

路由备份

路由备份功能,可以提高网络的可靠性。用户可以根据实际情况,配置到同一目的地的多条路由,其中一条路由的优先级最高,作为主路由,其余的路由优先级较低,作为备份路由。

正常情况下,路由器采用主路由转发数据。当主链路出现故障时,主路由变为非激活状态,路由器选择备份路由中优先级最高的路由转发数据。这样,也就实现了主路由到备份路由的切换。当主链路恢复正常时,由于主路由的优先级最高,路由器重新选择主路由来发送数据。这样,就实现了从备份路由回切到主路由。

1.2.7  IP FRR

定义

快速重路由FRR(Fast Reroute)是指当物理层或链路层检测到故障时将故障消息上报至上层路由系统,并立即启用一条备份链路转发报文。IP FRR是一种快速实现路由备份的方式。

目的

在传统的IP网络上,转发链路出现底层故障后,最为直观的表现是路由器上的物理接口状态变为Down状态。路由器检测到这种故障后,会通知上层路由系统进行相应更新,并重新计算路由。通常从链路故障发生到路由系统完成路由收敛(重新选择了一条可用的路由),要经历几秒钟的时间。

但是对于网络上某些对延时、丢包等非常敏感的业务来说,秒级的收敛时间是不能忍受的,因为这将导致当前业务的中断。比如VoIP业务所能容忍的网络中断时间为毫秒级。

IP FRR特性能够保证转发系统快速应对出现的链路故障,直接启用备份路由进行数据转发,尽快让业务恢复正常。

IP FRR的分类与实现

IP FRR针对IP网络路由而设计,分为公网IP FRR和私网IP FRR:

  • 公网IP FRR:用于保护公网路由器。

  • 私网IP FRR:用于保护CE(Customer Edge)。

IP FRR的主要实现手段如下:

  1. 在主链路可用时,通过设置IP FRR策略,把备份路由的转发信息同时提供给转发引擎。

  2. 当转发引擎感知到主链路不可用时,能够在控制平面路由收敛前直接使用备份路径转发报文。

IP FRR的典型应用

图1-3所示,网络中通过部署IP FRR来增强可靠性。其中CE1双归到PE1和PE2,并配置私网备份出接口和备份下一跳,使链路B为链路A的备份,链路A出现故障时可以快速切换到链路B上。

图1-3  配置IP FRR功能

1.2.8  路由的收敛

定义

路由收敛是指网络拓扑变化引起的通过重新计算路由而发现替代路由的行为。随着网络的融合,区分服务的需求越来越强烈。某些路由可能指导关键业务的转发,如VoIP,视频会议、组播等,这些关键的业务路由需要尽快收敛,而非关键路由可以相对慢一点收敛。因此,系统需要对不同路由按不同的收敛优先级处理,来提高网络可靠性。

按优先级收敛是指系统为路由设置不同的收敛优先级,分为critical、high、medium、low四种。系统根据这些路由的收敛优先级采用相对的优先收敛原则,即按照一定的调度比例进行路由收敛安装,指导业务的优先转发。

原理描述

路由协议优先计算并下发高收敛优先级的路由给系统。缺省情况下的公网路由收敛优先级如表1-3所示。

表1-3  缺省时的公网路由收敛优先级

路由协议或路由种类

收敛优先级

Direct

high

Static

medium

OSPF和IS-IS的32位主机路由

medium

OSPF(除32位主机路由外)

low

IS-IS(除32位主机路由外)

low

RIP

low

BGP

low

说明:

对于私网路由,除了OSPF和IS-IS的32位主机路由标识为medium,其余路由统一标识为low。

路由按优先级收敛的应用

图1-4所示,在图中的组播服务中,网络上运行OSPF和IS-IS协议,接收者在RouterA端,组播源服务器10.10.10.10/32在RouterB端。其中要求到组播服务器的路由优先于其他路由(例如12.10.10.0/24)收敛。这时可以配置路由10.10.10.10/32的收敛优先级高于路由12.10.10.0/24的收敛优先级,这样当网络路由重新收敛时,就能确保到组播源的路由10.10.10.10/32优先收敛,保证组播业务的转发。

图1-4  路由按优先级收敛应用组网图

1.2.9  缺省路由

缺省路由是另外一种特殊的路由。简单来说,缺省路由是没有在路由表中找到匹配的路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。如果没有缺省路由且报文的目的地址不在路由表中,那么该报文将被丢弃,并向源端返回一个ICMP(Internet Control Message Protocol)报文,报告该目的地址或网络不可达。

在路由表中,缺省路由以到网络0.0.0.0(掩码也为0.0.0.0)的路由形式出现。可通过命令display ip routing-table查看当前是否设置了缺省路由。通常情况下,管理员可以通过手工方式配置缺省静态路由;但有些时候,也可以使动态路由协议生成缺省路由,如OSPF和IS-IS。

1.2.10  不同路由协议的互相引入

由于采用的算法不同,不同的路由协议可以发现不同的路由。当网络规模比较大,使用多种路由协议时,不同的路由协议间通常需要发布其他路由协议发现的路由。

各路由协议都可以引入其它路由协议的路由、直连路由和静态路由,每种路由协议都有相应的路由引入机制,具体内容请参见各路由协议模块有关引入外部路由的描述。

1.2.11  自治系统

在互联网中,自治系统AS(Autonomous System)是指在一个(有时是多个)实体管辖下的所有IP网络和路由器的网络,它们对互联网执行共同的路由策略。

每一个AS可以支持多个内部网关路由协议。一个AS内的所有网络都被分配同一个AS号,属于一个行政单位管辖。AS号分为2字节AS号和4字节AS号。其中2字节AS号的范围为1至65535。随着时间推进,可分配的2字节AS号已经濒临枯竭,需要将AS号的范围从之前的2字节扩展为4字节,其中4字节AS号的取值范围为1至4294967295。4字节AS号还可以用X.Y的形式表示,其中X的取值范围为1至65535,Y的取值范围为0至65535。

AS号根据在不同的网络上使用可以分为两类,如表1-4所示:
表1-4  AS号的分类及其取值范围
AS号的类别 2字节AS号 4字节AS号
公有AS号 1~64511 1~64511,65536~4294967295
私有AS号 64512~65535 64512~65535

1.2.12  下一跳分离

定义

下一跳分离是一种提高路由收敛性能的技术,它把路由前缀与下一跳转发信息的直接关系变为间接关系。下一跳分离支持下一跳信息的单独刷新,而不必逐条刷新大量前缀,从而获得较快的收敛速度。

目的

在路由需要迭代的场景中,当IGP路由或隧道发生切换时,快速刷新FIB转发路径,实现流量的快速收敛,降低对业务的影响。

前缀与下一跳映射

下一跳分离的基础是路由前缀与下一跳的映射法则。为了满足不同场景下迭代路由和迭代隧道的需求,下一跳信息由地址族、原始下一跳地址、隧道策略等要素构成。系统给每个下一跳信息分配一个索引,进行迭代并将迭代结果通知路由协议并下发FIB。

按需迭代

按需迭代是当依赖路由变化时,只对相关的下一跳进行重新迭代。如果路由的目的地址是某个下一跳信息的原始下一跳地址,或是其网段地址,则路由变化时会影响这个下一跳信息的迭代结果,否则路由的变化对下一跳没有影响。所以,当一条路由发生变化时,通过判断目的地址可以实现只对相关的下一跳进行重新迭代。

对于迭代隧道的情况,当一条隧道的状态(UP/DOWN)改变时,只需要对原始下一跳地址与隧道目的地址相同的下一跳信息进行重新迭代。

迭代策略

迭代策略用于控制下一跳的迭代结果,以满足不同应用场景下的需求。迭代路由时不需要通过策略进行控制,只遵循最长匹配原则。只有私网路由迭代隧道时需要应用隧道策略。

缺省情况下,系统为VPN选择LSP隧道且不进行负载分担。如果要进行负载分担或选择其它类型的隧道,需要配置隧道策略并应用该隧道策略。VPN应用隧道策略后,对其下一跳进行迭代时,选择隧道策略中绑定的隧道,或根据隧道策略中为不同类型的隧道指定的优先级,选择使用的隧道。

下一跳分离下刷

从转发层面看,对于公网路由,只需要下一跳和出接口就能指导转发,对于私网路由,还需要指定公网隧道,在采用下一跳分离下刷之前,转发信息(下一跳、出接口、隧道)需要由前缀直接带到FIB,导致总的收敛时间与前缀数量相关,采用下一跳分离下刷后,大量的前缀与同一个下一跳对应,只需要通过这个下一跳将转发信息带到FIB中,相关前缀的流量就能同时切换。

图1-5  没有实现下一跳分离时路由的组织形式

图1-5所示,没有实现下一跳分离时,前缀之间完全独立,分别对应自己的下一跳和迭代转发信息。当依赖路径变化时,分别对每个前缀对应的下一跳进行迭代,并以前缀为单位下刷,收敛速度与前缀数量相关。

实际上,如果前缀来自同一个BGP邻居,则它们的下一跳和迭代转发信息也一定相同,下刷的迭代转发信息是重复的。

图1-6  实现下一跳分离时路由的组织形式

图1-6所示,实现下一跳分离后,来自同一个邻居的前缀共享同一个下一跳,依赖路径变化时,只对这个共同的下一跳进行迭代,并以下一跳为单位刷新其对应的迭代转发信息。这样所有前缀的流量就可以同时收敛,收敛速度与前缀数量无关。

迭代路由与迭代隧道的比较

迭代路由与迭代隧道的不同如下表所示。

表1-5  迭代路由与迭代隧道的比较

迭代类型

特点

迭代路由

  • 对BGP公网路由进行迭代。

  • 由路由变化触发迭代。

  • 支持按策略迭代下一跳。

迭代隧道

  • 对BGP私网路由进行迭代。

  • 由隧道或隧道策略变化触发迭代。

  • 可通过隧道策略对迭代行为进行控制,满足不同应用场景下的需求。

1.3  参考信息

介绍IP路由基础的参考标准和协议。