通过MCP连接 →

输入计算

数学公式

广告

结果

已分配的子网
4
total addresses used: 116
所需数量 网络地址 前缀 可用地址 首个主机 末个主机 广播地址
50 192.168.1.0 /26 62 192.168.1.1 192.168.1.62 192.168.1.63
20 192.168.1.64 /27 30 192.168.1.65 192.168.1.94 192.168.1.95
10 192.168.1.96 /28 14 192.168.1.97 192.168.1.110 192.168.1.111
2 192.168.1.112 /30 2 192.168.1.113 192.168.1.114 192.168.1.115

什么是 VLSM 计算器?

可变长子网掩码(VLSM,Variable Length Subnet Masking)允许网络工程师把一个 IP 地址块划分成大小不一的子网,让每个子网的容量正好匹配它实际需要的主机数量。相比固定长度子网划分,这种做法能避免大量地址被白白浪费。本计算器接收一个基础网络地址和一组主机数量需求,然后按从大到小的顺序,连续地分配出各个子网。

使用方法

先填入起始网络地址(例如 192.168.1.0),再用英文逗号分隔,列出每个子网需要支持的主机数量(例如 50, 20, 10, 2)。工具会把这些需求从大到小排序,依次为每个需求分配恰好能容纳它的最小子网,并首尾相接地紧凑排列,做到地址空间零浪费。

计算公式详解

对于每个主机数量需求 h,除了要容纳 h 台主机,还得预留一个网络地址和一个广播地址,因此总共需要 \(h + 2\) 个地址。前缀长度为

$$\text{Prefix} = 32 - \left\lceil \log_{2}\!\left( \text{Hosts} + 2 \right) \right\rceil$$

地址块大小为

$$\text{Block Size} = 2^{\,32 - \text{Prefix}}$$

举例来说,50 台主机需要 52 个地址;\(\lceil \log_{2}(52) \rceil = 6\),所以前缀为 /26,地址块包含 64 个地址,可用主机数为 62。

Advertisement
Diagram showing a host count rounded up to the next power of two to determine subnet block size and prefix length
Each host requirement is rounded up to the next power of two (plus network and broadcast) to set the subnet block size and prefix.

实例演示

基础网络为 192.168.1.0,需求为 50、20、10、2:容纳 50 台主机的 LAN 分到 /26(64 个地址),起始于 192.168.1.0;容纳 20 台主机的子网分到 /27(32 个地址),起始于 192.168.1.64;容纳 10 台主机的子网分到 /28(16 个地址),起始于 192.168.1.96;用于 2 台主机点对点链路的子网分到 /30(4 个地址),起始于 192.168.1.112。总共占用 116 个地址。

A large base network block divided into variable-sized subnet blocks of decreasing size
VLSM packs subnets of different sizes into the base network, largest first, with no wasted address space.

常见问题

为什么要 +2 台主机?每个 IPv4 子网都会保留一个地址作为网络号,另一个作为广播地址,所以可用主机数等于地址块大小减二。

为什么要从大到小排序?先分配最大的子网,可以让各个地址块对齐到它们各自的自然边界,从而避免地址碎片化。

实际中最小的子网是多大?/30 提供 2 个可用主机地址,非常适合路由器之间的互联链路;在不需要广播的点对点场景下,有时也会用到 /31。

最后更新: