子网掩码的基本要素是什么?


10

子网掩码的用途是什么?

以下输出传达给用户什么?

 Connection-specific DNS Suffix  . :
 IP Address. . . . . . . . . . . . : 192.168.1.2
 Subnet Mask . . . . . . . . . . . : 255.255.255.0
 Default Gateway . . . . . . . . . : 192.168.1.1

基本上,当我拥有IP时,为什么需要子网掩码?


4
SF的EA所提供的答案比我见过的任何人都要好得多。serverfault.com/questions/49765/how-does-subnetting-work
MDMarra 2010年

Answers:


23

如果您将IP地址视为电话号码,则:

  • 子网掩码告诉您区号中包含多少位数
  • 其余数字是您在该区号下的个人号码

6
简洁明了的示例,无需掌握技术即可解释其目的。
Mike Christiansen 2010年

17

简要

子网掩码用于定义本地网络或子网。您可以直接访问同一子网中的所有内容,但是不在子网中的所有内容都需要通过网关进行请求。

因此,对于家庭用户而言,您的子网将是您的家庭网络-您的计算机和无线设备都可以直接与另一方进行通信。但是,Internet在您的子网之外,因此所有通信都必须首先通过网关(通常是路由器)进行。

有点技术

子网是一个32位长的掩码(由Manaf Abo.Rous接触),通常写为四个8位字节。请注意,这25511111111(8个)二进制文件。

掩码基本上是指“只有子网掩码定义的位置上具有相同编号的IP地址才在我的本地网络中”

因此,子网255.255.255.0意味着与前三个字节匹配的每个IP地址都是您的本地网络,对于您指定的数字,这就是任何匹配的内容192.168.001.###。或者,更广泛的子网255.255.0.0将构成您的本地网络192.168.###.###

更多技术

字节值不必总是为255,您可以具有255.255.255.240,即28个1和4个零。这意味着另一个IP的前28位必须与您的IP匹配,才能位于同一子集中。子网掩码必须始终为一定数量的1,后跟只有零才能构成32位,这就是为什么它也可以表示的原因/28(无论如何,在这种情况下),其值显示掩码包含多少个1-这通常用于IP环境中,例如192.168.1.2/28

所以,如果你的IP 192.168.1.2与子网掩码255.255.255.240,子网是的IP范围192.168.1.0,以192.168.1.15(虽然最低和最高一般不用于设备,因为它们具有特殊功能)。如果您的IP是192.168.1.53您的网络,则范围192.168.1.48192.168.1.63

请注意,这两个集合如何包含16个唯一地址?子网还定义了如何的子网,是因为它定义了许多IP地址怎么是可用的。

而现在,有了Binary

最后,为了解释Manaf Abo.Rous的答案,让我们看一下二进制文件。

我们将从使用mask开始255.255.255.0,这里是二进制文件:

11111111 11111111 11111111 00000000

因此,有了您的IP,您就知道本地网络中的每个IP都与前24个IP匹配,因此让我们192.168.1.2以二进制形式检查IP():

11000000 10101000 00000001 00000010 

现在,我们只查看子网中1的位置,以获取您的子网号:

11000000 10101000 00000001 --------

现在,我们知道您本地网络中的每个 IP均以您的子网号开头,并且末尾可以包含缺失值中的任何内容。

最后,让我们来看第二个使用IP 192.168.1.53和子网的示例255.255.255.240

11111111 11111111 11111111 11110000  [subnet] 
11000000 10101000 00000001 00110101  [IP]
11000000 10101000 00000001 0011----  [subnet number]

再次,你的本地IP的将会有什么在最后四个二进制值-这是00000001等多达1111-或十进制015-但要记住,他们将不得不0011在前面做一个完整的字节,所以真正的IP的使用是00110000(48 ),00110001(49)等等,直到00111111,即63。


1
嗯,刚回来重新阅读了我的帖子,发现它确实很长。抱歉,但是我不确定是否可以在不损坏内容的情况下将其缩减……
DMA57361 2010年

哇。从这个问题的评论中看到MarkM链接到的坦率出色的 SF帖子,相比之下,我的回答实际上看上去很小……这令人担忧……
DMA57361 2010年

5

子网掩码用于标识您的网络IP。

在您的IP地址和子网掩码上应用逻辑AND操作将输出您的网络IP地址。

在上面的例子中

IP地址:11000000 10101000 00000001 00000010 = 192.168.1.2

子网掩码:11111111 11111111 11111111 00000000 = 255.255.255.0

AND结果:11000000 10101000 00000001 00000000 = 192.168.1.0 =您的网络地址

更多信息在这里


好的技术解释:P没有太多信息
Mike Christiansen 2010年

+1,这是硬件如何从中获取网络信息的真实答案
KMC 2012年

1

子网掩码用于路由IP数据包。

基本上,您使用目标IP地址(and带掩码),并与值匹配,然后使用该路由。

例如,这是我的输出的一部分netstat -nrv

Destination      Netmask          Gateway         Interface
192.168.182.0    255.255.255.0    192.168.182.1   192.168.182.1

这意味着该表单的任何 IP地址都192.168.182.x将基于此规则进行路由,因为and255.255.255.0(netmask)一起-ed 时,该格式的任何地址都将给出192.168.182.0(目标)。

同样,默认路由为:

Destination      Netmask          Gateway         Interface
0.0.0.0          0.0.0.0          9.185.149.1     9.185.149.52

因为任何地址and与-ed 0.0.0.0给出0.0.0.0


此处的内容是什么
-JavaUser

和-ED:此装置执行按位与两个数(间en.wikipedia.org/wiki/Bitwise_operations#AND
麦克Christiansen的

当您开始谈论路由时,有人问子网掩码可能会感到困惑……
Mike Christiansen 2010年

1
@Java-布尔运算“和”的过去式
MDMarra

1

子网掩码将IP分为两部分,网络(或子网)部分和主机部分。前面的评论很好地说明了这一点。

IP的网络部分相同的任何对象都可以通信,而不必“通过”路由器。当然,每个设备的IP主机部分必须不同。

如果您有4台设置了这些IP /子网掩码的计算机:

host_11 - 192.168.2.1/255.255.255.0

host_12 - 192.168.2.2/255.255.255.0

gateway - 192.168.2.3/255.255.255.0

host_21 - 192.168.3.5/255.255.255.0

只有前三个可以通信。第四个不会响应,因为它不在同一子网中。

“默认网关”是路由器的奇特名称,它必须位于同一网络上。您可能已经看到ipconfig输出,其中没有默认网关。这意味着没有路由;即通信只能在该网络上的IP之间进行。

与我们的示例保持一致:

host_11 - 192.168.2.1/255.255.255.0; default gateway 192.168.2.3

host_12 - 192.168.2.2/255.255.255.0; default gateway 192.168.2.3

gateway - 192.168.2.3/255.255.255.0

host_21 - 192.168.3.5/255.255.255.0; default gateway 192.168.2.3

如果192.168.2.1想要说说192.168.3.5,则最终192.168.2.3会拾取该流量,然后将其转发。(路由正在转发。)192.168.2.3需要第二个IP,该IP设置为192.168.3.1/255.255.255.0。然后,192.168.3.5需要将其默认网关设置为子网中的某个地址,即192.168.3.1。

因此,实际上,它实际上是这样的:

host_11 - 192.168.2.1/255.255.255.0; default gateway 192.168.2.3

host_12 - 192.168.2.2/255.255.255.0; default gateway 192.168.2.3

gateway - first IP 192.168.2.3/255.255.255.0, second IP 192.168.3.1/255.255.255.0

host_21 - 192.168.3.5/255.255.255.0; default gateway 192.168.3.1

因此,现在192.168.2.X和192.168.3.X网络可以互相通信了。当然,他们不能与任何其他网络或Internet通话。网关需要将第三个IP连接到ISP,并将其设置为默认网关。然后,网关将接收来自192.168.2.X和192.168.3.X的非同一网络流量。

您可以为网关自己无法找到所有内容的情况设置路由规则。在此示例中,由于所有网络都已连接到路由器,因此我们并不需要。但是,在您的网络中包含多个路由器(默认网关)或“网络背后的网络”的情况下,必须指定路由规则。这涉及到一些高级的东西。我希望这可以帮到你。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.