RSVP 操作概述
资源预留协议 (RSVP) 标签交换系列 (LSP) 隧道使您能够在其他 RSVP LSP 内发送 RSVP LSP。这使网络管理员能够提供从网络一端到另一端的流量工程。此功能的一个有用应用程序是使用 RSVP LSP 将客户边缘 (CE) 路由器与提供商边缘 (PE) 路由器连接,然后在通过网络核心传输的第二个 RSVP LSP 内通过隧道传输此边缘 LSP。
您应该对 MPLS 和标签交换概念有大致的了解。有关 MPLS 的详细信息,请参阅 Junos MPLS 应用程序配置指南。
RSVP LSP 隧道增加了转发邻接的概念,类似于用于通用多协议标签交换 (GMPLS) 的概念。
转发邻接会创建一个隧道路径,用于在 RSVP LSP 网络中的对等设备之间发送数据。建立转发邻接 LSP (FA-LSP) 后,可以使用约束最短路径优先 (CSPF)、链路管理协议 (LMP)、开放最短路径优先 (OSPF) 和 RSVP 通过 FA-LSP 发送其他 LSP。
要启用 RSVP LSP 隧道,Junos OS 使用以下机制:
LMP — LMP 最初专为 GMPLS 设计,可在 RSVP LSP 隧道对等方之间建立转发邻接,并为流量工程链路维护和分配资源。
OSPF 扩展 — OSPF 旨在将数据包路由到与 物理接口卡 (PIC) 相关的物理和逻辑接口。此协议已扩展为将数据包路由到 LMP 配置中定义的虚拟对等接口。
RSVP-TE 扩展 — RSVP-TE 旨在向物理接口发出数据包 LSP 设置信号。该协议已扩展为请求传输到 LMP 配置中定义的虚拟对等接口的数据包 LSP 的路径设置。
LSP 层次结构存在以下限制:
不支持基于电路交叉连接 (CCC) 的 LSP。
不支持正常重启。
链路保护不适用于 FA-LSP 或转发邻接的出口点。
FA-LSP 不支持点对多点 LSP。
RSVP 创建独立的会话来处理每个数据流。会话由目标地址、可选目标端口和协议的组合标识。在一个会话中,可以有一个或多个发件人。每个发送方都由其源地址和源端口的组合标识。带外机制(如会话公告协议或人工通信)用于将会话标识符传达给所有发送方和接收方。
典型的 RSVP 会话涉及以下事件序列:
潜在发件人开始向会话地址发送 RSVP 路径消息。
想要加入会话的接收方会在必要时自行注册。例如,多播应用程序中的接收器将向 IGMP 注册自身。
接收方接收路径消息。
接收方向发送方发送相应的 Resv 消息。这些消息带有流描述符,路径上的路由器使用该描述符在其链路层介质中进行保留。
发送方收到 Resv 消息,然后开始发送应用程序数据。
此事件序列不一定严格同步。例如,接收方可以在接收来自发送方的路径消息之前注册自己,而应用程序数据可以在发送方接收 Resv 消息之前流动。在 Resv 消息中包含的实际预留之前传输的应用程序数据通常被视为尽力而为的非实时流量,没有 CoS 保证。
RSVP Hello 数据包和计时器
RSVP 监控内部网关协议 (IGP)(IS-IS 或 OSPF)邻接方的状态,并依靠 IGP 协议来检测节点何时发生故障。如果 IGP 协议声明邻居关闭(因为不再收到你好数据包),RSVP 也会关闭该邻居。但是,IGP 协议和 RSVP 在启动邻接方时仍独立运行。
在 Junos OS 中,RSVP 通常依靠 IGP 你好数据包检测来检查节点故障。即使不再收到 RSVP 你好数据包,只要路由器继续接收 IGP 你好数据包,RSVP 会话也会保持运行。RSVP 会话将一直保持,直到路由器停止接收 IGP 你好数据包或 RSVP 路径和 Resv 消息超时。为 IS-IS 或 OSPF 你好计时器配置较短的时间可让这些协议快速检测节点故障。
当 IGP 无法识别特定邻接方(例如,如果接口上未启用 IGP)或 IGP 为 RIP(不是 IS-IS 或 OSPF)时,可以依赖 RSVP hello。此外,其他供应商的设备可能配置为根据 RSVP 你好数据包监控 RSVP 会话。由于 RSVP 你好数据包丢失,此设备还可能导致 RSVP 会话关闭。
我们不建议配置较短的 RSVP 你好计时器。如果需要快速发现发生故障的邻居,请配置短 IGP(OSPF 或 IS-IS)你好计时器。
OSPF 和 IS-IS 具有基础设施,可以可靠地管理快速你好消息的发送和接收,即使路由协议或其他进程使路由器的处理能力紧张。在相同情况下,即使邻接方正常运行,RSVP hello 也可能会过早超时。
RSVP 消息类型
RSVP 使用以下类型的消息来建立和删除数据流的路径、建立和删除预留信息、确认预留的建立以及报告错误:
路径消息
每个发送方主机都沿单播和组播路由协议提供的路由向下游传输路径消息。路径消息遵循应用程序数据的确切路径,沿途在路由器中创建路径状态,从而使路由器能够了解会话的上一跃点和下一跃点节点。定期发送路径消息以刷新路径状态。
刷新间隔由一个名为 的 refresh-time
变量控制,该变量是以秒为单位 表示的定期刷新计时器。如果路由器未收到指定数量的连续路径消息,则路径状态将超时。此数字由名为 keep-multiplier
的变量指定。路径状态保留 ( ( +keep-multiplier
0.5) x 1.5 x refresh-time
) 秒。
Resv 消息
每个接收方主机向上游发送预留请求 (Resv) 消息,以发送给发送方和发送方应用程序。Resv 消息必须完全遵循路径消息的反向路径。Resv 消息沿途在每个路由器中创建和维护预留状态。
Resv 消息会定期发送以刷新预留状态。刷新间隔由相同的刷新时间变量控制,预留状态保留 ( ( +keep-multiplier
0.5) x 1.5 x refresh-time
) 秒。
PathTear 消息
PathTear 消息会删除 (拆除) 路径状态以及沿路径上任何路由器的相关保留状态。PathTear 消息遵循与路径消息相同的路径。PathTear 通常由发送方应用程序或路由器在其路径状态超时时启动。
PathTear 消息不是必需的,但它们可以提高网络性能,因为它们可以快速释放网络资源。如果 PathTear 消息丢失或未生成,则路径状态最终会在未刷新时超时,并且与该路径关联的资源将被释放。
ResvTear 消息
ResvTear 消息会删除路径上的预留状态。这些消息向上游传输给会话的发送方。从某种意义上说,ResvTear 消息与 Resv 消息相反。ResvTear 消息通常由接收方应用程序或路由器在其预留状态超时时启动。
ResvTear 消息不是必需的,但它们可以提高网络性能,因为它们可以快速释放网络资源。如果 ResvTear 消息丢失或未生成,则预留状态最终会在未刷新时超时,并释放与预留关联的资源。
PathErr 消息
当发生路径错误时(通常是由于路径消息中的参数问题),路由器会向发出路径消息的发送方发送单点传送 PathErr 消息。PathErr 消息是建议性的;这些消息不会在此过程中更改任何路径状态。
ResvErr 消息
当预留请求失败时,将向所有涉及的接收方发送 ResvErr 错误消息。ResvErr 消息是建议性的;这些消息不会在此过程中更改任何预留状态。
ResvConfirm 消息
接收方可以请求确认预订请求,此确认将随 ResvConfirm 消息一起发送。由于复杂的 RSVP 流合并规则,确认消息不一定提供整个路径的端到端确认。因此,ResvConfirm 消息是潜在成功的指示,而不是保证。
瞻博网络路由器从不使用 ResvConfirm 消息请求确认;但是,如果瞻博网络路由器收到来自其他供应商设备的请求,则可以发送 ResvConfirm 消息。
RSVP 中的 MTU 信令
最大传输单元 (MTU) 是可以在网络中发送的最大大小的数据包或帧(以字节为单位 )。太大的 MTU 可能会导致重新传输。MTU 太小可能会导致路由器发送和处理相对更多的报头开销和确认。与各种协议关联的 MTU 存在默认值。您还可以在接口上显式配置 MTU。
在一组具有不同 MTU 大小的链路上创建 LSP 时,入口路由器不知道 LSP 路径上的最小 MTU 是多少。默认情况下,LSP 的 MTU 为 1500 字节。
如果此 MTU 大于其中一个中间链路的 MTU,则可能会丢弃流量,因为 MPLS 数据包无法分段。此外,入口路由器不知道这种类型的流量丢失,因为 LSP 的控制平面仍将正常运行。
为了防止 MPLS LSP 中出现此类数据包丢失,您可以在 RSVP 中配置 MTU 信令。RFC 3209 中介绍了此功能。瞻博网络支持 RSVP 中 MTU 信令的集成服务对象。RFC 2210 和 2215 中介绍了 Integrated Services 对象。默认情况下,RSVP 中的 MTU 信令处于禁用状态。
为避免因 MTU 不匹配而导致数据包丢失,入口路由器需要执行以下操作:
在 RSVP LSP 上向 MTU 发出信号 — 为了防止因 MTU 不匹配而丢失数据包,入口路由器需要知道 LSP 所采用路径上的最小 MTU 值是多少。获得此 MTU 值后,入口路由器可以将其分配给 LSP。
分片数据包 — 使用分配的 MTU 值,超过MTU大小的数据包可以在入口路由器上分片为较小的数据包,然后再封装在 MPLS 中并通过 RSVP 信号 LSP 发送。
在入口路由器上启用 MTU 信令和数据包分片后,在此路由器上解析为 RSVP LSP 的任何路由都将使用信号 MTU 值。
以下是 RSVP 中 MTU 信号的限制:
在以下情况下,更改 MTU 值可能会导致流量暂时丢失:
对于链路保护和节点保护,旁路的 MTU 仅在旁路变为活动状态时发出信号。在传播新路径 MTU 期间,由于 MTU 不匹配,可能会发生数据包丢失。
对于快速重新路由,路径的 MTU 仅在绕道变为活动状态后更新,从而导致入口路由器的 MTU 更新延迟。在更新 MTU 之前,如果 MTU 不匹配,则可能会发生数据包丢失。
在这两种情况下,只有大于绕道或旁路 MTU 的数据包才会丢失。
更新 MTU 时,它会触发下一跃点的更改。下一跃点中的任何更改都会导致路由统计信息丢失。
RSVP 中 MTU 信令支持的最小 MTU 为 1,488 字节。此值可防止使用 false 或配置不正确的值。
对于单跳 LSP,命令显示的
show
MTU 值是 RSVP 信号值。但是,此 MPLS 值将被忽略,并使用正确的 IP 值。