8.4 IP地址的划分及子网划分
都是比较灵活的一些计算题.只要掌握了其中的规则,还是比较容易解题的.在了解子网的划分如何进行之前呢,一定要弄清楚一个概念:子网掩码.这是弄清楚如何进行子网划分的一个关键.
IP地址是四段二进制码拼合而成.每一段二进制码有8位.所以一个IP地址它的长度是32位二进制数.32位的二进制数.占用的呢是4个字节.这个是IPV4的标准.那么IPV6呢就将这个IP地址的长度扩充到了16个字节.
对32位二进制的数位做一个定义:
最高位为第0位,最低位为第31位.就顺次这么过来,0、1、2、3、4、5、6、7、8一直过来.那么这样子对它定义了之后呢,我们的IP地址可以分为五类:A、B、C、D、E五类.这五类IP都有自己固定的一个特征.主要就表现在前几位.这个IP地址的前几位.我们可以通过前几位的特征来判别它是哪一种类型的网络,是A类网络呢是B类网络呢还是C类网络.对于A类网络的定义是这样子的,就是首位最高位为0,最高位固定为0,所以说如果一个IP地址划为二进制之后,最高位是0,那么我们可以判别这个IP地址是A类IP地址.接下来的7位,就是1-7位,为网络号.这一部分为网络号.后面的从第8位开始,一直到最后,是主机号.所以呢一个A类的网络它可以容纳2的24次方-2台主机,可以容纳这么多台主机.2的24次方是怎么来的呢?就是这个主机号有24位,所以呢它可以表现的主机呢就是2的24次方-2.减的2就是首尾的IP.就是全0和全1的IP.主机号为全0或者是全1的IP,是不能够当IP地址来用的.不能够当主机的IP地址来用的.主机号全部为0的IP,称为网络号.而主机号全部为1的IP,称为广播地址.这两个IP是不能够随便用的.所以它可以容纳2的24次方-2台主机.那么B类IP呢,B类地址的话,就是前两个位为10的地址,前两个位为10的地址.这一类网络呢它的网络号是从第2位到第15位.第2位到第15位.总共呢是14位长度的网络号.剩余的呢这16位,剩余的16位为主机号.所以B类网络它能够容纳的主机数量呢就是2的16次方-2台主机.
接下来是C类网络.C类网络它的一个明显特征,就是IP地址前三位为110,这样子的网络呢它的网络号就比较长了.网络号是从第3位到第23位.总共网络号有21位的长度.而主机号呢仅仅只有8位.这种网络它可以容纳的主机数就是2的8次方-2.也就是254台主机,一个C类网络只能够容纳254台主机.
接下来的D类IP和E类IP属于特殊IP.D类IP呢它的特征是前四位是1110.这类IP是组播地址.
而E类IP呢最后一个呢是前四位为四个1的IP.这种IP是保留以后用的.现在还没有实际用途.
下面我们来了解这个子网掩码的概念.
其实,子网掩码,它的提出就是为了区分IP地址当中的网络号和主机号的.用于网络的划分.子网掩码的长度呢和IP地址是一样长的.也是32位的二进制.那么具体的应用我们以一个实例来说明.
默认的子网掩码:255.255.255.0.化成二进制我们就发现掩码是一串很特别的二进制数.
我们把子网掩码和IP地址进行按位做与运算,就能够得到主机IP地址它的网络号.
而主机号也是可以利用这个子网掩码进行求解的.那么主机号怎么来求呢?首先要对子网掩码进行按位取反,按位取反之后呢原来是1的位置,现在就变成0了,只留下后面的原来是0的,全部又变成1了.这个按位取反的一个运算完成以后呢,就和IP地址进行与操作,与操作呢就得到了主机号.
判断两个IP地址是否在一个网段?
就是分别求出这两个IP地址它的网络号.如果说它们网络号相同呢代表它们是同一个网络当中的主机.同一个网络中的IP地址.那么如果说它们不同,网络号不同,那么就代表不在同一个网络.这两个IP.
因为求出的网络号不同,所以呢它们不在同一个网络中.
再看一个例子.
两个IP地址让你判断是否在同一个网络,你必须要看清一个前提,就是它的子网掩码是如何设置的.子网掩码设的不同,它们出现的结果也不同.
看具体的子网的划分.
有一个C类的IP,C类的网络.那就意味着我可以组建一个拥有254台主机的一个网络.但问题我现在不需要组建这么大的网络.我希望组建6个比较小的网络.6个小的网络.这一点是否能够实现呢?答案是肯定的.一个大的网络是可以划分成多个小的网络的.看划分的规则如何.
首先呢我们还是把这个C类IP化成二进制形式.然后它的一个默认的子网掩码是这么一种形式.IP也就是按这种形式来分段的.红色的1的这一部分呢是代表的网络号.前面一部分是代表网络号.而后面一部分是代表主机号.这个形式是不是一定就这么定死呢?规定了C类IP只能是前面24位为网络号,后面的8位为主机号呢?并不是这样子的.我们是可以灵活调整的.我们可以就按我们刚才的一个要求,把这一个网络呢划成6个子网.将这么一个C类IP划成6个子网的时候呢就要用到主机号.用主机号来做子网号来使用.做法是:就是抽取主机号的前三位,把这三位呢作为子网号.这样子就可以生成6个子网.有三位的二进制数,我们知道它对应的是8个这样的编码.
那么同样呢000就是所有为0的和所有为1的这两个地址,它是不能用的.为什么不能用呢?全1的它代表的呢是1个网络号,主机号位置全0的前面部分是网络号的,这种IP呢它称为网络号.就主机号全部为0,前面是1个网络号,那么这个网络号呢,这个IP呢就称为网络号.如果说主机号全为1的,是1个广播地址.这两个地址它是保留的.
所以呢取三位主机号可以生成2^3-2个网络.那么每一个网络中的主机数是2^5-2.因为主机号它的长度是5位,这里的主机号长度是5位.
这是将一个C类地址划分为多个子网.就这么进行.
那么把多个子网、多个网络并成一个大的网络同样可行.我们还是将这个子网掩码化成二进制形式.那么前面一段红色的1就代表的是网络号,后面的一段就代表的是主机号.我们要把这个四个C类的IP把它合并起来形成一个新的网络呢就可以取网络号作为主机号.从这里呢,从我们这两个例题我们也可以看出来,当你想扩大一个网络的规模的时候,让它的主机数量增加的时候,那么你要将网络号作为主机号来使用.就是增加主机号的长度这样子就是增多主机的数量.
而如果你要把现有的网络再分小,分小块,那么你就要用到这一个,主机号.把主机号呢当子网号来用,我们现在是要将多个C类的网络合并成一个,所以呢我们要取网络号作为主机号来用.取两位作为主机号来用.
这样子产生的网络可以容纳的主机数是:2^10-2台主机.这个是子网的划分.
例题:
这个非常简单,我们呢写出一个子网掩码的二进制形式.把前面22位全部置为1,后面的全部置为0.再把这一个二进制呢转换为10进制就可以得到子网掩码.那么最多可以连接到的主机数呢,32-22=10位是主机地址.2^10-2=1022,减2是减去一个网络地址减去一个广播地址.就得到了最多可以连接的主机数为1022台.
再看一个例题:
由于A2网络中它连接的呢,它的连接是靠一个交换机来连接的.交换机的IP是:192.60.80.2.其他呢有PC机,它的IP地址置为192.60.80.3,所以说呢我们的PC机A2至少要和这两个IP处于同一个网段.也就是192.60.80.多少.这种形式才能够成为A2的一个合法IP.
然后如果网络B中,我们知道C类网络地址,一个网络地址呢它有可以容纳254台主机.那么要容纳一千台主机呢,就要四个这样的地址.要4个C类网络地址.同样的一个要求,B1应该是要和192.60.16,也是这一个网段中的.然后网络B它的子网掩码应该怎么设?我们知道网络B有一千台主机,那么它的子网掩码设置就不能够按这种C类网络来设置,也不能够按B类网络来设置子网掩码,要灵活设置.
A选项的IP地址虽然是和现有的这两个IP地址同一个网段,但是由于它的末位主机号为0,我们知道主机号为0的,这种IP地址呢是属于网络号.是网络号,不能够授给计算机.B答案也是错误的,因为交换机已经使用了这个IP地址.C答案的IP地址已经被A1使用了,一旦使用.3这个IP地址就会发生IP冲突.D答案的IP地址和现有的网络A中的IP地址是处于同一个网段.同时呢也不会产生IP冲突.
如果说B网络有1000台主机,那么我们要给它分配4个C类地址.
接下来我们再看PC机B1.C答案没有冲突也不是网络地址,也不是广播地址,广播地址就是主机部分全1的IP地址.D答案呢就刚好主机是全1的.所以这一个地址是广播地址,不能够分配给某一个设备.所以答案只能够选C.
那么呢网络B是将4个C类地址拼合成1个大的网络.这么拼合的话呢就需要用到这个子网掩码.子网掩码呢就不能够是默认的.要容纳一千台主机那就意味着主机号要有10位的长度.因为2^10-2=1022>1000满足1000台主机的需要.所以子网掩码后10位应该设为0.那就意味着子网掩码应该要设为255.255.252.0.这个子网掩码它的后10位是为0的.大家把它转成二进制数就能够很清楚地看到这一点.