子网掩码有什么用处?
下面的输出向用户传达了什么?
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.1.2
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
基本上,当我有 IP 时为什么还需要子网掩码?
答案1
如果您将 IP 地址视为电话号码:
- 子网掩码告诉您区号中有多少位数字
- 其余数字是您在该区号下的个人号码
答案2
简短的
您的子网掩码用于定义您的本地网络或子网。您可以直接访问同一子网内的所有内容,但不在您的子网内的所有内容都需要通过网关。
因此,对于家庭用户来说,您的子网就是您的家庭网络 - 您的计算机和无线设备都可以直接相互通信。但是,互联网不在您的子网内,因此所有通信都必须先通过您的网关(通常是路由器)。
略微技术性
子网长度为 32 位位掩码(正如马纳夫·阿波罗斯),通常写为四个 8 位字节。注意,二进制中255
为(8 个 1)。11111111
面具基本上意味着“只有那些在子网掩码定义的位置上具有相同数字的 IP 地址才在我的本地网络中”。
因此,子网255.255.255.0
意味着与前三个字节匹配的每个 IP 地址都是您的本地网络,根据您给出的数字,这是任何匹配的 IP192.168.001.###
地址。或者,更宽的子网255.255.0.0
将使您的本地网络成为192.168.###.###
。
更多技术
字节值没有总是必须是 255,你可以有255.255.255.240
,即 28 个 1 和 4 个 0。这意味着另一个 IP 的前 28 位必须与你的 IP 匹配,才能属于同一子集。子网掩码必须总是是一定数量的 1,后面跟着零,以构成 32 位,这就是为什么它/28
也可以表示为(无论如何在这种情况下),其值显示掩码包含多少个 1 - 这通常在 IP 上下文中使用,例如192.168.1.2/28
因此,如果您的 IP 为 ,192.168.1.2
子网掩码为,则您的子网为到 的255.255.255.240
IP 范围(尽管最低和最高通常不用于具有特殊功能的设备)。如果您的 IP 为 ,则您的网络范围为到。192.168.1.0
192.168.1.15
192.168.1.53
192.168.1.48
192.168.1.63
注意到这两组都包含 16 个唯一地址吗?子网还定义了大的子网是因为它定义了有多少个可用的 IP 地址。
现在有了二进制
最后,换言之马纳夫·阿波罗斯的答案,我们先来看一下二进制。
我们将从使用掩码开始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 以您的子网号开头,并且可以在末尾包含任何缺失值。
最后,让我们看一下第二个示例,使用 IP192.168.1.53
和子网255.255.255.240
:
11111111 11111111 11111111 11110000 [subnet]
11000000 10101000 00000001 00110101 [IP]
11000000 10101000 00000001 0011---- [subnet number]
再次,您的本地 IP 将在最后四个二进制值中有任何内容 - 即0000
,,0001
等直到1111
- 或十进制0
到15
- 但请记住它们会0011
在前面构成一个完整的字节,因此实际上可用的 IP 是00110000
(48),00110001
(49)等,直到00111111
,即 63。
答案3
答案4
子网掩码将 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
只有前 3 个可以通信。第四个不会响应,因为它们不在同一子网。
“默认网关”是路由器的别称,它必须位于同一网络上。您可能见过没有默认网关的 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 网络可以互相通信。当然,它们不能与任何其他网络或互联网通信。网关需要第三个 IP 连接到 ISP,并将其设置为默认网关。然后,网关会从 192.168.2.X 和 192.168.3.X 接收非同一网络流量。
您可以为网关无法自行找到所有内容的情况设置路由规则。在此示例中,我们实际上不需要这样做,因为所有网络都连接到路由器。但是,如果您的网络有多个路由器(默认网关)或“网络后面的网络”,则必须指定路由规则。这涉及一些高级内容。我希望这对您有所帮助。