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

                            IP子网划分

    一.子网划分的需求

    生产环境中到处存在分类IP地址的低效性

    1.IP地址资源浪费严重;

    2.IP网络数量不敷使用;

    3.业务扩展缺乏灵活性;

    4.无法应对internet的爆炸式增长;

    二.IP子网划分基础知识

    1. 子网划分方法

    a.子网划分前的两级IP地址

    b.子网划分后的三级IP地址

    2.IP地址与子网掩码

    3.默认掩码

    a.A类地址默认掩码为255.0.0.0

    b.B类地址默认掩码为255.255.0.0

    c.C类地址默认掩码为255.255.255.0

    4.计算子网地址

    子网掩码与IP地址进行逐位逻辑与运算获得网络地址(子网地址)

    三.IP子网划分相关计算

    1.假设子网主机号位数为N,则可用地址数为2n-2个;

    2.主机号全1为广播地址,主机号全0为网络地址;

    3.IP地址一共是32bit,分成4字节,每个字节8bit

    比如:IP地址为172.16.3.210将其转换为二进制:

    10101100.00010000.00000011.11010010

    4.案例:

      一共公司有10000个员工,每100员工分成一个部门,一共分100个部门,要求每个部门都是一共单独的网段,那么我们要分100个网段。现在公司总部的IT部门给一个172.16.0.0/16的地址,要求满足100个网段,每网段100个PC的需求。

    分析:

      172.16.0.0 255.255.0.0 换算成二进制为: 10101100.00010000.00000000.00000000,只能满足一个网段,不能满足100个网段个,2的16次方,65536-2=65534个主机地址,这些地址只能满足一个网段。

    子网划分的思想:劫富济贫,借主机位,产生新的子网位,从主机位最左边往右借!

    那么借多少位如何计算呢?

      a>.借一位产生2(2的1次方)个子网;

      b>.借N为产生2的N次方个子网。

      由于我们想要从172.16.0.0/16中产生100个子网,于是我们就要从左往右开始借主机位,2的6次方是64,既可以产生64个子网,2的7次方是128,既可以产生128个子网,我们最少需要100个子网的产生,所以我们最少要借7为,于是成了172.16.0.0/23,我们开始进行了如下的分析:

                          网络位     主机位

    172.16.0000000    0.00000000 

         子网网络位(主机位全0)                  子网掩码              广播位(主机位全1)                  主机范围

    第一个:   172.16.0.0(172.16.0000000    0.00000000 )          255.255.254.0      172.16.1.255(172.16.0000000    1.11111111 )     172.16.0.1~172.16.1.254  

    第二个: 172.16.2.0(172.16.0000001    0.00000000 )     255.255.254.0     172.16.3.255(172.16.0000001    1.11111111 )     172.16.2.1~172.16.3.254 

    第三个:   172.16.4.0(172.16.0000010    0.00000000 )     255.255.254.0     172.16.5.255(172.16.0000010    1.11111111 )       172.16.4.1~172.16.5.254 

    第四个: 172.16.6.0(172.16.0000011    0.00000000 )     255.255.254.0     172.16.7.255(172.16.0000011    1.11111111 )     172.16.6.1~172.16.7.254 

    第五个: 172.16.8.0(172.16.0000100    0.00000000 )     255.255.254.0        172.16.9.255(172.16.0000100    1.11111111 )    172.16.8.1~172.16.9.254 

       .........相信大家已经看出规律啦~我就不往下举例子了~那么让我们一起来总结一下子网划分的规律吧~

    子网划分的规律:

      a>.从主机位借N位产生2的N次方子网,从左往右借;

      b>.主机位全0,代表这个子网的网络位(网络地址),主机全1,代表这个子网的广播地址;

      c>.每个子网广播位减去网络位=主机位全1,这个数是固定的;

      d>.子网主机范围介于网络位和广播位之间;

      e>.第一个子网的网络位,主机位确定后,其他所有子网网络位主机位都可以确定;

      f>.下一个子网的网络位是前一个子网广播位加1;

    5.小试牛刀

      公司240员工,8个部门,每部门30个人,每个部门一共单独的网段,现有192.168.100.0/24网段,要求对其进行子网划分。

    分析:

      通过上个案例我们已经很熟悉了熟悉了子网划分的特点,这里有8个部门,需要划分8个网段,而192.168.100.0/24仅仅只能满足一个网段,一次还是要借主机位进行子网划分,那么借多少位呢?由于要划分8个子网,我们就计算2的多少次方大于等于8呢?相信你很快的得出结果,没错,就是3,因此你需要接3个主机位。

                     网络位     主机位

    192.168.100.000      00000

          子网网络位(主机位全0)               子网掩码           广播位(主机位全1)                    主机范围

    第一个:    192.168.100.0(192.168.100.000    00000)  255.255.255.224    192.168.100.31(192.168.100.000    11111)                  192.168.100.1~192.168.100.30

    第二个:  192.168.100.32(192.168.100.001    00000)  255.255.255.224     192.168.100.63(192.168.100.001    11111)       192.168.100.33~192.168.100.62

    第三个:  192.168.100.64(192.168.100.010    00000)    255.255.255.224     192.168.100.95(192.168.100.010    11111)       192.168.100.65~192.168.100.94

    IP的自动汇聚:

      某企业有172.30.1.0/24,172.30.2.0/24,172.30.3.0/24,172.30.4.0/24,172.30.5.0/24。我们如何用将这5个不同的网络地址用一个网络地址表示呢?那么我们就得用到IP的自动汇聚了,我们将这个5个IP聚合一下就成为了172.30.0.0/21.这样就可以表示以上的几个IP地址了。

    分析:

      我们可以将上面的5个网络地址看成172.30.0.0/16的子网,那么我们要对这个子网进行分类,最少要分配5个网段,我们只需要将IP地址的第三段的主机位腾出三位即可(2的三次方等于8个,也就是最多容纳8个子网),是从右往左数,我们开始计算。

           网络位     主机位

       172.16.00000  000.00000000

    第一个:172.16.1.0/21 (172.16.00000  001.00000000)

    第二个:172.16.2.0/21(172.16.00000  0 10.00000000)

    第三个:172.16.3.0/21(172.16.00000  011.00000000)

    往下依次类推即可...

    其实我们通过以上的 例子可知:子网划分是从左往右开始借位,而IP的汇聚其实就是从右往左还位,2个解法是恰恰相反的,当然我是这么理解的,如果有观点上的错误,欢迎在我的博客下方指正啊!

    以下是测试实验结果:

    用“运维部门”的电脑去ping各个机器测试结果如下:

     1 PC>ipconfig
     2 
     3 Link local IPv6 address...........: fe80::5689:98ff:fea7:2066
     4 IPv6 address......................: :: / 128
     5 IPv6 gateway......................: ::
     6 IPv4 address......................: 172.30.3.1
     7 Subnet mask.......................: 255.255.224.0
     8 Gateway...........................: 172.30.3.254
     9 Physical address..................: 54-89-98-A7-20-66
    10 DNS server........................:
    11 
    12 PC>ping 172.30.1.1
    13 
    14 Ping 172.30.1.1: 32 data bytes, Press Ctrl_C to break
    15 From 172.30.1.1: bytes=32 seq=1 ttl=128 time=16 ms
    16 From 172.30.1.1: bytes=32 seq=2 ttl=128 time<1 ms
    17 From 172.30.1.1: bytes=32 seq=3 ttl=128 time=31 ms
    18 From 172.30.1.1: bytes=32 seq=4 ttl=128 time=31 ms
    19 From 172.30.1.1: bytes=32 seq=5 ttl=128 time=31 ms
    20 
    21 --- 172.30.1.1 ping statistics ---
    22   5 packet(s) transmitted
    23   5 packet(s) received
    24   0.00% packet loss
    25   round-trip min/avg/max = 0/21/31 ms
    26 
    27 PC>ping 172.30.2.1
    28 
    29 Ping 172.30.2.1: 32 data bytes, Press Ctrl_C to break
    30 From 172.30.2.1: bytes=32 seq=1 ttl=128 time=47 ms
    31 From 172.30.2.1: bytes=32 seq=2 ttl=128 time=16 ms
    32 From 172.30.2.1: bytes=32 seq=3 ttl=128 time=15 ms
    33 From 172.30.2.1: bytes=32 seq=4 ttl=128 time=16 ms
    34 From 172.30.2.1: bytes=32 seq=5 ttl=128 time=15 ms
    35 
    36 --- 172.30.2.1 ping statistics ---
    37   5 packet(s) transmitted
    38   5 packet(s) received
    39   0.00% packet loss
    40   round-trip min/avg/max = 15/21/47 ms
    41 
    42 PC>ping 172.30.3.1
    43 
    44 Ping 172.30.3.1: 32 data bytes, Press Ctrl_C to break
    45 From 172.30.3.1: bytes=32 seq=1 ttl=128 time<1 ms
    46 From 172.30.3.1: bytes=32 seq=2 ttl=128 time<1 ms
    47 From 172.30.3.1: bytes=32 seq=3 ttl=128 time<1 ms
    48 From 172.30.3.1: bytes=32 seq=4 ttl=128 time<1 ms
    49 From 172.30.3.1: bytes=32 seq=5 ttl=128 time<1 ms
    50 
    51 --- 172.30.3.1 ping statistics ---
    52   5 packet(s) transmitted
    53   5 packet(s) received
    54   0.00% packet loss
    55   round-trip min/avg/max = 0/0/0 ms
    56 
    57 PC>ping 172.30.4.1
    58 
    59 Ping 172.30.4.1: 32 data bytes, Press Ctrl_C to break
    60 From 172.30.4.1: bytes=32 seq=1 ttl=128 time=31 ms
    61 From 172.30.4.1: bytes=32 seq=2 ttl=128 time=31 ms
    62 From 172.30.4.1: bytes=32 seq=3 ttl=128 time=16 ms
    63 From 172.30.4.1: bytes=32 seq=4 ttl=128 time=16 ms
    64 From 172.30.4.1: bytes=32 seq=5 ttl=128 time<1 ms
    65 
    66 --- 172.30.4.1 ping statistics ---
    67   5 packet(s) transmitted
    68   5 packet(s) received
    69   0.00% packet loss
    70   round-trip min/avg/max = 0/18/31 ms
    71 
    72 PC>ping 172.30.5.1
    73 
    74 Ping 172.30.5.1: 32 data bytes, Press Ctrl_C to break
    75 From 172.30.5.1: bytes=32 seq=1 ttl=128 time=15 ms
    76 From 172.30.5.1: bytes=32 seq=2 ttl=128 time<1 ms
    77 From 172.30.5.1: bytes=32 seq=3 ttl=128 time=31 ms
    78 From 172.30.5.1: bytes=32 seq=4 ttl=128 time=16 ms
    79 From 172.30.5.1: bytes=32 seq=5 ttl=128 time=31 ms
    80 
    81 --- 172.30.5.1 ping statistics ---
    82   5 packet(s) transmitted
    83   5 packet(s) received
    84   0.00% packet loss
    85   round-trip min/avg/max = 0/18/31 ms
    86 
    87 PC>

    四.VLSM及CIDR

    1.VLSM简介

      a>.子网划分的局限性

        1>.无法实现吧网络划分为不同大小的子网;

        2>.常常会浪费很多主机地址;

      b>. VLSM(Variable Length Subnet  Mask,可变长子网掩码)

        1>.允许使用多个子网掩码划分子网;

        2>.使组织的IP地址空间得到更有效的利用;

    2.CIDR

      a>.Internet面临的问题

        1>.随着Internet的成长,路由表迅速扩大;

        2>.IPV4地址已经被耗尽;

      b>.CIDR(Classless Inter-Domain Routing,无类域间路由)

        1>.消除了自然分类地址和子网划分的界限;

        2>.将网络前缀相同的连续IP地址组成CIDR地址块;

        3>.支持强化地址汇聚;

    3.无类域间路由斜线表示法

    CIDR使用斜线表示法表示一个网络:斜线表示法采用IP地址后跟一个斜线“/”,斜线后是一个表示网络前缀长度的数值

    注意:192.0.0.0/8这个就是一个无类域间路由(CIDR),我们不能说他是A类或是C类的地址,它就是一个掩码为8(00001000)的地址。

  • 相关阅读:
    Python 学习笔记 11.模块(Module)
    Python 学习笔记 8.引用(Reference)
    Python 学习笔记 9.函数(Function)
    Python 学习笔记 6.List和Tuple
    Python 学习笔记 4.if 表达式
    Python 学习笔记 2.自省
    Python 学习笔记 3.简单类型
    Python 学习笔记 7.Dictionary
    Python 学习笔记 5.对象驻留
    Python 学习笔记 10.类(Class)
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/6698600.html
Copyright © 2011-2022 走看看