IPv4和IPv6的差异;如何实现IPv4和IPv6双协议栈的通信
2017-05-28 08:47
417 查看
1 IPv4和IPv6的差异
1.1 地址空间
IPv6 与 IPv4 比较最显著的一个改动就是使用 128 比特上的地址来代替了 32 比特长的 IPv4 地址。 IPv6 中取消了广播地址, 其功能由多目地址代替。1.2 数据报格式
IPv6 报头格式在 IPv4 的基础上进行了优化, 从而有助于提高处理效率。 首先, 有些不必要的域被削减了, 有些域则被定义为可选报头, 如 IPv4 中的报头长度域由于在 IPv6 中采用下一报头域将可选报头或上层协议报头连起来而显得没必要; 与分段( fragment) 有关的域也由于 IPv6 中不同的分段方法而被定为可选报头。 其次, IPv6 报头中每个多字节的域都按照自然边界对齐, 从而方便程序处理。校验和域在 IPv6 中被取消了。
IPv6 对扩展报头或可选项的支持十分灵活。 这些扩展报头紧跟在基本报头后面, 由下一报头域串联起来形成一个链。
1.3 分段策略
IPv6 的分段策略也有了改变。 在 IPv4 数据包传输过程中, 如果需要, 分段就有可能发生。 而在 IPv6 中, 分段只能由源主机进行, 而不能由路由器进行。 IPv6规定所有的主机与路由器都必须支持 576 字节的数据包, 这使得分段的概率就小得多了。 因此, IPv6 的基本报头中就不包括有关分片的域了, 而是特别定义一个分片的扩展报头。1.4 安全性
IPv6 在安全性方面有所加强。 首先要求所有IPv6主机支持鉴别机制, 特别定义了鉴别扩展报头, 并以 MD5 算法作为缺省的鉴别算法; 其次, IPv6 还建立了交换机密信息的保密机制, 以防 IP 包在传输过程中被窃听。1.5 自动配置
在一个 IPv4 环境中, 用户或网络管理员必须手工配置 IPv4节点地址。 而 IPv6 由于有了地址自动设定, 主机可以自动的为每个地址配置一个或多个地址。2 双协议栈的通信
地址是首先要解决的问题。IPv6中专门定义了两种地址,其中嵌入了IPv4地址。一个是IPv4兼容地址,即在IPv4地址前填充0;另一种是IPv4映射地址,记载IPv4地址前加上16个1,再用0填充满128位。要是先Internet中IPv4与IPv6的互操作可以有三种方法。
2.1 双IP层技术
双IP层是保持IPv6与IPv4互操作性的最直接方式。适用于Internet有IPv4向IPv6过渡的前期。具有双IP层的节点成为IPv4/IPv6节点。它具有两个IP协议的完整实现。2.2 隧道技术
隧道技术适用于Internet有IPv4向IPv6过渡的中期。其原理是两个IPv6的网络之间的中间网络的多协议路由器接收到源主机的IP包时,将其放入中间网络层数据包在和域中,当其到达中间网络另一端多协议路由器时再恢复源IP包并转发到目的主机,这样整个中间网络就像一条隧道。2.3 报头翻译技术
当Internet中只有极少数IPv4节点时(过渡阶段后期),报头翻译技术可以保持IPv6与IPv4节点间的通讯。向IPv4节点发送消息时,路径上最后一个IPv6/IPv4路由器发现目的地址是IPv4映射地址则进行报头翻译,将IPv6报头替换成IPv4报头,并转发到目的IPv4节点。相关文章推荐
- 如何实现在一个 Socket 应用程序中同时支持 IPv4 和 IPv6
- 如何实现模块间通信[DNN 3.2.2]
- 在C#中如何实现Form与Form之间的通信(winform 内容)
- IPv4_IPv6隧道技术的一种实现方法.pdf
- 如何:在 DHTML 代码和客户端应用程序代码之间实现双向通信
- IPv4_IPv6隧道技术的一种实现方法
- 如何用Socket实现客户端通信模块
- 在C#中如何实现Form与Form之间的通信
- 如何实现进程间的通信
- 如何实现进程间的通信
- 如何通过Remoting实现双向通信
- 如何通过Remoting实现双向通信
- 在C#中如何实现Form与Form之间的通信(winform 内容)
- 如何在 Windows Mobile (WinCE 5.0) 中用Vc++编程查找并连接周围的蓝牙(Bluetooth)设备并实现数据通信
- 如何通过socket实现网络通信
- 如何在C#中实现两个程序的通信?
- 在路由器上配置IPV6(下)--配置GRE使IPV6在IPV4环境下通信 推荐
- 如何判断当前系统是ipv4还是ipv6
- 隧道模式下IPv6穿越IPv4网络的技术分析与实现
- Blue Coat ProxySG设备实现IPv4向IPv6无缝迁移