计算机网络 | 构造超网 | CIDR

时间:2024-05-21 13:34:31

目录

一.无分类编址CIDR(构造超网)

1.为什么要使用CIDR

2.网络前缀

3.路由聚合和构成超网

4.CIDO的其他表示方法

5.总结


一.无分类编址CIDR(构造超网)

1.为什么要使用CIDR

划分子网在一定程度上缓解了互联网在发展中遇到的困难。然而在1992年互联网仍然面临三个必须尽早解决的问题,这就是

  1. B类地址在1992年已分配了近一半,眼看很快就将全部分配完毕!
  2. 互联网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)
  3. 整个IPv4的地址空间最终将全部耗尽。在2011年2月3日,IANA宣布IPV4地址已经耗尽了。

当时预计前两个问题将在1994年变得非常严重。因此IETF很快就研究出采用无分类编址的方法来解决前两个问题。它的正式名字是无分类域间路由选择CIDR( Classless Inter-Domain Routing,CIDR的读音是“ sider”)

2.网络前缀

CIDR最主要的特点有两个

(1)CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而能更加有效地分配IPv4的地址空间,并且在新的IPv6使用之前容许互联网的规模继续增长。CIDR把32位的IP地址划分为前后两个部分。前面部分是“网络前缀”,用来指明网络,后面部分则用来指明主机。因此CIDR使IP地址从三级编址(使用子网掩码)又回到了两级编址,但这已是无分类的两级编址。其记法是:

计算机网络 | 构造超网 | CIDR

CIDR还使用“斜线记法”,或称为CIDR记法,即在IP地址后面加上斜线“/”,然后写上网络前缀所占的位数。

(2)CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。我们只要知道CIDR地址块中的任何一个地址,就可以知道这个地址块的起始地址(即最小地址)和最大地址,以及地址块中的地址数。例如,已知IP地址128.14.35.7/20是某CIDR地址块中的个地址,现在把它写成二进制表示,其中的前20位是网络前缀(用粗体和下划线表示出),而前缀后面的12位是主机号:计算机网络 | 构造超网 | CIDR,

这个地址所在的地址块中的最小地址和最大地址可以很方便地得出:

计算机网络 | 构造超网 | CIDR

当然,以上这两个特殊地址的主机号是全0和全1的地址。一般并不使用。通常只使用在这两个特殊地址之间的地址。不难看出,这个地址块共有计算机网络 | 构造超网 | CIDR个地址。我们可以用地址块中的最小地址和网络前缀的位数指明这个地址块。例如,上面的最小地址块可记为
128.14.32.0/20在不需要指出地址块的起始地址时,也可把这样的地址块简称为“/20地址块”。

为了更方便地进行路由选择,CIDR使用32位的地址掩码。地址掩码由一串1和一串0组成,而1的个数就是网络前缀的长度。虽然CIDR不使用子网了,但由于目前仍有一些网络还使用子网划分和子网掩码,因此CIDR使用的地址掩码也可继续称为子网掩码。例如,/20地址块的地址掩码是:11111111 11111111 11110000 00000000 (20个连续的1)。斜线记法中,斜线后面的数字就是地址掩码中1的个数。

请注意,“CIDR不使用子网”是指CIDR并没有在32位地址中指明若干位作为子网字段。但分配到一个CIDR地址块的单位,仍然可以在本单位内根据需要划分出一些子网。这些子网也都只有一个网络前缀和一台主机号字段,但子网的网络前缀比整个单位的网
络前缀要长些。
例如,某单位分配到地址块/20,就可以再继续划分为8个子网(即需要从主机号中借用3位来划分子网)。这时每一个子网的网络前缀就变成23位(原来的20位加上从主机号借来的3位),比该单位的网络前缀多了3位。

例题:

地址192.199.170.82/27不仅表示IP地址是192.199.170.82,而且还表示这个地址块的网络的前缀有27位(剩下的5位是主机号),因此这个地址块包含32个IP地址(计算机网络 | 构造超网 | CIDR=32)。通过简单的计算还可得出,这个地址块的最小地址是192.199.170.64,最大地址是192.199.170.95.具体的计算方法是这样的。找出地址掩码中1和0的交界处发生在地址中的哪一个字节。现在是在第四个字节。因此只要把这一个字节的十进制82用二进制表示即可。十进制82的二进制是01010010,取其前3位(这3位加上前3个字节的24位等于网络前缀的27位),再把后面5位都写成0,即01000000等于十进制的64.这就找出了地址块的最小地址192.199.170.64。再把地址的第四字节的最后5位都置1,即01011111等于十进制的95,这就找出了地址块中的最大地址192.199.170.95

3.路由聚合和构成超网

由于一个CIDR地址块中有很多地址,所以在路由表中就利用CIDR地址块来查找目的网络。这种地址的聚合常称为路由聚合 ,它使得路由表中的一个项目可以表示原来传统分类地址的很多个(例如上千个)路由。路由聚合也称为构成超网。

4.CIDO的其他表示方法

CIDR记法有多种形式,例如,地址块10.0.0.0/10可简写为10/10,也就是把点分十进制中低位连续的0省略。

另一种简化表示方法是在网络前缀的后面加一个星号*,如:00001010 00*意思是:在星号*之前是网络前缀,而星号表示IP地址中的主机号,可以是任意值。

5.总结

下表给出了最常用的CIDR地址块。表中的K表示计算机网络 | 构造超网 | CIDR即1024。网络前缀小于13或大于27都较少使用。在“包含的地址数”中没有把全1和全0的主机号除外。

计算机网络 | 构造超网 | CIDR

从上表可看出,每一个CIDR地址块中的地址数一定是2的整数次幂。除最后几行外,CIDR地址块都包含了多个C类地址,这就是
“构成超网”这一名词的来源。

可以看出,网络前缓越短,其地址块所包含的地址数就越多。而在三级结构的IP地址中,划分子网是使网络前缀变长。