Chinaunix首页 | 论坛 | 博客
  • 博客访问: 399472
  • 博文数量: 87
  • 博客积分: 1171
  • 博客等级: 少尉
  • 技术积分: 1068
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-19 14:34
文章分类

全部博文(87)

文章存档

2014年(10)

2013年(24)

2012年(53)

我的朋友

分类: 网络与安全

2013-07-19 16:45:59


            
            IETF制定了过渡技术完成Ipv4向IPv6的过渡:
  • 双栈(Dual-stack):双栈技术运行IPv4和Ipv6共存在同一个网络。双栈设备可以同时配备IPv4协议栈和Ipv6协议栈的主机、服务器或路由器。
  • 隧道(Tunnellin):隧道技术是一种在Ipv4-only网络中传输IPv6包的方法,其实现方式是将IPv6包封装到Ipv4包中。
  • 转换(Translation):NAT64(Network Address Translation 64,从IPv6到Ipv4的网络地址转换)利用与IPv4NAT相似技术

        双栈:双栈设备与Ipv4通信时,其行为特性就像纯IPv4设备。与IPv6设备进行通信时,其行为又像纯IPv6设备。与Ipv4通信的时候,该包封装在Ipv4包中,封装到以太网帧中,以0x800.
            IPv6包被封装在以太网帧中,以太网类型字段是0x86DD,由于以太网是二层网络,因而在承载IPv6包时,虽然有不同的类型字段,但是以太网交换机在处理以太网帧时没有任何区别。如果典型的二层接入交换机不支持Ipv6,那么仅仅表明无法使用IPv6来管理该交换机,这些交换机仍然能够转发这些以太网帧,而不管其中的净荷是Ipv4包还是Ipv6包。
          
            1,使用域名通信时。当使用双栈的时候,A主机向双栈服务器发送请求时,A首先向DNS发送请求,DNS服务器会以所有可用地址进行响应,服务器同时发送了IPv4和IPv6地址,那么操作系统会选用其中一种进行通信,大多数情况下,默认选择的是Ipv6,不过具体选择取决于操作系统。

            2,当使用Ip地址而不是域名时,应用就使用与特定IP地址相关联的的协议栈。使用web浏览器的时候,绝大多数数据的都不是地址,单当输入地址的时候,对于Ipv6来说,需要将地址用[]括起来,如
              http://[1080::8:800:200C:417A]/foo  
            在URL里面,冒号表示端口号的开始,所以需要区分下。


     隧道:利用隧道技术,孤立的IPv6网络之间可以通过IPv4网络发送IPv6包,隧道包括两类协议,传输协议和乘客协议。
             将IPv6包封装到Ipv4里面,实现透明传输。
            
   
     讨论一下两种转换技术。
    1, NAT64(network address translation IPv6 to IPv4 从Ipv6到Ipv4的网络地址转换)
    2, NAT-PT(network address translation-Protocol Translation ,网络地址转换-协议转换)(已过时)


   NAT64是IPv4到IPv6的过渡机制,也是一种IPv4和Ipv6共存机制,与DNS64一起,NAT64的主要目的就是允许纯Ipv6客户端向纯Ipv4服务器发起通信过程,也允许纯IPv4客户端向纯IPv6服务器发起通信过程。 

     NAT64前缀:
     DNS64服务器:DNS64服务器不但为IPv6AAAA记录提供普通的DNS服务器功能,而且还要在AAAA记录不可用时试图定位Ipv4A记录。定位了A记录之后,DNS64会利用NAT64前缀将Ipv4A记录转换为Ipv6AAAA记录,使得纯IPv6主机认为其可以通过IPv6与纯Ipv4服务器通信。
    NAT64路由器:NAT64路由器将NAT64前缀宣告到纯IPv6网络中,并在纯IPv6网络与纯Ipv4网络之间执行转换操作。
 
 
     从纯IPv6客户端向纯IPv4服务器发送流量:(Ipv6技术精要P340)
    第一步:主机A是一台纯IPv6主机,希望与服务器进行通信。因而向DNS64服务器发起DNS查询。
    第二步:DNS64服务器收到主机发送的DNS AAAA请求查询,为了解析该域名,DNS64服务器向DNS AAAA权威服务器发送关于的查询请求。
    第三步:IPv6 DNS AAAA权威服务器返回响应,表明没有的AAAA记录。
    第四步:DNS64服务器收到该AAAA查询的空白答案(名称错误)响应后,会向Ipv4DNSA权威服务器发送A查询(A:)。
    第五步:Ipv4 DNS A权威服务器有关于的A记录,因而向DNS 64服务器返回一条包含了该服务器Ipv4地址的响应消息(A: 10.10.10.10)
    第六步:DNS64服务器收到Ipv4 DNS A权威服务器的IPv4地址后,将该A记录合称为AAAA记录,即使用NAT64前缀2001:DB8:CAFF:AAAA::/96并附加到转换为十六进制数值0A0A:0A0A的Ipv4地址上。
    第七步:DNS64 服务器向主机A发送携带了的Ipv6地址,2001:DB8:CAFE:AAAA::0A0A:0A0A的AAAA记录响应。
    第八步:合成的AAAA记录对主机A来说完全透明,对主机A来说,看起来就像可以通过IPv6网络和互联网到他一样,此时主机A已经有了将Ipv6包传输到的编址信息。
    第九步:NAT64路由器在启用了NAT64功能的接口上收到主机A发来的Ipv6包,NAT64路由器配置了状态化NAT64前缀。NAT路由器会试图转发该Ipv6包,如果该Ipv6包的目的地址的前96bit与已配置的状态化NAT64前缀不匹配,那就会进行无协议翻译转发,如果与状态话NAT64前缀匹配,则信息如下协议转换操作。
  •     将Ipv6包头转换为Ipv4包头
  •      将IPv6目的地址转换为IPv4地址,移除前缀
  •      利用已配置的IPv4地址池将Ipv6源地址转换为Ipv4地址。可以是1:1 的地址转换,也可以是重叠型的IPv4地址。
  •      为源地址和目的地址创建状态化NAT64IP地址转换状态
     第十步:完成NAT64转换后,利用常规的IPv4路由查找进程即可转发转换后的Ipv4包。
    第十一步:服务器做出应答,最终NAT64路由器接收到该应答。
    第十二步:NAT64路由器在启用了NAT64功能的接口上收到来自服务器的Ipv4包后,会检查该IPv4包以确定是否存在该Ipv4目的地址的NAT转换状态,如果不存在这样的转换,就丢弃数据包,如果存在该Ipv4目的地址的转换状态,那么NAT64路由器就执行以下操作 
  •     将IPv4包头转换成IPv6包头
  •      利用已有的NAT转换状态将Ipv4源地址转换成Ipv6源地址。
      第十三步:完成以上转换后,就利用常规的Ipv6路由查找进程转发该Ipv6包。 


      DNS64服务器与NAT64路由器结合,为需要与Ipv4服务器进行通信的纯IPv6客户端创建了一个透明传输环境。DNS64服务器让IPv6主机误以为IPv4目的端是一个IPv6地址,DNS64服务器既可以充当典型的IPV6DNS服务器,可以充当使用NAT64前缀的DNS64转换器。
    
    
   从纯IPv4客户端向纯IPv6服务器发送流量
   该应用场景在可预见的将来不会出现,Ipv6服务器至少是双栈的,不会是纯的Ipv6服务器。
  
   第一步:首先配置Ipv6 to Ipv4 静态映射,为Ipv4地址的主机提供对Ipv6服务器的访问功能,还需要为DNS服务器上将Ipv4地址注册为
 
        
    
阅读(5397) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~