【发布时间】:2012-08-16 14:48:21
【问题描述】:
最近我在公司接到了一项任务,我必须创建一个这样的函数:
boolean addrMatch(String IP, String netMask);
这与路由无关。我们有一个网络服务会使用这个功能。 IP 参数因所有请求而异,netMask 参数由用户提供。该函数必须告知实际 IP 地址是否与提供的网络掩码匹配。这就像用户告诉我们的系统仅将公共互联网上的请求提供给特定的 IP 地址子集,而不是全部。 我的网络相关知识还远未完成,所以我对该主题进行了深入搜索,但我并没有走得太远。 我知道(或被告知):所有两个参数都是 xxx.xxx.xxx.xxx 表示法的有效 IP 地址或网络掩码。我必须对它们进行按位与(显然是在将它们转换为 BitSet 或至少 byte[] 数组之后)。但我想这不是完整的算法。 所以我的问题是:将 IP 地址与网络掩码匹配的正确算法是什么?
ps.:我正在使用 Java,但我需要泛型方法。
【问题讨论】:
标签: java networking ip subnet