6. AFTR Element (AFTR 元素)
6. AFTR Element (AFTR 元素)
6.1 Definition (定义)
AFTR 元素是 IPv4-in-IPv6 隧道端点与实现于同一节点上的 IPv4-IPv4 NAT 的组合.
6.2 Encapsulation (封装)
该隧道是一条点对多点 (point-to-multipoint) 的 IPv4-in-IPv6 隧道, 终结于各 B4 元素.
关于隧道的额外考量见第 7.1 节.
注意: 目前, DS-Lite 仅定义 IPv4-in-IPv6 隧道, 但将来可能定义其他封装类型.
6.3 Fragmentation and Reassembly (分片与重组)
如前所述, 分片与重组必须由隧道端点处理. 因此, 若底层链路 MTU 无法容纳封装开销, AFTR 必须执行分片与重组. 分片必须在 IPv6 分组封装之后发生在 IPv6 分组上. 重组必须在解封装 IPv6 首部之前发生. 详细规程已在 RFC 2473 第 7.2 节中规定.
在隧道入口点 (Tunnel Entry-Point) 进行分片是轻量级操作. 相比之下, 在隧道出口点 (Tunnel Exit-Point) 进行重组可能代价高昂. 当隧道出口点收到第一个分片分组时, 它必须等待第二个分片分组到达, 才能将两个分片的 IPv6 分组重组以供解封装. 这要求隧道出口点缓存并跟踪分片分组. 考虑到 AFTR 是大量隧道的隧道出口点, 若许多设备同时通过 AFTR 向其管理的 B4 元素源发大量分片分组, 将要求 AFTR 缓存并消耗巨大资源以跟踪流. 该重组过程将显著影响 AFTR 的性能. 然而, 该影响仅发生在许多客户端同时源发大型 IPv4 分组时. 由于我们认为大多数客户端将接收大型 IPv4 分组 (例如观看视频流) 而非源发大型 IPv4 分组 (例如上传视频流), 重组仅是 AFTR 总体工作量的一小部分.
当 AFTR 的资源低于预定义阈值运行时, AFTR 应该在资源完全耗尽之前向管理员生成通知. 阈值与通知规程取决于实现, 不在本文档范围之内.
避免分片的方法, 例如重写 TCP Maximum Segment Size (最大段长, MSS) 选项或使用 RFC 5320 定义的 Subnetwork Encapsulation and Adaptation Layer (子网封装与适配层, SEAL) 等技术, 不在本文档范围之内.
6.4 DNS
如前所述, 实现 B4 元素的 DS-Lite 节点将通过 IPv6 执行 DNS 解析. 因此, 预期 DNS 分组不会经过 AFTR 元素.
6.5 Well-Known IPv4 Address (知名 IPv4 地址)
AFTR 应该使用 IANA 保留的知名 IPv4 地址 192.0.0.1 来配置 IPv4-in-IPv6 隧道. 该地址随后可用于报告 ICMP 问题, 并将出现在 traceroute 输出中.
6.6 Extended Binding Table (扩展绑定表)
AFTR 元素的 NAT 绑定表 (binding table) 被扩展为包含入站分组的源 IPv6 地址. 该 IPv6 地址用于区分服务提供商客户之间重叠的 IPv4 地址空间.
通过在扩展的 IPv4 NAT 绑定表中进行反向查找, AFTR 知道当分组从互联网返回时如何重建 IPv6 封装. 这样, 就无需为每条隧道保留静态配置.