CIDR(无类型域间选路)
CIDR(无类型域间路由选择,Classless Inter-Domain Routing)是一个在Internet上创建附加地址的方法,这些地址提供给服务提供商(ISP),再由ISP分配给客户。
CIDR将路由集中起来,使一个IP地址代表主要骨干提供商服务的几千个IP地址,从而减轻Internet路由器的负担。
1. 基本信息
现行的IPv4(网际协议第4版)的地址已经耗尽,这是一种为解决地址耗尽而提出的一种措施。它是将好几个IP网络结合在一起,使用一种无类别的域际路由选择算法,可以减少由核心路由器运载的路由选择信息的数量。
所有发送到这些地址的信息包都被送到如MCI或Sprint等ISP。1990年,Internet上约有2000个路由。五年后,Internet上有3万多个路由。如果没有CIDR,路由器就不能支持Internet网站的增多。 CIDR采用13~27位可变网络ID,而不是A-B-C类网络ID所用的固定的8、16和24位。
2. CIDR 如何工作
CIDR 对原来用于分配A类、B类和C类地址的有类别路由选择进程进行了重新构建。CIDR用 13-27位长的前缀取代了原来地址结构对地址网络部分的限制(3类地址的网络部分分别被限制为8位、16位和24位)。在管理员能分配的地址块中,主机数量范围是32-500,000,从而能更好地满足机构对地址的特殊需求。
CIDR 地址中包含标准的32位IP地址和有关网络前缀位数的信息。以CIDR地址222.80.18.18/25为例,其中“/25”表示其前面地址中的前25位代表网络部分,其余位代表主机部分。
CIDR建立于“超级组网”的基础上,“超级组网”是“子网划分”的派生词,可看作子网划分的逆过程。子网划分时,从地址主机部分借位,将其合并进网络部分;而在超级组网中,则是将网络部分的某些位合并进主机部分。这种无类别超级组网技术通过将一组较小的无类别网络汇聚为一个较大的单一路由表项,减少了Internet路由域中路由表条目的数量。
3. CIDR实例
例如,一个ISP被分配了一些C类网络,这个ISP准备把这些C类网络分配给各个用户群,目前已经分配了三个C类网段给用户,如果没有实施CIDR技术.ISP的路由器的路由表中会有三条下连网段的路由条目,并且会把它通告给Internet上的路由器.通过实施CIDR技术,我们可以在ISP的路由器上把这三个网段198.168.1.0,198.168.2.0,198.168.3.0汇聚成一条路由198.168.0.0/22.这样ISP路由器只向Internet通告198.168.0.0/22这一条路由,大大减少了路由表的数目.从而为网络路由器节省出了存储空间。 值得注意的是,使用CIDR技术汇聚的网络地址的比特位必须是一致的,如上例所示.如果上例所示的ISP连接了一个172.178.1.0网段,这些网段路由将无法汇聚,无法实现CIDR技术。(备注:在Ripv2版本中,不支持CIDR,但可以传递CIDR汇总)
4. CIDR产生的原因
如今,网络界很少采用所谓的传统IP寻址方法。更为常见的是,ISP采用无类别域间路由(CIDR)。如果说理解ISP的术语对你有什么意义的话,那么认真研究CIDR是个先诀条件。
4.1 分类方案的问题
起初,视网络规模而定,包括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%。
4.2 淘汰分类方案
解决这些寻址问题的办法就是丢弃分类地址概念。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需要给网络设备重新编号,不然就要使用新老地址之间进行转换的代理服务器――这又会严重制约可伸缩性。