Network 路由重分发(路由引入)

概念

在路由协议的边界设备上,将某种路由协议的路由信息引入另一种路由协议中,这个操作被称为路由引入 (Route Importation) 者路由重分发 Route Redistribution。

在一个大型的企业中,由于网络规模十分庞大,选用单一 的路由协议可能己经无法满足网络的需求,因此多种路由协议共存的情况颇为常见。再者出于业务逻辑的考虑,通过在不同的网络结构中设计、部署不同的路由协议,可以使路由的层次结构更加清晰和可控。另外,在执行路由重分发时,还可以部署路由策略,从而实现对业务流量的灵活把控,这也是路由 重分发的魅力之一。

需要强调的是,路由重分发的操作是具有方向性的。

路由重分发的场景

路由重分发主要涉及如下几种场景:
动态路由协议之间的路由重分发;
将直连路由引入动态路由协议:
将静态路由引入动态路由协议;

路由重分发命令

RIP OSPF iS-iS BGP 等几乎所有的主流动态路由协议中, import-route
令都被用于执行路由重分发。

import-route ospf 1 cost 2

注意点:

如果被引入的路由失效,边界设备会发送一个Response报文通知,撤销关于目的网络的路由通告。

另一个需要留意的细节是路由的度量值。不同的路由协议对度量值的定义是不同
的, OSPF 将开销作为路由的度量值,而 RIP 则定义了跳数作为其路由度量值,这显然
是两种不同的设定。因此当一条路由被路由器从 OSPF 引入RIP 时,路由器生成的RIP
路由的度量值显然需要被重新定义,在上文配置的 import-route 命令中,关联了 cost
键字来指定路由被引入之后的度量值。在 import-route ospf 1后增加 cost 2则意为将引
入阳 的路由的度量值设置为 2跳.

如果要将其他路由协议的路由引入 RIP ,并且在执行 import-route 命令时没有指
cost 关键字及其参数,那么缺省时,被引入RIP的外部珞由的 Cost 值为 0,路由器将
该外部路由通告给其他路由器时,会将跳数设置为 1(也即0跳加上1) 。可以在 RIP
配置视图下使用 default-cost 命令修改这个缺省值(范围是 0~15)。

执行 import-route 命令将其他路由协议的路由引入 OSPF 时,可以指定外部路由
引入 OSPF 后的度量值、度量值类型、标记等信息,如果该命令中没有指定上述信息,
那么路由器将会为路由的这些属性设置缺省值,在 OSPF 配直视图下,使用 default 命令
可修改这些缺省值:

  • default cost 20: 外部路由被引入 OSPF 后,其度量值缺省被设置为1 ,使用该命
    令可将缺省值修改为 20
  • default cost inherit-metric :执行该命令后,被引入 OSPF 的外部路由的度量值将
    继承其被引入前的值
  • default type 1: 外部路由被引入 OSPF 后,其度量值类型缺省被设直为 Metric-type-2 ,使用该命令可将缺省度量值类型设直为 Metric-Type-1
  • default tag 10 :外部路由被引入 OSPF 后,其路由标记佳缺省值被设直为1 ,使用该命令可将缺省标记值设直为 10

OSPF(Open Shortest Path First,开放式最短路径优先)引入外部路由时有第一类外部路由(Type 1 External Route)和第二类外部路由(Type 2 External Route)两种类型,它们的区别如下:

一、计算开销(Cost)方式不同

  1. 第一类外部路由
    • 引入到 OSPF 中的第一类外部路由在计算路由开销时,除了考虑外部路由的开销,还会累加到达 ASBR(Autonomous System Boundary Router,自治系统边界路由器)的 OSPF 内部路由开销。
    • 例如,从某一路由器到达 ASBR 的 OSPF 内部路径开销是 10,ASBR 引入的外部路由开销是 20,那么对于该路由器来说,这条第一类外部路由的总开销就是 10 + 20 = 30。
  2. 第二类外部路由
    • 第二类外部路由在计算路由开销时,只考虑 ASBR 通告的外部路由开销,而忽略到达 ASBR 的 OSPF 内部路由开销。
    • 延续前面的例子,同样的场景下,如果是第二类外部路由,那么该路由器计算的这条外部路由的开销就是 20。

二、路由优选规则不同

  1. 第一类外部路由
    • 在进行路由选择时,OSPF 区域内和区域间的路由优先于第一类外部路由。
    • 只有当没有区域内和区域间的路由可以到达目的地址时,才会选择第一类外部路由。
    • 这是因为 OSPF 认为区域内和区域间的路由更可靠、更稳定,具有更高的优先级。
  2. 第二类外部路由
    • 第二类外部路由的优先级低于 OSPF 区域内和区域间的路由,也低于第一类外部路由。
    • 当存在多种路由可以到达同一目的地址时,会按照上述优先级顺序进行选择,最后才考虑第二类外部路由。

三、适用场景不同

  1. 第一类外部路由
    • 适用于对路由开销计算要求更精确、更符合实际网络拓扑和流量情况的场景。
    • 例如,在一个对网络流量和路由控制要求严格的企业网络中,如果希望外部路由的选择能够充分考虑到内部网络的拓扑结构和路由开销,就可以选择使用第一类外部路由。
  2. 第二类外部路由
    • 通常适用于外部路由相对不太重要,或者希望简化路由计算和管理的场景。
    • 比如在一些小型网络或者对路由策略要求不高的网络环境中,使用第二类外部路由可以减少路由计算的复杂性,提高网络的简洁性。

如图RTC通过RTB和RTA学习到1.1.1.1/32路由,请问选择哪个路径?通过命令显示是选择了区域内的路由。区域内路由优先级高于区域间路由优先级。

重分发直连路由到OSPF

使用import-route direct 命令将设备上的所有直连接口的路由发布到OSPF 中,包括已经在Ospf 进程下激活的接口路由。

重分发静态路由到OSPF

OSPF 视图中执行的 import-route static 命令,用于将其路由表中的所有静态路由引入 OSPF 。将静态路由引入其他动态路由协议中,同样是使用 import-route static命令。

Index