IPv6基础

IPv6特点

  • 128bits的地址方案,提供了巨大的IP地址空间

  • 多等级层次有助于路由聚合,提高了因特网网络路由的效率及可扩展性

    IPv6可提供远大于IPv4的网络前缀,同一组织机构在其网络中可以只使用一个前缀,这样ISP可以把所有客户聚合形成一个前缀并发布出去。分层聚合使全局路由表项数量很少,转发效率更高。

  • 自动配置过程允许IPv6网络中的节点更加便捷的接入IPv6网络【实现了即插即用的联网方式】

  • 重新编制机制使得IPv6提供商之间的转换对最终用户是透明的

  • 不再有广播、不再有ARP,利用ICMPv6替代ARP

  • IPv6的包头比IPv4更加有效率,数据字段更少,去掉了包头校验和。

IPv地址表示

IPv6地址共128位,使用十六进制进行表示,分为8段,中间用”:”隔开。

如:2001:0000:3238:00E1:0063:0000:0000:FEFB

IPv6地址简写

以2001:0410:0000:0001:0000:0000:0000:45ff为例:

  • 每段的前导0可以省略,但至少保留1个0

    2001:410:0:1:0:0:0:45ff

  • 连续多个0可以缩写为”::”,但只能使用一次

    2001:410:0:1::45ff

IPv6地址结构

IPv6地址分为两部分:前缀及接口ID

image-20200829212643856

接口标识生成方法:

  • 手工配置

  • 系统通过软件自动生成

  • IEEE EUI-64规范自动生成

    将MAC地址转换为接口ID

    MAC地址的独特性保证了接口ID的独特性

    设备自动生成,不需认为干预

如下:将MAC地址为00-E0-4C-68-10-18,通过EUI-64自动生成IPv6的接口ID。

  • 步骤1:在MAC地址的高24位厂商ID和低24位厂商编号ID之间插入两个字节FFFE

  • 步骤2:将U/L位取反,此处0置为1

    U/L 位是第一个字节的第七位,用于确定该地址是全球管理还是本地管理。如果为0就为全球管理,表示全球唯一地址;为1就为本地管理,表示本地唯一地址,是网络管理员为了加强自己对网络管理而指定的地址

img

IPv6报头

image-20200829111436585

字段 长度 含义
version 4bit 6:表示IPv6
traffic class 8bit 流量类型,该字段及其功能类似于IPv4业务类型字段。该字段以区分业务编码点(DSCP)标记一个IPv6数据包,以此指明数据包应当如何处理。
flow label 20bit 流标签。该字段用来表示IP数据包的一个流,
payload length 16bit 该字段表示有效载荷的长度、有效载荷是指紧跟在IPv6基本报头的数据包,包含IPv6扩展报头
next header 8bit 下一报头,该字段指明了跟随在IPv6基本报头后的扩展报头的信息类型
Hop limit 8bit 跳数限制,该字段定义了IPv6数据包所能经过的最大跳数,这个字段和IPv4中的TTL字段非常相似。
Source address 128bit 该字段表示该报文的原地址
Destination address 128bit 该字段表示该报文的目的地址
extension headers 可变 扩展报头。IPv6取消了IPv4报头中的选项字段,并引入了多种扩展报文头,在提高处理效率的同时还增强了IPv6的灵活性,为IP协议提供了良好的扩展能力。当超过一种扩展报头被用在同一个分组里时,报头必须按照下列顺序出现:
- IPv6基本报头
- 逐跳选项扩展报头
- 目的选项扩展报头
- 路由扩展报头
- 分片扩展报头
- 授权扩展报头
- 封装安全有效载荷扩展报头
- 目的选项扩展报头(指那些将被分组报文的最终目的地处理的选项)
- 上层扩展报头
不是所有的扩展报头都需要被转发路由设备查看和处理的。路由设备转发时根据基本报头中Next Header值来决定是否要处理扩展头。
除了目的选项扩展报头出现两次(一次在路由扩展报头之前,另一次在上层扩展报头之前),其余扩展报头只出现一次。

一个IPv6数据包可能包括0个或多个扩展包头,当使用多个扩展包头时,通过前面的包头的Next head字段指明该扩展包头后的扩展包头。有了扩展包头,中间路由器就不需要处理每一个可能出现的选项,提高了路由器处理数据包的速度,提高了其转发性能。在扩展报头链的最后就是有效负载。

扩展报头是可选的,只有需要该扩展报头对应的功能,发送主机才会添加相应扩展报头

IPv6地址特点、优势及报文内容2.jpg

与IPv4报头相比,IPv6报头结构的提升:

  • 基本的IPv4报头长度为20个字节,基本的IPv6报头长度为40个字节;
  • 由于2层与4层的校验已经足够健壮,取消了IP的三层校验;
  • 取消中间节点的分片功能,分片重组功能由源端实现,通过Path MTU机制来发现路径MTU。即,源节点在正式发送数据之前,使用ICMPv6来检测路径上最小的MTU;
  • 增加流标签,提高QoS效率。