原始的IP地址表示方法及其分类
IP地址 ::= {<网络号>, <主机号>},将主机号置0,就可以得到网络地址。
基本的子网划分方法
上面所述的IP地址表示方法可以称之为两级IP地址,即网络号和主机号组成的IP地址。
但是由于IP地址空间的利用率有时很低、给每一个物理网络分配一个网络号会使路由表变得太大以及两级IP地址不够灵活等原因,就出现了所谓的子网划分。
子网划分实际上就是将原来的两级IP地址转变为三级IP地址,表示如下:
IP地址 ::= {<网络号>, <子网号>, <主机号>}
子网号全0和全1不使用
CIDR
CIDR
中文全称是无分类域间路由选择,英文全称是Classless Inter-Domain Routing
。在平常,大家多称之为无分类编址,它也是构成超网的一种技术实现。CIDR
在一定程度上解决了路由表项目过多过大的问题。
CIDR
之所以称为无分类编址,就是因为CIDR
完全放弃了之前的分类IP地址表示法,它真正消除了传统的A
类、B
类、C
类地址以及划分子网的概念,它使用如下的IP地址表示法:
IP地址 ::= {<网络前缀>, <主机号>} / 网络前缀所占位数
CIDR
仅将IP地址划分为网络前缀和主机号两个部分,可以说又回到了二级IP地址的表示。不过大家要注意,最后面用"/"
斜线分隔,在其后写上了网络前缀所占的位数,这样就不需要告知路由器地址掩码,仅需要通过网络前缀所占的位数就可以得到地址掩码。
为了统一,CIDR中的地址掩码依然称为子网掩码。
CIDR
表示法给出任何一个IP地址,就相当于给出了一个CIDR
地址块,这是由连续的IP地址组成的,所以CIDR
表示法构成了超网,实现了路由聚合,即从一个IP
地址就可以得知一个CIDR
地址块。
已知一个IP地址是:128.14.35.7/20
这个已知条件告诉大家的并不仅仅是一个IP地址这么简单,我们来分析一下。
128.14.35.7/20 = 10000000 00001110 00100011 00000111
即前20位是网络前缀,后12位是主机号,那么我们通过令主机号分别为全0和全1就可以得到
一个CIDR地址块的最小地址和最大地址,即
最小地址是:128.14.32.0 = 10000000 00001110 00100000 00000000
最大地址是:128.14.47.255 = 10000000 00001110 00101111 11111111
子网掩码是:255.255.240.0 = 11111111 11111111 11110000 00000000
因此就可以看出来,这个CIDR地址块可以指派(47-32+1)*256=4096个地址,
这里没有把全0和全1除外。