1、NAT-PT实现互连原理
网络地址和协议转换(NAT-PT)是一种将实现IPv4分组格式和IPv6分组格式之间转换和动态NAT有机结合的地址和协议转换技术,它对IPv6网络中终端的地址配置没有限制,也不需要对想和IPv4网络通信的终端分配IPv4地址。它和IPv4网络所采用的动态NAT一样,在网络边界的地址和协议转换器设置一组IPv4地址,并以此构成IPv4地址池,当IPv6网络中的某个终端发起和IPv4网络中的终端之间的会话时,由地址和协议转换器为发起会话的终端分配一个IPv4地址,并将该IPv4地址和该终端发起的会话绑定在一起。如果会话是TCP连接,则可用会话两端的源和目的地址、源和目的端口号来标识该会话。在会话存在期间,该IPv4地址一直分配给发起会话的终端,当属于该会话的IPv6分组经过地址和协议转换器进入IPv4网络时,用该IPv4地址取代IPv6分组的源地址,并完成IPv6分组至IPv4分组的转换。IPv4网络中的终端用该IPv4地址和发起会话的终端通信,当属于该会话的IPv4分组进入地址和协议转换器时,用该IPv4分组的目的地址检索会话表,用会话表中给出的发起会话的终端的IPv6地址取代IPv4分组的目的地址,并完成IPv4分组至IPv6分组的转换。在NAT-PT中,96bit网络前缀可以是任意的网络地址,但必须保证IPv6网络将目的地址和该96bit网络前缀匹配的IPv6分组路由到网络边界的地址和协议转换器。地址和协议转换器将和96bit网络前缀匹配的目的地址的低32bit作为IPv4地址。反之,地址和协议转换器在IPv4分组的源地址前加上96bit网络前缀后作为IPv6分组的源地址。
2、单向会话通信过程
下面结合图1详细讨论一下NAT-PT的工作机制。
图1 NAT-PT实现网络地址和协议转动过程
在图1中,当终端A发起和终端C的会话时,终端A发送一个以2001::2E0:FCFF:FE00:7为源地址,以2::10.1.1.1为目的地址的IPv6分组,该IPv6分组被IPv6网络路由到路由器R3。
路由器R3在会话表中检索该IPv6分组属于的会话,由于该IPv6分组是发起会话的IPv6分组,会话表中找不到该IPv6分组所属的会话,路由器R3为终端A分配一个IPv4地址,这里假定是193.1.1.1,同时,在会话表中创建一项,将分配该终端A的IPv4地址和终端A发起的会话绑定在一起,如表1所示。
路由器R3将该IPv6分组转换成IPv4分组,通过IPv4路由表确定的传输路径将IPv4分组转发给下一跳路由器R2。该IPv4分组经过路由器R2转发后到达终端C,完成终端A至终端C的传输过程。
IPv6分组转换成IPv4分组时各字段的转换过程如表2所示,源和目的地址的转换如图2所示。
表1 IPv4地址和会话之间的绑定
表2 IPv6首部至IPv4首部转换
表3 IPv4首部至IPv6首部转换
当终端C向终端A发送数据时,终端C构建一个以10.1.1.1.1为源地址,193.1.1.1为目的地址的IPv4分组,该IPv4分组被IPv4网络路由到路由器R3。
路由器R3用该IPv4分组的目的地址检索会话表,找到对应项,用对应项给出的IPv6地址取代目的地址。
由于为路由器R3配置的网络前缀为2::/96,源地址被转换成2::10.1.1.1。