698 字
3 分钟

子网掩码计算

什么是子网掩码#

子网掩码,即subnet mask,是一个用来指明一个IP地址中哪些是网络地址,哪些是主机地址的位掩码,一个典型的子网掩码如下:255.255.255.0

使用子网掩码计算IP的主机#

计算方法基于二进制。以最常见的子网掩码255.255.255.0为例,这个子网掩码支持254台主机,这是因为如果将这个子网掩码转换为二进制,结果是 11111111.11111111.11111111.0000000000 其中二进制数1的部分代表这是已被占用的位,即网络位,0的部分代表这是未被占用的位,即主机位,因此主机位从00000000到11111111就是十进制从0到255,除去预留的0和255用于表示网络本身和广播,这个网段有254个可分配的主机位。 再举一个例子,255.255.255.192换成二进制就是 11111111.11111111.11111111.11000000 一共有6个位可以用来分配主机位,从000000到111111就是十进制从0到63,一共64位,除去000000用来标识子网本身和111111用作广播,因此一共有62位可以用来分配主机位

掩码位(CIDR)#

掩码位是跟在IP地址后面用来标识子网掩码的数字,一个例子如下:192.168.0.1/24。 掩码位实际上就是子网掩码中1的数量,24就是 11111111.11111111.11111111.00000000 一共24个1,换成十进制就是255.255.255.0,因此也可以得出,24就是表示这个子网掩码有24个网络位和8个主机位。 同理,/25就是 11111111.11111111.11111111.10000000 也就是255.255.255.128,再根据子网掩码的计算方法就可以计算出这个网络有多少可用的主机位。

第二种方法#

另外一种方法更简单,已知网络位有24为,主机位有8位,由于在二进制下每个主机位有0和1两种状态,因此主机位共有2的8次方个,也就是256个,除去用于表示子网的0位和用于广播的255位,该网络共有254个可分配的主机位。

使用子网掩码计算IP的网络地址#

计算网络地址主要运营的是IP地址的二进制和子网掩码的二进制的每一位二进制数进行AND运算,这里以这个IP为例:180.97.107.90/17 AND运算的方法如下:

AND01
000
101

也就是只说有1 AND 1 = 1,其他都是0。 那么根据这个IP:180.97.107.90/17,我们可以得知,首先它的掩码位是17,因此,它的子网掩码是 11111111.11111111.10000000.00000000 再将IP转换为二进制,结果是: 10110100.01100001.01101011.01011010 进行AND运算:

Binary(IP)Binary(mask)AND resultDecimal(Network)
101101001111111110110100180
01100001111111110110000197
0110101110000000000000000
0101101000000000000000000

所以,IP 180.97.107.90/17的网络地址为180.97.0.0; 若要计算它有多少主机位

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
子网掩码计算
https://white-festa.net/posts/子网掩码/
作者
常世常暗
发布于
2024-04-05
许可协议
CC BY-NC-SA 4.0
最后更新于 2024-04-05,距今已过 627 天

部分内容可能已过时

评论区

目录