@
826540272 @
cwbsw @
dodakt 很长,但也很快看完。
前几天被抓去搞事情了,实际上这个问题是这样的,IPV6-PD 这个模式,客观来说就是 IPV6 子网问题,我个人理解是这样:
假设 IPV6-PD 为 /60 的前缀 240e:3c1:5665:ddXY::/60 。就是意味着:
X 这个 60 位是 ISP 分配给你的,也是固定的,Y 这个位才是子网的位数,而 IPV6 都是 16 进制,各位大佬都知道就是 0-F 这样,也就是说后 64 位 SLAAC 方式能分出 16 个子网 /64 的。
240e:3c1:5665:dd70::/60 这个前缀可以分成
2 个 /61 子网:
240e:3c1:5665:dd70::/61
240e:3c1:5665:dd78::/61
4 个 /62 子网
240e:3c1:5665:dd70::/62
240e:3c1:5665:dd74::/62
240e:3c1:5665:dd78::/62
240e:3c1:5665:dd7c::/62
8 个 /63 子网
240e:3c1:5665:dd70::/63
240e:3c1:5665:dd72::/63
240e:3c1:5665:dd74::/63
240e:3c1:5665:dd76::/63
240e:3c1:5665:dd78::/63
240e:3c1:5665:dd7a::/63
240e:3c1:5665:dd7c::/63
240e:3c1:5665:dd7e::/63
16 个 /64 子网
240e:3c1:5665:dd70::/64~240e:3c1:5665:dd7F::/64
这个各位是没有意见的。
========================================================
下面开始说路由了:
先说非级联(只有一级路由),非级联就是多口 LAN ( VLAN )分子网
一级路由
WAN 获取 IPV6-PD 240e:3c1:5665:dd70::/60
LAN1,LAN1 可以 以 240e:3c1:5665:dd70::/60 下发,只有一个大子网。
和上面划分子网方式一样,可以分 LAN1-LAN16 。每个不同的 LAN 口分配 240e:3c1:5665:dd70::/64~240e:3c1:5665:dd7F::/64 的不同子网。来区分不同的使用情况,比如 LAN1 对应于家里的物联设备。LAN2 是普通上网设备云云。
但大多数路由,默认情况下,不会直接使用 /60 这么大的一个子网,为了方便使用和节省运力,还有所谓的兼容性,反正只有一级,所以默认下是从 /60 里随意抽了一个 /64 的子网,一般是抽 0,也就是 240e:3c1:5665:dd70::/64 开始分配 LAN1 下的设备。
LAN1 设备获取的 ip 地址均为 240e:3c1:5665:dd70:开头,这个大家也没有意见。
========================================================
级联,IPV6-PD 就要算算子网问题了,因为那个子网的拓展并不是像大家想的那样,可以 /64 一直传下去啊。假设 PD 下发没有任何问题。
一级路由
WAN 获取 240e:3c1:5665:dd70::/60 前缀。
LAN 以 240e:3c1:5665:dd70::/60 下发
LAN 的 IPV6 地址 240e:3c1:5665:dd70::1 (假设设定为::1)
二级路由
WAN 获取的 IPv6 地址永远都是 /64 的,240e:3c1:5665:dd70:1111:2222:3333:4444/64
WAN 获得了一个 IPV6-PD 前缀:240e:3c1:5665:dd78::/61
LAN 以 240e:3c1:5665:dd78::/61 下发
LAN 的 IPV6 地址为 240e:3c1:5665:dd78::1
这样二级路由下发的就只有剩下的一半子网了。
因为 240e:3c1:5665:dd70::/61 这段,一级路由的 LAN 段抽了 240e:3c1:5665:dd70::/64 用了啊。
虽然 240e:3c1:5665:dd71::/64~240e:3c1:5665:dd77::/64 这段并没有使用。
除非二级路由用了 LAN2~LAN8 (均以 /64 分配)
三级路由( WAN 接二级 LAN )
WAN 获取的 IPv6/64,240e:3c1:5665:dd78:aaaa:bbbb:cccc:dddd/64
WAN 获得前缀:240e:3c1:5665:dd7c::/62
LAN 下发 240e:3c1:5665:dd7c::/62
LAN 的 IPV6 地址为 240e:3c1:5665:dd7c::1
四级路由( WAN 接二级 LAN )同理
WAN 获取的 IPv6/64,240e:3c1:5665:dd7c:aaaa:1111:cccc:2222/64
WAN 获得前缀:240e:3c1:5665:dd7e::/63
LAN 下发 240e:3c1:5665:dd7e::/63
LAN 的 IPV6 地址为 240e:3c1:5665:dd7e::1
五级路由( WAN 接二级 LAN )同理
WAN 获取的 IPv6/64,240e:3c1:5665:dd7e:aaaa:3333:cccc:4444/64
WAN 获得前缀:240e:3c1:5665:dd7f::/64
LAN 下发 240e:3c1:5665:dd7f::/64
LAN 的 IPV6 地址为 240e:3c1:5665:dd7f::1
好了,到了这里就是 /64 了,如果还接一个路由,如果还是以 SLAAC 方式
就只能用 NAT6,一类本地地址了。当然这里用 WAN 接 LAN,去掉 ipv4 协议的穿透方式让六级路由获取五级同级的 ipv6 子网段也是可以的。
这个才是我要问的问题。/64 后,SLAAC 怎么解。
========================================================
然后变种一下。假如一级路由。分了 4 个 VLAN,一开始就分了 /62 4 个子网。按上面的说法,就是最多挂 3 级路由就 over 了。
当然对于家用,已经 100%够用了。
就是有些理解是模糊的。看上面的说辞,有些朋友觉得 IPV6-PD 似乎可以这样:
一级路由:240e:3c1:5665:dd70::/64,二级路由把 240e:3c1:5665:dd71::/64 发过去,三级 240e:3c1:5665:dd72::/64 这样。
但正常情况下,IPV6-PD 这样的子网发放模式和边际路由的理解一样啊,毕竟都是 WAN 传给 LAN,再下一级 WAN-LAN 。下一级肯定是上一级的子网范围内的啊。
========================================================
所以说白了,不是说给的 ip 地址不够多,是多,说人话就是说,你一个 /64 的子网能接入 NNNN 多个设备,毕竟 SLAAC 都好,后面 64 位的主机位能让你的 IP 地址数量数不完,只是子网这个货色,一般是用来区分网络分区作用多些。
就好比非子网,不同网段 192.168.1.0~192.168.254.0,你都能设置 1~254 这样的区域。
而 IPV6 中除了一开始从一级路由平层分开 /60 前缀为 /64 的 16 个子网外,用 ip6tabel 禁止每个子网相互通信外,或者 vlan 隔离,级联中就得考虑只有这 16 个子网的 1 、2 、4 、8 、16 的分配法而已。
当然如果这个世界只靠 ipv6 公网 ip 开网吧,/60 已经可以开黑吧了。
以上,有不对的地方,指正下。大概我目前就是这样搞的。因为家里各路人员繁杂,所以一级 LAN 已经分了 8 个子网 VLAN 。就剩下 statful 可以玩耍了。
前几天被抓去搞事情了,实际上这个问题是这样的,IPV6-PD 这个模式,客观来说就是 IPV6 子网问题,我个人理解是这样:
假设 IPV6-PD 为 /60 的前缀 240e:3c1:5665:ddXY::/60 。就是意味着:
X 这个 60 位是 ISP 分配给你的,也是固定的,Y 这个位才是子网的位数,而 IPV6 都是 16 进制,各位大佬都知道就是 0-F 这样,也就是说后 64 位 SLAAC 方式能分出 16 个子网 /64 的。
240e:3c1:5665:dd70::/60 这个前缀可以分成
2 个 /61 子网:
240e:3c1:5665:dd70::/61
240e:3c1:5665:dd78::/61
4 个 /62 子网
240e:3c1:5665:dd70::/62
240e:3c1:5665:dd74::/62
240e:3c1:5665:dd78::/62
240e:3c1:5665:dd7c::/62
8 个 /63 子网
240e:3c1:5665:dd70::/63
240e:3c1:5665:dd72::/63
240e:3c1:5665:dd74::/63
240e:3c1:5665:dd76::/63
240e:3c1:5665:dd78::/63
240e:3c1:5665:dd7a::/63
240e:3c1:5665:dd7c::/63
240e:3c1:5665:dd7e::/63
16 个 /64 子网
240e:3c1:5665:dd70::/64~240e:3c1:5665:dd7F::/64
这个各位是没有意见的。
========================================================
下面开始说路由了:
先说非级联(只有一级路由),非级联就是多口 LAN ( VLAN )分子网
一级路由
WAN 获取 IPV6-PD 240e:3c1:5665:dd70::/60
LAN1,LAN1 可以 以 240e:3c1:5665:dd70::/60 下发,只有一个大子网。
和上面划分子网方式一样,可以分 LAN1-LAN16 。每个不同的 LAN 口分配 240e:3c1:5665:dd70::/64~240e:3c1:5665:dd7F::/64 的不同子网。来区分不同的使用情况,比如 LAN1 对应于家里的物联设备。LAN2 是普通上网设备云云。
但大多数路由,默认情况下,不会直接使用 /60 这么大的一个子网,为了方便使用和节省运力,还有所谓的兼容性,反正只有一级,所以默认下是从 /60 里随意抽了一个 /64 的子网,一般是抽 0,也就是 240e:3c1:5665:dd70::/64 开始分配 LAN1 下的设备。
LAN1 设备获取的 ip 地址均为 240e:3c1:5665:dd70:开头,这个大家也没有意见。
========================================================
级联,IPV6-PD 就要算算子网问题了,因为那个子网的拓展并不是像大家想的那样,可以 /64 一直传下去啊。假设 PD 下发没有任何问题。
一级路由
WAN 获取 240e:3c1:5665:dd70::/60 前缀。
LAN 以 240e:3c1:5665:dd70::/60 下发
LAN 的 IPV6 地址 240e:3c1:5665:dd70::1 (假设设定为::1)
二级路由
WAN 获取的 IPv6 地址永远都是 /64 的,240e:3c1:5665:dd70:1111:2222:3333:4444/64
WAN 获得了一个 IPV6-PD 前缀:240e:3c1:5665:dd78::/61
LAN 以 240e:3c1:5665:dd78::/61 下发
LAN 的 IPV6 地址为 240e:3c1:5665:dd78::1
这样二级路由下发的就只有剩下的一半子网了。
因为 240e:3c1:5665:dd70::/61 这段,一级路由的 LAN 段抽了 240e:3c1:5665:dd70::/64 用了啊。
虽然 240e:3c1:5665:dd71::/64~240e:3c1:5665:dd77::/64 这段并没有使用。
除非二级路由用了 LAN2~LAN8 (均以 /64 分配)
三级路由( WAN 接二级 LAN )
WAN 获取的 IPv6/64,240e:3c1:5665:dd78:aaaa:bbbb:cccc:dddd/64
WAN 获得前缀:240e:3c1:5665:dd7c::/62
LAN 下发 240e:3c1:5665:dd7c::/62
LAN 的 IPV6 地址为 240e:3c1:5665:dd7c::1
四级路由( WAN 接二级 LAN )同理
WAN 获取的 IPv6/64,240e:3c1:5665:dd7c:aaaa:1111:cccc:2222/64
WAN 获得前缀:240e:3c1:5665:dd7e::/63
LAN 下发 240e:3c1:5665:dd7e::/63
LAN 的 IPV6 地址为 240e:3c1:5665:dd7e::1
五级路由( WAN 接二级 LAN )同理
WAN 获取的 IPv6/64,240e:3c1:5665:dd7e:aaaa:3333:cccc:4444/64
WAN 获得前缀:240e:3c1:5665:dd7f::/64
LAN 下发 240e:3c1:5665:dd7f::/64
LAN 的 IPV6 地址为 240e:3c1:5665:dd7f::1
好了,到了这里就是 /64 了,如果还接一个路由,如果还是以 SLAAC 方式
就只能用 NAT6,一类本地地址了。当然这里用 WAN 接 LAN,去掉 ipv4 协议的穿透方式让六级路由获取五级同级的 ipv6 子网段也是可以的。
这个才是我要问的问题。/64 后,SLAAC 怎么解。
========================================================
然后变种一下。假如一级路由。分了 4 个 VLAN,一开始就分了 /62 4 个子网。按上面的说法,就是最多挂 3 级路由就 over 了。
当然对于家用,已经 100%够用了。
就是有些理解是模糊的。看上面的说辞,有些朋友觉得 IPV6-PD 似乎可以这样:
一级路由:240e:3c1:5665:dd70::/64,二级路由把 240e:3c1:5665:dd71::/64 发过去,三级 240e:3c1:5665:dd72::/64 这样。
但正常情况下,IPV6-PD 这样的子网发放模式和边际路由的理解一样啊,毕竟都是 WAN 传给 LAN,再下一级 WAN-LAN 。下一级肯定是上一级的子网范围内的啊。
========================================================
所以说白了,不是说给的 ip 地址不够多,是多,说人话就是说,你一个 /64 的子网能接入 NNNN 多个设备,毕竟 SLAAC 都好,后面 64 位的主机位能让你的 IP 地址数量数不完,只是子网这个货色,一般是用来区分网络分区作用多些。
就好比非子网,不同网段 192.168.1.0~192.168.254.0,你都能设置 1~254 这样的区域。
而 IPV6 中除了一开始从一级路由平层分开 /60 前缀为 /64 的 16 个子网外,用 ip6tabel 禁止每个子网相互通信外,或者 vlan 隔离,级联中就得考虑只有这 16 个子网的 1 、2 、4 、8 、16 的分配法而已。
当然如果这个世界只靠 ipv6 公网 ip 开网吧,/60 已经可以开黑吧了。
以上,有不对的地方,指正下。大概我目前就是这样搞的。因为家里各路人员繁杂,所以一级 LAN 已经分了 8 个子网 VLAN 。就剩下 statful 可以玩耍了。