Home 网络 关于IP、子网掩码、主机位和网络位的计算方法 By FreelyTomorrow Apr 5, 2024 3 min read 关于IP、子网掩码、主机位和网络位的计算方法 如何通过子网掩码和掩码位计算一个IP地址的网络地址和可分配的主机位 什么是子网掩码 子网掩码,即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运算的方法如下: AND 0 1 0 0 0 1 0 1 也就是只说有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 result Decimal(Network) 10110100 11111111 10110100 180 01100001 11111111 01100001 97 01101011 10000000 00000000 0 01011010 00000000 00000000 0 所以,IP 180.97.107.90/17的网络地址为180.97.0.0。 Read Next By FreelyTomorrow Aug 16, 2024 使用Terraform在Ubuntu中部署KVM虚拟机 使用Terraform部署KVM虚拟机的详细流程 运维技术 Terraform KVM By FreelyTomorrow Jun 11, 2024 MySQL/Redis相关面试题 数据库运维(MySQL和Redis)的面试题总结 运维技术 MySQL Redis By FreelyTomorrow May 9, 2024 事件源模式和传统数据库方法在数据管理上的优劣分析 对事件源模式和传统数据库方法在应用程序性能影响、性能、扩展性和可靠性的分析;以及云原生环境下数据管理的最佳实践 云原生 By FreelyTomorrow Apr 24, 2024 关于Metrics_server在自托管环境下无法使用的问题 修复kubernetes的metrics server在自托管环境下因缺少CA证书而无法运行的问题。 Kubernetes
By FreelyTomorrow Aug 16, 2024 使用Terraform在Ubuntu中部署KVM虚拟机 使用Terraform部署KVM虚拟机的详细流程 运维技术 Terraform KVM
By FreelyTomorrow May 9, 2024 事件源模式和传统数据库方法在数据管理上的优劣分析 对事件源模式和传统数据库方法在应用程序性能影响、性能、扩展性和可靠性的分析;以及云原生环境下数据管理的最佳实践 云原生
By FreelyTomorrow Apr 24, 2024 关于Metrics_server在自托管环境下无法使用的问题 修复kubernetes的metrics server在自托管环境下因缺少CA证书而无法运行的问题。 Kubernetes
什么是子网掩码
子网掩码,即subnet mask,是一个用来指明一个IP地址中哪些是网络地址,哪些是主机地址的位掩码,一个典型的子网掩码如下:255.255.255.0
使用子网掩码计算IP的主机
计算方法基于二进制。以最常见的子网掩码255.255.255.0为例,这个子网掩码支持254台主机,这是因为如果将这个子网掩码转换为二进制,结果是
其中二进制数1的部分代表这是已被占用的位,即网络位,0的部分代表这是未被占用的位,即主机位,因此主机位从00000000到11111111就是十进制从0到255,除去预留的0和255用于表示网络本身和广播,这个网段有254个可分配的主机位。
再举一个例子,255.255.255.192换成二进制就是
一共有6个位可以用来分配主机位,从000000到111111就是十进制从0到63,一共64位,除去000000用来标识子网本身和111111用作广播,因此一共有62位可以用来分配主机位
掩码位(CIDR)
掩码位是跟在IP地址后面用来标识子网掩码的数字,一个例子如下:192.168.0.1/24。
掩码位实际上就是子网掩码中1的数量,24就是
一共24个1,换成十进制就是255.255.255.0,因此也可以得出,24就是表示这个子网掩码有24个网络位和8个主机位。
同理,/25就是
也就是255.255.255.128,再根据子网掩码的计算方法就可以计算出这个网络有多少可用的主机位。
第二种方法
另外一种方法更简单,已知网络位有24为,主机位有8位,由于在二进制下每个主机位有0和1两种状态,因此主机位共有2的8次方个,也就是256个,除去用于表示子网的0位和用于广播的255位,该网络共有254个可分配的主机位。
使用子网掩码计算IP的网络地址
计算网络地址主要运营的是IP地址的二进制和子网掩码的二进制的每一位二进制数进行AND运算,这里以这个IP为例:180.97.107.90/17
AND运算的方法如下:
也就是只说有1 AND 1 = 1,其他都是0。
那么根据这个IP:180.97.107.90/17,我们可以得知,首先它的掩码位是17,因此,它的子网掩码是
再将IP转换为二进制,结果是:
进行AND运算:
所以,IP 180.97.107.90/17的网络地址为180.97.0.0。
Read Next
使用Terraform在Ubuntu中部署KVM虚拟机
使用Terraform部署KVM虚拟机的详细流程
MySQL/Redis相关面试题
数据库运维(MySQL和Redis)的面试题总结
事件源模式和传统数据库方法在数据管理上的优劣分析
对事件源模式和传统数据库方法在应用程序性能影响、性能、扩展性和可靠性的分析;以及云原生环境下数据管理的最佳实践
关于Metrics_server在自托管环境下无法使用的问题
修复kubernetes的metrics server在自托管环境下因缺少CA证书而无法运行的问题。