首页 > 其他分享 >IPv6

IPv6

时间:2022-10-05 15:00:10浏览次数:64  
标签:首部 单播 地址 IPv4 IPv6 数据

IP 是互联网的核心协议。
互联网经过几十年的飞速发展,到 2011 年 2 月,IPv4 的 32 位地址已经耗尽。
ISP 已经不能再申请到新的 IP 地址块了。
我国在 2014 – 2015 年也逐步停止了向新用户和应用分配 IPv4 地址。

更换IPv6的原因:
解决 IP 地址耗尽

IPv4的缺点:
不能保证服务的质量

IPv6 的基本首部

IPv6 仍支持无连接的传送,但将协议数据单元 PDU 称为分组。为方便起见,本书仍采用数据报这一名词。

所引进的主要变化如下:

  1. 更大的地址空间
    IPv6 将地址从 IPv4 的 32 位 增大到了 128 位。

  2. 扩展的地址层次结构。

  3. 灵活的首部格式。 IPv6 定义了许多可选的扩展首部。

  4. 改进的选项。 IPv6 允许数据报包含有选项的控制信息,其选项放在有效载荷中。

  5. 允许协议继续扩充
    更好地适配新的应用

  6. 支持即插即用(即自动配置)。
    因此 IPv6 不需要使用 DHCP。

  7. 支持资源的预分配
    IPv6 支持实时视像等要求,保证一定的带宽和时延的应用。

  8. IPv6 首部改为 8 字节对齐。首部长度必须是 8 字节的整数倍。原来的 IPv4 首部是 4 字节对齐。

IPv6 数据报的一般形式
IPv6 数据报由两大部分组成:

  • 基本首部 (base header)
  • 有效载荷 (payload)。有效载荷也称为净负荷。
    有效载荷允许有零个或多个扩展首部 (extension header),
    再后面是数据部分。

具有多个可选扩展首部的 IPv6 数据报的一般形式
image

IPv6 数据报的基本首部
IPv6 将首部长度变为固定的 40 字节,称为基本首部。
把首部中不必要的功能取消了,使得 IPv6 首部的字段数减少到只有 8 个。

IPv6 对首部中的某些字段进行了如下的更改:

取消了首部长度字段,因为首部长度是固定的 40 字节;
取消了服务类型字段;
取消了总长度字段,改用有效载荷长度字段;
把 TTL 字段改称为跳数限制字段;
取消了协议字段,改用下一个首部字段;
取消了检验和字段;
取消了选项字段,而用扩展首部来实现选项功能。

image

版本(version)—— 4 位
它指明了协议的版本,对 IPv6 该字段总是 6。

通信量类(traffic class)—— 8 位
这是为了区分不同的 IPv6 数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。

流标号(flow label)—— 20 位
“流”是互联网络上从特定源点到特定终点的一系列数据报, “流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号。

有效载荷长度(payload length)—— 16 位
它指明 IPv6 数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是 64 KB。

下一个首部(next header)—— 8 位
它相当于 IPv4 的协议字段或可选字段。

跳数限制(hop limit)—— 8 位
源站在数据报发出时即设定跳数限制。路由器在转发数据报时将跳数限制字段中的值减 1。当跳数限制的值为零时,就要将此数据报丢弃。

源地址—— 128 位
是数据报的发送站的 IP 地址。

目的地址—— 128 位
是数据报的接收站的 IP 地址。

IPv6 的扩展首部

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

数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部)。

优点:
极大的提高了路由器的处理效率。

在 RFC 2460 中定义了六种扩展首部:
逐跳选项
路由选择
分片
鉴别
封装安全有效载荷
目的站选项

IPv6 的地址

IPv6 数据报的目的地址可以是以下三种基本类型地址之一:
单播 (unicast):传统的点对点通信。
多播 (multicast):一点对多点的通信。
任播 (anycast):这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。

结点与接口
IPv6 将实现 IPv6 的主机和路由器均称为结点。
一个结点就可能有多个与链路相连的接口。
IPv6 地址是分配给结点上面的接口的。
一个接口可以有多个单播地址。
其中的任何一个地址都可以当作到达该结点的目的地址。即一个结点接口的单播地址可用来唯一地标志该结点。

冒号十六进制记法

在 IPv6 中,每个地址占 128 位,地址空间大于 3.4  1038 。
为了使地址再稍简洁些,IPv6 使用冒号十六进制记法(colon hexadecimal notation, 简写为 colon hex)。

每个 16 位的值用十六进制值表示,各值之间用冒号分隔。例如:
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
在十六进制记法中,允许把数字前面的 0 省略。例如把 0000 中的前三个 0 省略,写成 1 个 0。

零压缩
冒号十六进制记法可以允许零压缩 (zero compression),即一连串连续的零可以为一对冒号所取代。

例如:
FF05:0:0:0:0:0:0:B3
可压缩为:
FF05::B3

注意:在任一地址中只能使用一次零压缩。
如果使用两次及以上零压缩,就不知道压缩了多少位零
(压缩一次可以通过 总长度-现有长度计算)

点分十进制记法的后缀
冒号十六进制记法可结合使用点分十进制记法的后缀,这种结合在 IPv4 向 IPv6 的转换阶段特别有用。

例如:0:0:0:0:0:0:128.10.2.1
再使用零压缩即可得出: ::128.10.2.1

CIDR 的斜线表示法仍然可用,但是地址掩码废除。

例如:60 位的前缀 12AB00000000CD3 可记为:
12AB:0000:0000:CD30:0000:0000:0000:0000/60
或 12AB::CD30:0:0:0:0/60 (零压缩)
或 12AB:0:0:CD30::/60 (零压缩)

IPv6 地址分类

image

未指明地址
这是 16 字节的全 0 地址,可缩写为两个冒号“::”。
这个地址只能为还没有配置到一个标准的 IP 地址的主机当作源地址使用。
这类地址仅此一个。

环回地址
即 0:0:0:0:0:0:0:1(记为 ::1)。
作用和 IPv4 的环回地址一样。
这类地址也是仅此一个。

多播地址
功能和 IPv4 的一样,相当于D类地址:224.0.0.0。
这类地址占 IPv6 地址总数的 1/256。

本地链路单播地址 (Link-Local Unicast Address)
相当于IPv4的私有IP:192.168.0.0/16,172.16.0.0/12,10.0.0.0/8

有些单位的网络使用 TCP/IP 协议,但并没有连接到互联网上。连接在这样的网络上的主机都可以使用这种本地地址进行通信,但不能和互联网上的其他主机通信。
这类地址占 IPv6 地址总数 1/1024。

全球单播地址
IPv6 的这一类单播地址是使用得最多的一类。
曾提出过多种方案来进一步划分这 128 位的单播地址。
根据 2006 年发布的草案标准 RFC 4291 的建议, IPv6 单播地址的划分方法非常灵活。

IPv6 单播地址的几种划分方法

image

IPv4 向 IPv6 过渡

采取方法:

  • 逐步演进
  • IPv6 系统能够向后兼容
    IPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。

两种向 IPv6 过渡的策略:

  1. 使用双协议栈
  2. 使用隧道技术

双协议栈

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

  • 双协议栈的主机(或路由器)记为 IPv6/IPv4,表明它同时具有两种 IP 地址:一个 IPv6 地址和一个 IPv4 地址。

  • 双协议栈主机在和 IPv6 主机通信时是采用 IPv6 地址,而和 IPv4 主机通信时就采用 IPv4 地址。

  • 根据 DNS 返回的地址类型可以确定使用 IPv4 地址还是 IPv6 地址。

image

注意:流标号丢失。

隧道技术

方法:

  • 在 IPv6 数据报要进入 IPv4 网络时,把 IPv6 数据报封装成为 IPv4 数据报,整个的 IPv6 数据报变成了 IPv4 数据报的数据部分。

  • 当 IPv4 数据报离开 IPv4 网络中的隧道时,再把数据部分(即原来的 IPv6 数据报)交给主机的 IPv6 协议栈。

image

注意:IPv6报文完整

标签:首部,单播,地址,IPv4,IPv6,数据
From: https://www.cnblogs.com/kingwz/p/16755598.html

相关文章

  • on the IPv6 loopback interface: 'Cannot assign requested address'
    .netcore+docker  需要修改两个地方Dockerfile添加 ENVASPNETCORE_URLS=http://+:44303  FROMmcr.microsoft.com/dotnet/aspnet:6.0ASbaseENVASPNETCORE......
  • IPv4与IPv6的简单联系与区别
    IPv4与IPv6的简单联系与区别网际协议版本4,(InternetProtocolversion4,IPv4),IPv4是互联网的核心,是网际协议开发过程中的第四个修订版本,也是使用最广泛的网际协议版本。I......
  • IPV4与IPV6的区别
    地址的区别: IPV4协议长度为32位(4个字节)。地址由网络和主机部分组成,这取决于地址类。根据地址的前几位,可定义各种地址类:A、B、C、D或E。IPv4地址的总数为429496......
  • IPv4和IPv6的区别
    表示不同: 1.IPv4地址以点分十进制表示,ip地址为32位,是数字地址,以点分隔。2.IPv6地址使用以冒号分隔的十六进制数字,ip地址为128位,是字母数字地址,以冒号分隔。八......
  • IPV4和IPV6的区别
    IPV4和IPV6的区别:一、扩展了路由和寻址的能力IPv6把IP地址由32位增加到128位,从而能够支持更大的地址空间,估计在地球表面每平米有4*10^18个IPv6地址,使IP地址在可预......
  • IPV4和IPV6的区别与联系
    IPv4是互联网协议的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。但是IPv4资源有限,从理论上讲,编址1600万个网络、40亿台主机。但采用A、B、C三类编址......
  • ipv4与ipv6的联系与区别
    联系:(1)IP协议是互联网最重要的通信协议之一,目前的IP协议具备IPv4和IPv6两个版本(2)随着互联网的进一步发展,全球IPv4地址已于2019年11月已全数耗尽。IPv6是由IEIF提出的互联......
  • IPv4与IPv6的区别
    IPv4中规定IP地址长度为32,即有2^32-1个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。.IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表......
  • IPV4 与 IPV6 的区别
    IPV4的报文如图所示:  该图出自:https://blog.csdn.net/weixin_38280090/article/details/81171791 IPV6的报文如图所示:   该图出自:https://blog.csdn.net......
  • IPV4与IPV6的区别
     什么是IPV4?什么是IPV6? 需要了解IPV4与IPV6的区别,首先需要知道IPV4与IPV6两者是什么网络协议。 IPV4(网际协议版本4)网际协议版本4(英语:InternetProtocolversion4......