IPv6地址结构的详细探究

IPv6的全称是Internet Protocol Version 6(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。

IPv6地址结构的详细探究

文章插图
 
由于IPv4最大的问题在于网络地址(公网IP)资源不足,无论是PC电脑,还是移动端的手机和PAD都需要占用IP地址,IPv4面临着即将被用尽的窘境,严重制约了互联网的应用和发展 。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
IPv6地址和规范将会逐渐普及 。2020年3月23日,工业和信息化部发布《关于开展2020年IPv6端到端贯通能力提升专项行动的通知》,要求到2020年末,IPv6活跃连接数达到11.5 亿,较2019年8亿连接数的目标提高了43% 。随着IPv6的发展与逐步普及,我们的软件也要添加对IPv6地址的支持,不再是仅仅支持IPv4了 。
本文简单的梳理一下IPv6的IP地址结构和分配方式,同时也介绍一下基本使用方法,在此分享给大家 。
一、IPv6的地址结构定义节点、链路、站点、接口在IPv6里面的概念如下:
节点:具有IPv6地址且接口配置为支持IPV6的任何系统,可以理解为主机和路由器 。每个节点上至少要有一个链路本地单播地址,另外还可分配任何类型(单播、泛播和多播)或范围的IPv6地址 。
链路:单一且连续的网络介质,其两端均连接有路由器 。节点所在的网络就是链路本地的范围,通常是不能跨越路由器的,也就是在一条链路上 。以太网就是一个交换机下的所有设备都在一个链路上 。
站点:就是一个企业内部的网络,可以有多个网段,类似IPv4的私网范围 。但目前已经被RFC废除了,IPv6一般也不需要私网的存在意义 。
接口:比如一个网卡的网口、上网的电话线口,一个节点可以被分配多个接口,而每个接口可以有多个ipv6地址 。所有类型的IPv6地址都是属于接口(Interface)而不是节点(node),在单播地址中,IPv6 地址的最后 64 位是对于 IPv6 地址的 64 位前缀而言唯一的接口标识(由mac地址自动生成,或者根据EUI-64规范手动生成) 。一个接口在一个子网前缀中唯一 。
1、IPv6地址表示1)冒分十六进制表示法:IPv6地址包括128比特,以16位为一分组,每个16位分组写成4个十六进制数,中间用冒号分隔 。如
21DA:00D3:0000:0000:02AA:00FF:FE28:9C5A
2)表示方法对大小写不敏感:16比特的十六进制数对大小写不敏感,如:
21DA:00D3:0000:0000:02aa:00ff:fe28:9C5A。
3)每组的前导0可简化表示:IPv6地址中每个16位分组中的前导零位可以去除做简化表示,如:
21DA:D3:0:0:2AA:FF:FE28:9C5A
4)中间比特连续为0的情况:可以把连续出现的0省略掉,用::代替(注意::只能出现一次,否则不能确定到底有多少省略的0),该符号也能用来压缩地址中前部和尾部的相邻的连续零位,如下所示:
21DA:D3:0:0:2AA:FF:FE28:9C5A 等价于 21DA:D3::2AA:FF:FE28:9C5A
FF01:0:0:0:0:0:0:101 等价于 FF01::101
0:0:0:0:0:0:0:1 等价于 ::1
0:0:0:0:0:0:0:0 等价于 ::
5)在IPv4和IPv6混合环境:x:x:x:x:x:x:d.d.d.d,其中x是地址中6个高阶16位分组的十六进制值,d是地址中4个低阶8位分组的十进制值(标准IPv4表示) 。例如地址0:0:0:0:0:0:13.1.68.3,
0:0:0:0:0:FFFF:129.144.52.38 写成压缩形式为::13.1.68.3,::FFFF.129.144.52.38 。
6)URL中使用文本IPv6地址:文本地址应该用符号‘[’和‘]’来封闭 。例如文本IPv6地址
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210写作URL示例为http://[
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html 。
7)前缀表示方法:
ipv6-address/prefix-length 其中,ipv6-address为16进制表示的128比特地址;prefix-length为10进制表示的地址前缀长度 。和IPv4类似,IPv6的子网前缀和链路关联,多个子网前缀可分配给同一链路 。
例如,2001:0DB8:0:CD30::/60
当书写节点地址和该节点地址的前缀(例如,节点的子网前缀)时,二者合并写法如下:
节点地址
2001:0DB8:0:CD30:123:4567:89AB:CDEF
和它的子网号 2001:0DB8:0:CD30::/60
二者能够缩写为
2001:0DB8:0:CD30:123:4567:89AB:CDEF/60
2、EUI-64格式EUI-64格式:扩展惟一标识符
在IPV6中,无状态自动配置机制使用EUI-64格式来自动配置IPV6地址 。所谓无状态自动配置是指在网络中没有DHCP服务器的情况下,允许节点自行配置IPV6地址的机制 。
EUI-64的构造规则:根据接口的MAC地址再加上固定的前缀来生成一个IPV6的地址 。


推荐阅读