跳到主要内容

1. Introduction (简介)

1. Introduction (简介)

本文档废弃了"流规范规则的传播" [RFC5575] (有关差异, 请参见附录 B)。本文档还废弃了"Flowspec 重定向扩展社区的澄清" [RFC7674], 因为它在第 7.4 节中包含了 BGP 流规范重定向扩展社区的编码。

现代 IP 路由器具有转发流量以及基于管理定义的策略对数据包进行分类、整形、速率限制、过滤或重定向的能力。这些流量策略机制允许运营商定义在数据包头部的多个字段上操作的匹配规则。诸如上述描述的动作可以与每个规则相关联。

由匹配条件组成的 n 元组定义了一个聚合流量流规范 (Flow Specification)。匹配条件可以包括源地址和目的地址前缀、IP 协议以及传输协议端口号等元素。

本文档的第 4 节定义了一个通用过程来编码聚合流量流的流规范, 以便它们可以作为 BGP [RFC4271] NLRI 分发。此外, 本文档的第 7 节定义了所需的流量过滤动作 BGP 扩展社区以及使用 BGP 进行提供商内部和提供商之间分发流量过滤规则的机制, 以缓解 DoS 和 DDoS 攻击。

通过使用流规范扩展路由信息, 路由系统可以利用路由器转发路径中的 ACL (Access Control List, 访问控制列表) 或防火墙功能。流规范可以被视为单播前缀的更具体路由条目, 并且预期依赖于现有的单播数据信息。

从外部自治系统接收的流规范需要在被接受之前针对单播路由进行验证 (第 6 节)。从同一自治系统 [RFC4271] 内的内部 BGP 对等体接收的流规范被假定在自治系统的内部 BGP (iBGP) 网格中传输之前已经过验证。如果由单播目的地前缀定义的聚合流量流被转发到给定的 BGP 对等体, 则本地系统可以安装更具体的流规范, 这可能导致不同的转发行为, 如该系统所请求的。

从运营角度来看, 使用 BGP 作为此信息的载体允许网络服务提供商重用内部路由分发基础设施 (例如, 路由反射器或联邦设计) 和现有的外部关系 (例如, 到客户网络的域间 BGP 会话)。

虽然使用其他机制来解决这个问题当然是可能的, 但这个解决方案已经在部署中被使用, 因为它具有作为已部署机制的增量添加的实质性优势。

该扩展的可能应用包括: 自动化的域间流量过滤协调, 例如为了缓解 DoS 和 DDoS 攻击所需的协调, 或在 BGP/MPLS VPN 服务上下文中的流量过滤。其他应用 (例如, 在软件定义网络 (Software-Defined Networking, SDN) 或网络功能虚拟化 (Network Function Virtualization, NFV) 上下文中的集中式流量控制) 也是可能的。

在当前的部署中, 通过该扩展分发的信息既可以手动发起, 也可以自动发起, 后者由能够检测恶意流量流的系统发起。当使用自动化系统时, 应注意确保自动化系统的正确性。还需要考虑需要处理这些自动化流规范的接收系统的限制 (另请参见第 12 节)。

本规范定义了所需的协议扩展, 以解决 IPv4 单播和 VPNv4 单播过滤的最常见应用。相同的机制可以重用, 并可以添加新的匹配条件来解决其他 BGP 地址族 (例如 IPv6 族 [RFC8956]) 的类似过滤需求。