无类别域间路由(CIDR)技术

  • 发布于:2021-08-11
  • 219 人围观

早在业界还在兴建因特网的时候,技术人员专注于理解IP寻址方法的重要性。人们研究的是A类、B类和C地址、子网掩码以及如何计算这些掩码。人们对分类方案非常熟悉,以至经常把街道地址同IP地址混为一谈。现在有些人仍在这么做。

然而如今,网络界很少采用所谓的传统IP寻址方法。更为常见的是,ISP采用无类别域间路由(CIDR)。如果说理解ISP的术语对你有什么意义的话,那么认真研究CIDR是个先诀条件。

分类方案的问题

起初,视网络规模而定,包括IPv4地址的32位地址空间被分成了五类(见图表一)。每类地址包括两个部分:第一个部分识别网络,第二个部分用来识别该网络上某个机器的地址。它们采用点分十进制记法表示,有四组数字,每组代表八位,中间用句点隔开。譬如说xxx.xxx.xxx.yyy,其中x表示网络地址,y表示该站的号码。分配用来识别网络的比特越多,该网络所能支持的站数就越少,反之亦然。

处在最上端的是A类网络,这专门留给那些节点数最多的网络――准确地说,是16277214个节点。A类网络只有126个。B类网络则针对中等规模的网络,但照今天的标准来看,规模仍然相当大:拥有65534个节点。B类网络有65000个。然而,大多数分配的地址属于C类地址空间,它最多可以包括254个主机。C类网络超过200万个。

最后两类地址:D类和E类有着特别用途。D类网络用于多播应用;E类网络留给将来使用。

地址分类法带来了两个问题,最大一个问题就是这些类别无法体现顾客的需求。A类地址实在过大,以至浪费了大部分空间。另一方面,C类网络对大多数组织来说实在太小,这意味着大多数组织会请求B类地址,但又没有足够的B类地址可以满足需求。

随着网络地址数量不断增加,ISP和运营商面临的棘手问题也在随之增多。90年代初促使因特网流量猛增的主角:主干网路由器必须跟踪每一个A类、B类和C类网络,有时建立的路由表长达1万个条目。从理论上来说,路由表大小最多可以设成6万个条目。如果当初网络界不是迅速采取行动的话,估计因特网到1994年就到达极限了。

第二个问题就是浪费了地址空间。小规模独立网络(譬如20个节点)获得C类地址后,剩余的234个地址却闲置不用。此外,大组织会想方设法采用子网化技术(subnetting),把自己的A类或B类地址分成更小、更容易管理的地址群。子网能够建立一群群通常与单一网络段相关的网络站,而不是让100万个站连接在一条线路或一个集线器上。更确切地说,子网重新分配了原先用于表示主机地址的部分比特,改而用来表示子网。

假设把一个C类网络当作64个拥有两个节点的网络。头24位则表示C类网络地址,随后6位表示子网,最后2位就表示某机器的号码。因特网上其余设备只会注意C类网络,让内部网络跟踪子网及该站地址。

这办法相当巧妙,但存在一个问题:子网也会导致站地址减少。在每个子网内,两个地址用于广播流量。视结构配置而定,地址数量最多有可能会减少一半。举例说,一个C类网络通常支持254个末端主机。然而,把C类网络分成64个子网会把可能的地址数量减少到128个末端主机――大约只有可能的地址总数的3%。

淘汰分类方案

解决这些寻址问题的办法就是丢弃分类地址概念。CIDR利用表示用来识别网络的比特数量的“网络前缀”,取代了A类、B类和C地址。前缀长度不一,从13到27位不等,而不是分类地址的8位、16位或24位。这意味着地址块可以成群分配,主机数量既可以少到32个,也可以多到50万个以上(见图表二)。

下面介绍一下工作原理:CIDR地址包括标准的32位IP地址和用正斜线标记的前缀。因而,地址66.77.24.3/24表示头24位识别网络地址(这里是66.77.24),剩余的8位识别某个站的地址:号码3。

因为各类地址在CIDR中有着类似的地址群,两者之间的转移就相当简单。所有A类网络可以转换成/8 CIDR表项目。B类网络可以转换成/16,C类网络可以转换成/24。

CIDR的优点解决了困扰传统IP寻址方法的两个问题。因为以较小增量单位分配地址,这就减少了浪费的地址空间,还具有可伸缩性优点。路由器能够有效地聚合CIDR地址。所以,路由器用不着为八个C类网络广播地址,改而只要广播带有/21网络前缀的地址――这相当于八个C类网络,从而大大缩减了路由器的路由表大小。

这办法可行的唯一前提是地址是连续的。不然,就不可能设计出包含所需地址、但排除不需要地址的前缀。为了达到这个目的,超网块(supernet block)即大块的连续地址就分配给ISP,然后ISP负责在用户当中划分这些地址,从而减轻了ISP自有路由器的负担。

对企业的网络管理人员来说,这意味着他们要证明自己的IP地址分配方案是可行的。在CIDR出现之前,获得网络地址相当容易。但随着可用地址的数量不断减少,顾客只好详细记载预计需求,这过程通常长达3个月。此外,如果是分类地址方法,公司要向因特网注册机构购买地址。然而有了CIDR,就可以向服务提供商租用地址。这就是为什么更换ISP需要给网络设备重新编号,不然就要使用新老地址之间进行转换的代理服务器――这又会严重制约可伸缩性。

地址分类方法

图表一:原始的IP寻址方法主要基于三类地址:A类、B类和C类地址。

前缀等同比较

图表二:图表比较了CIDR和非CIDR寻址方法的对应。

假设有一组C类地址为192.168.8.0-192.168.15.0,如果用CIDR将这组地址聚合为一个网络,其网络地址和子网掩码应该为:
  
  A. 192.168.8.0/21
  B. 192.168.8.0/20
  C. 192.168.8.0/24
  D. 192.168.8.15/24

正确答案:A

  解析:
CIDR(Classless Inter-Domain Routing,无类域间路由)的基本思想是取消IP地址的分类结构,将多个C类地址块聚合在一起生成一个更大的网络,以包含更多的主机。CIDR支持路由聚合,能够将路由表中的许多路由条目合并为成更少的数目,因此可以限制路由器中路由表的增大,减少路由通告。同时,CIDR有助于IPv4地址的充分利用。
  使用CIDR聚合地址的方法与使用VLSM划分子网的方法类似。在使用VLSM划分子网时,将原来分类IP地址中的主机位按照需要划出一部分作为网络位使用;而在使用CIDR聚合地址时,则是将原来分类IP地址中的网络位划出一部分作为主机位使用。
  在本题中,要求将192.168.8.0-192.168.15.0这组C类地址聚合为一个网络,我们先将C类地址的第三个八位组转换成二进制:

点分十进制 将第三个八位组转换成二进制
192.168.8.0 192.168.00001 000.0
192.168.9.0 192.168.00001 001.0
192.168.10.0 192.168.00001 010.0
192.168.11.0 192.168.00001 011.0
192.168.12.0 192.168.00001 100.0
192.168.13.0 192.168.00001 101.0
192.168.14.0 192.168.00001 110.0
192.168.15.0 192.168.00001 111.0


  从上表中可以看出,只要将网络位的低三位划分出来作为主机位,这些C类地址就被聚合在一个网络之中。因此,聚合后的网络地址应该为192.168.8.0/21,正确答案为A。

==================================================
补充:CIDR
  CIDR(无类型域间选路,Classless Inter-Domain Routing)是一个在Internet上创建附加地址的方法,这些地址提供给服务提供商(ISP),再由ISP分配给客户。CIDR将路由集中起来,使一个IP地址代表主要骨干提供商服务的几千个IP地址,从而减轻Internet路由器的负担。所有发送到这些地址的信息包都被送到如MCI或Sprint等ISP。1990年,Internet上约有2000个路由。五年后,Internet上有3万多个路由。如果没有CIDR,路由器就不能支持Internet网站的增多。
  CIDR采用13~27位可变网络ID,而不是A-B-C类网络ID所用的固定的7、14和21位。例如,CIDR地址204.12.01.42/24表示前24位用作网络ID。

万企互联
标签: