RFC6826:Multipoint LDP In-Band Signaling for Point-to-Multipoint and Multipoint-to-Multipoint Label Switched Paths,January 2013
梗概
考虑由协议独立组播 (Protocol Independent Multicast,PIM) 构建的 IP 组播树,它需要通过多点 LDP (Multipoint LDP,mLDP) 点对多点和/或多点对多点标签交换路径 (Labels Switched Paths,LSP) 可以通过的 MPLS 域被创建。穿越 MPLS 域的 IP 组播树部分可以实例化为多点 LSP。当在 MPLS 域的边界接收到 PIM 加入消息时,来自该消息的信息被编码为 mLDP 消息。当 mLDP 消息到达下一个 IP 域的边界时,编码信息用于生成可以通过该 IP 域发送的 PIM 消息。结果是由一组 IP 组播子树组成的 IP 组播树,这些子树与多点 LSP 拼接在一起。本文档描述了有关如何将 IP 组播树与多点 LSP 拼接在一起的过程。
本备忘录的状态
这是一份 Internet 标准跟踪文档。
本文档是 Internet 工程任务组 (IETF) 的产品。它代表了 IETF 社区的共识。它已接受公众审查,并已获互联网工程指导小组 (IESG) 批准出版。有关 Internet 标准的更多信息,请参见 RFC 5741 的第 2 节。
有关本文档当前状态、勘误表以及如何提供反馈的信息,请访问 http://www.rfc-editor.org/info/rfc6826。
版权声明
版权所有 (c) 2013 IETF Trust 和文件作者。版权所有。
本文件受 BCP 78 和 IETF 信托关于 IETF 文件的法律规定 (http://trustee.ietf.org/license-info) 的约束,在本文件发布之日有效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文档中提取的代码组件必须包含 Trust Legal Provisions 第 4.e 节中所述的简化 BSD 许可文本,并且按照简化 BSD 许可中的说明在不保证的情况下提供。
1、 简介
mLDP(多点 LDP)[RFC6388] 规范描述了用于创建点对多点 (point-to-multipoint,P2MP) 和多点对多点 (multipoint-to-multipoint,MP2MP) LSP(标签交换路径)的机制。这些 LSP 通常用于传输最终用户组播数据包。然而,mLDP 规范没有提供任何将特定最终用户组播数据包与任何特定 LSP 相关联的规则。其他文档,如 [RFC6513],描述了使用带外信令协议(如 PIM 和 BGP)建立 LSP 和需要通过 LSP 转发的组播数据包之间的映射的应用。
本文档描述了一个应用程序,其中建立 LSP 和要在其上转发的组播数据包集之间的映射所需的信息在 mLDP FEC(转发等效类)元素的“不透明值”字段中承载。当 IP 组播树(源特定树或双向树)进入 MPLS 网络时,来自 IP 组播控制平面状态的 (S,G) 或 (*,G) 信息在不透明值字段中携带mLDP FEC 消息。当树离开 MPLS 网络时,从 FEC 元素中提取此信息并用于构建 IP 组播控制平面。PIM 消息可以在 MPLS 域之外发送。请注意,虽然 PIM 控制消息是定期发送的,但 mLDP 消息不是。
每个 IP 组播树都一对一地映射到 MPLS 网络中的 P2MP 或 MP2MP LSP。网络运营商应该期望在 MPLS 网络中看到与 IP 组播树一样多的 LSP。网络运营商应该知道 IP 组播状态是如何在网络中创建的,以确保它不会超过协议(PIM 或 mLDP)的可扩展性数量。
1.1、 本文档中使用的约定
本文档中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“应该”、“不应”、“推荐”、“可以”和“可选”是按照 RFC 2119 [RFC2119] 中的描述进行解释。
1.2、 术语
ASM:PIM Any Source Multicast,任意源组播
Egress LSR:出口 LSR,LSP 的许多潜在目的地之一;在 P2MP 和 MP2MP LSP 的情况下也称为叶节点。
In-band signaling:带内信令,使用 mLDP FEC 元素的不透明值来携带 (S,G) 或 (*,G) 标识特定 IP 组播树。
Ingress LSR:P2MP LSP的来源;也称为根节点。
IP multicast tree:IP 组播树,由 IP 组播组地址标识的 IP 组播分发树,可选地,由源 IP 地址标识,也称为 (S,G) 和 (*,G)。
LSR:Label Switching Router,标签交换路由器
LSP:Labels Switched Path,标签交换路径
mLDP:Multipoint LDP,多点 LDP
MP2MP LSP:连接一组叶节点的 LSP,每个叶节点可以独立地充当入口或出口。
MP LSP:multipoint LSP,多点 LSP,P2MP 或 MP2MP LSP。
P2MP LSP:具有一个入口标签交换路由器 (LSR) 和一个或多个出口 LSR 的 LSP。
RP:PIM Rendezvous Point,集合点
SSM:PIM Source-Specific Multicast,源特定组播
Transit LSP:P2MP 或 MP2MP LSP,其 FEC 元素包含 (S,G) 或 (*,G) 标识特定 IP 组播分发树。
Transit LSR:具有一个或多个直接连接的下游 LSR 的 LSR。
2、 MP LSP 的带内信令
考虑以下拓扑:
图1
节点 A 和 B 是支持 IP 组播的路由器,分别连接到 Source/RP 和 Receiver。节点 U、C 和 D 是 MPLS 标签交换路由器 (LSR)。
LSR D 连接到能够进行 MPLS 组播和 IP 组播的网络(见图 1),由于某个 IP 组播事件,如 PIM 加入、MSDP 源通告(SA ) [RFC3618]、BGP 源主动自动发现路由 [SM-MLDP] 或集合点 (RP) 发现。假设 D 可以确定 IP 组播树需要经过 MPLS 网络直到到达 LSR U。例如,当 D 查找到 IP 组播树的 Source 或 RP [RFC4601] 的路由时,它可能会发现:该路由是以U为BGP下一跳的BGP路由。然后 D 可以选择建立一条 P2MP 或 MP2MP LSP,以 U 为根,并使该 LSP 成为 IP 组播分发树的一部分。请注意,其他方法可以确定要使用 P2MP 或 MP2MP LSP 在 MPLS 网络上传输 IP 组播树。但是,这些方法超出了本文档的范围。
为了使用“带内信令”通过 P2MP 或 MP2MP LSP 建立组播树,LSR D 对 P2MP 或 MP2MP FEC 元素进行编码,将 LSR U 的 IP 地址作为“根节点地址”,并将源和组编码为“不透明值”([RFC6388],第 2.2 和 3.2 节)。本文档中定义了几种不同的不透明值类型。LSR D 不得使用特定的不透明值类型,除非它知道(通过提供或通过本文档范围之外的其他方式)LSR U 支持该不透明值类型的根节点过程。
特定类型的 FEC 元素和使用的不透明值取决于正在使用的 IP 地址系列,以及正在建立的组播树是源特定的还是双向组播树。
当一个 LSR 收到一个标签映射或撤销,其 FEC 元素包含本文档中定义的不透明值类型之一,并且该 LSR 不是由该 FEC 元素的“根节点地址”字段标识的那个,LSR 遵循程序在 RFC 6388 中提供。
当一个 LSR 收到一个标签映射或撤销,其 FEC 元素包含本文档中定义的不透明值类型之一,并且该 LSR 是由该 FEC 元素的根节点地址字段标识的,则执行以下过程。组播源和组被提取并传递给组播代码。如果正在处理标签映射,则组播代码会将下游 LDP 邻居添加到相应 (S,G) 或 (*,G) 状态的 olist 中,如果该状态不存在,则创建此类状态。如果正在处理标签撤销,组播代码将从对应的(S,G)或(*,G)状态的olist中删除下游LDP邻居。从此时起,将进行正常的 PIM 处理。
注意,如果根节点地址字段标识的LSR不识别不透明值类型,则MP LSP会建立,但根节点不会在其上发送任何组播数据包。
在 VPN 上下文中可访问的源或 RP 地址不在本文档的范围内。
在 PIM 密集模式下运行的组播组不在本文档的范围内。
2.1、 中转单向 IP 组播共享树
没有什么可以阻止 PIM-SM 在 ASM 服务模型中使用的 PIM 共享树通过 MPLS 核心传输。但是,如果不使用额外的带外信令协议(如 PIM 或 BGP [SM-MLDP]),就不可能从共享树中修剪单个源。因此,跨传输 LSP 传输共享树超出了本文档的范围。
2.2、 中转 IP 组播源树
IP 组播源树可以通过在 SSM 模式 [RFC4607] 或 ASM 模式 [RFC4601] 下运行的 PIM 创建。在 ASM 模式下使用 PIM-SM 时,发现活动源的常用方法是加入稀疏模式共享树。但是,本文档没有提供任何在 MPLS 网络上建立稀疏模式共享树的方法。要将本文档的技术应用到 ASM 模式下的 PIM-SM,必须有其他一些发现活动源的方法。一种可能的方法是使用 MSDP [RFC3618]。另一种可能的方法是使用 BGP Source Active 自动发现路由,如 [SM-MLDP] 中所述。但是,发现活动源的方法超出了本文档的范围;因此,本文档没有详细说明使用带内信令支持 ASM 服务模型所需的一切。
源地址和组地址被编码到第 3.1 和 3.2 节中指定的传输 TLV。
2.3、 中转 IP 组播双向树
如果双向 IP 组播树 [RFC5015] 必须使用带内信令在 MPLS 网络上传输,如本文档所述,它必须使用 MP2MP LSP 传输。双向树没有特定的源地址;组地址、子网掩码和 RP 与组播转发相关。本文档不提供跨 MPLS 网络动态发现 RP 到组映射的过程,并假设 RP 是静态定义的。结合带内信令支持动态 RP 映射超出了本文档的范围。
该组的 RP 用于选择入口 LSR 和 LSP 的根。组地址根据第 3.3 节或第 3.4 节的规则进行编码,具体取决于 IP 版本。与双向组关联的子网掩码在 Transit TLV 中进行编码。IP组播中有两种双向状态,组特定状态和RP状态。第一种类型通常在收到 PIM 加入时创建,并且对于 IPv4 的子网掩码为 32,对于 IPv6 的子网掩码为 128。RP 状态通常是通过静态 RP 映射创建的,并且具有可变的子网掩码。RP 状态用于为 RP 构建树并用于仅发送者分支。每个状态(特定于组和 RP 状态)将产生一个单独的 MP2MP LSP。两个 MP2MP LSP 的合并将由根 LSR 上的 PIM 完成。PIM 不需要特殊的程序来合并两个 LSP。每个 LSP 都被有效地视为启用 PIM 的接口。请参阅 [RFC5015] 了解更多详情。
为了传输仅发送者分支的数据包,我们创建了一个 MP2MP LSP。其他仅发送者分支将接收这些数据包并且不会转发它们,因为没有接收者。这些数据包将被丢弃。如果不希望出现这种效果,则必须建立一些其他传输方式来将数据包转发到树的根,例如多点对点 LSP。[MVPN-MSPMSI] 的第 3.2.2.1 节记录了一种将数据包单播到 P2MP 或 MP2MP LSP 根的技术。
3、 LSP 不透明编码
本节记录了不同的传输不透明编码。
3.1、 中转 IPv4 源 TLV
Type:类型,3
Length:长度,8(源和组字段的八位字节大小)
Source:源,IPv4 组播源地址,4 个八位字节
Group:组,IPv4 组播组地址,4 个八位字节
3.2、 中转 IPv6 源 TLV
Type:类型,4
Length:长度,32(源和组字段的八位字节大小)
Source:源,IPv6 组播源地址,16 个八位字节
Group:组,IPv6 组播组地址,16 个八位字节。
3.3、 中转 IPv4 双向 TLV
Type:类型,5
Length:长度,9(Mask Len、RP 和 Group 字段的八位字节大小)
Mask Len:左对齐并用作掩码的连续 1 位的数量,1 个八位字节。允许的最大值为 32。
RP:用于编码组的集合点 (Rendezvous Point,RP) IPv4 地址,4 个八位字节。
Group:组,IPv4 组播组地址,4 个八位字节。
3.4、 中转 IPv6 双向 TLV
Type:类型,6
Length:长度,33(Mask Len、RP 和 Group 字段的八位字节大小)
Mask Len:左对齐并用作掩码的连续 1 位的数量,1 个八位字节。允许的最大值为 128。
RP:用于编码组的集合点 (RP) IPv6 地址,16 个八位字节。
Group:组,IPv6 组播组地址,16 个八位字节。
4、 安全考虑
如 [RFC5036] 中所述,同样的安全考虑适用于基本 LDP 规范。
5、 IANA 考虑因素
IANA 已从“LDP MP 不透明值元素基本类型”注册表中分配了以下值:是:
中转 IPv4 源 TLV 类型:3 中转 IPv6 源 TLV 类型:4 中转 IPv4 双向 TLV 类型:5 中转 IPv6 双向 TLV 类型:6
6、 参考文献
6.1、 规范性参考
[RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., "LDP Specification", RFC 5036, October 2007. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC6388] Wijnands, IJ., Ed., Minei, I., Ed., Kompella, K., and B. Thomas, "Label Distribution Protocol Extensions for Point-to-Multipoint and Multipoint-to-Multipoint Label Switched Paths", RFC 6388, November 2011.
6.2、 参考资料
[RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)", RFC 4601, August 2006. [RFC4607] Holbrook, H. and B. Cain, "Source-Specific Multicast for IP", RFC 4607, August 2006. [RFC5015] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano, "Bidirectional Protocol Independent Multicast (BIDIR-PIM)", RFC 5015, October 2007. [RFC3618] Fenner, B., Ed., and D. Meyer, Ed., "Multicast Source Discovery Protocol (MSDP)", RFC 3618, October 2003. [RFC6513] Rosen, E., Ed., and R. Aggarwal, Ed., "Multicast in MPLS/BGP IP VPNs", RFC 6513, February 2012. [SM-MLDP] Rekhter, Y., Aggarwal, R., and N. Leymann, "Carrying PIM-SM in ASM mode Trees over P2MP mLDP LSPs", Work in Progress, August 2011. [MVPN-MSPMSI] Cai, Y., Rosen, E., Ed., Napierala, M., and A. Boers, MVPN: Optimized use of PIM via MS-PMSIs", February 2012.
7、 致谢
感谢 Eric Rosen 对本文档提出的宝贵意见。还要感谢 Yakov Rekhter、Adrian Farrel、Uwe Joorde、Loa Andersson 和 Arkadiy Gulko 为本文档提供意见。