1.划分子网
在ARPAnet设计的早期,由于IP地址的设计确实不够合理,造成IP地址资源有限。而现在网络快速发展,规模增长巨大,采用A,B,C类地址的形式,会带来一些问题:
(1)从表4-2中可以看到,网络数目非常有限,而互联网的发展和延伸非常迅速,IP地址资源很快会耗尽。
(2)IP地址空间的利用率有时很低,如一个拥有几百台计算机的企业,申请一个C类地址,会不够用,中请一个B类地址,则造成IP地址浪费。
(3)每一个物理网络分配一个网络号,会使得路由器中的路由表可能过大,不利于路由器的成本控制和路由查找速度。
(4)两级形式的IP地址过于格式化,不够灵活,不利于网络拓扑的设计。
一个更优的方案是将同一个组织(如企业)的不同网络(如分公司或部门的网络),进行分层组织,比如:每个分公司或部门可以申请C类地址,而整个企业申请若干个C类地址和一个B类地址,这样可以避免申请多个B类地址造成的浪费。同时,实现这些网络之间的路由,这样,在外部网络(Internet)看来,整个企业是一个网络。
为实现这一方案,需要将原有的两层结构的IP地址分为三层:net-id、subnet-id和host-id。subnet-id和host-id是由原先的IP地址的host-id部分分割成的两部分。这样就形成网络、子网、主机三层结构。
网络由网络号标识,子网由子网掩码标识,主机也需要子网掩码标识。而路由的过程也会有所变化:从其他网络发送给本单位某个主机的IP数据包,仍然是根据IP数据包的目的网络号net-id,先找到连接在本单位网络上的路由器。此路由器在收到IP数据包后,根据目的网络号net-id和子网号subnet-id找到目的子网。最后就将IP数据包直接交付给目的主机。
将两级的IP地址变成为三级的IP地址的方法称为划分子网,划分子网已成为Internet的正式标准协议。
将IP地址与子网掩码按位与运算,可以得到子网的网络地址,即net-id和subnet-id部分,如图4-10所示。其中,子网掩码是用来区分一个IP地址的网络号和主机号部分的技术。子网掩码采用32bits的地址格式,其网络号全部置1,主机号部分全部置0。也采用点分十进制记法表示,一个IP地址必须规定其掩码。
图4-10 子网掩码与子网的网络地址
因此,如果网络中没有子网,A类地址的默认子网掩码为255.0.0.0,B类地址的默认子网掩码为255.255.0.0,C类地址的默认子网掩码为255.255.255.0。
由于一个IP地址必须通过子网掩码才能区分出其网络地址,因此,子网掩码是一个网络或子网的重要属性。路由器的路由表中除了记录IP地址,也要记录子网掩码。同时路由器自身的网络地址同样需要IP地址和子网掩码,如果路由器连接到两个子网,那么它必须有两个IP地址和两个子网掩码。相邻路由器之间交换路由信息时,既要交换IP地址,也要交换子网掩码。(www.xing528.com)
在划分了子网的情况下,路由器进行IP数据包转发的算法见表4-3所示。
表4-3 使用子网掩码的IP数据包转发算法
2.构成超网
划分子网使得两级IP地址变成了三级IP地址,一方面仍不能解决IP地址资源紧张的现状;另一方面,仍分级的地址使用起来仍然不够灵活。
超网——CIDR(无类域间路由)技术,就是要消除IP地址中类别的概念,只要是一个连续的地址范围,就可以将其分配给一个适当规模的网络,使地址资源得到充分的利用。使用各种长度的“网络前缀”来代替分类地址中的网络号和子网号。IP地址从三级编址(使用子网掩码)又回到了两级编址。
无分类的两级编址的记法是:IP地址::={<网络前缀>,<主机号>}
CIDR还使用“斜线记法”,它又称为CIDR记法,即在IP地址后面加上一个斜线“/”,然后写上网络前缀所占的比特数(对应于三级编址的子网掩码的二进制中“1”的个数)。CIDR将网络前缀都相同的连续的IP地址组成“CIDR地址块”。
路由聚合:一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得在路由表中,原来传统分类地址的很多个地址可以由一个项目表示,大大缩减了路由表的长度。路由聚合也称为构成超网。
例如:前缀长度不超过23位的CIDR地址块都包含了多个C类地址。这些C类地址合起来就构成了超网。
CIDR虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。对于/20地址块,它的掩码是20个连续的1。斜线记法中的数字就是掩码中1的个数。
随堂练习
CIDR是一种新的地址形式吗?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。