无类别域间路由,什么是无类别域间路由

在20世纪90年代初期,因特网管理者开始解决IP地址空间耗尽的潜在问题。CIDR(读作“cider”)是一个解决方案,在因特网上当前的IPv4的寻址方案下,允许更多的可扩展性。它提供了一种过渡方案,直到IPv6投入使用。

这里的关键字是“域路由”。美国邮电业的ZIP码可以称为域路由方案。第一个数字表示一个很大的地理区域(域)。第二个数字表示该地理区域内的区域(子域),等等。在域间发送的包裹根据第一个数字选择邮路,其余的数字仅对域内的邮件处理器有意义。

若要理解CIDR和它为什么必要,请考虑一个类比,即大大简化了网络寻址方案(由于实际的IP地址操作可能导致快速的头晕目眩)。假设构建一个由1000个相连的网络组成的因特网,使用从1000到1999的地址。有十个区域因特网服务提供商将管理IP地址,并将地址分配到通过其网络服务接入到因特网的组织。使用类似CIDR的解决方案,将相邻的地址块预分配到每个ISP。例如,ISP O将获得1000到1099的地址。ISP 2将获得1100到1199的地址,等等。前两位数字指出ISP,后两位数字指定实际的主机。优点是ISP间路由表只要求10个项。

image:bk071156w-3.jpg

若要将数据分组发送到网络1552,在表中查找时,只需要考虑地址内的前两位数字(15)。将该数据分组发送到ISP 5,它在自己的域内处理所有进一步的路由选择。每个域维护自己的内部路由表。下面是该方案的优点,并且恰当地描述了在实际因特网上使用CIDR的好处:

• 按相邻块分配地址(如1000到1099),以便ISP后的所有路由被组合在一起,并且可以用单个路由表示。这称为路由聚合。

• 因特网骨干网路由表具有的项数较少。这样易于计算,并且使用很小的带宽将路由表或路由表更新信息传输到其他ISP。

• ISP内部的所有路由选择由ISP的路由器来处理。其他ISP只需要将数据分组发送到该ISP,而不必知道有关其子网的情况。

• ISP内部对子网的更改不必传播到其他ISP,这就大大减少网络通信量和路由表更新。

• ISP可以分配其地址空间以满足用户的需要。

最后这点最重要。例如,ISP 1可以为一个公司分配块lllx (10个地址的块),或者可以为一个家庭用户分配一个单个的地址1121。ISP使用这种方法分配其地址块是有效且实用的。

聚合的概念可以通过考查美国邮电ZIP码系统的工作方式来说明。该方案是为有效的邮件分发而设计的,方法是使分级编号方式与地理区域相关联。例如,将ZIP码为9xxxx的所有邮件发送到西海岸。东海岸的邮件分拣者只需要知道所有ZIP码以9开头的邮件向西发送。在西海岸,区域和本地的邮局通过进一步查看ZIP码来分拣邮件。例如,将98xxx的邮件发送到华盛顿州,而将97xxx的邮件发送到俄勒冈州。

现在考虑实际的因特网和其实际寻址问题。尽管因特网协议的32位地址空间在理论上可以提供多达20亿个地址,但是早期使用的分类系统没有充分利用这些地址。开发该分类系统时没有考虑到因特网会像现今这么大。

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

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

该分类系统的最大的一个问题就是缺少适合中等大小组织的类,无法体现顾客的需求,即该组织需要的主机地址多于C类(254个主机)但大大少于B类(65 534个主机)。如果分配一个B类网络地址块,并且只需要该块中主机地址的一半,则余下的没有使用,这就加剧了地址空间问题。

或者,可以用多个C类地址满足主机地址需要,但那样将有多个网络地址,要求多个路由器入口和不合理的网络内部分割。该分类系统浪费了地址空间。小规模独立网络(譬如20个节点)获得C类地址后,剩余的234个地址却闲置不用。此外,大组织会想方设法采用子网化技术(subnetting),把自己的A类或B类地址分成更小、更容易管理的地址群。子网能够建立一群群通常与单一网络段相关的网络站,而不是让100万个站连接在一条线路或一个集线器上。更确切地说,子网重新分配了原先用于表示主机地址的部分比特,改而用来表示子网。

另一个问题是路由表的大小。可以想像因特网上的每个主路由器需要跟踪数万个经常发生更改的网络地址的复杂性,这项任务很难处理。

路由摆动就是经常的路由更改。某些路由器可能在已经更改的路由上继续转发数据分组,直到它们收到更新信息。因此,数据分组被发送到所谓的“黑洞”中。使用CIDR,路由更改在ISP域内部进行。由于ISP只在因特网上发布单个的、聚合的网络地址,所以路由摆动问题显著减少。

最后一个问题是32位IPv4地址空间即将耗尽。当时,估计只有实际地址的10%到20%被使用。将未使用的地址“分配”到组织,而这些组织不需要分配给它们的块中的所有地址。分配A类和B类地址的组织应该将那些地址返回到IP地址池中,但迄今为止只有一个大组织这么做,这使问题更加恶化。

如今,组织从ISP获得IP地址,而且这些ISP从区域注册表获得地址,就这样依次从高级注册表获得地址。该方案通常指的是“基于提供商的地址分配”。

BGP版本4支持CIDR路由聚合方案。而且,它们允许因特网缩放。在1995年,将近有65 000个路由。随着CIDR聚合的实现,全球路由表中的路由数目已减少到大约35 000个路由。

CIDR的工作方式

CIDR利用表示用来识别网络的比特数量的“网络前缀”,取代了A类、B类和C地址。前缀长度不一,从13到27位不等,而不是分类地址的8位、16位或24位。这意味着地址块可以成群分配,主机数量既可以少到32个,也可以多到50万个以上。

CIDR寻址方案是分级的。给区域服务提供商(如Pacific Bell)分配大块的相邻因特网地址。然后,Pacific Bell将这些块的一些部分分配给其他较小的ISP或者直接提供给组织。分级方案如图C-13所示。

因为ISP具有连续的IP地址块,所以它只需要发布其单个超级网络地址,表示该超级网络内部所有子网的聚合。基本规则是永远不要将内部路由路径发布到因特网上。超级网络与IP子网正好相反,子网将单个IP网络地址细分成多个子网(但每个子网的主机数更少),超级网络使得两个或多个较小的网络看起来像单个网络地址。

例如,可能将C类地址200.200.10到200.200.255.0)分配给ISP。它可以用任何喜欢的方式分配这些地址。注意,地址块由块中的第一个地址标识。X公司可能获得200.200.2.0,而Y公司可能获得200.200.3.O。一个公司甚至可能获得它的一个子网,或者ISP可能将单个地址分配到单个用户。因此,ISP 能够有效地分配其IP地址块。

注意,该地址的前两个字节相同,可以是200.200.0.0,其中最后两个字节的0是全局值。ISP只需要在因特网上发布地址200.200.0.0。定址到任何使用200。200网络前缀的主机的数据分组被选路送到该ISP。然后,该TSP内部为数据分组选路。

CIDR地址是正常的32位IP地址,但是无类别的。一个特殊的掩码指出地址中的多少位表示网络前缀。例如,地址200。200.10.15/23指出该二进制形式的前23位表示该网络。其余的位标识该网络上的特定主机。

描述该地址的另一个方式是200.200.10.15/255.255.254.0,其中斜杠后的数字是点分十进制表示的掩码。地址掩码的关系如下所示。注意,掩码具有23个二进制1。IP地址:二进制形式。掩码(/23 ) :二进制形式

image:bk071156w-1.jpg

image:bk071156w-4.jpg

image:bk071156w-2.jpg

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

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

路由协议必须支持CIDR。支持协议包括内部路由协议RIP版本2和OSPF版本2,EIGRP(增强内部网关路由协议)和外部路由协议BGP版本4。早期的协议,如RIP、BGP-3、EGP和IGRP不支持CIDR。当今,希望所有的ISP和类似服务提供商支持可变长度的子网掩码和CIDR。

尽管多年以来一直知道CIDR的好处,但寻址问题仍然存在。这在RFC2519,域间路由聚合(1999年2月)中有论述。RFC说明“在实现有效聚合方案的全球选择路由级别的能力变化很大。结果,因特网路由表的大小和增长率,以及要求的相关路由由系统中所有级别上的聚合效率最大化非常重要。”

NAT (网络地址转换) 是一个Internet工程任务组(Internet Engineering Task Force,IETF) 标准,用于允许专用网络上的多台 PC (使用专用地址段,例如 10.0.x.x、192.168.x.x、172.x.x.x) 共享单个、全局路由的 IPv4 地址。NAT在两个网络之间的网关上运行,通常是专用网络和因特网。NAF从本质上说,通过用接入因特网的单个IP地址表示所有地址,来隐藏内部网络地址。该方案允许内部网络使用未经正式注册的寻址方案。因为内部地址被隐藏,这也提供安全上的好处。

参考:http://www.elecfans.com/baike/tongxingjishu/chungshuwang/20100406214730.html

转载于:https://my.oschina.net/u/1260221/blog/824766

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值