IP分类与子网划分
1.IP地址的格式
每一类地址都由两个固定长度的字段组成:
(1)网络号 net-id:它标志主机(或路由器)所连接到的网络
(2)主机号 host-id:它标志该主机(或路由器)。
最大可指派网络数中会减掉2或者1,其实后面的最大主机数大家计算一下会发现都减去了2,这是因为A类的前缀是0,所以网络号加上前缀的8位可以出现全0的情况,而且127(01111111)作为环回地址用来测试,所以不指派,故而需要减去2,B类和C类的前缀分别是10和110,所以网络号加上前缀不可能出现全0的情况,不过B类的128.0.0.0和C类的192.0.0.0也是不指派的,所以B类和C类只需要减去这一个不指派的网络地址即可。
2.子网划分方法
子网划分实际上就是将原来的两级IP地址转变为三级IP地址,表示如下:
IP地址 ::= {<网络号>, <子网号>, <主机号>}
从上面的表示可以看出,子网划分就是在32位中借了几位用来表示子网号,注意,这里的网络号的位数是不变的,子网号是从主机号中借走的,所以大家想一想就可以明白,子网划分实际上就是减少了主机数,分配到不同的子网,每个子网包含一定的主机数。
3. 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除外。