跳到主要内容

4. 要求

本节规定了 IPv6 CE 路由器的要求. 这些要求分为以下几类:

  • General Requirements (通用要求)
  • WAN-Side Configuration (WAN 侧配置)
  • LAN-Side Configuration (LAN 侧配置)
  • Transition Technologies Support (过渡技术支持)
  • Security Considerations (安全考虑)

每个要求都标有标识符 (例如 G-1, W-1, L-1) 以便于参考.

4.1. 通用要求​

IPv6 CE 路由器负责实现 IPv6 路由; 也就是说, IPv6 CE 路由器必须在其路由表中查找 IPv6 目标地址, 以决定应该将数据包发送到哪个接口.

在此角色中, IPv6 CE 路由器负责确保使用其 ULA 寻址的流量不会流出 WAN 接口, 也不会从 WAN 接口发出.

G-1: IPv6 CE 路由器是符合 IPv6 Node Requirements specification (IPv6 节点要求规范) [RFC6434] 的 IPv6 节点.

G-2: IPv6 CE 路由器必须根据 [RFC4443] 实现 ICMPv6. 特别是, 点对点链路必须按照 [RFC4443] 的第 3.1 节中所述进行处理.

G-3: IPv6 CE 路由器不得在其 LAN 接口和其 WAN 接口之间转发任何 IPv6 流量, 直到路由器成功完成 IPv6 地址和委派前缀获取过程.

G-4: 默认情况下, 在其 WAN 接口上没有默认路由器的 IPv6 CE 路由器不得在其 LAN 接口上将自己通告为 IPv6 默认路由器. 也就是说, 在其发起的所有 Router Advertisement (路由器通告) 消息中, "Router Lifetime" (路由器生命周期) 字段设置为零 [RFC4861].

G-5: 默认情况下, 如果 IPv6 CE 路由器是通告路由器并且丢失了其 IPv6 默认路由器和/或检测到 WAN 接口上的连接丢失, 它必须通过立即传输一条或多条 "Router Lifetime" 字段设置为零的 Router Advertisement 消息, 在其每个通告接口上明确使自己作为 IPv6 默认路由器失效 [RFC4861].

4.2. WAN 侧配置​

IPv6 CE 路由器需要支持与一个或多个接入网络架构的连接. 本文档描述的 IPv6 CE 路由器不特定于任何特定架构或服务提供商, 并且支持所有常用架构.

IPv6 Neighbor Discovery (邻居发现) 和 DHCPv6 协议可在任何类型的 IPv6 支持的链路层上运行, 并且不需要像 IPv4 中的 PPP IP Control Protocol (IPCP) 那样用于 IPv6 网络层配置选项的链路层特定配置协议. 本节假设相同的机制适用于任何链路层, 无论是以太网, Data Over Cable Service Interface Specification (DOCSIS, 有线数据服务接口规范), PPP 还是其他.

WAN-side requirements (WAN 侧要求)​

W-1: 当路由器连接到 WAN 接口链路时, 它必须充当 IPv6 主机以进行无状态 [RFC4862] 或有状态 [RFC3315] 接口地址分配.

W-2: IPv6 CE 路由器必须生成链路本地地址并根据 [RFC4862] 完成 Duplicate Address Detection (重复地址检测) 后, 才能在接口上发送任何 Router Solicitation (路由器请求). 后续 Router Solicitation 中使用的源地址必须是 WAN 接口上的链路本地地址.

W-3: 在没有其他路由信息的情况下, IPv6 CE 路由器必须使用 [RFC4861] 中指定的 Router Discovery (路由器发现) 来发现默认路由器, 并在其路由表中安装默认路由, 将发现的路由器地址作为下一跳.

W-4: 路由器必须充当请求路由器以进行 DHCPv6 prefix delegation (前缀委派) ([RFC3633]).

W-5: IPv6 CE 路由器必须为 DHCPv6 消息使用持久的 DHCP Unique Identifier (DUID, DHCP 唯一标识符). DUID 在网络接口重置或 IPv6 CE 路由器重启之间不得更改.

W-6: CE 路由器的 WAN 接口应该支持 [RFC6887] 中指定的 Port Control Protocol (PCP, 端口控制协议) 客户端, 供 CE 路由器上的应用程序使用. PCP 客户端应该遵循 [RFC6887] 第 8.1 节中指定的过程来发现其 PCP 服务器. 本文档对此类功能是否默认启用或用户配置该功能的机制不做任何立场. 处理来自 CE 路由器 LAN 侧 PCP 客户端的 PCP 请求不在范围内.

WLL-1: 如果 WAN 接口支持以太网封装, 则 IPv6 CE 路由器必须支持 IPv6 over Ethernet (IPv6 以太网) [RFC2464].

WLL-2: 如果 WAN 接口支持 PPP 封装, IPv6 CE 路由器必须支持 IPv6 over PPP (IPv6 PPP) [RFC5072].

WLL-3: 如果 WAN 接口支持 PPP 封装, 在 IPCP 和 IPV6CP 在一个 PPP 逻辑通道上运行的双栈环境中, Network Control Protocols (NCPs, 网络控制协议) 必须被视为彼此独立并独立启动和终止.

Address assignment requirements (地址分配要求)​

WAA-1: IPv6 CE 路由器必须支持 Stateless Address Autoconfiguration (SLAAC, 无状态地址自动配置) [RFC4862].

WAA-2: IPv6 CE 路由器必须遵循 [RFC5942] 第 4 节中的建议, 特别是 Router Advertisement Prefix Information option (路由器通告前缀信息选项) 中 L 标志的处理.

WAA-3: IPv6 CE 路由器必须支持 DHCPv6 [RFC3315] 客户端行为.

WAA-4: IPv6 CE 路由器必须能够支持以下 DHCPv6 选项: Identity Association for Non-temporary Address (IA_NA, 非临时地址标识关联), Reconfigure Accept (重新配置接受) [RFC3315] 和 DNS_SERVERS [RFC3646]. IPv6 CE 路由器应该能够支持 [RFC3646] 中指定的 DNS Search List (DNSSL, DNS 搜索列表) 选项.

WAA-5: IPv6 CE 路由器应该实现 [RFC5905] 中指定的 Network Time Protocol (NTP, 网络时间协议), 以提供与服务提供商通用的时间参考, 供其他协议 (例如 DHCPv6) 使用. 如果 CE 路由器实现 NTP, 它会请求 NTP Server DHCPv6 选项 [RFC5908] 并使用接收到的服务器列表作为主要时间参考, 除非明确配置为其他方式. LAN 侧对 NTP 的支持不在本文档范围内.

WAA-6: 如果 IPv6 CE 路由器收到 M 标志设置为 1 的 Router Advertisement 消息 (在 [RFC4861] 中描述), IPv6 CE 路由器必须执行 DHCPv6 地址分配 (请求 IA_NA 选项).

WAA-7: 如果 IPv6 CE 路由器没有从 SLAAC 或 DHCPv6 获取全局 IPv6 地址, 那么它必须从其委派前缀创建全局 IPv6 地址, 并在其内部虚拟网络接口之一上配置这些地址, 除非配置为需要 WAN 接口上的全局 IPv6 地址.

WAA-8: CE 路由器必须支持 SOL_MAX_RT 选项 [RFC7083] 并在 Option Request Option (ORO, 选项请求选项) 中请求 SOL_MAX_RT 选项.

WAA-9: 作为路由器, IPv6 CE 路由器必须遵循 weak host (Weak End System, 弱端系统) 模型 [RFC1122]. 当从接口发起数据包时, 如果传出接口没有合适范围的地址, 它将使用其另一个接口的源地址.

WAA-10: IPv6 CE 路由器应该实现 [RFC4242] 中指定的 Information Refresh Time (信息刷新时间) 选项和相关客户端行为.

Prefix delegation requirements (前缀委派要求)​

WPD-1: IPv6 CE 路由器必须支持 [RFC3633] 中指定的 DHCPv6 prefix delegation (前缀委派) 请求路由器行为 (Identity Association for Prefix Delegation (IA_PD, 前缀委派标识关联) 选项).

WPD-2: IPv6 CE 路由器可以向委派路由器提示它所需的前缀大小. 如果这样做, 它必须请求足够大的前缀以为其每个接口分配一个 /64, 向上舍入到最接近的半字节, 并且应该可配置以请求更多.

WPD-3: IPv6 CE 路由器必须准备接受与提示中给出的不同的委派前缀大小. 如果委派前缀太小而无法寻址其所有接口, IPv6 CE 路由器应该记录系统管理错误. [RFC6177] 涵盖了服务提供商对前缀分配大小的建议.

WPD-4: 默认情况下, 当接收到的 Router Advertisement (RA) 消息中 M 或 O 标志设置为 1 时, IPv6 CE 路由器必须启动 DHCPv6 前缀委派. 当 CE 路由器未收到任何 RA 或收到 M 和 O 位设置为零的 RA 时, CE 路由器使用 DHCPv6 前缀委派的行为不在本文档范围内.

WPD-5: CE 路由器接收到的目标地址在委派给 CE 路由器的前缀中但不在 CE 路由器分配给 LAN 的前缀集合中的任何数据包都必须被丢弃. 换句话说, 委派给 CE 路由器的前缀的下一跳应该是空目标. 这对于防止当聚合覆盖的某些地址不可达时出现转发循环是必要的 [RFC4632].

  • (a) 如果由于此规则而丢弃数据包, IPv6 CE 路由器应该根据 [RFC4443] 第 3.1 节向数据包源发送 ICMPv6 Destination Unreachable (目标不可达) 消息, 代码 5 (Source address failed ingress/egress policy, 源地址未通过入口/出口策略).

WPD-6: 如果 IPv6 CE 路由器在 DHCPv6 中同时请求 IA_NA 和 IA_PD 选项, 它必须接受 DHCPv6 Advertise/Reply 消息中的 IA_PD 选项, 即使消息不包含任何地址, 除非配置为仅通过 DHCPv6 获取其 WAN IPv6 地址; 参见 [DHCPv6-STATEFUL-ISSUES].

WPD-7: 默认情况下, IPv6 CE 路由器不得在其 WAN 接口上启动任何动态路由协议.

WPD-8: IPv6 CE 路由器应该支持 [RFC6603] Prefix Exclude (前缀排除) 选项.

4.3. LAN 侧配置​

IPv6 CE 路由器将在 WAN 接口配置期间获得的配置信息分发给 IPv6 主机, 并协助 IPv6 主机获取 IPv6 地址. 它还支持在没有任何工作的 WAN 接口的情况下这些设备的连接.

IPv6 CE 路由器预期支持具有以下特征的 IPv6 终端用户网络和 IPv6 主机:

  1. 链路本地地址可能不足以允许 IPv6 应用程序在终端用户网络中相互通信. IPv6 CE 路由器需要通过提供全局范围的单播地址或 ULAs [RFC4193] 来启用此通信, 无论 WAN 连接是否存在.

  2. IPv6 主机应该能够使用 SLAAC, 并且可能能够使用 DHCPv6 来获取其地址.

  3. IPv6 主机可以使用 DHCPv6 获取其他配置信息, 例如用于获取 DNS 信息的 DNS_SERVERS 选项.

除非另有规定, 以下要求仅适用于 IPv6 CE 路由器的 LAN 接口.

ULA requirements (ULA 要求)​

ULA-1: IPv6 CE 路由器应该能够生成 ULA 前缀 [RFC4193].

ULA-2: 具有 ULA 前缀的 IPv6 CE 路由器必须在重启后保持此前缀一致.

ULA-3: ULA 前缀的值应该是可配置的.

ULA-4: 默认情况下, IPv6 CE 路由器必须根据 [RFC4193] 第 4.3 节充当站点边界路由器, 并相应地过滤具有本地 IPv6 源地址或目标地址的数据包.

ULA-5: 当其所有配置和委派前缀都是 ULA 前缀时, IPv6 CE 路由器不得将自己通告为 Router Lifetime 大于零的默认路由器.

LAN requirements (LAN 要求)​

L-1: IPv6 CE 路由器必须根据 Neighbor Discovery for IPv6 (IPv6 邻居发现) [RFC4861] 支持路由器行为.

L-2: IPv6 CE 路由器必须为其每个 LAN 接口从其委派前缀 (以及如果配置为提供 ULA 寻址则包括 ULA 前缀) 分配单独的 /64.

L-3: IPv6 CE 路由器必须使用 [RFC4191] 第 2.3 节中指定的 "Route Information Option" (路由信息选项) 为委派前缀 (以及如果配置为提供 ULA 寻址则包括 ULA 前缀) 将自己通告为路由器. 此通告独立于 WAN 接口上是否具有 IPv6 连接.

L-4: 如果 IPv6 CE 路由器没有配置或委派给它的前缀, 它不得将自己通告为 Router Lifetime [RFC4861] 大于零的默认路由器.

L-5: IPv6 CE 路由器必须根据 [RFC4861] 使每个 LAN 接口成为通告接口.

L-6: 在 Router Advertisement 消息 ([RFC4861]) 中, Prefix Information option (前缀信息选项) 的 A 和 L 标志默认情况下必须设置为 1.

L-7: A 和 L 标志 ([RFC4861]) 的设置应该是用户可配置的.

L-8: IPv6 CE 路由器必须在其 LAN 接口上支持能够根据 [RFC3315] 进行 IPv6 地址分配的 DHCPv6 服务器或根据 [RFC3736] 的无状态 DHCPv6 服务器.

L-9: 除非 IPv6 CE 路由器配置为支持 DHCPv6 IA_NA 选项, 否则它应该在其 Router Advertisement 消息 [RFC4861] 中将 M 标志设置为零, 将 O 标志设置为 1.

L-10: IPv6 CE 路由器必须支持在 DHCPv6 DNS_SERVERS 和 DOMAIN_LIST 选项 [RFC3646] 中提供 DNS 信息.

L-11: IPv6 CE 路由器必须支持在 Router Advertisement Recursive DNS Server (RDNSS, 递归 DNS 服务器) 和 DNS Search List (DNS 搜索列表) 选项中提供 DNS 信息. 两个选项都在 [RFC6106] 中指定.

L-12: IPv6 CE 路由器应该将从其 WAN 接口上的 DHCPv6 客户端接收到的 DHCPv6 选项的子集 (如 [RFC3736] 第 5.3 节中所列) 提供给其 LAN 侧 DHCPv6 服务器.

L-13: 如果委派前缀发生更改, 即当前前缀被替换为新前缀而没有任何重叠时间段, 则 IPv6 CE 路由器必须立即在 Router Advertisement 消息中通告旧前缀, Preferred Lifetime (首选生命周期) 为零, Valid Lifetime (有效生命周期) 为 a) 零或 b) 当前 Valid Lifetime 和两小时中的较小者 (必须实时递减), 如 [RFC4862] 第 5.5.3 节 (e) 中所述.

L-14: 对于转发给它的使用已失效前缀地址的数据包, IPv6 CE 路由器必须发送 ICMPv6 Destination Unreachable 消息, 代码 5 (Source address failed ingress/egress policy, 源地址未通过入口/出口策略).

4.4. 过渡技术支持​

本节描述了 IPv6 过渡技术的要求, 这些技术能够在 IPv4 基础设施仍然普遍存在的环境中部署 IPv6. 涵盖了两种特定的过渡技术: 6rd (IPv6 Rapid Deployment, IPv6 快速部署) 和 Dual-Stack Lite (DS-Lite, 双栈精简版).

4.4.1. 6rd​

6rd [RFC5969] 规定了一种自动隧道机制, 旨在通过服务提供商的 IPv4 网络基础设施向终端用户推进 IPv6 部署. 关键方面包括向站点自动委派 IPv6 前缀, 无状态操作, 简单配置以及与该机制服务的站点的原生 IPv6 等效的服务. 预计此类流量将通过 CE 路由器的原生 IPv4 WAN 接口转发, 而不会封装在另一个隧道中.

CE 路由器应该支持 6rd 功能. 如果支持 6rd, 则必须根据 [RFC5969] 实现. 以下 CE 要求也适用:

6rd requirements (6rd 要求)​

6RD-1: IPv6 CE 路由器必须通过 6rd DHCPv4 Option 212 支持 6rd 配置. 如果 CE 路由器通过其他方式 (例如 PPP) 获得了 IPv4 网络地址, 它应该使用 DHCPINFORM 请求消息 [RFC2131] 来请求 6rd DHCPv4 选项. IPv6 CE 路由器可以使用其他机制来配置 6rd 参数. 此类机制超出本文档范围.

6RD-2: 如果 IPv6 CE 路由器能够通过 IPCP (即通过 PPP 连接) 自动配置 IPv4, 它必须支持用户输入的 6rd 配置.

6RD-3: 如果 CE 路由器支持 6rd DHCPv4 Option 212 以外的配置机制 (用户输入, TR-069 [TR-069] 等), CE 路由器必须支持 "hub and spoke" (集线器和辐射) 模式的 6rd. "hub and spoke" 模式的 6rd 要求所有 IPv6 流量都转到 6rd Border Relay (边界中继). 实际上, 此要求删除了 [RFC5969] 第 7.1.1 节中定义的 "direct connect to 6rd" (直接连接到 6rd) 路由.

6RD-4: CE 路由器必须允许 6rd 和原生 IPv6 WAN 接口单独活动以及同时活动, 以支持在增量迁移期间 (例如从 6rd 迁移到原生 IPv6) 两种技术的共存.

6RD-5: 在 6rd 或原生 WAN 接口上发送的每个数据包必须定向, 使其源 IP 地址派生自与发送数据包的特定接口相关联的委派前缀 ([RFC3704] 第 4.3 节).

6RD-6: CE 路由器必须允许通过每个 (6rd 或原生) WAN 接口配置不同的以及相同的委派前缀.

6RD-7: 如果转发规则在 6rd 和原生 IPv6 之间产生平局, 默认情况下, IPv6 CE 路由器必须优先选择原生 IPv6.

4.4.2. 双栈精简版​

Dual-Stack Lite [RFC6333] 既能够继续支持 IPv4 服务, 又能激励 IPv6 的部署. 它还将服务提供商网络中的 IPv6 部署与互联网的其他部分解耦, 使增量部署更容易. Dual-Stack Lite 使宽带服务提供商能够通过结合两种众所周知的技术在客户之间共享 IPv4 地址: IP in IP (IPv4-in-IPv6) 和 Network Address Translation (NAT, 网络地址转换). 预计 DS-Lite 流量将通过 CE 路由器的原生 IPv6 WAN 接口转发, 而不会封装在另一个隧道中.

IPv6 CE 路由器应该实现 DS-Lite 功能. 如果支持 DS-Lite, 则必须根据 [RFC6333] 实现. 本文档对 Dual-Stack Lite 和原生 IPv4 的同时操作不做任何立场. 以下 CE 路由器要求也适用:

WAN requirements (WAN 要求)​

DLW-1: CE 路由器必须通过 DS-Lite DHCPv6 选项 [RFC6334] 支持 DS-Lite 配置. IPv6 CE 路由器可以使用其他机制来配置 DS-Lite 参数. 此类机制超出本文档范围.

DLW-2: IPv6 CE 路由器不得对使用 DS-Lite 封装的 IPv4 流量执行 IPv4 Network Address Translation (NAT, 网络地址转换).

DLW-3: 如果 IPv6 CE 路由器在其 WAN 接口上配置了 IPv4 地址, 则 IPv6 CE 路由器应该禁用 DS-Lite Basic Bridging BroadBand (B4) 元素.

4.5. 安全考虑​

过滤明显恶意的流量 (例如欺骗数据包, "Martian" 地址等) 被认为是最佳实践. 因此, IPv6 CE 路由器应该支持基本的无状态出口和入口过滤器. CE 路由器还应该提供过滤进入客户网络的流量的机制; 但是, 供应商实现可配置数据包过滤的方法超出了本文档的范围.

Security requirements (安全要求)​

S-1: IPv6 CE 路由器应该支持 [RFC6092]. 特别是, IPv6 CE 路由器应该支持足以实现 [RFC6092] 第 4 节中的建议集的功能. 本文档对此类功能是否默认启用或用户配置它的机制不做任何立场.

S-2: IPv6 CE 路由器应该根据 BCP 38 [RFC2827] 支持入口过滤. 请注意, 此要求从 RFC 6204 的必须降级为应该, 因为在 CE 路由器中实现的难度以及该功能与上游路由器入口过滤的冗余性.

S-3: 如果 IPv6 CE 路由器防火墙配置为过滤传入的隧道数据, 防火墙应该提供从隧道中过滤解封装数据包的功能.