0%

IPv6 简笔

IPv6简介

介绍

本质上IPv6就是为了解决IPv4地址空间不够而出现的。
长度由IPv4的32bit,扩展到了128bit。可以说IPv6地址数量近乎无限,以万亿为单位都显不足,如沧海一粟一般。

表示方法

IPv6有别于IPv4的点分十进制表示,使用了十六进制表示,以冒号 : 来每四位分割,其中0在前面的都可以省略。
如后面或中间有多个空位的,则可以通过 :: 来压缩表示。但只能压缩一次。
如 2000:0000:0000:0000:0000:0000:0000:0000,可以压缩为 2000:: 来表示。
2000:0000:0000:0000:0000:0000:0000:0022,则可以被压缩为 2000::22来表示。

前缀长度(子网掩码)

IPv6中的子网掩码叫做前缀长度,为128位。其中网络地址也可以用于互联,且无广播地址。所以 /127的地址,有两个可用IP。

IPv6地址分类

全球单播地址

范围是 2000::/3 ,对应IPv4的公网地址。

链路本地地址

范围是 FE80::/10,此地址是必须有的。前64bit固定为FE80:: 后64bit的接口ID可以手动指定或者通过EUI-64算法自动生成(根据MAC地址生成),
不过一些操作系统,比如Windows使用了随机生成,是为了隐藏MAC地址。而且还生成了一个临时地址,用于对外访问。
接口ID还以根据网络环境变化,网络环境不变则固定,更改则改变。

EUI-64生成算法

EUI-64 是将48bit的MAC地址,其第七位取反,然后中间填充FFFE组成64bit的接口ID。

参考:https://network.51cto.com/art/201910/603898.htm

本地环回地址

范围是 ::1/128 ,对应IPv4的 127.0.0.1/8。

未指定地址

范围是 ::/128 , 对应IPv4的 0.0.0.0/32。DAD重复地址检测协议使用此IP发送报文。

唯一本地地址

范围是 FC00::/7, 对应IPv4的私网地址。

任播地址

地址空间与全球单播地址共享,是一个IPv6特有的地址类型。可以分配给多个接口,
发送到任播地址的数据包,将传递到由该地址标识的最近地址。

本地环回地址

范围是 ::1/128 ,对应IPv4的 127.0.0.1/8。

未指定地址

方位是 ::/128 , 对应IPv4的 0.0.0.0/32。DAD重复地址检测协议使用此IP发送报文。

组播地址

范围是 FE00::/10,对应IPv4的组播地址。 IPv6去无广播地址,其功能基本由组播地址代替。

被请求节点组播地址

范围是 FF02::1:FF00:0/104,其地址是一种特殊的IPv6组播地址。
当接口配置了单播地址的时候,接口会自动生成被请求节点组播地址,并加入此组播组。用于地址解析、邻居发现和重复地址检测。
其中前缀固定为FF02::1:FF:, 后24bit,由单播IPv6的后24bit组成。
可以说此地址是为了代替广播地址产生,可以减少主机收到和无关的报文。

IPv6地址自动分配方法

DHCPv6

DHCPv6又可以称之为有状态分配,与IPv4的DHCP很相似。分发的地址由DHCPv6服务器控制。
可以分配IPv6地址,前缀长度、网关、DNS、域名等信息。

SLAAC

无状态分配,由路由器通过 RS报文分发前缀信息,网关为分发前缀的路由。
其中后64bit的接口ID,由链路本地地址的后64bit组成。所以无状态分配的前缀必须大于等于/64。
比较新的标准可以使用RA报文分配DNS服务器。之前是不支持分配的。

无状态DHCPv6

IPv6前缀信息由RA报文分发,通过SLACC生成地址。其他信息,例如DNS使用DHCPv6分配。无状态+有状态结合的方法分发地址。

IPv6工具

IPv6的子网计算器

http://www.gestioip.net/cgi-bin/subnet_calculator.cgi

IPv6归属查询

http://ip.zxinc.org/ipquery

IPv6连接测试

http://www.test-ipv6.com

PS:写博客好麻烦,我好懒。

欢迎关注我的其它发布渠道