IPv6
IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,号称可以为全世界的每一粒沙子编上一个网址。
由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
组成结构
表示方法
IPv6的地址长度为128b,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。IPv6有3种表示方法。
IPv6的长分布式结构图
一、冒分十六进制表示法
格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
这种表示法中,每个X的前导0是可以省略的,例如:
2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A
二、0位压缩表示法
在某些情况下,一个IPv6地址中问可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:
FF01:0:0:0:0:0:0:1101 → FF01::1101
0:0:0:0:0:0:0:1 → ::1
0:0:0:0:0:0:0:0 → ::
三、内嵌IPv4地址表示法
为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用[3] 。
报文内容
IPv6报文的整体结构分为IPv6报头、扩展报头和上层协议数据3部分。IPv6报头是必选报文头部,长度固定为40B,包含该报文的基本信息;扩展报头是可选报头,可能存在0个、1个或多个,IPv6协议通过扩展报头实现各种丰富的功能;上层协议数据是该IPv6报文携带的上层数据,可能是ICMPv6报文、TCP报文、UDP报文或其他可能报文。
IPv6的报文头部结构如图:
IPv6协议技术特点
3.1 IPv6相对于IPv4有哪些较为显著的优势?
相对于IPv4,IPv6有如下一些显著的优势:
(1)地址容量大大扩展,由原来的32位扩充到128位,彻底解决IPv4地址不足的问题;支持分层地址结构,从而更易于寻址;扩展支持组播和任意播地址,这使得数据包可以发送给任何一个或一组节点;
(2)大容量的地址空间能够真正的实现无状态地址自动配置,使IPv6终端能够快速连接到网络上,无需人工配置,实现了真正的即插即用;
(3)报头格式大大简化,从而有效减少路由器或交换机对报头的处理开销,这对设计硬件报头处理的路由器或交换机十分有利;
(4)加强了对扩展报头和选项部分的支持,这除了让转发更为有效外,还对将来网络加载新的应用提供了充分的支持;
(5)流标签的使用让我们可以为数据包所属类型提供个性化的网络服务,并有效保障相关业务的服务质量;
(6)认证与私密性:IPv6把IPSec作为必备协议,保证了网络层端到端通信的完整性和机密性;
(7)IPv6在移动网络和实时通信方面有很多改进。特别地,不像IPv4,IPv6具备强大的自动配置能力从而简化了移动主机和局域网的系统管理。
3.2 报头结构
3.2.1 IPv6的报头结构是怎样的?
新的IPv6报头的结构比IPv4简单得多, IPv6报头中删除了IPv4报头中许多不常用的域,放入了可选项和报头扩展中;IPv6中的可选项有更严格的定义。IPv4中有10个固定长度的域、2个地址空间和若干个选项,IPv6中只有6个域和2个地址空间。
虽然IPv6报头占40字节,是24字节IPv4报头的1.6倍,但因其长度固定(IPv4报头是变长的),故不需要消耗过多的内存容量。
IPv4中的报头长度(header length)、服务类型(type of service,TOS)、标识符(identification)、标志(flag)、分段偏移(fragment offset)和报头校验和(header checksum)这6个域被删除。报文总长(total length)、协议类型(protocol type)和生存时间(time to live,TTL)3个域的名称或部分功能被改变,其选项(options)功能完全被改变,新增加了2个域,即优先级和流标签。
下图为具体的IPv4与IPv6报头比较。
表1 IPv4包头格式
4bit版本号
4bit报头长度
8bit服务类型
16bit数据包长度
标识符(16bit)
标志(4bit)
分段偏移(12bit)
生存时间(8bit)
传输协议(8bit)
报头校验和(16bit)
源IP地址(32bit)
目的IP地址(32bit)
选项(24bit)
填充(8bit)
表2 ipv6包头格式
4bit版本号
4bit优先级
24bit流标签
净荷长度(16bit)
下一报头(8bit)
HOP限制(8bit)
源IP地址(128bit)
目的IP地址(128bit) |