1.什么是IPV6?
IPv6(Internet Protocol Version 6,互联网协议版本6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation,下一代互联网协议),它是IETF(Internet Engineering Task Force,互联网工程任务组)设计的一套规范,是IPv4的升级版本。IPv6和IPv4之间最显著的区别为:IP地址的长度从32比特增加到128比特。
2.为什么要使用IPV6?------IPV4的不足

3.为什么要使用IPV6?------IPV6的优势

4.IPV4与IPV6报头的格式比较

1.IPV4报文格式:
IPv4报文的最大长度是 65,535字节**,这个长度是由IP报文中的** 16位总长度字段决定的,下图为IPv4报文的字段说明:
版本(Version)
占用4比特位,表示IP协议的版本号,IPv4的值为4。
首部长度(Internet Header Length)占用4比特位,表示IP首部的长度,首部长度说明首部有多少32位字(4字节,也就是说单位为4字节)。这个字段的最小值是5(二进制0101),相当于5*4=20字节;最大十进制值是15,相当于15*4=60字节服务类型(Type of Service,TOS)占用8比特位,表示IP报文的服务类型,用于指定QoS(Quality of Service)和流量控制等参数。总长度(Total Length)占用16比特位,表示整个IP数据报的长度,包括IP首部和数据部分,单位为字节。这个字段的最小值是20(20字节首部+0字节数据),最大值是2^16-1=65,535。标识(Identification)占用16比特位,这个字段主要被用来唯一地标识一个报文的所有分片,因为分片不一定按序到达,所以在重组时需要知道分片所属的报文。每产生一个数据报,计数器加1,并赋值给此字段。标志(Flags)占用3比特位,用于标识IP分片的状态。
- 位0:保留,必须为0;
- 位1:禁止分片(Don't Fragment,DF),当DF=0时才允许分片;
- 位2:更多分片(More Fragment,MF),MF=1代表后面还有分片,MF=0 代表已经是最后一个分片。
分片偏移(Fragment Offset)占用13比特位,用于表示分片相对于原始数据报的偏移量。生存时间(Time to Live)占用8比特位,表示数据报在网络中最多可以被经过的路由器数量,用于防止数据报在网络中无限循环。协议(Protocol)占用8比特位,表示数据报中的数据部分使用的协议类型,例如TCP、UDP、ICMP等。校验和(Header Checksum)占用16比特位,用于检测IP头部在传输过程中是否出现了错误。源地址(Source Address)占用32比特位,表示数据报的发送者IP地址。目标地址(Destination Address)占用32比特位,表示数据报的接收者IP地址。选项(Options)
附加的首部字段可选的跟在目的地址之后,但这并不被经常使用,从1到40个字节不等。如果首部长度大于5,那么选项字段必然存在。
2.IPV6报文格式:
版本号(Version)占用4比特位,用于指示报文使用的IPv6协议版本号,固定为6。流量类别(Traffic Class)占用8比特位,用于区分不同的IPv6数据报的类别或优先级。流量标签(Flow Label)占用20比特位,IPv6提出了流的抽象概念,流就是因特网上从特定源点到特定终点(单播或多播)的一系列IPv6数据报(如实时音视频数据的传送)。所有属于同一个流的IPv6数据报都具有同样的流量标签(相同的流量标签可进行同样的数据优先级设定)。因此,流标号对于实时音视频数据的传送特别有用,对于传统的非实时数据,流标号用处不大。负载长度(Payload Length)``占用16比特位,用于指示IPv6报文中载荷(Payload)的长度,不包括IPv6头部的长度。下一个报头(Next Header)``占用8比特位,用于指示IPv6头部后面的下一个报头类型,如TCP报头、UDP报头、ICMPv6报头等。跳数限制(Hop Limit)``占用8比特位,类似于IPv4中的生存时间(TTL)字段,用于限制报文在网络中经过的最大跳数。源地址(Source Address)``占用128比特位,表示发送端的IPv6地址。目标地址(Destination Address)``占用128比特位,表示接收端的IPv6地址。
2.5 IPv6 载荷长度
关于 IPv6 有效载荷长度:
- IPv6报文有效载荷长度主要由
Payload Length字段决定,Payload Length字段占用16比特位,用于表示载荷Payload的长度,即除去IPv6报头(固定为40字节)之外的部分。鉴于此字段为16比特,其最大值为2^16 - 1,即65,535字节。 - 然而,IPv6还支持一种叫做
Jumbo Payload的选项。当使用这个选项时,载荷长度可以通过一个名为 Jumbo Payload Option 的扩展报头表示,该扩展报头中有一个32比特(4字节)的字段表示载荷长度。因此,最大载荷长度可以达到2^32 - 1,即4,294,967,295字节。
尽管IPv6有效载荷最大长度可达到4294967295字节,但其承载的传输层协议数据(如TCP、UDP)仍然受到IPv6网络中MTU的限制,因此仍然需要遵循最大报文长度65,535字节的限制
5.IPV6扩展报头
IPV6的很多不支持的字段,都可以通过IPV6的扩展包头进行不断扩展
