Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

路由首选项概述

对于单播路由,Junos OS 路由协议进程使用其路由表中的信息以及配置文件中设置的属性,为每个目标选择 一个活动路由 。虽然 Junos OS 可能知道到目标的多个路由,但活动路由是该目标的首选路由,也是安装在转发表表中并在实际路由数据包时使用的路由。

路由协议进程通常通过选择优先级最低的路由来确定活动路由。优先级值是 0 到 4,294,967,295 (232 – 1) 范围内的任意值,软件用于对从不同协议、接口或远程系统接收的路由进行排名。

优先级值用于选择到外部自治系统 (AS) 或路由域中目标的路由;对 AS(即内部网关协议 [IGP]内)中的路由选择没有影响。AS 中的路由由 IGP 选择,并基于该协议的指标或成本值。

本节包含以下主题:

自治系统

单个管理机构下的大型网络或路由器集合被称为 自治系统 (AS)。自治系统由互联网编号分配机构 (IANA) 分配的唯一数字标识符标识。通常,AS 中的主机被视为内部对等方,而对等方 AS 中的主机则被视为外部对等方。主机之间(内部或外部)之间的关系状态受用于交换路由信息的协议的约束。

替代和捆绑偏好

Junos OS 支持替代和捆绑式首选项,而某些路由协议(包括 BGP 和标签交换)使用这些附加首选项。借助这些协议,您可以指定主要 路由优先级 (通过在配置中包括 preference 语句)和用作连接程序(通过包括语句 preference2 )的辅助优先级。

为了使用通用比较例程,Junos OS 将 1 的值补补LocalPrefPreference2存储在字段中。例如,如果 LocalPref Route 1 的值为 100,则该值Preference2为 -101。LocalPref如果 Route 2 的值为 155,则Preference2该值为 -156。路由 2 是首选路由,因为它的值更高LocalPref,值越低Preference2

您还可以通过指定颜色和分断器颜色(通过在color配置color中包含和分断符color2语句来标记路由优先级)来标记路由优先级,而color2语句甚至可以是 Junos OS 在路由选择过程中无法中断连接时preferencepreference2使用的细粒度偏好值。

软件使用 4 字节值来表示路由优先级值。使用优先级值选择活动路由时,软件首先比较主要路由优先级值,然后选择值最低的路由。如果存在关联,并且配置了辅助优先级,则软件会比较辅助优先级值,选择值最低的路由。辅助优先级值必须包含在要考虑的优先级值集中。

多个活动路由

IGP 计算等价多路径下一跃点,IBGP 会选择这些下一跃点。当存在多个与路由关联的等价下一跃点时,路由协议进程只会在每个路由的转发路径中安装下一跃点中的一个,并随机选择要安装的下一跃点。例如,如果一个出口路由设备有 3 个等价路径,有 900 条通过该路由设备离开的路由,则每个路径最终都会有大约 300 个指向该路由。此机制在路径之间提供负载分配,同时保持每个目标的数据包顺序。

BGP 多路径不适用于共享相同 MED-plus-IGP 成本但 IGP 成本不同的路径。多路径路径选择基于 IGP 成本指标,即使两个路径的成本 MED-plus-IGP 成本相同。

随机选择等价多路径单独进行,对于inet.0inet.3表。这可能会导致单个前缀显示与不同的最佳路径inet.0inet.3

动态和静态路由

条目将从动态路由协议或通过手动包含为静态路由导入路由器的路由表中。动态路由协议允许路由器从网络中学习网络拓扑。网络内的路由器以路由通告的形式发送路由信息。这些播发会建立并通信活动目标,然后与网络中的其他路由器共享这些目标。

尽管动态路由协议非常有用,但它们有相关成本。动态路由协议使用网络来播发路由,因此会消耗带宽。此外,由于动态路由协议依赖于路由通告的传输和接收来构建路由表,因此在路由器开机时间与将路由导入路由表之间的延迟(延迟)因此,在路由表完全更新、路由器首次联机或在网络内路由发生变化(例如,由于主机脱机)之前,某些路由实际上不可用。

静态路由可避免动态路由的带宽成本和路由导入延迟。静态路由会手动包含在路由表中,除非您明确更新这些路由,否则不会更改。路由器首次联机时,静态路由会自动导入路由表中。此外,发往静态地址的所有流量都通过同一路由器路由。对于流量必须始终通过相同路由器的客户的网络,此功能特别有用。 图 1 显示了使用静态路由的网络。

图 1:静态路由示例 Static Routing Example

图 1 中,子网中的 192.176.14/24 客户路由是静态路由。这些是与特定客户主机的硬连接,永远不会改变。由于发往任何一个路由的所有流量都是通过路由器 A 转发的,因此这些路由作为静态路由包含在路由器 A 的路由表中。然后,路由器 A 将这些路由播发至其他主机,以便可以路由到和路由流量。

路由通告

路由表和转发表包含网络中路由器的路由。这些路由是通过路由通告的交换来学习的。根据网络中采用的特定协议交换路由公告。

通常,路由器会从每个接口传输 hello 数据包。相邻路由器会检测到这些数据包并与路由器建立邻接。然后,这些邻接会与其他相邻路由器共享,从而使路由器能够在拓扑数据库中构建整个网络拓扑,如图 2 所示。

图 2:路由播发 Route Advertisement

图 2 中,路由器 A 会向每个邻接方发送 hello 数据包。路由器 B 和 C 会检测这些数据包,并与路由器 A 建立邻接关系。然后路由器 B 和路由器 C 分别将其共享至邻接方路由器 D 和 E。通过在整个网络中共享信息,路由器会创建一个网络拓扑结构,用于确定通往网络内所有可能目标的路径。然后,根据正在使用的协议的路由选择标准,将这些路由提取到最佳路由的转发表中。

路由聚合

随着网络中主机数量的增加,路由和转发表必须建立和维护更多的路由。随着这些表越来越大,路由器需要查找特定路由才能转发数据包的时间变得令人望而却步。解决路由表不断增加的问题,解决方案是按子网对路由器进行分组(聚合),如图 3 所示。

图 3:路由聚合 Route Aggregation

图 3 显示了三个不同的 AS。每个 AS 都包含具有数千个主机地址的多个子网。要允许流量从任何主机发送到任何主机,每个主机的路由表都必须包含每个目标的路由。要使路由表包括每个主机组合,则每个可能路由的路由通告泛洪变得令人望而却步。在主机数量达数千甚至数百万的网络中,简单的路由播发不仅不切实际,而且不可能。

通过采用路由聚合,网关路由器仅向 AS 3 中的所有主机播发包含所有路由的单个路由,而不是为 AS 3 中的每个主机播发路由。例如,AS 3 网关路由器仅播发 170.16/16,而不是播发特定路由170.16.124.17。此单个路由播发包含 170.16/16 子网中的所有主机,从而将路由表中的路由数量从 216(适用于子网内每个可能的 IP 地址一个)减少到 1。发往 AS 内主机的任何流量将被转发到网关路由器,然后网关路由器负责将数据包转发到相应的主机。

同样,在此示例中,网关路由器负责在 AS 中维护 216 个路由(除了任何外部路由)。将此 AS 划分为子网允许进一步的路由聚合减少此数量。在示例的子网中,子网网关路由器仅播发单个路由 (170.16.124/24),这会将路由数量从 28 减少到 1。