主机地址和网络地址有什么区别?

网络工程 ipv4 子网
2021-07-26 11:39:19

在采访中经常会出现一个问题“这个网络可以有多少台主机和多少个子网?”。

假设我们有/30网络。它总共有 4 个地址,减去它自己的网络地址和广播我们有 2 个。我知道这 2 个可以是主机。它们可以是网络吗?

如果他们每个人都是拥有自己192.168.56.X网络的wifi 路由器怎么办/30 'mother' 网络中 /30 和 2 个路由器地址的 wifi netowroks 子网是它们的网络地址吗?

1个回答

你就这个问题给我发了电子邮件,这很有趣,我正在写另一篇博文来回答这个问题。我应该在接下来的几个小时内发布它。

编辑:博客文章现已发布。

无论如何,让我们开始回答你的问题:)

假设我们有 /30 网络。它总共有 4 个地址,减去它自己的网络地址和广播我们有 2 个。我知道这 2 个可以是主机。

这是现场。

IP 地址有 32 位。由于您有一个 /30,这意味着其中 30 个位是“保留的”网络位。如您所知,您不被“允许”更改网络位,否则您很可能最终会遇到 IP 地址冲突。因此,这为您留下了“允许”使用的 2 个“主机”位。

正如您正确指出的那样,这 2 位导致 4 个地址。然而,当我们使用 2 ^ n - 2 公式来确定可用主机地址的数量时,我们只剩下两个地址。如您所知,我们在此公式中减去 2 以计算子网中的第一个和最后一个地址,因为它们分别是网络地址和广播地址,不能分配给主机。

现在,如果我正确理解您的问题,您会问可以使用 /30 来创建几个子网。为了计算我们将得到的子网数量,我们需要使用一个与上面提到的略有不同的公式——这个公式是 2 ^ n(注意我们这里没有减去 2)。

假设我们在此计算中使用了两个主机位 - 2 ^ 2 = 4 个子网。但是,由于这使用了所有主机位,我们没有任何剩余空间可以分配给 wifi 路由器。因此,只为子网使用 1 个主机位而将另一位留给主机会更合适。因此,我们的子网计算将如下所示:2 ^ 1 = 2 个子网。

但是,我们在这里也遇到了一个问题。由于我们只剩下一个主机位,我们将没有任何可用地址,因为 2 ^ 1 - 2 = 0。因此答案是否定的,您不能对 /30 进行子网划分。

注意:好的,我可能在这里有点扯淡……在某些情况下,您可以使用 /31 甚至 /32 地址(例如,环回接口和点对点链接),但它们是另一锅鱼。

现在,如果您问的是 /29 地址,那么答案是肯定的,您可以使用此网络地址创建两个子网,每个子网都有几个主机。让我们来看看为什么:

  • 29 位是为网络保留的,因此我们不能使用它们。这给我们留下了 3 位。
  • 如果我们将这些位之一用于我们的子网,我们将获得两个子网 (2 ^ 1 = 2)。这给我们留下了 2 位用于主机。
  • 通过上述公式运行这 2 个剩余位,每个子网剩下两个主机 (2 ^ 2 - 2 = 2)。

以上意味着我们有两个子网,每个子网都有两个可用的主机地址。或者换一种说法,我们将有四个可用地址分布在两个子网中。