点分十进制表示法与整数型 IP

5 条回复
36 次浏览

以前偶然了解到整数型 IP,只是觉得好玩,没有想到什么用处,到后面有一次做 IPwhois 的时候才用到。

我们知道 ipv4 是 32 位 2 进制,A.B.C.D 是为了给人类看的,点分十进制表示法。
IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet
见: https://www.rfc-editor.org/rfc/rfc3986

IPwhois 需要知道某个 IP 是否属于某个范围,比如 192.168.1.10 是不是在 192.168.1-255 里面,我不可能拿 string 去比对,换成十进制就好多了,只需要比对数值的大小就知道是不是在范围内。

IP 整数 =
a × 256³ +
b × 256² +
c × 256¹ +
d
image
转换为整数 IP

image
整数 IP 自动转换

发表一个评论

R保持