随着互联网的高速发展,IPv4地址越来越不满足未来的发展,特别是近年来5G、物联网的高速发展,大力提倡使用IPv6地址就提上了日程。下来,我们来说说IPv6地址的格式、类型。

IPv4一共32位,地址总数共计2的32次方,大约43亿个地址。格式采用点分十进制,比如211.91.76.1这样的。地址分为A、B、C、D、E五类地址,一般企业使用C类地址,比如运营商开展CDN业务,给客户分配地址,通常说法就是分配几个C的地址给客户使用,一个C类地址就是256个IP地址。

IPv6地址格式

而IPv6地址有128位,地址总数共计2的128次方,几乎可以为地球上每一粒沙子都配置上IPv6地址。与IPv4地址不同的是,IPv6的格式采用点分16进制的 形式,分为8段,每段16位,一共128位。

格式是这样的:1002:003B:456C:678D:890E:0012:234F:56G7,相对IPv4的简明扼要,IPv6看起来有点费解,有点类似MAC地址。

IPv6地址非常长,经常会出现多个连续出现多个0,因此,每一段中开始的0是可以省略的,例如:1002:003B:456C:678D:890E:0012:234F:56G7,

可以表示为:1002:3B:456C:678D:890E:12:234F:56G7。

如果这一段中全是0的话,可以直接用一个0代替。

例如:1002:003B:456C:678D:890E:0000:0000:56G7,

也可以表示为:1002:003B:456C:678D:890E:0:0:56G7。

如果有一段或连续几段都是0,那么这些段可以用一个::来标识。

例如:1002:003B:456C:678D:890E:0000:0000:56G7,

可以表示为:1002:003B:456C:678D:890E::56G7。

但是要注意,::这个标识只能出现一次。在使用IPv6简洁标识方式的时候,展开的地址要是唯一的,如果有多种展开地址,那简洁的标识方式肯定是有错误的。

如同IPv4的CIDR表示形式,IPv6也可以采用地址/长度这种表示形式,例如:12AB:0000:0000:CD30:0000:0000:0000:0000/60,

地址总数是2的68(128-60)次方,也可以简写成12AB:0000:0000:CD30::/60。在CDN业务中,给客户分配IPv6地址经常要用到,值得注意的是,如果是12AB:0000:0000:CD30::/64,那地址总数就是2的64次方个地址。不过不用担心,地址肯定用不完,区别不大,但一定要知道是怎么回事。

IPv6地址分类

IPv6地址分为单播地址、组播地址、任播地址。先说下后面两个地址。IPv6组播地址格式的前缀是1111 1111 ,换算成十六进制就是FF,前缀共计占了8位,所以可以简写成FF00::/8 。任播地址只能做目标地址,不能做源地址,且只能分配给路由器使用。

我们平常使用较多的是IPv6单播地址,单播地址又可以分为可聚合全球单播地址(公网地址)、链路本地地址、站点本地地址(私网地址)。IPv6公网地址格式前缀是001,例如2408:8752:0400:3500::/64就是一个公网IP段,前面的64位一般与运营商有关,由运营商来分配。

当然有公网地址,就有私网地址。IPv6私网地址的前缀是1111 1110 11,换算成十六进制就是FEC0 ,可以简写FEC0::/10 ,网规教材上的写法是FEC0::/48,地址总数是2的16次方,个人感觉不是太准确。

在IPv4中,如果电脑使用自动获取IP地址的话,当DHCP服务器故障,导致电脑获取不到IP地址的时候,就会自动配置169.254这样的地址段IP,这叫做自动专用IP地址。IPv6也有这样的地址,叫做链路本地地址,地址前缀是1111 1110 10,换算成十六进制就是FE80::/48。

IPv4还有一种特别的地址,就是环回地址,通常电脑ping自己,就是ping的环回地址。在个人电脑架设PHP服务器的时候,当没有指向公网IP的时候,通常也是使用环回地址来进行调测,对了,这个地址就是127.0.0.1,IPv6的标识方法是::1 。

IPv6地址配置方式

但我们要使用IPv6地址的时候,有两种方式。一种类似IPv4 DHCP分配方式,叫做全状态自动配置,第二种是无状态自动配置。无状态自动配置首先获得链路本地地址,再获得IPv6公网IP。首先,主机需要把MAC地址添加到链路本地地址前缀(11111110 10)之后,产生链路本地地址,然后通过ICMPv6报文,通过路由器获取IPv6公网IP,这种方式容易出现混乱,所以通常采用的是第一种方式。

ip地址格式与分类-修改手机ip地址方法-第1张图片

在PC上看下,因为没有获取IPv6公网地址,自动配置了FE80开头的链路本地地址,后面的%11指的是网络接口标识符,标识是什么网络。

在PC上,可以输入route print命令查询,如图显示:

ip地址格式与分类-修改手机ip地址方法-第2张图片

说到这里,大家应该对IPv6地址应该有了比较全面的认识了。其实和IPv4类似,只不过是位数变多,采用十六进制,有空可以自己多熟悉下。