IPv6地址分类
链路本地地址
链路本地地址(link-local address),它的前缀是FE80::/64,实际上这个地址的概念类似与IPv4当中DHCP分配失败时自动生成的192.254.xxx.xxx这样的地址,凡是源地址或者目的地址中含有link-local address的报文只能在一个LAN中互通,路由器不做转发
IPv6地址分类
IPv6
地址可分为三大类:
- 单播地址
- 组播地址
- 任意播地址
单播地址
单播地址用于一对一的连接,IPv6的单播地址有以下六种类型,
- Aggregate Global Unicast Address
可聚合全球单播地址,由IANA分配可在全球路由的公网IP地址,
目前地址范围为:2XXXX::XXXX/3 - 3FFF::FFFF/3,占12.5%的IPv6地址空间,这个前缀中包含了8192个16的前缀,
| 地址 | 说明 |
| ------------ | ------------ |
| 2001::/16 | 目前用于IPv6因特网运营的前缀 |
| 2002::/16 | 6to4过度地址 |
| 3ff3::/16 | 用于6bone测试目的的前缀 | - Link Local Address
FE80::/10(前10位以FE80开头)
当一个节点启用IPv6时,此节点会自动生成一个link-local address,其前缀64为标准指定,其后64位按照EUI-64格式来构造,在本地链路上,路由表中看到下一跳都是对端的Link Local地址,不是公网IP地址,这个地址只能在本地链路中使用,不能在子网间路由,
EUI-64格式
在IPv6中,无状态自动配置机制使用EUI-64格式来自动配置IPv6地址,所谓无状态自动配置是指在没有DHCP服务器的情况下,允许节点自行配置IPv6地址的机制,EUI-64的构造规则(根据接口的MAC地址再加上固定的前缀来生成一个IPv6的地址)
将48位的MAC地址扩展成64位,再挂在一个64位的前缀后面,组成一个IPv6地址。
一个例子:
将48位的MAC地址从中间分开加入一个固定的FFFE
0001:0203:0405->0001:02FF:FE03:0405
将第7位反转,如果原来是0就变成1,如果原来是1就变成0,再加上前缀FE80
FE80::0201:02FF:FE03:0405这就是一个完整的IPv6地址
反转的原因是:
在MAC地址中,bit7为1表示本地管理,为0表示全球管理,在EUI-64格式中,bit7表示全球唯一,为0表示本地唯一 - Site Local Address
FEC0::/10
IPv6的私网地址,就像IPv4中的私网保留地址一样,只能在本站点内使用,不能在公网上使用 - Unspecified Address
::/128
未指定地址,写默认路由时代表所有路由 - Loopback Address
::1/128
本地址回环地址,同IPv4中的127.0.0.1一样,表示节点自己 - IPv4 Compatible Address
::192.168.1.2
IPv4兼容IPv6的地址,用于在IPv4网络上建立自动隧道,以传输IPV6数据
组播地址
在IPv6中没有广播,使用组播来代替,前缀FF00::/8,占用0.38%的地址空间,组播地址的格式如下
FFFF + 4bits标识 + 4bit范围
标志为0000表示永久保留的组播地址,分配给各种地址使用
标志为0001表示用户可使用的临时组播地址
范围段定义了组播地址的范围,其定义如下:
二进制 十六进制 说明
0001 1 本地接口范围
0010 2 本地链路范围
0011 3 本地子网范围
0100 4 本地管理范围
0101 5 本地站点范围
1000 8 组织机构范围
1110 E 全球范围
下面是一些组播制定的地址
FF02::1 all nodes 在本地链路范围内的所有节点
FF02::2 all routers 在本地范围内的所有路由器
FF05::2 在一个站点范围内的所有路由器
任意播地址
待续。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律