如何解释子网掩码

网络工程 子网
2022-02-17 12:43:24

我收到了一个数据表,我需要用它来配置一个不执行 dhcp 但需要使用静态 IP 地址的服务器。该表告诉我设置子网掩码255.255.252/22我试图将其“翻译”成我习惯的子网掩码,但显然失败了。

我尝试了很多变体,但 Ubuntu 抱怨它们。我的假设是这既不是错误也不是 Ubuntu 问题,因此我在这里寻求帮助。

255.255.252.0/24也不起作用,255.255.252.0因为 Ubuntu 坚持使用 CIDR,所以不接受类似的条目。

在此处输入图像描述

1个回答

您可以通过 3 种方式编写子网掩码:

  • 在二进制中,实数符号,但从未在实践中使用,因为它不是真正实用的,例如1111111111111111111111000000000011111111111111111111111100000000
  • 使用斜线表示法,它被写为/22/24
  • 在十进制中,它将是255.255.252.0255.255.255.0

如您所见,斜线后面的22or24只是连续 1 的计数。十进制表示法将 32 位划分为四个八位字节,并将它们从二进制转换为十进制并用点分隔写入,与写入 IP 地址的方式相同十进制。

就我个人而言,我永远不会写255.255.252/22只会引起混淆的内容,因为它看起来像是分配给接口的 IP 地址而不是子网掩码。

在文档/程序中,我会编写它255.255.252.0 (/22),它以两种不同的格式提供相同的信息,因此读者可以选择它喜欢的格式或避免从一种格式转换为另一种格式的痛苦。

配置设备时,您将始终使用单一格式。有些设备只接受“斜线”表示法,而另一些则只接受十进制表示法,有些可以同时使用两者(但一次一个)。

如果您必须输入子网、IP 地址和网关,则应为:
子网:10.16.192.0/22 地址:10.16.192.251 网关:10.16.192.1

(但这有点奇怪,因为您的网关 IP 位于子网中的某个位置,通常它是子网的第一个或最后一个地址)