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正好对应。
子网掩码是一个网络或一个子网的重要属性。 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。 若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码。 使用子网掩码的好处 所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。 路由器处理到来的数据报时,只要把子网掩码和IP地址进行逐位“与”计算,就能得出网络地址来。 路由器在和相邻的路由器交换路由信息时,必须把自己所在网络(子网)的子网掩码告诉相邻路由器。在路由器的路由表中的每一个项目 ,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码。若一个路由器连接在两个子网上就拥有两个子网掩码。 在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的。 B类地址的子网划分选择(固定长度子网)
|