1、从两级 IP 地址到三级 IP 地址 在 ARPANET 的早期,IP 地址的设计确实不够合理。
IP 地址空间的利用率有时很低。
给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
两级的 IP 地址不够灵活。
从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为 三级的 IP 地址。
这种做法叫作划分子网(subnetting) 。划分子网已成为因特网的正式标准协议。
2、划分子网的基本思路 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。
IP地址 ::= {<网络号>, <子网号>, <主机号>}
凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。
然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。
最后就将 IP 数据报直接交付目的主机。
当没有划分子网时,IP 地址是两级结构。
划分子网后 IP 地址就变成了三级结构。
划分子网只是把 IP 地址的主机号 host-id 这部分进行再划分,而不改变 IP 地址原来的网络号 net-id。
3、子网掩码 从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。
使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。
子网掩码的确定
IP地址中net-id和subnet-id位均在子网掩码中体现为“1”,其余表示主机位的均在子网掩码中体现为“0”。
网络地址的确定
IP地址与子网掩码逐位进行 AND 运算,所得即为网络地址(包括子网地址)。
默认子网掩码
默认子网掩码中1的位数和IP地址中的网络号字段net-id正好对应。