IPv4/IPv6

一、IPv6和IPv4
目前的全球因特网所采用的是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。目前IP协议的版本号是4(简称IPv4),发展至今已经使用了30多年。顾名思义,IPv6当然就是IP协议的第六版协议了,诞生于1999年。
IPv4的地址位数为32位,也就是最多有2的32次方的电脑可以联到Internet上。近十年来由于互联网的蓬勃发展,IP位址的需求量愈来愈大,使得IP位址的发放愈趋严格。
IPv6最大的优点就是设计地址长度达128bit,可以提供2的128次方个IP地址,即使将地球上所有沙子都变成晶体管,依然会有足够的IP地址给电子设备使用。
由于互联网的快速发展与普及,原有的IPV4地址已不能满足网络用户的需求,虽然NAT可以缓解IPV4地址的耗尽,但NAT破坏了网络环境的开放、透明以及端到端的特性,因此IPV6地址协议应运而生。
什么叫做NAT,它叫网络地址转换(Network Address Translation),也叫做网络掩蔽或者IP掩蔽(IP masquerading),是一种在IP数据包通过路由器或防火墙时重写来源IP地址或目的IP地址的技术。
咱们从下面这张图可以看下,其他不做具体描述,这条虚线就可以说明一切。在IPv4协议中,原本一个公网IP,在接入时会被重写成多个私有子IP,众多终端应用一个公网IP。但是在IPv6中,这就不同了,我可以给每一台终端设备都配置一个公网IP,没办法,地址多,容量大,任性。
如果大家仔细看的话,还会发现IPV4/IPV6的双栈主机,双协议栈是指单个节点同时支持IPv4和IPv6两种协议栈,支持双协议栈的节点既能与支持IPv4协议的节点通信,又能与支持IPv6协议的节点通信,这样的节点也被称为IPv6/IPv4节点。IPV6/IPV4通常是采用一种双IP。
当然了,在IPv6的设计过程中除了一劳永逸地解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它问题,主要有端到端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等。
IPv4/IPv6

二、IPv6和IPv4的区别
1、IPv4的报文格式
IPv4/IPv6 Version:标识Version即版本信息,4代表IPv4,6代表IPv6;
IHL:标识了IP报文的首部长度,大小为20-60字节;
Type of Service:服务类型,在QoS中才会使用到此字段;
Total Length:IP报文段的总长度;
Identification:标识,主机每发一个报文,则+1;
Flags:3个bit,分别为保留位,DF位(0可以分片,1不能分片),MF位(0最后一片,1未完待续);
Fragment Offset:片偏移,分片重组的时候需要使用到的字段,此处不做详细解释;
Time to Live:简称TTL,数据包可在网络中经过的路由节点数;
Protocol:下层协议,如UDP或TCP等;
Header Checksum:首部校验和;
Source Address:源IP地址;
Destination Address:目的IP地址;
Options:选项字段;
Padding:填充字段。
2、IPv6的报文格式
接下来,看下IPv6的报文格式,由此比较下与IPv4的报文格式的区别:
IPv4/IPv6Version:此字段与IPv4的报文格式相同,4代表IPv4,6代表IPv6;
Traffic Class:流量区分,与IPv4中的服务类型类似;
Flow Label:流标签,用来表示数据包的一个流;
Payload Length:载荷长度;
Next Header:下一报文头,用来标识IPv6扩展报文头的信息;
Hop Limit:跳数限制,与IPv4中的TTL类似;
Source Address:源IP地址;
Destination Address:目的IP地址;
Extension Headers:扩展报文头信息。
相比较IPv4的报文格式,IPv6的报文格式比较简单,根本原因是IPv6报文格式中引入了IPv6扩展报文头的概念。
IPv4/IPv6IPv6扩展报文头的引入简化了IPv6基本报文头的格式,一个IPv6报文中可以包含0个及以上扩展报文头。当需要有多个IPv6扩展报文头的时候,IPv6的基本报文头的Next Header字段将会指明下一个扩展报文头的类型,IPv6扩展报文头的Next Header字段将会指明下一个扩展报文头的类型,以此类推,如果后续没有IPv6扩展报文头,那么此字段将指明上层协议类型。IPv6的扩展报文头分为:
逐跳选项扩展报头、目的选项扩展报头、路由扩展报头、分片扩展报头、认证扩展报头、封装安全有效载荷扩展报头以及上层协议数据报文。此外,值得注意的是:扩展报文的出现顺序也必须为上面所列出的顺序一样。
3、IPv6和IPV4的区别
具体的区别可以参见以下链接:
https://blog.****.net/chao199512/article/details/86139714
2、测试工具及服务器介绍
以上就是咱们接下来测试标准客户端非透传TCP流程所用到的模块, TCP流程测试的服务器是由模块商提供的一个服务器的地址和端口。SSCOM串口工具,这个串口工具在网上都能找到。一块N720模块的驱动是由模块商提供,因为像不同的模块都会对应不同的平台,所以驱动都是与模块相对应的。
因为测试IPV6-TCP流程,所以这边先简单的介绍一下他们测试所用到的服务器是怎样配置的:
1、 首先服务器是已经分配了IPV6的公网地址
2、 IPV6-TCP server是用python脚本侦听的。
IPv4/IPv6IPv4/IPv6IPv4/IPv6
原文链接:https://blog.****.net/jobbofhe/article/details/90407040
测试流程展示如下,我这边只是简单的跑了一下过程,如果有兴趣的朋友,可以测试一下。
测试结果:
单IPV6拨号
IPv4/IPv6单IPV4拨号
IPv4/IPv6 IPV4和IPV6双栈拨号
IPv4/IPv6