zoukankan      html  css  js  c++  java
  • 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的.大家把它转成二进制数就能够很清楚地看到这一点.

  • 相关阅读:
    Android 2.2 r1 API 中文文档系列(11) —— RadioButton
    Android API 中文 (15) —— GridView
    Android 中文 API (16) —— AnalogClock
    Android2.2 API 中文文档系列(7) —— ImageButton
    Android2.2 API 中文文档系列(6) —— ImageView
    Android 2.2 r1 API 中文文档系列(12) —— Button
    Android2.2 API 中文文档系列(8) —— QuickContactBadge
    [Android1.5]TextView跑马灯效果
    [Android1.5]ActivityManager: [1] Killed am start n
    Android API 中文(14) —— ViewStub
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/7345649.html
Copyright © 2011-2022 走看看