简单了解IPV6

概述

在我们现有的网络中,几乎所有网络都使用 IP 协议作为通信协议,我们的网络使用 IP 来表示地址信息,每一个节点都应该分配一个唯一的地址,才能保证通信正常。现在正常使用的 IP 协议版本为IPV4,用 32 位来表示,地址空间为2^32,结果约为 42.9 亿,需要说明的是,虽然地址共有 42.9 亿之多,但并不表示这些地址可以供 42.9 亿个节点使用,因为我们的地址是分网段的,也就是说即使在一个节点的情况下,分配地址时,也是分配一个网段而不是一个地址,所以这样就使得版本 4 的 IP 地址一下子变得空间狭小,再加了有相当一部分地址是不可用的,那么随着网络的快速发展,IPV4 地址在2019.11.26已经全部分配完毕。在这样的情况下,出现了一些如 VLSM 子网技术,NAT 网络地址转换,试图来缓和地址空间的快速消耗。与此同时,IPV6诞生了来解决网络地址匮乏。

IPV6地址格式

IPv6 拥有更为庞大的地址空间,IPv6 采用128 位来表示。正因为 IPv6 使用了 128 位来表示地址,在表示和书写上面具有相当的困难,原来的 IPv4 使用 10进制来表示,而 IPv6 由于地址太长,则采用 16 进制来表示,但无论我们如何表示,计算机都是处理二进制。因为 10 进制表示时,使用 0 到 9 共十个数字来表示,而16 进制需要在 10 进制原有的基础上多出 6 个数字,即需要多出10,11,12,13,14,15这6 个数字则采用字母的形式来表示,分别为A(表示 10),B(表示 11),C(表示 12),D(表示 13),E(表示 14),F(表示 15),这些字母是不区别大小写的。

IPv6 将整个地址分为 8 段来表示,每段之间用冒号隔开,每段的长度为 16位,表示如下:

XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX

从上面可以看出,IPv6 中每一个段是 16 位,每段共四个 X,其中 X 使用 4 bit 表示,一个 X 就表示一个数字或字母,一个完整的地址共 128 bit。一个 X 使用 4 bit 表示,那么 XXXX 的取值范围就应该从 0000 到 FFFF

IPV6地址表示方法

IPv6 地址的表示方法分为三种,分别是:

1.首选格式

2.压缩表示

3.IPv4 内嵌在 IPv6 中

1、首选格式的表示方法其实没有任何讲究,就是将 IPv6 中的 128 位,也就是共 32

个字符完完整整,一个不漏地全写出来,比如下面就是一些 IPv6 地址的首选格式表

示形式:

0000:0000:0000:0000:0000:0000:0000:0000

0000:0000:0000:0000:0000:0000:0000:0001

2001:0000:0000:1234:aabb:1c00:5000:32EF

3ffe:0000:0000:0000:1111:222a:aaaa:0001

2、压缩格式

从前面一个 IPv6 地址表示方法首选格式表示方法中可以看出,一个完整的 IPv6地址中,会经常性的出现许多个 0,而我们知道,许多时候,0 是毫无意义的,0 表示没有,写出来,也表示没有,不写,也同样表示没有,那么我们就考虑能否将不影响地址结果的 0 给省略不写,这样就可以大大节省时间,也方便人们阅读和书写,这样的将地址省略 0 的表示方法,称为压缩格式。

我们将整个段 4 个字符全部都为0 的使用双冒号::来表示,如果连续多个段全都为 0,那么也可以同样将多个段都使用 双冒号::来表示,如果是多个段,并不需要将双冒号写多次,只需要写一次即可,比如一个地址 8 个段,其中有三个段全都为 0,那么我们就将这全为 0 的三个段共48 位用::来表示,再将其它 5 个段照常写出即可。

举个例子:

压缩前:

0000:0000:0000:0000:0000:0000:0000:0000

压缩后:

0:0:0:0:0:0:0:0或者::

压缩前:

2001:0410:0000: 0000:FB00:1400:5000:45FF

压缩后:

2001:0410 :: FB00:1400:5000:45FF

如果0并非连续的,就不能使用::省略简写

压缩前:

2001:0410:0000: FB00:0000:1400:5000:45FF

压缩后:

2001:0410 :0: FB00:0:1400:5000:45FF

当一个 IPv6 地址被压缩后,如果计算机出现两个或多个::的时候,计算机在将地址还原时,就可能出现多种情况,这将导致计算机还原后的地址不是压缩之前的地址,将导致地址错误,最终通信失败。所以,在压缩 IPv6 地址时,一个地址中只能出现一个::

表示 IPv6 地址时,允许将一个段中前导部分的 0 省略不写,因为不影响结果。但是需要注意的是,如果 0 不是前导0,比如 2001,我们就不能省略 0 写成 21,因为 21 不等于 2001,所以在中间的 0不能省略,只能省略最前面的 0。

3、IPV4内嵌在IPV6中

在网络还没有全部从 IPv4 过渡到 IPv6 时,就可能出现某些设备即连接了 IPv4 网络,又连接了 IPv6 网络,对于这样的情况,就需要一个地址即可以表示 IPv4 地址,又可以表示 IPv6 地址。

要让一个 IPv4 地址表示为IPv6 地址,明显已经少了 96 位,那么就将一个正常的 IPv4 地址通过增加 96 位,结果变成 128 位,来与 IPv6 通信。在表示时,是在 IPv4 原有地址的基础上,增加 96个 0,结果变成 128 位,增加的 96 个 0 再结合原有的 IPv4 地址,表示方法为:

0:0:0:0:0:0:A.B.C.D 或者::A.B.C.D

IPv4 地址为 192.1.1.1

表示 IPv6 地址为 0:0:0:0:0:0:192.1.1.1


分享到:


相關文章: