有几个 问题 询问 CIDR 网络掩码是什么,以及它是如何计算的。 但是在阅读了所有热门答案之后,我仍然想知道,网络掩码如何让我们区分两个 IP 地址?
例如,如果我给你地址:
- 25.47.130.1 /32
- 25.47.130.1 /8
我看不出这是两个不同的地址,只是因为您在其中添加了一个更具体的“子组”。它们是(或似乎是)相同的 IP 地址!
对我来说,这似乎等同于提供两种描述“鲍勃之家”的方式,但声称它们是不同的位置,例如
- 鲍勃的家 / 纽约市
- 鲍勃的家 / 布鲁克林
两个地址完全相同。他们都指的是同一所房子。在其中一个“掩码”中将其缩小到较小的子位置是无关紧要的。
我希望有人理解我正在努力理解的内容,并且不要将其标记为重复。我还没有找到一个类似的问题或答案来解决这个令人困惑的方面。
它没有。我让我们或设备区分它所连接的网络的范围。
他们是同一个地址。您所指的范围发生了变化。一般来说,当您看到引用 /32 时,您指的是单个主机。当您使用较小的网络掩码(例如示例中的 /8)时,您正在定义该主机所连接的(子)网络的大小。
当您以点分十进制格式读取 IP 地址时,计算机/网络设备使用的地址是二进制的。它是一个由 32 个二进制 1 和 0 组成的字符串。掩码只是区分 32 个字符的二进制字符串的哪一部分用于指定网络以及哪一部分可用于指定主机。
添加到我上面的一般性陈述中,当您指的是网络而不是特定主机时,地址的主机位都设置为 0。如果一个或多个主机位设置为 1,那么这通常表示指定大小的网络内的特定主机。因此,当您在上面包含 25.47.130.1/8 时,这往往表示 25.0.0.0/8 的 /8 网络中的特定主机。
扩展您的示例,将其从网络中移除。是的,他们都是同一所房子,但这并不意味着面具“无关紧要”。对于 Bob 来说,这实际上是一条非常重要的信息。
Bob 由居住在城镇(表示为 25.47.130.0/24)中的数值 (25.47.130.1/32) 标识。Bob 有一个老式的邮局,有单独的邮箱,一个用于本地邮件(即城里的其他人),一个用于所有其他邮件。
通过这种方式,本地邮件可以更直接地投递到目的地(使投递更快、更环保)。进入所有其他邮箱的邮件在被发送到目的地之前被发送到区域分拣/处理邮局。
Bob 有两封信要发送,一封给 25.47.130.2,一封给 35.57.140.2。Bob 知道他的城镇是 25.47.130.0/24,他确定发往 25.47.130.2 的信是本地的,并将其放入本地信箱。但是 35.57.140.2 不在他的城镇,所以把它放在所有其他邮箱中。
您甚至可以进一步扩展,并说 Bob 知道他的城镇位于一个州 (25.47.0.0/16) 并且该州是一个更大的国家 (25.0.0.0/8) 的一部分。Bob 现在知道他给 35.57.140.2 的信是在州外和国外(这可能有额外的要求,比如额外的邮资)。
但是,通常大多数网络端点 (Bobs) 只需了解或关心流量(邮件)是否是本地的。换句话说,流量是直接发送到本地目的地还是被移交给另一个设备以将其路由到正确的目的地。
网络掩码不是一部分地址的。它定义了你的社区有多大,就像 Mikhail Khirgiy 的例子一样。戴着 /8 面具,Bob 认识纽约的每个人。他可以在没有任何帮助的情况下将一封信交给城里的任何人。戴着 /16 的面具,鲍勃只认识布鲁克林的人(假设鲍勃本人住在布鲁克林)。如果他想给皇后区的某人送信,他需要把它带到邮局(这将是他的网关地址)。戴着 /24 面具,鲍勃只认识他公寓楼里的人。要发送给外面的任何人(甚至布鲁克林的其他地方),他需要通过他的网关发送它(在这种情况下可能是常驻经理)。简而言之,网关是等式的一部分。掩码用于确定他可以在没有任何帮助的情况下发送到多少其他地址。如果他联系不上目的地,
网络掩码告诉设备如何联系其他 IP 地址。由网络掩码定义的同一网络中的任何内容都可以直接联系;必须通过路由器(默认网关,除非有带有适用路由的本地路由表)联系同一网络之外的任何内容。
您可以使用更多的小掩码将网络聚合为一个。它仅用于路由或防火墙规则。举例:
25.0.0.0/8 - 纽约
25.47.0.0/16 - 布鲁克林
25.47.130.0/24 - Bob 的房子或校园
25.47.130.1/32 - 鲍勃。
这在实际网络中不使用。例如 Bob 在 25.47.130.0/24 网络中获得了 25.47.130.1/24 IP 地址。它可以直接(无需路由)连接到该网络中的任何 IP 地址。但是它不能直接连接到 25.47.131.1/8,因为这个 IP 地址不是来自 Bob 的网络 25.47.130.0/24。这就是为什么 Bob 的计算机会通过网关主机(路由器)向 25.47.131.1/8 发送数据包。
分配给系统的 IP 的网络掩码用于计算将添加到该 IP 的本地系统路由表的条目。
每当设置数据包时,都会查询本地路由表。如果目标位于本地子网上,您的计算机将使用本地介质(可能是以太网)直接与目标通信。如果目的地不是本地的,您的数据包将被转发到路由表中具有第一个匹配路由的路由器,或者如果您没有任何特定路由,则转发到“默认”路由器/网关。在路由表中,首先检查本地路由,然后从最具体到最不具体处理路由。
网络掩码决定 IP 地址的哪一部分是网络,哪一部分是主机。
IP 地址和掩码是二进制数(IPv4 为 32 位,IPv6 为 128 位)。编辑IP 地址和掩码
AND
(记住学校的真值表)为您提供网络地址。如果您AND
的地址与掩码相反,您将获得主机号。例如,要获取网络地址:
获取主机号:
这不是网络掩码的目的。实际地址决定了差异。在同一网络上,主机将具有不同的主机号。在不同的网络上,主机号可以相同。它是在公共 Internet 上必须唯一的完整 IP 地址。
您的困惑源于使用私有 IPv4 寻址的事实。私有地址在私有网络之间不必是唯一的,因为它们在通过公共 Internet 发送具有这些地址的数据包之前由 NAT 转换为唯一的公共地址。专用地址在主机被寻址的专用网络中必须是唯一的,但每个专用网络可以使用与其他专用网络相同的寻址。
用几句话告诉你可以在这个网络上添加多少主机等 /24 是 254(256-2 广播和网络)如果你进入 /23,如果你进入 /22,这将变成 512(510)的两倍将再次进入预览的两倍,这意味着 1024 (1022H) 如果你进入 /25 将进入 /24 的一半,这意味着 128 (126H)