|
THaGKI9Jul 9, 2019
1
CIDR 格式斜杠后面的数字表示子网掩码的长度
比如 255.255.255.0/24 子网掩码长度为 24,表示这个网段的 IP 前 24 位是斜杠前面 IP 的前 24 位,也就是 255.255.255.x 对应网段 255.255.255.0 ~ 255.255.255.255 |
|
lcdtyphJul 9, 2019 via iPhone
2
假设有一条 cidr 记录是 a.b.c.d/m
那么如果有个 ip 的前 m 位和 a.b.c.d 的前 m 位一样,这个 ip 就属于这个 cidr 记录表示的网段了 快速匹配的话可以用字典树,不清楚 php 有没有现成的轮子。或者其他的路由表查找算法都可以用在这里 |
|
3
将 ip 转成整数( A ),2 ** (32 - 掩码长度) 为有效数量( n )。这样判断一个 IP 时,将 IP 转成整数( B),然后判断是否:A >= B < A + n 成立。
|
|
txydhrJul 10, 2019
4
子网掩码的另一种写法
|
|
lihongjie0209Jul 10, 2019
5
简单粗暴一点直接枚举所有就可以了
|