subnetting
Subnetting
子网划分是一种用于网络的组织技术,用于将网络划分为子网。子网划分的工作原理是利用 CIDR 表示法 重新委派 IP 地址中的位来为主机或网络提供服务。
Subnet Mask
子网掩码告诉您 IP 地址的哪些部分是网络位,哪些部分是主机位。子网掩码中设置为 255 的每个八位字节表示属于网络的整个字节。子网掩码中的每个 0 表示属于主机的位:
1 | IP Address : 192.168.32.5 |
主机位
IP 地址中为主机保留的位数告诉我们网络可以支持多少主机(网络上可以有多少设备拥有自己唯一的 IP 地址)。
在为主机保留 8 位的 /24 网络中,该网络上可以有 2^8 (256) 个主机/设备(负 2,因为 0 地址被保留,通常用于路由器并计为第一个地址)。
通配符掩码
通配符掩码是反转的子网掩码。要创建通配符掩码,您必须获取二进制子网掩码的“按位补码”(即所有 1 位都变为 0,所有 0 位都变为 1):
1 | IP Address (CIDR) : 192.168.0.0/23 |
查找子网的地址范围时,通配符掩码非常有用。例如,对于 /23 网络,您知道子网掩码为 255.255.254.0,因此通配符掩码为 0.0.1.255。
在第三个八位字节中,唯一可以翻转以形成唯一地址的位是第一位 (0000000(1))。它可以是 1 或 0。第三个八位位组中的其余位对于地址空间“不可用”(就像前两个八位位组中的位一样)。
第四个八位位组中的每一位都可以翻转为 1 或 0 ,总共提供 2^8 (256) 个组合,从而获得 256 个唯一地址。
这意味着第三个八位位组设置为 0 时有 256 个可能的地址,第三个八位位组设置为 1 时还有 256 个附加可能的地址。因此地址 192.168.0.0/23 的 IP 地址范围是:
1 | Third octet set to 0 : |
总共 512 个唯一的 IP 地址。
更改子网掩码
子网划分只是“更改子网掩码”以允许 IP 地址支持更多网络。要在 IP 地址中创建子网,需要从地址的主机部分获取位并“赋予”网络部分。
位只能从最低有效位到最高有效位获取:
1 | IP Address : 192.168.32.5 |
决定采用多少位
从网络中获取的位数决定了可以创建多少个子网络。可能的子网数量 = 2^(占用了多少位)。
例如:创建 4 个子网 = 2^x。求解 x 得到 2,这意味着需要从主机位中取出 2 位来创建 4 个子网。
示例 2:创建 17 个子网 = 2^x。 2^4 = 16(不够,需要多一位)==> 2^5 = 32,因此需要占用 5 位来创建 17 个子网络。
子网
一旦更改子网掩码以支持子网,就可以确定每个子网的范围。要计算出范围,您需要增量。
增量
增量(或每个网络所属的地址范围)可以通过查看子网掩码找到:
1 | IP Address : 192.168.32.5 |
一旦获得增量,您就知道每个子网跨越增量数量的地址。本示例中的子网范围为:
1 | Subnet 1 : 192.168.32.0 - 192.168.32.63 |
带子网的保留 IP
在子网中,可用主机的数量始终是子网中可能的地址总数的 -2。这是为了说明该范围中的第一个和最后一个地址,这些地址是为网络 ID 和广播 ID 保留的:
网络 ID
这通常是子网范围中的第一个地址。
广播 ID
通常是范围中的最后一个地址(但并非总是如此)
1 | IP Address : 192.168.1.32/27 |
[!资源:]
[!我之前的笔记(在文中链接):]