【发布时间】:2009-02-03 21:23:18
【问题描述】:
我有以下两列:
选择 b.ip_address 作为 IP,b.mask 作为接口 b 的掩码,其中 b.ip_address = 167804290; +-----------+------------+ |知识产权 |面膜 | +-----------+------------+ | 167804290 | 4294967168 | +-----------+------------+ 实际 IP 地址及其子网掩码在哪里 选择 INET_NTOA(b.ip_address) 作为 IP,INET_NTOA(b.mask) 作为接口 b 的掩码,其中 b.ip_address = 167804290;+--------------+------------------+ |知识产权 |面膜 | +--------------+------------------+ | 10.0.125.130 | 255.255.255.128 | +--------------+------------------+ 一组中的 1 行(0.00 秒) 我正在尝试用 mysql 找到一种方法来获取实际的广播范围,在这种情况下是
10.0.125.255 或 167804415,但我看不到它。
我得到的最接近的是
SELECT INET_NTOA(b.ip_address+(POWER(2,32)- b.mask - 1)) 从接口 b WHERE b.ip_address = 167804290;
+-------------------------------------------------- --+
| INET_NTOA(b.ip_address+(POWER(2,32)- b.mask - 1)) |
+-------------------------------------------------- --+
| 10.0.126.1 |
+-------------------------------------------------- --+
唯一的问题是,这是假设列 ip_address 是子网 10.0.125.128 的开始
我们将不胜感激。
【问题讨论】: