详解IPv6

IPv6具有如下优势:

  • IPv6有128位地址结构,能够提供充足的地址空间。号称能够为地球上的每一粒沙子分配一个IP地址
  • 分层聚合,提高了路由效率。IPv6可提供远大于IPv4的网络前缀,同一组织机构在其网络中可以只使用一个前缀。对于ISP,则可获得更大的地址空间。这样ISP可以把所有客户聚合形成一个前缀并发布出去。分层聚合使全局路由表项数量很少,转发效率更高
  • IPv6具有自动将IP地址分配给用户的功能,实现了即插即用的联网方式
  • 安全性更高。IPSec是IPv6的重要组成部分,通过AH(Authentication Header,认证头)、ESP(Encapsulating Security Payload,封装安全载荷)扩展首部实现IPv6网络高安全性
  • 提供服务质量支持。IPv6新增流标签,可以允许网络用户对通信质量提出要求

IPv6地址表示方式

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

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

IPv6地址的缩写:

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

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

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

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

2001:410:0:1::45ff

IPv6地址结构

IPv6地址分为两部分

  • 网络前缀:相当于IPv4中网络ID
  • 接口标识:相当于IPv中的主机ID

在这里插入图片描述

接口标识生成方法:

  • 手工配置

  • 系统通过软件自动生成

  • IEEE EUI-64规范自动生成

接口标识可以根据IEEE EUI-64规范将MAC地址(48bit)转化为接口ID

这种方式优点有:

  • MAC地址的独特性保证了接口ID的独特性
  • 设备自动生成,不需要人为干预

EUI-64的结构规则

根据接口的MAC再加上固定的前缀来生成IPv6的地址

工作原理

自动将48bit的以太网MAC地址扩展成64bit,再组合一个64位的IPv6地址前缀,组成一个IPc6地址(Link-local地址也是通过此方法生成

注:对于以太网链路的接口即用自己的MAC地址,对于串口链路和loopback接口会借用设备的以太网口(接口最小的比如有G0/0,G0/1,那么默认都借用G0/0接口的MAC地址)的MAC地址进行组合

转换过程:

  • 1、对于一个MAC地址,由两部分组成,
    前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家。
    后24位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。
    在这里插入图片描述

注:
第一个字节的第7位成为U/L位,表示此地址是全球管理还是本地管理。值为0是全球管理,值为1是本地管理
第一个字节的第8位成为I/G位,表示此地址是单播地址还是组播地址,值为0是单播地址,值为1是组播地址

  • 2、先将此48位的MAC地址前24位的组织唯一标识符和后24位的厂家字节分配的直接插入特定16位值FF FE,形成64位的EUI-64地址
    在这里插入图片描述

  • 3、再将EUI-64位地址的第一字节第7位反转,形成IPv6地址的接口ID,加之IPv6前缀形成完整的IPv6地址

举个例子:

  • 1、MAC地址为00-21-2F-B5-6E-10
  • 2、转换为EUI-64为00-21-2F-FF-FF-B5-6E-10
    详解IPv6_第1张图片
  • 3、第一字节为0000 0000,第7位反转为0000 0010转换16进制为00 02
  • 4、从得到结果为02-21-2F-FF-FE-B5-6E-10,转换为IPv6表示格式为221-2FFF-FEB5-6E10
    详解IPv6_第2张图片
  • 5、从网关得到IPv6地址前缀,64bit的地址前缀加上通过EUI-64生成的地址前缀(即221-2FFF-FEB5-6E10)
  • 6、若生成的是链路本地地址(Link-local Address)则加上FE80的前缀即可FE80::221:2FFF:FEB5:6E10
    注:
    地址范围性质不变
    在MAC地址中,第7bit为1表示本地地址,为0表示全球管理
    在EUI-64的IPv6地址格式中,第7位为0表示本地管理,为1表示全球管理

IPv6 地址分类

IPv6中没有广播地址,增加了任播地址,即IPv6地址被分为:单播地址、组播地址、任播地址

单播地址

标识一个接口,目的是单播地址的报文会被送到被标识的接口

主要有三大类:
1、可聚合的全局单播地址(Aggregatable global unicsat address)
  • 可在全球范围内路由和到达的,相当于IPv4的公网地址
  • 前三个bit是001,例如:2000::1:2345:6789:abcd(一般看到2与三开头的IPv6地址都是全局单播地址)
2、链路本地地址(Link-Local Address)
  • 用于共一个链路上相邻节点之间通信,相当于IPv4里面的169.254.0.0/26地址
  • IPv6的路由器不会转发链路本地地址的数据包
  • 前10个bit是111 1110 10,由于终末是64bit的接口ID,所以它的前缀总是FE80::/64
  • 链路本地地址一般是自动生成的
3、独特本地单播地址(Unique Local Address)
  • 独特本地地址的作用类似于IPv4中的私网地址,只能在本地网络内部被路由转发而不会在全球网络中被路由转发
  • 独特本地地址前缀FC00::/7
组播地址

标识多个接口,目的是组播地址的报文会被送到被标识的所有接口。IPv6常用组播地址
详解IPv6_第3张图片
在IPv6组播地址中,还有一种特别的组播地址,叫做Solicited-node地址(被请求节点组播地址)。Solicited-node地址是一种特殊用途的地址,主要用于DAD(Duplicate Address Detection,重复地址检测)替代IPv4中的ARP
Solicited-node地址由前缀FF02::1:FF00:0/104和IPv6单播地址的后24位组成
详解IPv6_第4张图片

任播地址

表示多个接口,目的是任播地址的报文会被送到被标识的最近的接口,最近的接口是由路由协议来定义的。实际上任播地址与单播地址使用同一个地址空间,也就是说,由路由器决定数据包是做任播转发还是单播转发

IPv6报文格式

IPv6数据包由一个IPv6报头、零或多个扩展报头和一个上层协议数据单元组成

IPv6基本报头

每一个IPv6数据包都要包含报头,其长度固定为40bit,包含该报文的基本信息。
详解IPv6_第5张图片

IPv4报头格式

详解IPv6_第6张图片

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

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

IPv6扩展报头

IPv6扩展报头是可选报头,一个IPv6数据包中可以能在零个或多个扩展报头,这些扩展报头可以具有不同的长度。IPv6扩展报头替代了IPv4的选项字段
详解IPv6_第7张图片
在IPv4中,IPv4的报头包含可选项字段Options,内容涉及安全、时间戳、记录路由等,这些Options可以将IPv4报头的长度从20字节扩充到60字节。在转发工程中,处理携带这些Options的IPv4报文会占用路由器很大的资源,因此实际中也很少使用

IPv6这些Options从IPv6基本报头中剥离,放到了扩展报头汇中,扩展报头被置于IPv6报头和上层协议数据单元之间。基于这种设计,IPv6头部固定为40字节,扩展头部仅在需要时添加。通常情况下,扩展头部仅由终端主机处理,IPv6的格式特点一定程度上降低了对路由器性能的要求

当使用多个扩展报头时,IPv6报头中的“下一报头”字段指明下一个扩展报头的类型,这样就形成了链状的报头列表
详解IPv6_第8张图片

你可能感兴趣的:(数通,地址,IPv6,IPv6地址,详解IPv6)