关于/64 IPv6网段中可用公网IPv6地址数量的技术咨询
关于/64 IPv6网段中可用公网IPv6地址数量的技术咨询
嘿,这个问题其实很容易被误解,我来给你理清楚:
首先你听到的“大部分IP只能用于LAN本地”的说法是不准确的——那些专用于局域网本地的特殊IPv6地址(比如链路本地的fe80::/10地址块)是独立的前缀范围,根本不属于你的公网/64网段。所以你的公网/64里的地址,绝大多数都是可以用作公网地址的。
一个/64的IPv6网段总共有18,446,744,073,709,551,616(也就是2^64)个地址。其中只有2个地址是被保留,不能分配给主机作为公网使用的:
- 子网路由器任播地址:即你的/64前缀加上全0的接口ID(比如你的公网/64是
2001:db8:abcd::/64,这个地址就是2001:db8:abcd::),它的作用是让子网内的设备快速找到路由器,不能给普通主机分配。 - 接口ID全为1的地址:也就是前缀加上
ffff:ffff:ffff:ffff的地址,这个地址是IPv6协议里保留的,不用于主机地址分配。
所以可用的公网IPv6地址数量就是总地址数减去这2个,也就是18,446,744,073,709,551,614个。其实这个数字和总数几乎没区别,毕竟2^64本身就大得离谱,少两个完全可以忽略不计。
备注:内容来源于stack exchange,提问作者Tom John




