📜  子网掩码的作用

📅  最后修改于: 2021-09-27 15:09:16             🧑  作者: Mango

假设我们有一个 A 类网络,这意味着网络中有 1600 万台主机。我们要做的任务是:

  1. 维护如此庞大的网络
  2. 网络安全——例如,我们在一家公司有 4 个部门,而这 4 个部门都不需要访问整个网络。

为此,我们需要子网划分,即将巨大的网络划分为较小的网络。现在每个部门都会有自己的网络。

在没有子网划分的寻址的情况下,到达地址的过程由 3 个步骤完成 –

  1. 网络识别
  2. 主机识别
  3. 过程识别

在使用子网划分寻址的情况下,到达地址的过程由 4 个步骤完成 –

  1. 网络识别
  2. 子网的标识
  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)的接口。