l IPV6地址
随着Internet规模的扩大,IPv4地址空间已经消耗殆尽。IETF在20世纪90年代提出了下一代互联网协议-IPv6,IPv6地址长度为128比特,因此IPv6支持几乎无限的地址空间。
IPV6地址的书写
1、冒分十六进制表示
IPV6地址的表示方法和IPV4的点分十进制式不同,IPV6是十六进制表示,每16比特划分为一段,每段由4个十六进制数表示,并用冒号隔开。IPv6地址包括网络前缀和接口标识两部分,IPV6前缀相当于IPV4的网络号。
2、0位压缩表示
IPV6地址中每16比特组中的前导0可以省略。
IPV6地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替。需要注意的是,在一个IPv6地址中只能使用一次双冒号“::”,否则,设备将压缩后的地址恢复成128位时,无法确定每段中0的个数。
IPV6报文头
IPV6头包括IPV6基本报文头和IPV6扩展头,下图是IPV6基本头的结构。
IPV6基本报文头:
Version:版本号,长度为4bit。对于IPv6,该值为6。
TrafficClass:流类别,长度为8bit,它等同于IPv4报头中的TOS字段,表示IPv6数据报的类或优先级,主要应用于QoS。
FlowLabel:流标签,长度为20bit,它用于区分实时流量。流可以理解为特定应用或进程的来自某一源地址发往一个或多个目的地址的连续单播、组播或任播报文。
PayloadLength:有效载荷长度,长度为16bit,它是指紧跟IPv6报头的数据报的其它部分。
NextHeader:下一个报头,长度为8bit。该字段定义了紧跟在IPv6报头后面的第一个扩展报头(如果存在)的类型。
跳数限制(Hop Limit),长度为8bit,该字段类似于IPv4报头中的Time to Live字段,它定义了IP数据报所能经过的最大跳数。每经过一个路由器,该数值减去1;当该字段的值为0时,数据报将被丢弃
SourceAddress:源地址,长度为128bit,表示发送方的地址。
DestinationAddress:目的地址,长度为128bit,表示接收方的地址。
IPV6扩展头:
一个IPv6报文可以包含0个、1个或多个扩展报头,各扩展报头中都含有一个下一个报头字段,用于指明下一个扩展报头的类型。
除了目的选项扩展报头外,每个扩展报头在一个报文中最多只能出现一次。目的选项扩展报头在一个报文中最多也只能出现两次,一次是在路由扩展报头之前,另一次是在上层协议扩展报头之前。
Next header | Reserved | Fragment offset | Reserved | M |
Identification |