无类别域间路由

title: CIDR块.
content: CIDR主要是一个按位的、基于前缀的,用于解释IP地址的标准。它通过把多个地址块组合到一个路由表表项而使得路由更加方便。这些地址块叫做CIDR地址块。当用二进制表示这些地址时,它们有着在开头部分的一系列相同的位。IPv4的CIDR地址块的表示方法和IPv4地址的表示方法是相似的:由四部分组成的点分十进制地址,后跟一个斜线,最后是范围在0到32之间的一个数字:"A.B.C.D/N"。点分十进制的部分和IPv4地址一样是一个被分成四个八位位组的32位二进制数。斜线后面的数字就是前缀长度,也就是从左到右,被地址块里的地址所共享的位的数目。当只需说明大概时,十进制部分有时会被省略,因此,"/20"就表示一个前缀长度是20的CIDR地址块。如果一个IP地址的前N位与一个CIDR地址块的前缀是相同的话,那么就说这个地址属于这个CIDR地址块,也可以说是与CIDR地址块的前缀匹配。所以,要理解CIDR,就要把地址写成二进制的形式。因为IPv4地址的长度总是32位,N位长的CIDR前缀就意味着地址里前N位匹配,后formula_1位不匹配。这些位有formula_2种不同的组合,即formula_2个IPv4地址与CIDR地址块的前缀匹配。前缀越短就能匹配越多的地址,越长就匹配得越少。一个地址可能与多个长度不同的CIDR前缀匹配。CIDR也用在IPv6中。因为位数的非常多,所以在IPv6中,前缀长度的范围是从0到128。这里也用同样的方法来表示一个地址:前缀写作一个IPv6的地址,后跟一个斜线,最后是前缀的位数。
title: CIDR块的分配.
content: 互联网地址指派机构(IANA)向区域互联网注册管理机构(RIRs)分配数量多,前缀短的CIDR地址块。例如,包含有一千六百多万个地址的地址块由RIPE NCC(欧洲的RIR)管理。这些RIR各自负责管理一个单一区域(例如欧洲或者北美),然后它们把这些地址块分成小一些的地址块再分配给公众。这个细分的操作可能会由不同层次的团体进行多次。大型网络服务供应商(ISP)一般会从RIR申请CIDR地址块,然后再向根据它们客户的网络大小而分配更小的地址块。互联网工程工作小组鼓励由单一ISP服务的网络直接向ISP申请地址。而由多个ISP提供服务的,则经常会向适当的RIR申请独立的CIDR地址块。 例如,在90年代末,IP地址是被www.freesoft.org使用的。后来,分配发生了变化。,这个包含两百万地址的块被ARIN(北美的RIR)分配给了MCI通信。MCI又将分配给了从MCI租用互联网连接的Automation Research Systems。ARS则用了这个地址块,其中就包含这个地址。这些CIDR前缀会在不同的地方使用。在MCI的网络之外,这个前缀会用于路由MCI的数据流。这些数据流不仅会去到,也会去到其他那些前11位相同的近两百万的地址里。在MCI的网络里,则会被用于路由到属于ARS租用的连接。最后,只有在ARS自己的网络内这个前缀才会被使用。
title: CIDR和掩码.
content: 子网掩码是一种把前缀编成一种与IP地址相似的形式的掩码。一个子网掩码一共有32位,被分为连续的两部分,高位部分的每一位都被设为二进制的1,其余部分的每一位均被设为二进制的0。其中为1的位的数目和前缀的长度相同。它也被写成点分十进制的形式。子网掩码的作用和前缀一样,但是掩码这种形式出现得比前缀要早。  CIDR用可变长子网掩码 (VLSM,Variable Length Subnet Masking),根据各人需要来分配IP地址,而不是按照一个全网络约定的规则。所以,网络/主机的划分可以在地址内的任意位置进行。这个划分可以是递归进行的,即通过增加掩码位数,来使一部分地址被继续分为更小的部分。整个互联网现在都在使用CIDR/VLSM网络地址。除此之外,CIDR也应用在其他方面,尤其是大型私人网络。
title: 前缀聚合.
content: CIDR的另一个好处就是可以进行前缀路由聚合。例如,16个原来的C类(/24)网络现在可以聚合在一起,对外显示了一个/20的网络了(如果这些网络的的地址前20位都相同)。两个对齐的/20网络又可进一步聚合为/19,依此类推。这有效地减少了要对外显示的网络数,防止了路由表爆炸,也遏制了互联网进一步扩大。 通常来说,子网中的第一个地址(主机标识符中的所有二进制零的地址)都保留用于引用网络本身,而最后一个地址用作广播地址用于网络; 这样可以将可用于主机的地址数量减少2个。结果,主机标识符中只有一个二进制数字的网络将无法使用,因为这样的子网在减少之后将不提供可用的主机地址。为“全为一的主机”和“全为零的主机”规则创建了一个例外,以使网络可用于点对点链接。地址(单主机网络)必须通过明确的路由规则访问,因为在这种网络中没有网关的空间。  在大于或的路由子网中,可用主机地址的数目通常减少两个,即保留作为广播地址的最大地址和标识网络本身的最小地址。
title: IPv6的CIDR块.
content: IPv6中使用的地址大小允许在每个站点实现全球路由摘要并能保证足够的地址池。IPv6网络的标准子网大小是一个块,这是运行静态地址的自动配置所必需的。  最初,IETF在中提出建议,所有终端站点都应得到一个地址分配。但对实际需要和做法的批评和重新评价导致在中提出了更灵活的分配建议,即建议一些站点的分配要小得多,例如用于家庭网络的块。  不同类型的网络线路可能需要不同的子网大小。子网掩码将网络标识符前缀的位数与接口标识符的位数分开。如果选择较小的前缀,所覆盖的网络数量就会减少,但每个网络中的地址会变的更多。
title: 历史背景.
content: IP地址最初被描述为包含两部分:网络地址和主机地址。这种区分在IP网络里的路由中使用。  在历史上,IP地址空间被分为三个分类网络,这些类别有着固定长度的网络地址。网络的类别,以及网络地址,还有该网络上的主机数目都可以从地址的最高位得出。因为分类路由协议不指定子网的掩码或前缀长度,路由器必须使用路由通告中的地址类别去得出子网掩码以建立路由表。  随着原为实验性的TCP/IP网络在80年代转变为互联网,对更灵活的寻址方法的需求日益迫切。这就导致了子网和CIDR的相继发展。因为原来的类别已被忽略,所以现在的系统被叫做无类别路由。它为当今的路由协议所支持,例如,RIP-2,EIGRP,IS-IS和OSPF等,而相对的,原来的系统被叫做分类路由。  可变长子网掩码(VLSM)和CIDR是相同的概念,不过一般只在历史上使用。它在RFC 950中首次被提及。

Summary: 无类别域间路由(Classless Inter-Domain Routing、CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法。

Classless Inter-Domain Routing: Classless Inter-Domain Routing (CIDR ) is a method for allocating IP addresses and for IP routing. The Internet Engineering Task Force introduced CIDR in 1993 to replace the previous classful network addressing architecture on the Internet. Its goal was to slow the growth of routing tables on routers across the Internet, and to help slow the rapid exhaustion of IPv4 addresses.