不背公式快速计算IP地址掩码---游码法
Posted zhzblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不背公式快速计算IP地址掩码---游码法相关的知识,希望对你有一定的参考价值。
专注网络运维,只发实用干货
扫描二维码关注公众
不背公式快速计算IP地址掩码---游码法
这个方法来自于大学时期某位已经被我忘记名字的老师(老师对不起了),思路是将2^n次方(n=0-7)当作8个重量不等的砝码,放在天平秤上做平衡,以此称量出掩码,最后得出想要的子网范围。ps:看本文之前请预习IP地址基础知识,这里只讲算法;
首先请记住下面这张表,至少看一分钟:
表格中间的八个数就是我们的砝码,如果是真的坚持看了一分钟的同学,首先佩服你的耐心,其实不需要看那么久,然而你是否发现了规律?
每个数的二进制中的 “1” 刚好对应IP地址格式1/4区间8bit的其中一位,也可以说是每个砝码对应8bit掩码中的一个bit位,八个砝码相加二进制正好是全1,十进制是255;
描述有点绕口,请看下图示例:
现在我们把掩码往前挪一位,变成了下图所示:
最后当8个bit位全部变为0,掩码就变成了255.255.255.0,也就是/24位。
这个过程是否像是一杆天平秤的两端,分别是掩码位数和砝码,为了要保持平衡,掩码往前挪一位,就要拿掉一个对应位置的砝码。那么如何用砝码来确定掩码呢?我们通过两个题目来说明:
题目1,假设需要35个主机IP,从192.168.1.0/24这个C类网段中划分合适的子网;
step 1:从小到大加砝码,加到≧35为止;
2^0+ 2^1 + 2^2 + 2^3 + 2^4 + 2^5 = 1 + 2 + 4+ 8 + 16 + 32 = 63 ≧35
step 2:确定掩码;
数一数我们拿掉了六个砝码才满足需求的主机数量,剩下128和64两个砝码,那么现在的掩码应该是1100 0000<==>192,完整的掩码就是255.255.255.192,也就是/26位。
step 3:划分IP地址块;
用step 1拿掉的砝码总重量+1,或者256减去剩下的砝码(128+64),就是IP地址块的大小,这里=64,IP子网的网络号就是0-256区间内64的整数倍,这里是0、64、128、192,完整的写出就是:
192.168.1.0/26、
192.168.1.64/26、
192.168.1.128/26、
192.168.1.192/26 四个子网。
题目2,已知某个IP地址和掩码,假设IP为192.168.1.56/27,求所属子网;
step 1:快速算出十进制掩码;
/27位掩码相当于/24位掩码bit位往后挪3位,快速得出以下计算过程:
掩码 /27 ==> 255.255.255.(1110 0000) ==>255.255.255.(128+64+32 前三个1bit对应的砝码相加) ==>255.255.255.224;
step 2:计算地址块大小和可用子网:
地址块为256-224=32,可用子网为0-256区间内地址块大小的整数倍,这里是0、32、64、96、128、160、192、224八个子网,其实不用算完,我们已经知道了192.168.1.56/27属于192.168.1.32/27子网,去掉网络号和广播号,可用IP为33-62;
不论IP和掩码是A B C D E类多少位,都可以用此方法,我们只需要计算掩码位有变化的那个8bit区间就可以了,后面的全部补0;
砝码心中留,IP在我手;此方法开始可能记不住砝码大小和对应的掩码位,但是熟悉之后绝对比公式计算快N倍;如果文中有错误或者疑问的,请给我留言;
专注网络运维,只发实用干货
扫描二维码关注公众
以上是关于不背公式快速计算IP地址掩码---游码法的主要内容,如果未能解决你的问题,请参考以下文章