计算子网B类地址

问题描述

我对子网不熟悉。有个问题。

按照以下结构将 IP 地址组织在 B 类地址块 158.132.0.0/16 中。

Layer1-subnet:将B类地址块划分为64个大小相等的子网

Layer2-subnet:从64个子网中取子网0(即子网号为0)并划分 分成 4 个大小相同的子网。

在 (a) Layer1 (b) Layer2 上使用前缀长度表示法的子网地址是什么

我的回答:

a) 158.132.252.0/24

b) 158.132.255.0/26

两者都正确吗?

解决方法

子网只是您已有的任何单个网络的进一步划分。可以使用掩码显示主机地址。 CIDR 前缀主要用于路由。并且地址的类描述是passe,替换为CIDR,其中C 代表classless。 这里是二进制的整体结构,用于显示子网分配。

158.132.0.0
                        
10011110 10000100 00000000 00000000

   layer 1 subnet   +---------subnets here 6 bits wide or 2^6 or 64
                    V
                  |    | 
10011110.10000100.000000 00.00000000 <--- 10 bits of host

           layer 2 subnet   +---------subnets here 6 bits wide or 2^6 or 64
                            V 
                         |     |   
10011110.10000100.000000 00.0000 0000 <-- 4 bits of host
        

给定 158.132.0.0/16。这给出了网络上 65535 个可能的地址,包括 065535 用于此讨论。 642^6,因此将 6 添加到 16,您会得到 22。这将是“第 1 层”子网的 CIDR 前缀符号。这允许 IP 地址中 6 bits 的高位 third octet 容纳新子网。

上面的

64 个子网将是 158.132.0.0/22。然后“第 1 层”子网将从

158.132.0.0/22
158.132.4.0/22
158.132.8.0/22
158.132.12.0/22
158.132.16.0/22
...
158.132.252.0/22  

每个子网都可以处理 2^101024 主机。

第 1 层子网零将是 158.132.0.0/22

重复该过程,对于 64 内的 layer 1 subnet 0 个子网,只需将 6 添加到 22 即可获得 28

第 2 层子网零将是 158.132.0.0/28

并且每个“第 2 层”子网都可以处理 16 个地址(再次包括 015

那么第 1 层子网 5 之外的第 2 层、第 3 子网是什么?
第五个子网是 4(它们以 0 开头)所以第五个子网是 16
Layer 1 subnet 5 is 158.132.16.0/22
Layer 2 subnet 3 would then be 158.132.16.8/28

注意:我并不特别喜欢术语 layer 1layer 2,因为它们通常用于描述协议参考模型中的传输层。