首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据验证添加到IP地址设置中,以便在同一子网中配置IP地址时会提示用户。

问将数据验证添加到IP地址设置中,以便在同一子网中配置IP地址时会提示用户。
EN

Server Fault用户
提问于 2017-07-14 19:46:01
回答 2查看 139关注 0票数 0

我应该将验证添加到我的软件UI (IP子网UI)中,它允许用户输入一对IP地址和子网掩码。我应该确保两个网络接口没有在同一个子网中配置。

我的理解是,如果我按位执行,在IP地址和子网掩码之间执行,我将获得一个网络ID,如果N/W ID不相同,这是否足以声称两个网络接口不在同一子网中?

这个问题仅限于IPV4。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2017-07-14 20:04:04

您需要用相同的网络掩码掩蔽这两个地址,以确定网络是否相同。您需要使用最短的网络掩码进行比较。这是确定两个地址是否位于同一个网络中的方法。

除了地址和掩码大小之外,IPv4和IPv6的过程完全相同。

例如,10.0.0.0/25和10.0.0.64/26将使用最短掩码(255.255.255.128)再现同一个网络,但即使第二个网络是第一个网络的子网,也会返回具有最长掩码(255.255.255.192)的不同网络,因此第二个网络中的任何地址都属于第一个网络。

用最短的面具:

代码语言:javascript
复制
       10.0.0.0 -> 00001010000000000000000000000000
255.255.255.128 -> 11111111111111111111111110000000
            AND -> ================================
                   00001010000000000000000000000000 = 10.0.0.0

      10.0.0.64 -> 00001010000000000000000001000000
255.255.255.128 -> 11111111111111111111111110000000
            AND -> ================================
                   00001010000000000000000000000000 = 10.0.0.0

戴着最长的面具:

代码语言:javascript
复制
       10.0.0.0 -> 00001010000000000000000000000000
255.255.255.192 -> 11111111111111111111111111000000
            AND -> ================================
                   00001010000000000000000000000000 = 10.0.0.0

      10.0.0.64 -> 00001010000000000000000001000000
255.255.255.192 -> 11111111111111111111111111000000
            AND -> ================================
                   00001010000000000000000001000000 = 10.0.0.64

带着指定的面具:

代码语言:javascript
复制
       10.0.0.0 -> 00001010000000000000000000000000
255.255.255.128 -> 11111111111111111111111110000000
            AND -> ================================
                   00001010000000000000000000000000 = 10.0.0.0

      10.0.0.64 -> 00001010000000000000000001000000
255.255.255.192 -> 11111111111111111111111111000000
            AND -> ================================
                   00001010000000000000000001000000 = 10.0.0.64

如您所见,只有使用最短掩码的示例才会返回正确的答案,即第二个地址位于第一个地址的网络中。

票数 1
EN

Server Fault用户

发布于 2017-07-14 20:07:20

首先,您实际上只需要一个子网掩码条目,因为如果它们有两个不同的掩码,就不应该放在同一个子网上。但除此之外,是的,你和带有掩码的地址,如果你得到相同的结果,他们在同一个子网上。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/862249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档