网络地址中的掩码八位字节仍然可以使用吗?

网络工程 IPv4 子网
2022-02-05 18:38:27

我在说明的 TCP/IP 中出现了以下示例:

Figure 2-3. A site is allocated the classical class B network number 128.32. The
network administrator decides to apply a site-wide subnet mask of 255.255.255.0,
giving 256 subnetworks where each subnetwork can hold 256 – 2 = 254 hosts. The
IPv4 address of each host on the same subnet has the subnetwork number in
common. All of the IPv4 addresses of hosts on the left-hand LAN segment start
with 128.32.1, and all of those on the right start with 128.32.2.

在此处输入图像描述

我会想象 B 类地址 (128.32.) 与 255.255.255.0 掩码导致 128.32.0.[0-254] 地址范围。据我了解,这本书说它是 128.32.[0-254].[0-254]。有人可以解释为什么尽管第三个八位字节被屏蔽,这本书提到 128.32.1 和 128.32.2 可用?

4个回答

这本书说网络管理员正在将 B 类网络划分128.32.0.0/16为 256 个子网,网络掩码为255.255.255.0(CIDR 表示法中的 /24):128.32.0.0/24, 128.32.1.0/24, 128.32.2.0/24... 整个128.32B 类仍然路由到该站点。较小的子网是“内部的”(互联网的其余部分不需要知道)。

一个示例场景:128.32.0.0分配给某个公司。称它为 Acme 公司。Acme 有几个部门:IT、会计、销售等,他们希望保持在单独的网络上。因此,他们为每个人分配了自己的子网: IT= 128.32.0.0/24、 Accounting=128.32.1.0/24等。互联网的其余部分并不关心这些内部名称。重要的是互联网可以到达 Acme。

路由器的行为是根据最长前缀匹配将数据包发送到目的地。这只是指由其掩码长度确定的路由的特异性。这与将您写给您在新墨西哥州阿尔伯克基的朋友的一封信放入邮箱中完全类似。如果您只是在信封上写上“Albuquerque, NM 87111”作为目的地地址(而不是“12338 Anyplace Street Albuquerque, NM 87111”),那么您的信将到达 Albuquerque - 如果您当地的邮政运营商决定不对您大喊大叫,但使用准确的地址会使您的信件寄到正确的位置。

将此概念抽象为 IP 地址和路由:如果所有这三个路由都存在于路由器的路由表中,如果目标 IP 地址为192.168.1.75?

192.168.0.0/16
192.168.1.0/24
192.168.1.64/27

如果您猜到了第三个选项,那么您是正确的,因为这是到目标地址的最具体的路由,因此将是路由器用来将流量发送到该 IP 地址的路由。

现在,话虽如此,如果您从 RIR 获得自己的 IP 空间并且想要连接到 Internet,大多数传输提供商 (ISP) 将要求您以不超过 /24 的前缀长度宣布此 IP 空间. 这样做的目的是保持 Internet 的全局路由表尽可能小。

在您提供的示例中,如果“站点”拥有自己的 IP 地址空间的整个 /16,则可能创建 /24 掩码长度的 256 个子网(路由)。只有在某些情况下,站点才会想要做任何事情,除了向 Internet 服务提供商宣布单个 /16 前缀以便将流量路由到他们的网络。

这个概念被称为路由聚合,并且通常被认为是尽可能做的事情,尤其是在连接到 Internet 时。

二进制形式:

128.23.0.0    = 10000000000101110000000000000000
255.255.255.0 = 11111111111111111111111100000000

掩码计算结果将是

        10000000000101110000000000000000

与划分子网之前的网络相同。因此,尽管以十进制形式编写时第三个八位位组看起来“被掩盖”,但事实并非如此。这就是我们可以使用 128.23 的原因。. 地址。

首先,认识到 TCP/IP Illustrated...虽然是一本很棒的书(我也有一本),但在这一点上已经过时了。在现代网络中,将 IPv4 地址类作为历史脚注之外的任何内容都将很快让您陷入困境。

所以,这样想这个例子:

站点被分配 128.32.0.0/16,站点管理员根据 24 位掩码或点分四进制表示法中的 255.255.255.0 在站点内分配网络号*。请注意,内部网络不需要都使用相同的网络掩码长度,但我们将在此示例中坚持使用它们。

24 位网络掩码在 IP 地址的网络部分包括点分四进制表示法的前 3 个八位字节,因此任何具有前3个八位字节的 IP 地址集都是同一网络的一部分。

这意味着 128.32.0.x 是一个网络,128.32.1.x 是一个网络,128.32.2.x 是一个网络,依此类推,因为每个网络中具有不同“x”值的所有 IP 地址仍然有前 3 个八位字节的共同点是 24 位网络掩码的含义。

请注意,在示例中,128.32.0.0/16 从未实际分配为任何网段的 /16 网络,只有具有 24 位网络掩码的各种网络。

  • 你会注意到我避免使用子网这个术语。我认为该术语应该从现代网络讨论中的使用中退出。我认为它不再是对正在发生的事情的准确描述,因为它的原始定义是有类 IP 网络地址的子网。在现代,我们有网络,句号。这些网络可以具有任何适当的网络掩码,从网络拓扑的角度来看,从较大分配中分配的较小网络不一定分层连接到较大分配。