IPv6协议

IPv4协议仅能提供约2.5亿个IP地址, 即使使用CIDR和NAT等技术进行扩展也无法满足日益增长的需要。

IETF于1996年开始研究下一代IP协议IPv6, 并于1998年12月正式公布(RFC2460).至2014年10月,通过IPv4使用Google服务的用户仍占约95%。

IPv6除将IP地址由32位扩展到128位以外还引入了更多扩展:

  • 扩展的地址层次结构

  • 灵活的首部格式

  • 改进的选项

  • 允许协议继续扩充

  • 支持即插即用(即自动配置地址)

  • 支持资源的预分配

  • IPv6首部改为8字节对齐

IPv6 将实现 IPv6 的主机和路由器均称为结点,IIPv6 地址分配给结点上的接口。一个结点可以有多个单播地址,结点任一接口的单播地址可用来唯一地标志该结点。

IPv6地址可以采用点分16进制记法:

68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF

一串连续的0可以被::取代, 为了避免二义性一个地址中最多出现一次:::

FF05:0:0:0:0:0:0:B3 -> FF05::B3 

128位全0地址(缩写::)代替`0.0.0.0`来表示任意地址,本地环回地址为::1.以及本地链路单播地址FE80::/10

IPv6把前三位为001的地址划分为全球单播地址,并将单播地址分为3级:

  1. 全球路由选择前缀,占 48 位
  2. 子网标识符,占16 位
  3. 接口标识符,占 64 位

IPv6 把原来 IPv4 首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。IPv6支持的扩展首部包括:

  • 逐跳选项

  • 路由选择

  • 分片

  • 鉴别

  • 封装安全有效载荷

  • 目的站选项

除逐跳选项扩展首部外, 数据报途中经过的路由器都不处理这些扩展首部.

IPv6 数据报的目的地址可以是以下三种基本类型地址之一:

  • 单播(unicast): 单播就是传统的点对点通信。

  • 多播(multicast): 多播是一点对多点的通信。

  • 任播(anycast): IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。

IPv6把分片限制为由源站来完成, IPv6可以保证的最小MTU(Maximum Transfer Unit) 为1280字节。分片是端到端的,路径途中的路由器不允许进行分片。

源站也在发送数据前完成路径最大传送单元发现(Path MTU Discovery),以确定沿着该路径到目的站的最小 MTU。

端到端分片可以减少路由器的开销,允许路由器在单位时间处理更多的数据报。但是中间路由器不能轻易地改变路由,因为改变路由可能会改变路径的MTU。

IPv6允许中间路由器采用隧道技术来传送太长的数据报。当路径途中的路由器需要对数据报进行分片时,就创建一个全新的数据报,然后将这个新的数据报分片,并在各个数据报片中插入扩展首部和新的基本首部。

路由器将每个数据报片发送给最终的目的站,而在目的站将收到的各个数据报片收集起来,组装成原来的数据报,再从中抽取出数据部分。

你可能感兴趣的:(IPv6协议)