NAT64
NAT64是一种通过网络地址转换(NAT)的形式促成IPv6与IPv4主机间通信的IPv6过渡机制。NAT64网关是IPv4与IPv6协议间的转换器,[1]它需要至少一个IPv4地址和一个包含32位地址空间的IPv6网段。为该服务保留的“知名前缀”是64:ff9b::/96。 IPv6客户端将希望与之通信的IPv4地址嵌入在IPv6网段的主机部分,构成一个嵌入IPv4的IPv6地址(IPv6网段中的32位地址空间),并将数据包发往生成的地址。NAT64网关则创建IPv6与IPv4地址间的映射,这可以是手动配置的,也可以是自动确定的。[2] 工作原理简单的NAT64安装可能只需要一个网关,它的两个接口分别连接到IPv4网络与IPv6网络。IPv6网络的流量经由网关路由,网关对两个网络之间传输的数据包进行所有必要的转换。但是,这种转换并不是对称的,[3]因为IPv6地址空间比IPv4地址空间大得多,因此就不可能进行一对一的地址映射。网关维护IPv6到IPv4的地址映射,而该映射可以在来自IPv6网络的第一个数据包到达NAT64网关时依据手动配置创建(有状态映射),也可使用自动算法创建(无状态映射)。 如果NAT64转换器是用在仅有IPv4的服务器之前,使其能被远端仅有IPv6的客户端访问,则比较适合使用无状态转换;而有状态转换则适合部署在客户端或服务提供端,使得仅有IPv6的客户端主机能联系到远端仅有IPv4的节点。 通常来说,NAT64被设计为在IPv6主机发起通信时使用。但也存在一些机制允许反向场景,例如静态地址映射。[來源請求] 不是每种类型的资源都能用NAT64访问。嵌入IPv4文字地址的协议(例如SIP和SDP、FTP、WebSocket、Skype、MSN等)和嵌入任何其他包括IPv4文字内容的协议都不被支持,但双栈网页代理允许仅有IPv6的客户端访问URL中包括IPv4文字的网页。不过,使用NAT64的464XLAT(见 RFC 6877)允许在仅有IPv6的连接上使用此类协议。对于SIP和FTP来说,使用應用層閘道(ALG)或者支持 RFC 7225 定义的PREFIX64扩展的端口控制协议也可以解决这个问题。 实现
参考资料
|