每个子网都有广播地址和网络地址吗?

网络工程 ipv4 ip 子网 IP地址
2021-07-19 23:33:04

给定/26网络的子网/24

Subnet 1 0-63 
Subnet 2 64-127
Subnet 3 128-191
Subnet 4 192-255

每个子网是否都有自己的网络 ID 和广播地址?

意义:

Subnet 1 0-63 (network is 0, broadcast is 63)
Subnet 2 64-127 (network is 64, broadcast is 127)
Subnet 3 128-191 (network is 128, broadcast is 191)
Subnet 4 192-255 (network is 192, broadcast is 255)

因此,每个子网都为 -2,因为它们不能分配给主机。我对吗?

4个回答

因此,每个子网都为 -2,因为它们不能分配给主机。我对吗?

该规则有两个例外:/31/32网络。

  • /31网络用于点对点链接。这在 2000 年 12 月进行了标准化,当时发布了RFC 3021,在 IPv4 点对点链路上使用 31 位前缀关键是不需要在点对点链路上进行广播,因为点对点网络上的所有其他主机无论如何都会获得流量。通常,/30用于点对点网络会浪费一半的网络地址。当您的企业有很多点对点链接时,这真的可以加起来。您可以将使用的地址数量减少一半,在地址数量相同的情况下将点对点链接的数量增加一倍。
  • /32网络通常用于诸如路由器环回之类的事情。必须路由这些网络以向/从任何其他主机发送或接收流量,因为网络上只有一个可能的主机。

是的,你是对的。尽管在实际的日常世界中没有人这样做,但如果将所讨论的子网转换为二进制数字,然后记住广播地址只是全 1 和网络地址全零的情况,则更容易看到这一点.

是的,你是对的。

我将在这里解释我们是如何得到它的。

对于给定数量的二进制数字(比如 x), 2^x 给出了可以由它组成的不同二进制数的数量。

因此,当我们考虑子网掩码中“0”位的数量时,我们可以使用上述公式找出可以从中组成的不同二进制数的数量。然而,在子网中,保留这些可能的不同二进制数中的两个数来构成网络地址和广播地址。这些是通过将 IP 地址的网络部分与 IP 地址主机部分下的第一个可能的组合和最后一个可能的比特数组合相结合而形成的。

让我通过一个例子来解释这一点。考虑 192.168.209.176/28

11000000 10101000 11010001 10110000 - IP address
11111111 11111111 11111111 11110000 - Subnet mask

子网掩码中有 4 个“0”位。2^4=16。组合为 0000、0001、0010、...、1101、1110、1111。

将 IP 地址的网络部分 (11000000 10101000 11010001 1011) 与第一个组合 (0000) 相结合,我们得到 11000000 10101000 11010001 10110000,当转换为 .162.16 这是该子网的主机地址。

将 IP 地址的网络部分 (11000000 10101000 11010001 1011) 与最后一个组合 (1111) 相结合,我们得到 11000000 10101000 11010001 10111111,当转换为 .9.216 时为 .18.19 这是该子网的广播地址。

正如您在问题中所述,我们必须减去 2 个地址,网络地址和广播地址,因为我们无法将它们分配给主机。因此我们可以修改上面的等式以获得子网中的主机数为 (2^x)-2 其中 x 是子网掩码中的主机位数


现在考虑 192.168.209.176/31。

由于子网掩码中只有 1 个主机位,因此可以形成 2 个地址。但是因为我们必须为网络地址和广播地址保留 2 个地址,所以我们没有留下任何要分配给主机的地址。(2^2)-2=0。

因此带有 /31 的子网没用。

关于/32和/31问题...

/32 是一个子网,因为它是“更大网络的一部分”。/31 也是。但是 /32 通常用于引用单个主机。通常不使用 /31。即使对于访问列表,人们通常也会放两个 /32 或在 IP 前加上主机......两次。话虽如此,我很确定您永远不会看到配置了 /32 或 /31 的 l3 链接。但是您可能会看到带有 /32 的单个主机或 ACL。