IPv4和IPv6的差异;如何实现IPv4和IPv6双协议栈的通信
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节点。
IPv4和IPv6的差异;如何实现IPv4和IPv6双协议栈的通信的更多相关文章
- IPv6绝不仅仅是对IPv4地址长度的增加
众所周知,IPv6 IP地址长度是IPv4 IP地址长度的四倍,是解决IPv4公共网址资源枯竭的最佳技术.的确,IETF在制定IPv6标准时也是基于这一因素考虑的.当时正是90年代初,Web开始出现, ...
- iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6
一. iOS----如何检查域名是否支持ipv6 iOS----------如何检查域名是否支持ipv6 1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧 ...
- 开启 IPv6 新时代,升级后的 IPv6 厉害在哪?
IPv6,Internet Protocol Version 6,从字面翻译 “互联网协议第 6 版”,它是IETF设计的用于替代现行版本 IP 协议-IPv4 协议,被称作“下一代互联网协议”.早在 ...
- IPv6 Tunnel Broker+ROS搭建6TO4(IPV6)网络
准备条件:1.公网IPV4的IP2.ROS+IPV6的DHCP,本测试在ROS6.24版本下测试通过3. IPv6 Tunnel Broker:https://www.tunnelbroker.net ...
- ipv6现状,加英文的中括号访问, ipv6测试http://test-ipv6.com
加英文的中括号就可以,如[2001:4998:c:e33::1004],我发现这是yahoo首页.但并不是所有IPv6网站都可以通过IPv6地址访问,跟IPv4一样,网站服务器端可以只绑定域名,不接受 ...
- #获取本机IP地址时排除IPv6类型,只返回IPv4地址的方法
public static string GetLocalIP(){try{string HostName = Dns.GetHostName(); //得到主机名IPHostEntry IpEntr ...
- IPV4/IPV6双协议栈配置案例
拓扑: XRV1配置: =================================================================== hostname XRV1! ipv6 ...
- ubuntu(Linux) c++ 获取本机IPv4和ipv6、查询本机IPv4,IPv6
1.关于 演示环境: Linux xxxxxxx 5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x86_64 x86_64 x ...
- windows10 c++获取本机IPv4,ipv6,查询本机Ipv4,ipv6
1.关于 演示环境: win10+VS2017 2.支持 需要下面的库支持: ws2_32.lib 需要下面的宏,添加到项目属性-> c/c++ -> 预处理器定义 _WINSOCK_DE ...
随机推荐
- Python 画3D图像
绘制一副3D图像 draw3D(X,Y,Z, angle) import numpy as np from matplotlib import pyplot as plt from mpl_toolk ...
- boost 学习笔记 0: 安装环境
boost 学习笔记 0: 安装环境 最完整的教程 http://einverne.github.io/post/2015/12/boost-learning-note-0.html Linux 自动 ...
- sublime 打开import require 模块文件的url 或路径的插件
结果一番周折,终于发现sublime提供的一个插件(open url)可以实现打开import file 路径的文件,比如import demo from “../path” 的文件在新窗口或者新标签 ...
- python数字
#=====>part1:数字类型#掌握:int,float#了解:Long(在python2中才有),complex# num=10# num=int(10)# print(type(num) ...
- PS添加透明立体水印
PS: CS2 本文我们介绍用Photoshop为图片添加透明立体水印的方法和技巧. 原图: Duplicate Layer,并输入文字: 设置Layer->Layer Style->Be ...
- 503 Error: need EHLO and AUTH first
设置OUTLOOK2013使用QQ邮箱,按照QQ邮箱的配置介绍设置好后,收邮件的服务可以了,但是发送邮件的服务失败,报错:503 Error: need EHLO and AUTH first,经查, ...
- Https 忽略证书\使用自定义证书的java代码实现
public SSLContext createIgnoreVerifySSL() throws KeyManagementException, NoSuchAlgorithmException, K ...
- gentoo intel 安装桌面
首先增加 vim ~/.xinitrc [[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources # dbus before fcitx ...
- Java课程作业之动手动脑(六)
1.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件. import java.io.IOException; import java.nio.file ...
- php-- orther
0.PHP实现物流查询(通过快递网API实现) 1.php7 新特性 2.php的精确计算 3.PHP大小写是否敏感问题的汇总 4.取得类的 对象属性名 和类的属性 和类的方法名 5.php判断 != ...