01-IPV6基础-为什么要使用IPV6?

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的扩展包头进行不断扩展