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