另类的IP子网算法 256进字节位分块快速算子网法【原创】

原创文章,转载必须留着文章出处

 

256进字节位分块快速算子网法

   一般的人算子网都会把数字化为二进制数值,这种方法是最传统的,也是最容易理解的,但由于我们不是计算机,在考试等特殊的场合我们没必要浪费这么多时间到转换进制这个地方来。以下我我自己算子网的一些方法的总结,希望对大家有用:

 

   我管这种方法叫“256进字节位分块法”名字好长吧。

 

    要学习这个,我们先要明白以下概念:
             1.256进字节位
             2.分块
             3.极限

第一.256进字节位


      我们一个字节最多能表示0--255共256个数 好比我们的数学10进制一个位能表示0-9共10个数那样,当9+1,就会向前+1.我们255+1也不例外,要向前+1,例如 192.168.0.255 +0.0.0.3= 192.168.1.2 我的意思大概明白了吧,就是以字节为位,遇到256就进位所以我把这个叫256进字节位

我们把IP地址分成4个字节位,从右到左第一位表示0-255 第二位表示 (0-255) X 256,第三位是(0-255)X255^2 反正就是(0-255)X256^N-1 (N为字节位数) 例如 0.0.2.0表示10进制的 2X256 =512, 0.2.0.0表示10进制2X256^2=2X65536=1031072.

 

记住公式:到十进制(a.b.c.d)= a*256^3+b*256^2+c*256+d

 

第二.分块:


      在划分子网中,其实就是不停地在把主机数分割成块,子网掩码每向后借一位,划成2块,从而使主机IP数(连同网络和广播IP一起算的)减半,令子网数目X2 ,每向前借一位,则主机IP数(连同网络地址和广播地址)X2 子网数/2 ,由此可见,主机数ip和子网数(连同IP地址)的积恒定的. 为了不跟主机数(不连同网络地址)的概念混起来,我自己引入块的概念: 块就是包含广播地址和网络地址的所有IP数目.块=主机IP数+2,而块与子网掩码的关系是:1.0.0.0.0 - 子网掩码 = 块,这是连续的0 的补码二进制运算方法推算出来的,因为块的大小刚好是子网掩码的补码值.

 

记住:主机IP数*网络数=恒定(=原来网络的极限)  块=主机数+2= 到十进制(1.0.0.0.0 - 子网掩码)


第三 有类极限


      有类的意思是IP被分为A B C D类,而我这个有类只是看子网掩码,不看它的IP。标准的IP子网掩码能表示最大的块我自己叫它做有类极限.假设按照位的公式来算

C类子网掩码: 255.255.255.0,C类极限 = 到十进制(1.0.0.0.0-255.255.255.0)=256
B类子网掩码: 255.255.0.0,  B类极限=到十进制  (1.0.0.0.0-255.255.0.0)=256*256=65536 (int)
A类子网掩码: 255.0.0.0      A类极限= 到十进制 (1.0.0.0.0-255.0.0.0)=256*256*256=1777216

一般我们只要记得C和B类极限即可


      当然,也会有无类极限,也就是说子网掩码不规则的,例如255.255.255.240 它的极限就是它的最大的块=16 由于划分的时候大多数是给出有类的网络给我们划分的多,因此记住有类极限能省去很多计算时间

 

      好了。三个概念都已经讲完了,那我们应该怎么算?其实算子网无非两种,已知子网掩码算子网数和主机数或IP段、已知子网数或者主机数,算子网掩码或IP段。

在说之前,我要说明一下:前一IP段的网络地址=后一IP段网络地址-块
                        前一IP段的广播地址=后一IP段的网络地址-1

第一:已知子网掩码,算主机数、ip段:

1算出块 块=到十进制(1.0.0.0.0 - 子网掩码)

2主机数=块-2

3IP段 就是一直累加块 因为:前一IP段的广播地址=后一IP段广播地址-块

4子网数=极限/块

例:求192.168.0.0 /23的网络的子网主机数和前四个子网的ip段。

首先,看到子网掩码长度为23 表示这个192.168的C类地址,是按B类地址来用。
23长度的子网掩码= 255.255.254.0

块=到十进制(1.0.0.0.0-255.255.254.0)=到十进制(0.0.2.0)=512
主机数=块-2=512 -2=510
子网数=B类极限/块 256*256/512=128

那么,所有的子网的ip段是:按 网络地址--广播地址 格式写
192.168.0.0--192.168.1.255 (其实是192.168.2.0-1)
192.168.2.0(其实是192.168.0.0+0.0.2.0)--192.168.3.255
192.168.4.0--192.168.4.255
192.168.5.0--192.168.6.255

 

第二:已知子主机数/子网数 算子网掩码ip段

1算块 主机IP数+2 (主机IP数=2^n-2>=主机数 (N为整数) )或者=极限/子网数 (子网数=2^n>=要求子网数)
2算子网掩码 子网掩码= 1.0.0.0.0-块
4算IP段 累加块

例:某部门要有3个组,最大的组有31人,现在打算把C类地址192.168.1.0进行划分,要求不同组在不同子网里,如何划分,请写出子网掩码和IP段

2^6-2=62>31 因此主机IP数为 62
块=64
子网掩码= 1.0.0.0.0-64 =255.255.255.(256-64)=255.255.255.192
子网数量=c类的极限/块 =256/64=4>3 符合子网数要求

子网IP段
192.168.1.0 /26
192.168.1.64 /26
192.168.1.128/26
192.168.1.192/26

按我这种算法,就可以避免十进制化二进制的繁忙计算.加快计算速度,特别是在算C类地址的时候,计算速度简直就是可以秒杀来形容.

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值