LSP 中的路由器
LSP 中的每个路由器执行以下功能之一:
入口路由器 — LSP 开头的路由器。此路由器使用 MPLS 第 2 层 帧封装 IP 数据包,并将其转发至路径中的下一个路由器。每个 LSP 只能有一个入口路由器。
出口路由器 — LSP 末尾的路由器。此路由器移除 MPLS 封装,从而将其从 MPLS 数据包转换为 IP 数据包,并使用 IP 转转发表中的信息将数据包转发到最终目的地。每个 LSP 只能有一个出口路由器。LSP 中的入口和出口路由器不能是同一台路由器。
中转路由器 — 入口和出口路由器之间的 LSP 中的任何中间路由器。过渡路由器将接收到的 MPLS 数据包转发到 MPLS 路径中的下一个路由器。一个 LSP 可以包含零个或多个传输路由器,单个 LSP 中最多可以包含 253 个传输路由器。
单个路由器可以是多个 LSP 的一部分。它可以是一个或多个 LSP 的入口或出口路由器,也可以是一个或多个 LSP 中的中转路由器。每个路由器支持的功能取决于您的网络设计。
数据包如何沿着 LSP 传输
当 IP 数据包进入 LSP 时,入口路由器会检查数据包,并根据其目标位置为其分配标签,从而将标签放在数据包的标头中。标签将数据包从基于其 IP 路由信息转发的数据包转换为基于与标签关联 的信息转发的数据包。
然后,该数据包被转发到 LSP 中的下一个路由器。此路由器以及 LSP 中的所有后续路由器不会检查标记数据包中的任何 IP 路由信息。相反,它们使用标签在其标签转发表中查找信息。然后,它们将旧标签替换为新标签,并将数据包转发到路径中的下一个路由器。
当数据包到达出口路由器时,标签将被删除,数据包将再次成为本机 IP 数据包,并根据其 IP 路由 信息再次进行转发。
LSP 的类型
LSP 有三种类型:
静态 LSP — 对于静态路径,您必须在所有涉及的路由器(入口、中继和出口)上手动分配标签。不需要信令协议。此过程类似于在单个路由器上配置静态路由。与静态路由一样,没有错误报告、活跃性检测或统计信息报告。
LDP 信号 LSP — 标签分发协议 (LDP) 是一种用于在非流量工程应用中分发标签的协议。LDP 允许路由器将网络层路由信息直接映射到数据链路层交换路径,从而建立通过网络的标签交换路径 (LSP)。
这些 LSP 的端点可能位于直连的邻接方(类似于 IP 逐跳转发)或网络出口节点,从而支持通过所有中间节点进行交换。LDP 建立的 LSP 也可以遍历 RSVP 创建的流量工程 LSP。
LDP 将转发同等类 (FEC) 与其创建的每个 LSP 相关联。与某个 LSP 关联的 FEC 将指定将哪些数据包映射到该 LSP。当每个路由器为 FEC 选择下一跃点播发的标签并将其拼接到它播发给所有其他路由器的标签时,LSP 会通过网络进行扩展。此过程形成一个 LSP 树,这些 LSP 会聚合在出口路由器上。
RSVP 信号 LSP — 对于信号路径,RSVP 用于设置路径并动态分配标签。(RSVP 信令消息用于设置信令路径。仅配置入口路由器。中转路由器和出口路由器接受来自入口路由器的信令信息,并协同设置和维护 LSP。建立 LSP 时遇到的任何错误都将报告给入口路由器进行诊断。要使信号 LSP 正常工作,必须在所有路由器上启用支持隧道扩展的 RSVP 版本。
RSVP 信号 LSP 有两种类型:
显式路径 LSP — LSP 的所有中间跃点均为手动配置。中间跃点可以是严格跃点、松散跃点或两者的任意组合。显式路径 LSP 提供对路径设置方式的完全控制。它们类似于静态 LSP,但需要的配置要少得多。
受限路径 LSP — LSP 的中间跃点由软件自动计算。该计算考虑了 IS-IS 或 OSPF 链路状态路由协议的拓扑信息提供的信息、RSVP 确定的当前网络资源利用率以及 LSP 的资源要求和约束。要使信令受限路径 LSP 正常工作,必须在所有路由器上启用 IS-IS 或 OSPF 协议以及 IS-IS 或 OSPF 流量工程扩展。
LSP 的范围
对于受限路径 LSP,LSP 计算仅限于一个 IGP 域,不能跨越任何 AS 边界。这可以防止 AS 将其 IGP 扩展到其他 AS 中。
但是,显式路径 LSP 可以根据需要跨越多个 AS 边界。由于中间跃点是手动指定的,因此 LSP 不依赖于 IGP 拓扑或本地转发表。
受限路径 LSP 计算
约束最短路径优先 (CSPF) 算法是 OSPF 和 IS-IS 路由计算中使用的最短路径优先 (SPF) 算法的高级形式。CSPF 用于受多重约束的 LSP 的计算路径。在计算 LSP 的路径时,CSPF 不仅会考虑网络的拓扑结构,还会考虑 LSP 和链路的属性,并试图通过智能平衡网络负载来将拥塞降至最低。
CSPF 考虑的约束包括:
LSP 属性
管理组(即链接颜色要求)
带宽要求
显式路由(严格或松散)
跳跃限制
优先级(设置和保留)
链接属性
管理组(即分配给链路的链路颜色)
链路的可预留带宽(静态带宽减去当前预留带宽)
CSPF 考虑的数据来自以下来源:
流量工程数据库 — 为 CSPF 提供最新的拓扑信息、当前可预留链路带宽和链路颜色。要使 CSPF 算法执行其计算,需要具有特殊扩展名的链路状态 IGP(例如 OSPF 或 IS-IS)。要使 CSPF 生效,所有路由器上的链路状态 IGP 都必须支持特殊扩展。在构建拓扑数据库时,扩展的 IGP 必须考虑当前的 LSP,并且必须将路由信息泛洪到所有位置。由于保留链路带宽和链路颜色的变化会导致数据库更新,因此扩展 IGP 往往比普通 IGP 更频繁地泛洪。参见 图 1 了解这些组件之间的关系图。
当前活动 LSP — 包括应源自路由器的所有 LSP 及其当前运行状态(启动、关闭或超时)。

CSPF 如何选择路径
要选择路径,CSPF 需要遵循特定的规则。规则如下:
一次计算一个 LSP,从优先级最高的 LSP(设置优先级值最低的 LSP)开始。在优先级同等的 LSP 中,CSPF 按 LSP 名称的字母顺序为 LSP 提供服务。
修剪流量工程数据库中所有非全双工且没有足够可保留带宽的链路。
如果 LSP 配置包含该
include
语句,将删除所有不共享任何包含颜色的链接。如果 LSP 配置包含该
exclude
语句,则删除包含排除颜色的所有链接。如果链接没有颜色,则接受它。如果多个路径的成本相等,则选择最后一跃点地址与 LSP 目标相同的路径。
如果还剩下几条成本相等的路径,则选择跃点数最少的路径。
如果仍有多个等价路径,则应用在 LSP 上配置的 CSPF 负载均衡规则(最小填充、最多填充或随机)。
CSPF 会找到通向 LSP 出口路由器的最短路径,同时考虑显式路径约束。例如,如果路径必须通过路由器 A,则计算两个单独的 SPF,一个从入口路由器到路由器 A,另一个从路由器 A 到出口路由器。所有 CSPF 规则都应用于这两种计算。
CSPF 路径选择 Tie-Breaking
如果在应用 CSPF 规则后仍有多个路径可用,则应用平局规则来选择 LSP 的路径。使用的规则取决于配置。有三条打破平局的规则:
随机 - 随机选择剩余路径之一。无论可用带宽比如何,此规则倾向于在每个链路上放置相同数量的 LSP。这是默认行为。
最小填充 - 具有最大最小可用带宽比的路径是首选。此规则尝试使每个链路上的保留相等。
Most fill - 具有最小可用带宽比的路径是首选。此规则在转到备用链接之前尝试填充链接。
以下定义描述了如何为最小填充和最多填充规则派生最小可用带宽比率的数字:
预留带宽 = 链路带宽 x 链路的订阅系数
可用带宽 = 可保留带宽 –(遍 历链路的 LSP 的带宽总和)
可用带宽比率 = 可用带宽/可保留带宽
最小可用带宽比率(对于路径)= 路径中链路的最小可用带宽比率
对于要使用的最小填充或最多填充行为,路径的带宽(在[edit protocols mpls label-switched-path lsp-name]
层次结构级别使用bandwidth
语句指定)或最小带宽(在层次结构级别使用minimum-bandwidth
语句[edit protocols mpls label-switched-path lsp-name auto-bandwidth]
指定)必须配置为大于 0 的值。如果未配置路径的带宽或最小带宽或将其配置为 0,则无法计算最小可用带宽,而是使用随机路径选择行为。
离线计算 CSPF 路径
Junos OS 仅提供联机实时 CSPF 计算;每台路由器独立于网络中的其他路由器执行 CSPF 计算。这些计算基于当前可用的拓扑信息,这些信息通常是最新的,但并不完全准确。LSP 放置会根据当前的网络状态进行本地优化。
要优化整个网络的链路,您可以使用离线工具执行 CSPF 计算并确定 LSP 的路径。您可以自行创建此类工具,也可以修改现有网络设计工具来执行这些计算。您应定期(每天或每周)运行该工具,并将结果下载到路由器中。在执行优化计算时,离线工具应考虑以下事项:
LSP 的所有要求
所有链路属性
完整的网络拓扑