4.2.1 分子网在8 0年代中期,发布了R F C 9 1 7和R F C 9 5 0,这两个文档针对由于相对比较简单的两层结构I P地址带来的日趋严峻的问题提出了解决方法。这个方法称为分子网( s u b n e t t i n g )。分子网的设想为:基于I n t e r n e t的层次结构需要一个第三层。随着互联网络技术的成熟,接受和使用这种方法的人数急剧增加。结果是,大中型组织有多个网络已经很普遍。通常情况是,这些网络是局域网,每个局域网被看作子网。在这样多网络的环境中,每个子网通过一个至I n t e r n e t的公共点路由器互联。实际的网络环境细节对I n t e r n e t没有影响。它们由私有网络组成,能够转发自己内部的报文。因此I n t e r n e t只需要知道哪个网络连接至I n t e r n e t的路由器,也就是哪个网络的网关。在私有网内部, I P地址的主机部分能被细分用作标识子网。R F C 9 5 0中规范的分子网方法能使任何一类( A、B、C ) I P地址再细分为更小的网络号。一个被子网化的I P地址实际包含三部分:? 网络号? 子网号? 主机号子网和主机地址是由原先I P地址的主机地址部分分割成两部分得到。因此,用户分子网的能力依赖于被子网化的I P地址类型。I P地址中主机地址位数越多,就能分得更多的子网和主机。然而,子网减少了能被寻址主机的数量。实际上,是把主机地址的一部分拿走用于识别子网号。子网由伪I P地址,也称为子网掩码标识。子网掩码是可用点-十进制数格式表示的3 2位二进制数,掩码告诉网络中的端系统(包括路由器和其他主机) I P地址的多少位用于识别网络和子网。这些位被称为扩展的网络前缀。剩下的位标识子网内的主机,掩码中用于标识网络号的位置为1,主机位置为0。举例来说,掩码11111111 . 11111111 . 11111111 . 11 0 0 0 0 0 0 ( 2 5 5 . 2 5 5 . 2 5 5 . 1 9 2 )能在子网产生6 4个可能的主机地址。因此,可以在子网内惟一地标识6 4个设备。实际上只有6 2个地址是可用的,另两个主机地址是保留的,第一个主机号总保留为识别子网自身,另一个主机号保留作为子网的广播地址。因此当得到子网内最大可用的主机数时总要减去2,才能得到可用的主机数。从数学上讲,可以得到的子网数依赖于被子网化的I P地址所属的类别。每一类地址使用不同的位数识别网络,因此,每一类地址用于子网化的位数也不同。表4 - 7例示了一个B类I P地址子网和子网内主机数的情况。当读者仔细阅读表4 - 7时,会注意到最少可用作网络分配的位数是2,最多是1 4。其中的原因很简单,网络前缀1位只允许定义两个网络: 0和1。子网化的规则不允许使用全0或者全1的子网地址。这些地址是保留的,因此1位的前缀不能得到可用第4章IP网络中的名字和地址使用35下载的子网地址。同样原因,2位的网络前缀只会得到2个可用的子网地址。2位的二进制子网地址、域,数学上的组合为0 0 . 0 1 . 1 0和11,第一种和最后一种组合是无效的,只剩下0 1和1 0可用于识别子网。表4-7 B类地址空间的子网化网络前缀中的位数子网掩码可用的子网地址数每个子网内可用的主机地址数2 2 5 5 . 2 5 5 . 1 9 2 . 0 2 16 3823 2 5 5 . 2 5 5 . 2 2 4 . 0 6 8 1904 2 5 5 . 2 5 5 . 2 4 0 . 0 1 4 4 0945 2 5 5 . 2 5 5 . 2 4 8 . 0 3 0 2 0466 2 5 5 . 2 5 5 . 2 5 2 . 0 6 2 1 0227 2 5 5 . 2 5 5 . 2 5 4 . 0 1 2 6 5 1 08 2 5 5 . 2 5 5 . 2 5 5 . 0 2 5 4 2 5 49 2 5 5 . 2 5 5 . 2 5 5 . 1 2 8 5 1 0 1 2 61 0 2 5 5 . 2 5 5 . 2 5 5 . 1 9 2 1 022 6 211 2 5 5 . 2 5 5 . 2 5 5 . 2 2 4 2 046 3 01 2 2 5 5 . 2 5 5 . 2 5 5 . 2 4 0 4 094 1 41 3 2 5 5 . 2 5 5 . 2 5 5 . 2 4 8 8 190 61 4 2 5 5 . 2 5 5 . 2 5 5 . 2 5 2 16 382 2显然,用于标识子网的位数越多,剩下标识主机的位数就越少,反之亦然。C类地址也能分子网。因为C类地址中2 4位用于网络寻址,因此,只剩下8位用于子网和主机寻址。C类网络中子网和主机寻址之间的关系如表4 - 8所示。表4-8 C类地址空间的子网化网络前缀中的位数子网掩码可用的子网地址数每个子网内可用的主机地址数2 2 5 5 . 2 5 5 . 2 5 5 . 1 9 2 1 022 6 23 2 5 5 . 2 5 5 . 2 5 5 . 2 2 4 2 046 3 04 2 5 5 . 2 5 5 . 2 5 5 . 2 4 0 4 094 1 45 2 5 5 . 2 5 5 . 2 5 5 . 2 4 8 8 190 66 2 5 5 . 2 5 5 . 2 5 5 . 2 5 2 16 382 2虽然表4 - 7和表4 - 8例示了可能的子网数和子网内主机数之间的关系,但是它们并没有显示出子网是如何工作的。说明子网如何工作的最好方式是对实际的一个I P地址进行分子网。这正是下面要讨论的内容。一个分子网的例子子网化或许是I P地址结构中最难理解的部分,这主要是因为用二进制数最能说清楚,但这样却不直观。举例来说,用户要对一个C类地址1 9 3 . 1 6 8 . 1 2 5 . 0分子网。这个地址是基地址,这也是I n t e r n e t用于计算路由的地址。用户需要把这一地址切分成6个子网,那么至少需要8位主机地址中的3位用来建造6个惟一的扩展网络前缀。这些地址是0 0 1 . 0 1 0 . 0 11 . 1 0 0 . 1 0 1和11 0。最后一个8位位组被分成: 3位加到网络号中形成扩展的网络前缀,剩下的5位用于识别主机,表4 - 9例示了子网是如何形成的。在表4 - 9中,扩展的网络前缀(包括I P网络地址和子网地址)用黑体表示。子网地址用斜黑体表示。主机地址用正常字体表示,用一个减号和网络前缀分隔开。这样容易明白一个基本的I P地址如何被分成子网。36使用第二部分命名和寻址下载表4-9 子网形成网号# 二进制地址十进制地址基11 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 1 . 0 11111 0 1. 0 0 0 0 0 0 0 0 1 9 3 . 1 6 8 . 1 2 5 . 0子网0 11 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 1 . 0 11111 0 1 .0 0 0- 0 0 0 0 0 1 9 3 . 1 6 8 . 1 2 5 . 0子网1 11 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 1 . 0 11111 0 1 .0 0 1- 0 0 0 0 0 1 9 3 . 1 6 8 . 1 2 5 . 3 2子网2 11 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 1 . 0 11111 0 1 .0 1 0- 0 0 0 0 0 1 9 3 . 1 6 8 . 1 2 5 . 6 4子网3 11 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 1 . 0 11111 0 1 .0 11- 0 0 0 0 0 1 9 3 . 1 6 8 . 1 2 5 . 9 6子网4 11 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 1 . 0 11111 0 1 .1 0 0- 0 0 0 0 0 1 9 3 . 1 6 8 . 1 2 5 . 1 2 8子网5 11 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 1 . 0 11111 0 1 .1 0 1- 0 0 0 0 0 1 9 3 . 1 6 8 . 1 2 5 . 1 6 0子网6 11 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 1 . 0 11111 0 1 .11 0- 0 0 0 0 0 1 9 3 . 1 6 8 . 1 2 5 . 1 9 2子网7 11 0 0 0 0 0 0 . 1 0 1 0 1 0 0 0 1 . 0 11111 0 1 .111- 0 0 0 0 0 1 9 3 . 1 6 8 . 1 2 5 . 2 2 4每一个子网号用最后一个8位位组的前三位定义。十进制数为1 2 8、6 4和3 2。每一个子网的起始I P地址(十进制)在第三列中列出。毫无疑问,这些数以3 2递增(子网号中最右边的位)。注意子网0和7,虽然在数学上存在,即使在路由器上定义了,在正常环境下也不能使用,它们的子网地址分别是0 0 0和111。包含所有0或1的地址应视为保留地址不能用作特定子网地址。全0的地址(无论有少0)保留为识别子网自身,全1的子网地址用于在子网内的广播。表4 - 9中的子网地址只是按子网地址域从小到大递增地表示。每个子网内的主机应该按剩下5位递增的顺序定义。有3 2 种0 、1组合。具有I P 地址1 9 3 . 1 6 8 . 1 2 5 . 1 9 3的设备是子网6中的第一个主机,剩下的主机地址最高到1 9 3 . 1 6 8 . 1 2 5 . 2 2 3。至此,子网就被主机填满,不能再加入主机了。
