zhouqijie

IPv6

IP是互联网的核心协议。现在使用的IPv4是在70年代末期设计的。随着互联网飞速发展,到了2011年,IPv4的地址已经耗尽,ISP已经不能再申请到新的IP地址块了。

1、IPv6的基本首部

IPv6的首部分为基本首部(base header)*有效载荷(payload)。有效载荷允许有零个或者多个扩展首部(extension header),再后面是数据部分。注意,所有的扩展首部并不属于IPv6数据报的首部。

  1. 更大的地址空间。IPv6把地址从IPv4的32位增大到128位。
  2. 扩展的地址层次结构。IPv6地址空间很大,所以能划分更多的层次。
  3. 灵活的首部格式。IPv6数据报和IPv4不兼容。IPv6定义了许多可选的扩展首部,不仅可提供比IPv4更多的功能,而且还可提高路由器的处理效率,这是因为路由器对扩展首部不进行处理(除逐跳扩展首部外)。
  4. 改进的选项。IPv6允许数据报包含有选项的控制信息,因而可以包含一些新的选项。但是IPv6的首部长度是固定的,其选项放在有效载荷中。而IPv4所规定的选项是固定不变的,其选项放在首部的可变部分。
  5. 允许协议继续扩充。而IPv4的功能是固定不变的。
  6. 支持即插即用。自动配置,因此不需要DHCP。
  7. 支持资源预分配。IPv6支持实时视像等要求保证一定带宽和时延的应用。
  8. 首部改为8字节对齐。而IPv4首部为4字节对齐。
  1. 取消了首部长度字段。因为它的首部长度固定。
  2. 取消了服务类型字段。因为优先级和流标号字段实现了服务类型字段的功能。
  3. 取消了总长度字段,改用有效载荷长度字段。
  4. 取消了标识、标志、片偏移字段,因为这些功能已经包含在分片扩展首部中。
  5. 把TTL字段改为跳数限制字段,但作用是一样的。
  6. 取消了协议字段,改用下一个首部字段。
  7. 取消了检验和字段,加快了路由器处理数据报的速度。运输层和数据链路层都有差错检测,网络层的差错检测可以精简掉。
  8. 取消了选项字段,而用扩展首部来实现选项功能。
  1. 版本(version)。4位。指明了协议的版本,IPv6的该字段为6。
  2. 通信量类(traffic class)。8位。这是为了区分不同的IPv6数据报的类别或者优先级。目前正在进行不同的通信量类性能的实验。
  3. 流标号(flow label)。20位。IPv6的一个新机制是支持资源预分配,并且允许路由器把每一个数据报与一个给定的资源分配相联系。IPv6提出“流”的抽象概念。所谓“流”就是网络上从特定源到特定终点(单播或多播)的一系列数据报(如实时音频或视频传输),而在这个流所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有相同的流标号。因此流标号对实时音频或视频数据的传送特别有用。对于传统的电子邮件或非实时数据,流标号则没有用处。
  4. 有效载荷长度(payload length)。16位。它指明IPv6数据包除了基本首部外的字节数,这个字段最大值是64KB。
  5. 下一个首部。8位。相当于IPv4的协议字段或可选字段。当IPv6数据报没有扩展首部时,下一个首部字段的作用和IPv4协议字段一样,指明了基本首部后面的数据应该交付给IP层上面哪一个高层协议(例如6和17代表TCP和UDP)。
  6. 跳数限制。8位。用来防止数据报在网络中无限期存在。
  7. 源地址。128位。是数据报的发送端的IP地址。
  8. 目的地址。128位。是数据报的接收端的IP地址。

IPv6把原来IPv4首部中选项的功能都放在扩展首部中,并把扩展首部留给路径两端的源点和终点的主机来处理,而数据报途中经过的路由器都不处理这些扩展首部,大大提高了路由器处理效率。



2、IPv6的地址

  1. IPv6使用冒号十六进制记法,它把每个16位的值用十六进制表示,各值之间用冒号分隔。

  2. 允许把数字前面的0省略掉。

  3. 一连串的0可以用一对冒号所取代。即零压缩,任一地址只能用一次零压缩。
    FF05::B3

  4. 可以结合使用十进制记法的后缀。
    ::12.10.2.1

  5. CIDR的斜线表示法仍然可用。
    12AB:0:0:CD30::/60

未指明地址:::/128(只能给某台没有配置到一个标准IP地址的主机当源地址用)
环回地址:::1/128(作用和IPv4的环回地址一样)
多播地址:FF00::/8(功能和IPv4的一样)
本地链路单播地址:EE80::/10(本地通信)
全球单播地址:(除上述四种外,所有其他的二进制前缀)



3、从IPv4向IPv6过渡

向IPv6过渡只能采用逐步演进的方法,同时还必须使新安装的IPv6系统兼容IPv4,也就是IPv6系统必须能接收和转发IPv4分组,并且能为IPv4选择路由。

主要有双协议栈隧道技术两种过渡的策略。

Ⅰ、双协议栈

双协议栈(dual stack)是指完全过渡到IPv6之前,使一部分主机/路由器装有IPv4和IPv6两个协议栈。双协议主机/路由器具有两个地址:一个IPv4地址和一个IPv6地址。

双协议栈主机用DNS查询目的主机使用哪一种地址。在和IPv6主机通信时使用IPv6地址,在和IPv4主机通信时使用IPv4地址。

Ⅱ、隧道技术

这种方法的要点就是在IPv6数据报要进入IPv4网络时,把IPv6数据报封装成IPv4数据报。整个IPv6数据报变成了IPv4数据报的数据部分

原来的IPv6数据报就好像在IPv4网络的隧道中传输,什么都没变化。当离开隧道时,再把数据部分交给主机的IPv6协议栈。

要使双协议栈主机知道IPv4数据报里面封装的是IPv6数据报,就必须把IPv4数据报协议字段设置为41



4、ICMPv6

IPv6和IPv4一样也不保证数据报可靠交付,也需要使用ICMP来反馈一些差错信息。新的版本称为ICMPv6,比ICMPv4要复杂得多。

地址解析协议ARP和网际组管理协议IGMP的功能已被合并到ICMPv6中。

(END)