双栈:双栈设备与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地址注册为