Loading AI tools
允许IPv6主机与IPv4服务器通信的机制 来自维基百科,自由的百科全书
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扩展的端口控制协议也可以解决这个问题。