在做网络规划或者准备网络工程师考试的时候,主机数计算是绕不开的基础知识点。很多人第一次接触时容易被各种数字绕晕,其实只要抓住一个核心公式,再配合几个例子练一练,很快就能上手。这篇文章就用大白话把主机数计算讲清楚。
主机数计算的核心公式
先记住一句话:主机位有 n 位,理论上的主机总数就是 2 的 n 次方。但在实际使用中,每个网段里有两个地址是不能分配给设备的,一个是主机位全为 0 的地址,代表网络本身,叫网络地址;另一个是主机位全为 1 的地址,用来代表本网段所有主机,叫广播地址。所以真正能用的主机数量就是:
可用主机数 = 2 的 n 次方 减 2。
举个例子,主机位有 8 位,那么 2 的 8 次方等于 256,减去 2,可用主机数就是 254 台。这就是为什么常见的 C 类网段 192.168.1.0/24,最大可用主机是 254 台。
怎么确定主机位有多少位
计算主机数之前,得先知道主机位是多少。方法很简单:主机位数等于 32 减去网络前缀长度。网络前缀就是我们常说的斜杠数字,比如 /24、/26。子网掩码也可以换算成前缀长度,掩码里二进制 1 的个数就是前缀长度。
比如子网掩码是 255.255.255.0,前面三段 255 一共是 24 个 1,所以前缀就是 /24,主机位就是 32 减 24 等于 8 位。再比如掩码是 255.255.255.192,最后一个 192 换成二进制是 11000000,有 2 个 1,加上前面 24 个,前缀就是 /26,主机位是 32 减 26 等于 6 位。
几个常见网段的主机数对照
记住几个常用值,工作中直接套用就行:
/24 网段:主机位 8 位,可用主机 254 台;
/25 网段:主机位 7 位,可用主机 126 台;
/26 网段:主机位 6 位,可用主机 62 台;
/27 网段:主机位 5 位,可用主机 30 台;
/28 网段:主机位 4 位,可用主机 14 台;
/29 网段:主机位 3 位,可用主机 6 台;
/30 网段:主机位 2 位,可用主机 2 台,这种经常用在点对点链路上。
可以看出一个规律:前缀每加 1,可用主机数大约减一半。掌握了这个规律,就算记不住全部数字,现场推一下也很快。
结合实际例子算一遍
假设公司有一个网段 192.168.10.0/26,要算可用主机数。前缀是 26,主机位就是 6 位,2 的 6 次方是 64,减 2 之后等于 62。所以这个网段最多能接 62 台设备,可用地址范围是 192.168.10.1 到 192.168.10.62,其中 192.168.10.0 是网络地址,192.168.10.63 是广播地址,这两个都不能给主机用。
再比如掩码是 255.255.252.0 的网段,252 换成二进制是 11111100,全掩码一共 22 个 1,前缀就是 /22,主机位 10 位,可用主机数就是 2 的 10 次方减 2,等于 1022 台。
规划网络时的实用建议
实际做地址规划时,别光算够不够用,要留点余量。比如一个部门现在有 50 台电脑,如果直接用 /26(62 台)看似够,但考虑到后续加打印机、监控、手机终端,很快就会紧张,用 /25(126 台)更稳妥。反过来,两个路由器之间的互联链路只用两个地址,给 /30 就行,没必要浪费一个 /24。
还有一点要注意,有些新型网络环境支持 31 位前缀的点对点链路,也就是 2 的 1 次方减 2 等于 0 的情况下也能用,这是 RFC 3021 的特殊规定,但常规场景还是按减 2 的规则来算。
总结
主机数计算说白了就三步:第一步把子网掩码换算成前缀长度;第二步用 32 减去前缀长度得到主机位数;第三步套公式 2 的 n 次方减 2,得出可用主机数。把这个流程练熟,不管是日常组网、地址规划,还是考证书,都不再是难题。
