划分子网和超网

划分子网和超网
  1. 前提:

    如果我们清楚A,B,C类网络比较好理解,简单说一下。

    IPV4:IP为网络号加主机号总共为32位

    A类: 网络号(8位) 【0开头】+ 主机号(24位)

    B类: 网络号(16位)【10 开头】 + 主机号(16位)

    C类: 网络号(24位)【110开头】 + 主机号(8位)

    A类网络可以支持的主机数量:224 = 16_777_216个主机,较多,一般企业或公司用不到这么多。

    B类网络可以支持的主机数量:216 = 65536个主机,还好,一般企业可以采用这个。

    C类网络可以支持的主机数量:28 = 256个主机,较少。

    实际上,由于IP的主机号全为0和IP主机号全为1有特殊含义,为0代表改网段,为1代表所有主机(所以可以用主机号全为1来发本地的广播,不经过路由器),这么说的话,每一类地址可用的主机数都要再减去2

  2. 原因

    问题引入:此时,分析发现,如果当前企业A需要有1000台主机,网络分配局该给企业A分配什么种类的网络呢?

    刚开始解决方案:C类太少不够用,肯定不可以;B类太多,不过能用。所以就选择B类分配给当前企业A。

    久而久之,网络局就发现不能这样分啊,企业都觉得C类地址少,A类地址太大,都要B类地址,B类很快就分完了。

  3. 解决:

    1. 划分子网:

      将一部分主机号划分给网络号,这样就可以减少可以支持的主机数量了,从而减少浪费。

      多说无益,来实例分析:

      128 64 32 16 / 8 4 2 1(2n8位对照表)

      题目由于个人实验中采用的是C类地址,比较容易分析,所以我们以一个C类地址为例子来进行分析吧。

      当前有网络:192.168.18.0(C类)

      我们需要将其划分给四个小型零售商,由于零售商的主机数量不多,所以我们需要将C类地址进行划分子网,以防止浪费。

      IP:192.168.18.0 => 1100_0000.1010_1000.0001_0010.0000_0000

      子网掩码:255.255.255.0 =>

      1111_1111.1111_1111.1111_1111.0000_0000

      (子网掩码使用1来表示IP地址的网络位,0来表示IP地址主机位)(业界极力推荐子网掩码的1位连续,可以减少出错的可能)

      (化为2进制,个人以加点方式分割,便于观察和理解)

      解法由于前面24位都是网络号,后面8位为主机号。此时,要将主机号分几位给网络号,观察形式,(由于上面提到的业界推荐)我们只能将主机号前几位划分给网络号。

      因为我们需要划分为4个子网,log2(4) = 2。(因为是2进制,所以使用log2)。

      所以将主机号的前两位用来划给主机,这样的话:由于变动只涉及IP最后一位。所以我们只分析最后一位

      IP:0000_0000

      子网掩码:0000_0000

      划分的四个子网根据划分的主机前两位进行枚举所有情况,所以IP的最后一位如下表,同时所对应的子网掩码,由于1代表网络位,0代表主机位,主机位少了两位,少的两位高位变为网络位,所以应为为:255.255.255.192

      IP最后一位最终对应IP网段
      0000_0000192.168.18.0
      0100_0000192.168.18.64
      1000_0000192.168.18.128
      1100_0000192.168.18.192
    2. 合并超网:

      同样,由于C类地址所支持的主机数量不够,假设B类分完了,此时我们采用合并几个C类地址为1个大的IP地址,以支持更多的主机。所以我们就需要把网络位划分给主机位。而且这样,我们可以减少路由表所需要映射的路由数量。(下文分析如何减少)

      同样,上实例:

      还是四个零售商(为啥跟零售商过不去呢?手动黑人问号。其实我不会告诉你们是因为四个零售商发现他们血脉相连是一家,所以要合并啦)。

      那我就可以随便合并IP网段吗?

      不不不。因为我们要保证业界的规定,所以我们尽量保证子网掩码的1位是连续的,这样就造成了,我们必须这样做,要合并的IP要划给主机号的部分必须是全部情况枚举的,网络号也要相等,什么意思呢?

      例如:合并这样的四个IP:

      IPIP第三位的二进制
      192.168.1.00000_0001
      192.168.2.00000_0010
      192.168.3.00000_0011
      192.168.4.00000_0100

      我们发现,其要分配给主机的最后两位确实是符合了两位二进制的全部情况,但是最后一个IP第三位的二进制的0000_0100的倒数第三位和其他的IP不同,所以不可以合并。

      但是我们如果把最后一个IP改为192.168.0.0这样就可以了哦。

      IPIP第三位的二进制
      192.168.0.00000_0000
      192.168.1.00000_0001
      192.168.2.00000_0010
      192.168.3.00000_0011

    发现要分配的后两位符合两位二进制的所有枚举情况,网络位也都相等。

    所以合并之后的对外IP为192.168.0.0网段,而对应的子网掩码,由于网络位分给主机位两位,所以:

    子网掩码第三位对外的子网掩码
    1111_1100255.255.252.0

    好了,喜大普奔了,合并完成。这样,我们的网关路由器所可以接受的网段对外就是192.168.0.0,子网掩码255.255.252.0了。

    对外,由于我们需要不精确的匹配,也就是只要符合255.255.252.0=>(第三位是)1111_1100即可,那就相当于后两位网络位无论是什么都可以匹配上,所以,对外部非直接交付的路由,我们统一按照IP为192.168.0.0,子网掩码为255.255.252.0即可(选0.0是因为这样代表网段,当然别的也可以1.0;2.0;3.0。因为和子网掩码&完之后结果都一样,但是选网段显得更加规范一些)。相当于.0;.1;.2;.3都可以匹配上,本地可以直接交付的网关,根据转发进来的路由,开始进行精确匹配,所以我们内部的PC机IP的子网掩码为255.255.255.0

    思想为:本来其他路由器可能需要在他们的路由映射表中加上这四个IP对应的下一跳地址,此时我们合并后,对外就只需要一个IP即可,对内部还是四个IP,路由器根据接口对应的网段,转发给不同的内部所对应的主机。

个人如有描述有误的地方,请斧正。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值