你的位置: 首页> 通信技术> 计算机网络

无分类编址 CIDR

2016-10-30 14:23:10 |人围观 | 评论:

1. 网络前缀
划分子网在一定程度上缓解了因特网在发展中遇到的困难。然而在 1992 年因特网仍然面临三个必须尽早解决的问题,这就是:
(1) B类地址在1992年已分配了近一半,并且发展速度越来越快,眼看很快就会全部分配完毕!在后加入因特网的发展中国家面临无IP地址可用。
(2) 因特网主干网上的路由表中的项目数急剧增长(所有的C类网络号都在路由表中占一行)。
(3) 整个IPv4的地址空间最终将全部耗尽(据报道:我国的IPv4地址将在2012年前后耗尽分配给我们的地址空间)。
当时预计的前两个问题在1994年变得非常严重。因此IETF(因特网工程任务组)很快就研究出采用无分类编址的方法来解决前两个问题。IETF认为上面的第三个问题属于更加长远的问题,因此专门成立IPv6工作组负责研究解决新版本IP协议的问题。
1987 年,RFC 1009 就指明了在一个划分子网的网络中可同时使用几个不同的子网掩码。使用变长子网掩码 VLSM (Variable Length Subnet Mask)可进一步提高 IP 地址资源的利用率。
在 VLSM 的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。
CIDR 最主要的特点
CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。解决以前分类地址策略的低效性。
CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。
IP 地址从三级编址(使用子网掩码)又回到了两级编址。
无分类的两级编址
无分类的两级编址的记法是:
IP地址 ::= {<网络前缀>, <主机号>}
CIDR 还使用“斜线记法”(slash notation),它又称为CIDR记法,即在 IP 地址面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。
CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。
CIDR 地址块
128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。
这个地址块的起始地址是 128.14.32.0。
在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地址块”。
128.14.32.0/20 地址块的最小地址:128.14.32.0
128.14.32.0/20 地址块的最大地址:128.14.47.255
全 0 和全 1 的主机号地址一般不使用。
路由聚合(route aggregation)
一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。
路由聚合也称为构成超网(supernetting)。
CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。
对于 /20 地址块,它的掩码是 20 个连续的 1。 斜线记法中的数字就是掩码中1的个数。
CIDR 记法的其他形式
10.0.0.0/10 可简写为 10/10,也就是把点分十进制中低位连续的 0 省略。
10.0.0.0/10 隐含地指出 IP 地址 10.0.0.0 的掩码是 255.192.0.0。此掩码可表示为
11111111 11000000 00000000 00000000
10.0.0.0/10 可简写为 10/10,也就是将点分十进制中低位连续的 0 省略。
10.0.0.0/10 相当于指出 IP 地址 10.0.0.0 的掩码是 255.192.0.0,即
11111111 11000000 00000000 00000000
网络前缀的后面加一个星号 * 的表示方法
如 00001010 00*,在星号 * 之前是网络前缀,而星号 * 表示 IP 地址中的主机号,可以是任意值。
构成超网
前缀长度不超过 23 位的 CIDR 地址块都包含了多个 C 类地址。
这些 C 类地址合起来就构成了超网。
CIDR 地址块中的地址数一定是 2 的整数次幂。
网络前缀越短,其地址块所包含的地址数就越多。而在三级结构的IP地址中,划分子网是使网络前缀变长。
2. 最长前缀匹配
使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。
应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)。
网络前缀越长,其地址块就越小,因而路由就越具体(more specific) 。
最长前缀匹配又称为最长匹配或最佳匹配。
最长前缀匹配举例
收到的分组的目的地址 D = 206.0.71.128
路由表中的项目:206.0.68.0/22 (ISP)
206.0.71.128/25 (四系)
查找路由表中的第 1 个项目
第 1 个项目 206.0.68.0/22 的掩码 M 有 22 个连续的 1。
M = 11111111 11111111 11111100 00000000
因此只需把 D 的第 3 个字节转换成二进制。

与 206.0.68.0/22 匹配
收到的分组的目的地址 D = 206.0.71.128
路由表中的项目:206.0.68.0/22 (ISP)
206.0.71.128/25 (四系)
再查找路由表中的第 2 个项目
第 2 个项目 206.0.71.128/25 的掩码 M 有 25 个连续的 1。
M = 11111111 11111111 11111111 10000000
因此只需把 D 的第 4 个字节转换成二进制。

与 206.0.71.128/25 匹配
选择两个匹配的地址中更具体的一个,即选择最长前缀的地址。




标签:

相关内容推荐: