IPv6地址分类及表示方法

时间:2022-05-09 14:42:56

对于IPv4地址,我们知道分为A类、B类、C类、组播地址和留用地址,几大类,ABC类地址中还会有不同功能的如广播地址、私有地址等类型。那么IPv6的地址是怎么分类的呢?本文就带大家初步了解一下.

先说说为什么叫做初步了解吧,因为到目前为止,IPv6地址的分类标准还在制定之中,最近的一个草案标准制定于2006年(具体可以查询RFC4291),所以本文只能带领大家尝尝鲜,对IPv6地址分类和结构有个大概了解。就像IPv6标准历经今20年才从草案变为正式标准,IPv6地址分类标准的确定也是一个漫长的过程,当然,随着IPv6快速普及,这一标准的确定一定会加速。

1、IPv6地址表示方法

IPv6地址总共有128位,为了便于人工阅读和输入,和IPv4地址一样,IPv6地址也可以用一串字符表示。IPv6地址使用16进制表示,IPv6地址划分成8个块,每块16位,块与块之间用“:”隔开。如下所示:

IPv6地址分类及表示方法

同时,对于多个地址块为0的情况时,可以使用“::”号,进行化简。

化简原则:

+全0块“0000”,可以化简为“0”

+多个全0块,可以化简为“::”

+一个IPv6地址中只能出现一个“::”,出现多个全0块时,“::”要化简最长的一段,没有最长的要就近(左)

+“::”可以出现在地址开头或结尾

具体示例如下:

IPv6地址分类及表示方法

2、IPv6地址类型

IPv6地址整体上分为三类:单播地址,任播地址,组播地址。

单播地址:一个单播地址对应一个接口,发往单播地址的数据包会被对应的接口接收;

任播地址:一个任播地址对应一组接口,发往任播地址的数据包会被这组接口的其中一个接收,被哪个接口接收由具体的路由协议确定;

组播地址:一个组播地址对应一组接口,发往组播地址的数据包会被这组的所有接口接收;

具体的地址分配如下图,任播存在于单播地址之中,没有专门的区分:

IPv6地址分类及表示方法

特别说明的地址类型:

未指定地址,主要用于系统启动之初,尚未分配IP时,对外请求IP地址时,作为源地址使用,它不能用于数据包的目的地址之中。

环回地址,用于自己向自己发送数据包时使用,在日常网络排错中可以测试网络层协议状态。

本地链路单播地址,本地单播地址的前缀为FE80::/64,它的作用是在没有路由(网关)存在的网络中,主机通过MAC地址自动配置生成IPv6地址,仅能在本地网络中使用。

IPv6的地址空间由IANA组织分配,详情可以去它的官网查看。

另外:php 对ipv4的地址转换 有: ip2long()和long2ip()

如果对ipv6就不支持了,可以参考 :https://php.net/manual/zh/function.ip2long.php#94477