zoukankan      html  css  js  c++  java
  • 子网划分详解

    首先了解一下:

    IP地址使用规则

                网络号全为0的地址保留,不能作为标识网络使用;

    主机号全为0的地址保留,作为表示网络地址;

    网络号全为1,节点号全为0的地址表示子网掩码;

    主机号全为1的地址为广播地址,如172.16.255.255,称为直接广播或定向广播,表示对172.16.0.0中的所有主机进行广播,这类广播可以跨越路由器。

    地址0.0.0.0表示默认路由;只有在启动过程中才可以使用全0的网络地址,这样做是为了允许计算机在不知道自己地址的情况下发送数据报。即启动时的源站地址

    地址全为1,地址255.255.255.255表示本地广播,即受限广播,这种广播在缺省情况下不能跨越路由器。

    子网掩码(Subnet Mask)概述

             子网掩码用于区别某个IP地址中哪部分为网络部分,哪部分为主机部分。子网掩  码由1和0组成,长32位,从前向后连续全为1的位代表网络部分。

             默认子网掩码 ,不是所有的网络都需要子网:

                 A类IP地址的默认子网掩码为255.0.0.0;

                 B类IP地址的为255.255.0.0;

                 C类的为255.255.255.0。

           子网掩码使用与IP地址相同的编址格式,子网掩码为1的部分对应网络(及子网)部分,子网掩码为0的部分对应主机部分。

           如:一个IP地址为10.2.45.1,子网掩码为255.255.252.0,“与”运算得到:10.2.44.0,则网络设备认为该IP地址的网络号与子网号为10.2.44.0,属于10.2.44.0/22网络,其中/22表示子网掩码长度为22位,即从前向后连续的22个1。

                     00001010.00000010.00101101.00000001(10.2.45.1)

               与:

                    11111111.11111111.11111100.00000000(255.255.252.0)

         —————————————————————————————————————

                    00001010.00000010.00101100.00000000(10.2.44.0)

    子网划分(subnetting)的好处

          减少网络流量

          提高网络性能

          提高安全性

          为了提高IP地址的使用效率,一个网络可以划分为多个子网。采用借位的方式,从主机最高位开始借位变为新的子网位,剩余部分仍为主机位。这使得IP地址的结构分为三部分:网络位、子网位和主机位。

    划分子网后,子网号为全0或全1的子网原则上不可使用。

    默认情况下,192.168.0.0属于C类地址,子网掩码为24位。此时:

    11000000.10101000.00000000.00000000

    |---------网络位--------------------------|--主机位--|

    如要将192.168.0.0/24划分子网,从原来的主机部分取三位作为新的

    子网位。

    11000000.10101000.00000000.00000000

    |---------网络位-------------------------|-----|--------|

                                                                           新的主机部分

                                                                 新的子网部分

    可划分出000、001、010、011、100、101、110、111共8个子网。此时,网络部分为24+3=27位,子网掩码为/27,表示为十进制为255.255.255.224,主机部分为5位

    看例题:

           如:欲将B类IP地址168.195.0.0划分成27个子网。(方法一、利用子网数来计算)

           公式:2n(2的n次方)-2≥x,其中x为所需的子网数,n为所需借的子网位数。

          168.195.00000000.00000000

           从原来的主机部分开始,从前向后借子网位。

           该例中需27个子网,按公式,需借5位,可划分出如下子网:

           168.195.00000 000.00000000 

           168.195.00001 000.00000000 

           168.195.00010 000.00000000 

            ......

           168.195.11110 000.00000000

           168.195.11111 000.00000000

           共25=32个子网,其中有效子网30个,掩码均为/21。

          如:需将200.0.0.0/24划分子网,分配给ABCD四个部门。

    方法如下:

    在未划分前,主机位为8位。现在需划分子网,则从主机位入手。可将将8位主机部分视为一个新的IP地址,8位中,前若干位为网络部分,后若干位为主机部分,如下所示。

          200.  0.  0.  00000000

                               主机部分

    因为需要将子网分配给四个部门,则需要4个子网。又因为子网号为全0和全1的子网不能用,则至少需要6个子网。

    按公司2n-2 ≥所需子网数,此时n=3,可划分出8个子网。

                网络号                 主机地址范围                    广播地址

    000 子网号全为0,不使用

    001 200.0.0.32/27   001 00001~001 11110  001 11111

    010 200.0.0.64/27   010 00001~010 11110  001 11111

    011 200.0.0.96/27   011 00001~011 11110  001 11111

    100 200.0.0.128/27  100 00001~100 11110  001 11111

    101 200.0.0.160/27  101 00001~101 11110  001 11111

    110 200.0.0.192/27  110 00001~110 11110  001 11111

    111 子网号全为0,不使用

          注意到每个子网的主机地址范围都是00001~11110,广播地址都是11111,那么有了每个子网的网络号后,每个子网的地址范围就很容易推出。如100子网,网络地址为200.0.0.128/27,则该子网中第一个主机(host)IP为128+1=129,即100 00001,用二进制的10000000(网络部分)+00000001(主机部分);最后一个主机IP为128+30=158,即100 11110,用二进制的10000000(网络部分)+00011110(主机部分);广播地址为128+31=159,即100 11111,用二进制的10000000(网络部分)+00011111(主机部分全为1的地址是广播地址)。另外,如果用广播地址加1,则成为下一个子网的网络地址。

          另一种思维方法: 要将200.0.0/24划分子网给四个部门使用,这就需

    要将该网络划分为8个子网。而且每个子网的大小相等,这意味着将

    200.0.0/24网络中原有的256个IP地址八等分。

    如下图:

     

    看一个例题:     如需将某C类地址划分20个子网,问第三个有效子网的网络地址、主机地址范围和广播地址?

    解决步骤:

      1、需20个子网,则需子网位为5,剩余主机位为3,子网的大小为8。

      2、8*3=24,则第三个有效子网的地址为24/29。(第一问)这个29=24+5

      3、24+8=32,下一个子网的地址为32/29。

      4、广播地址为后一个子网的网络地址减1,为31。(第三问)

      5、主机地址范围为25至30。

  • 相关阅读:
    SDU暑期集训排位(8)
    hdu1423 最长公共上升子序列
    poj2385 Apple Catching (线性dp)
    hdu5857 Median(模拟)
    hdu5858 Hard problem(求两圆相交面积)
    shuoj 1 + 2 = 3? (二分+数位dp)
    Codeforces Round #460 (Div. 2) B Perfect Number(二分+数位dp)
    hdu4734 F(x)(数位dp)
    hdu3709 Balanced Number (数位dp)
    hdu3652 B-number(数位dp)
  • 原文地址:https://www.cnblogs.com/zquan/p/9656329.html
Copyright © 2011-2022 走看看