子网划分并不能完全解决分类编址中地址不够用的问题,A类已经申请完了,而B类地址也已经快用完了,C类地址目前还能申请到,但是C类地址空间无法满足那些加入到因特网中的新组织的需要,因此需要另一个解决办法就是构建超网:将多个网络合并成一个大的网络,而这个大的网络就是超网,换句话说,就是将多个C类地址块合并成一个大的地址块。通过这种方法,一个机构组织就可以申请多个C类地址块。
构建超网就是用来解决地址不够用的问题,举个例子,假如有一个公司需要1000个ip地址,A类和B类地址的ip地址数太过于庞大,分配给一个只需要1000个地址的公司会造成巨大的浪费,这显然是不合适的,那么该公司就可以申请获取4个C类地址块,而这4个地址块就是4个网段,通过把这4个网段合并的网络就是超网。
如图1所示:这是一个C类地址的子网掩码,默认掩码,超网掩码。其中,在默认掩码中1的个数是24,超网掩码中1的个数是22,子网掩码中1的个数是26。
因此,我们可以从其中得到这些信息:在C类地址中的子网掩码中1的个数要比C类默认掩码中1的个数更多,而C类超网掩码中1的个数要比C类默认掩码中1的个数更少。如果将一个地址块划分为4个子地址块,也就是把一个网络划分为4个子网,需要向主机位从左开始进行借2位(2^n = 4,如果这里看不懂是怎么借位的小伙伴赶快回去补划分子网),那么这4个子网的掩码中1的个数要比C类默认掩码要多2个(2^2 = 4),而如果将这4个地址块合并一个超地址块(将这4个子网合并成一个超网),那么超网的掩码中1的个数要比C类默认掩码少2个。
图2-超网中有4个C类地址块,分别处于不同的网段,而默认情况下不同的网段是不能通信的,如果这四个网段想要互相通信,那么必须处于同一个网段下,需要将这四个网段合并成一个网段,即构建超网,因此我们重点关心这四个C类地址的网络位。
我们先计算出这4个地址块的网络,为了方便计算,主机位用Z来表示,T来表示8个1,P表示8个0:
这四个网络地址前面的网络位都是相同的,这里我们只关心第三个字节,如果要划分超网,必须向网络位从右开始借位,直到网络位全部相同
。通过这四个网络地址对比发现,我们需要向网络位借2位(蓝色表示的是我们借位的部分),那么我们可以得出超网地址为X . Y . 00100000.Z (X . Y . 32 . 0)。
我们再通过一个例题来看是怎么构建超网的。
例题:由2048个C类网络组成一个超网,从192.24.0.0到192.31.255.0,掩码应该是多少?
思路:我们可以把这两个地址换算成二进制形式,然后从左到右取相同的位数作为子网掩码的位数。