1. 诞生的原因
将 IP 地址分为 A 类、B 类、C 类后,会造成 IP 地址的部分浪费。例如,一些连续的 IP 地址,一部分属于 A 类地址,另一部分属于 B 类地址。为了使这些地址聚合以方便管理,出现了 CIDR(无类域间路由)。
2. 首先了解传统的路由分类

IP地址概念:一个32位的二进制数,它由网络ID和主机ID两部份组成,用来在网络中唯一的标识的一台计算机。
为了方便IP寻址将IP地址划分为A、B、C、D和E五类,每类IP地址对各个IP地址中用来表示网络ID和主机ID的位数作了明确的规定。
| 分类 | 容量 |
|---|---|
| A类地址用IP地址前8位表示网络ID,用IP地址后24位表示主机ID | 共126个网络,每个网络可以包含 224-2台主机 |
| B类地址用IP地址前16位表示网络ID,用IP地址后16位表示主机ID | 共16384个B类网络;每个B类网络可以包含216-2台主机(即65534台主机) |
| C类地址用IP地址前24位表示网络ID,用IP地址后8位表示主机ID | 共2097152个C类网络;每个C类网络可以包含28-2台主机(即254台主机 |
| D类地址用来多播使用,没有网络ID和主机ID之分 | |
| E类地址保留实验用,没有网络ID和主机ID之分 |
2.1 网络ID、主机ID和子网掩码
网络ID:用于表明属于哪一个网络,网络ID相同,不需要通过路由器连接就可以直接通信;网络ID相同的计算机组成一个网络称之为本地网络(网段);网络ID不同的计算机之间必须通过路由器连接,因此把网络ID不同的称为远程计算机。
子网掩码:计算机的IP地址哪部份表示网络ID,哪部份表示主机ID,并不由IP地址所属的类来确定,而是由子网掩码确定。
子网掩码的格式:以连续的255后面跟连续的0表示,其中连续的255这部份表示网络ID;连续0部份表示主机ID。比如,子网掩码255.255.0.0和255.255.255.0。
传统分类出现的问题: 分类导致子网掩码太固定,不利于动态分配,因此可以发现,子网掩码有0.0.0.0、255.0.0.0、255.255.0.0、255.255.255.0和 255.255.255.255共五种。采用这种格式的子网掩码每个网络中主机的数目相差至少为256倍,不利于灵活根据企业需要分配IP地址。比如,一 个企业有2000台计算机,用户要么为其分配子网掩为255.255.0.0,那么该网络可包含65534台计算机,将造成63534个IP地址的浪费; 要么用户为其分配8个255.255.255.0网络,那么必须用路由器连接这个8个网络,造成网络管理和维护的负担。
例子
例1:IP地址:192.168.23.35 子网掩码:255.255.0.0
网络ID:192.168.0.0 主机ID:23.35
例2:IP地址:192.168.23.35 子网掩码:255.255.255.0
网络ID:192.168.23.0 主机ID:35
3. CIDR
将上面常规的子网掩码转换为二进制,将发现子网掩格式为连续的二进制1跟连续0,可以看出其中子网掩码中为1的部份表示网络ID,子网掩中为0的表示主机ID。但是对于上面的子网掩码1和0的个数是固定的。
CIDR表示方法:IP地址/网络ID的位数
CIDR技术采用二进制计数,子网掩码中连续的1部份表示网络ID,连续的0部份表示主机ID,其中1和0的个数是自由的,不是固定个数的,这样就会产生多种子网掩码形式,也就可以自由设置子网中主机的数量了,不至于像上面分类的主机数量恒定,造成浪费。
例子
例2:将163.135.0.0划分为16个子网,计算前两个子网的网络ID、子网掩码、起止IP地址。
第1步:用CIDR表示163.135.0.0/20,则子网掩码为255.255.240(11110000).0。
第2步:第一网络ID(子网掩码与IP地址与运算):163.135.0.0
第一个IP地址:163.135.0.1 结束IP地址:163.135.15.254;
第3步:第二网络ID:163.135.16.0
第一个IP地址:163.135.16.1 结束IP地址:163.135.31.254。
