通信百科

划分子网和构造超网之无分类编址 CIDR

时间:2019-11-26 15:11 作者: 世讯电科融合通信系统
         划分子网虽然在一定程度上解决了 Internet  编址方案中所存在的一些问题,但在 20 世纪90 年代初期Inte rnet 急速扩张的过程中,IP 地址分配问题仍然十分突出,主要表现为以下两点 :
         ( 1 ) B 类地址在 1992 年已分配了近一半,并且很快就会全部分配完毕;
        ( 2)  随着网络数量的增长,Internet   主干网路由器的路由表项目数急剧增长。为了解决以上 两个问 题,IETF 提出了一种新的编址方案—一无分类编址方法,它的正式名字是无分类域间路由选择( Classless Inter - Domin Routing, CIDR ) 。
        CIDR 的核心思想是消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,以可变大小块的方式进行 IP 地址的分类,因而可以更加有效地分配 IPv4 的地址空间,并且可以在新的1Pv6  使用之前容许因特网的规模继续增长。CIDR 将 32 位的 IP 地址划分为两个部分。前面的部分是“网络前缀" ( Ne twork - P refIX) , 用来指明网络,后面的部分则用来指明主机。因此 CIDR 使 IP 地址从三级编址(使用子网掩码)又回到了两级编址,但这已是无分类的两级编址。为了区分网络前缀和主机号,CIDR 使用"斜线记法"(Slash  Notation) , 或称为 CIDR 记法,在 IP 地址后面加上斜线" I "' 在其后注明网络前缀所占的位数 。
       CIDR 将网络前缀都相同的连续 IP 地址组成一个" CIDR 地址块"。我们只要知道 CIDR 地址块中的任何一个地址,就可以知道这个地址块的最小地址和最大地址,以及地址块中的地址数。例如,已知 IP 地址 172. 24. 160. 10/ 18 是某 CIDR
地址块中的一个地址,现在把它写成二进制表示,其中的前 18 位是网络前缀(用下划线标出),而前缀后面的14 位是主机号。
      172. 24. 160. 10/ 18 = 10101100 00011000 10100000 00001010
        则这个地址所在的地址块中的最小地址和最大地址分别为:
             最小地址:10101100 00011000  10000000 00000000  =  172. 24. 128. 0
             最大地址:10101100 00011000  10111111  11111111  =  172. 24. 191. 255
        当然,以上两个主机号是全0 和全 l 的地址,一般并不使用,通常只使用 在这两个地址之间的地址。显而易见,这个地址块共有 21 4_    2 个可用 IP 地址。我们可以用地址块中的最小地址和网络前缀的位数指明这个地址块 。例如,上面的地址块可记为 172. 24. 128. 0/ 18。在不需要指出地址块的起始地址时 ,也可将这样的地址块简写为" / 18 地址块” 。
       这种分块的 IP 地址分配方式在节约 IP 地址方面的优势是显而易见的。在分类地址的环境中,向一个机构分配 IP 地址,只能以/ 8、/ 16 或/ 24 为单位来分配,这就很不灵活。而 CIDR 方式可根据用户的实际需要分配适当大小的地址块。例如,一个机构需要 2000 个 IP 地址,那么可以分配给它一个大小为 2048 的"/ 21 地址块",而不是一个包含了65534 个地址的 B 类 IP 地址。为了方便路由器进行路由选择,CIDR 使用32 位的地址掩码( Address Mask ) 。地址掩码由一串连续的1 和一串连续的 0 组成,l 的个数就是网络前缀的长度,也 即斜线记法中斜线后面的数字。例如," / 18 地址块"的地址掩码是: 11111111 11111111 11000000 00000000
( 18 个连续的 1 ) 。
        需要说明的是,虽然CIDR 并没有在32 位地址中指明若干位作为子网字段,但分配到一个 CIDR 地址块的组织,仍然可以在本组织内根据 需要划分出一些子网。这些子网也都只有一个网络前缀和一个主机号字段   ,但子网的网络前缀比整个组织的网络前缀要长些。例如,某机构共有 16 个部门,该 机构分配到“地址块/ 18" , 我们可以考虑将该地址块继续划分为 16 个子网,但这时需要从主机号中借用4 位来划分子网。划分后每个子网的网络前缀就变成 22 位(原来的18 位加上从主机号借来的 4 位),比该机构的网络前缀长4 位。
       除了斜线记法外,CIDR 还有多种其他表达形式 ,例如,地址块 20. 0. 0. 0/ 12 可简写为 20/ 12,也就是把点分十进制中低位连续的 0   省略。另一种简化表示方法是在网络前缀的后面加一个星号 *,如:00010100  0000 * , 其表达的含义是:在星号* 之前是网络前缀,而星号* 表示 IP 地址中的主机号,可以是任意值。一些常用的 CIDR 地址块见下表 。网络前缀小于13 或大于 27 都较少使用, 因此未包含在表中,读 者可以根据本节讲述的原理自行计算。
表     常用的 CIDR 地址块
        从上表 中可看出,每一个 CIDR 地址块中的地址数一定是 2 的整数次幕。除最后几行外,CIDR 地址块都包含了多个C 类地址(是一个C 类地址的了倍,n 为整数),这就是"构成超网” 这一名词的来源。
        由于一个CIDR 地址块中包含很多地址,所以在路由表中就利用 CIDR 地址块来查找目的网络。这种地址的聚合常称为路由聚合( Route Ag伊egation  )  , 它使得路由表中的一个项目可以表示原来传统分类地址的很多个路由。如果没有采用CIDR, 则在 1994 和 1995 年,因特网的一个路由表就会超过7  万个项目,而使用了CIDR 后,在 1996 年一个路由表的项目数只有 3 万多个。路由聚合有利 于减少路由器之间的路由选择信息的交换,从而提高了整个 Internet 的 性能。



版权所有:统一通信系统集成:http://www.alloll.com 转载请注明出处