IPv6不仅解决了IPv4地址不够用的问题,还做了很大改进。比如:增加了多播和流的功能,为网络上媒体内容的质量提供精细的控制;引入自动配置功能,使得局域网管理更方便;增加了专门的网络安全功能等。
IPv6固定头部结构
IPv6头部由40字节的固定头部和可变长的扩展头部。
4位版本号指定IP协议的版本。对于IPv6来说,其值是6。
8位通信类型指示数据流通信类型或优先级,和IPv4中的TOS类似。
20位流标签是IPv6新增加字段,用于某些对连接的服务质量有特殊要求的通信,比如音频或视频等实时数据传输。
16位净荷长度值得是IPv6扩展头部和应用程序数据长度之和,不包括固定头部长度。
8位下一个包头指出紧跟IPv6固定头部后的包头类型,如扩展头(如果有的话)或某个长层协议头(比如TCP,UDP或ICMP)。它类似于IPv4头部中的协议字段,且相同的取值有相同的含义。
8位跳数限制和IPv4中的TTL含义相同。
IPv6用128(16字节)位来表示IP地址。
IPv6通常可以使用零压缩法来将其简写,也就是说省略连续的、全零的组。
将FE80:0000:0000:0000:1234:5678:0000:0012
压缩为FE80::1234:5678:0000:0012
不过零压缩法对一个IPv6地址只能使用一次。
IPv6扩展头部
可变长的扩展头部使得IPv6能支持更多的选项,并且很便于将来的扩展需要,它的长度可以是0,表示数据报没使用任何扩展头部,一个数据报可以包含多个扩展头部,每个扩展头部的类型由前一个头部(固定头部或扩展头部)中的下一个报头字段指定,目前可以使用的扩展头部为:
IPv6协议并不是IPv4协议的简单扩展,而是完全独立的协议,用以太网帧封装的IPv6数据报和IPv4数据报具有不同的类型值。IPv4数据报的以太网帧封装类型值是0X800,而IPv6数据报的以太网帧封装类型值是0X86dd。