假设我们有一个 A 类网络,这意味着网络中有 1600 万台主机。我们要做的任务是:
- 维护如此庞大的网络
- 网络安全——例如,我们在一家公司有 4 个部门,而这 4 个部门都不需要访问整个网络。
为此,我们需要子网划分,即将巨大的网络划分为较小的网络。现在每个部门都会有自己的网络。
在没有子网划分的寻址的情况下,到达地址的过程由 3 个步骤完成 –
- 网络识别
- 主机识别
- 过程识别
在使用子网划分寻址的情况下,到达地址的过程由 4 个步骤完成 –
- 网络识别
- 子网的标识
- 主机识别
- 过程识别
假设我们有一个 C 类网络,我们想把它分成 4 个子网。要进行划分,我们需要从主机部分中选择 2 位。
由于每个子网的第一个和最后一个IP地址都是为网络ID和定向广播地址预留的,因此在这种情况下我们必须预留8个IP地址。
接收到目标地址为 -200.1.2.20 的数据包。那么路由器将如何识别它属于哪个子网。它将使用Subnet Mask完成。
子网掩码是一个 32 位数字,用于标识 IP 地址的子网。子网掩码是 1 和 0 的组合。 1 代表网络和子网 ID,而 0 代表主机 ID。对于这种情况,子网掩码是,
11111111.11111111.11111111.11000000
or
255.255.255.192
因此,为了获得目标地址所属的网络,我们必须按位 &使用子网掩码。
11111111.11111111.11111111.11000000
&& 11001000.00000001.00000010.00010100
-----------------------------------------------------
11001000.00000001.00000010.00000000
地址属于,
11001000.00000001.00000010.00000000
or
200.1.2.0
内部路由器将通过接口将数据包转发到网络。该接口将由驻留在路由器中的路由表标识。
路由表:
如果网络 ID 与任何不匹配,则数据包将被发送到默认条目。默认条目的网络 ID 为 0.0.0.0。
在某些情况下,网络 id 可能与路由表中的两个条目匹配,因此这里选择具有最长子网掩码(更多 1)的接口。