题目与思路
需求是一段地址要容纳五百台终端,要求给出合适的掩码与实际网段。解题思路是反推:先用二的幂次试算可用主机数,找到第一个不小于需求的前缀长度,再确定网络地址必须满足的对齐条件,最后验算首尾地址与可用数量是否吻合。
试算过程
二十四位前缀可用二百五十四个地址,不够;二十三位可用五百一十个,刚好满足。因此选二十三位。二十三位前缀在第三段借用了一位,所以第三段必须是偶数,起点不能落在奇数上;取十点十点一百开头的地址时,一百是偶数,天然对齐。
基本信息
| 需求 | 五百台终端 |
|---|---|
| 试算 | 二十四位可用二百五十四,不够;二十三位可用五百一十,满足 |
| 结论 | 二十三位前缀,网段取十点十点一百开头 |
| 对齐条件 | 第三段必须为偶数 |
| 可用数量 | 五百一十个,余量仅十个 |
典型使用场景
- 大型办公区规划:单层或整栋楼的终端集中在一段时,用该前缀既能装下又便于统计
- 宿舍与公寓网络:终端数量集中在几百台量级,按此反推方法可直接得出方案
- 培训与考试:这是反推类题目的标准题型,练熟后可以迁移到其他数量
- 容量复核:已有网段出现地址不足时,按同样的试算方法判断是否需要扩段
- 方案论证:论证为什么不能选更小的前缀,试算过程本身就是最有力的说明
- 广播域评估:算完容量还要评估广播域规模,几百台同段属于偏大的情况
边界验算
边界验算
python -c "import ipaddress as ip; n=ip.ip_network('10.10.100.0/23'); print(n.network_address, n.broadcast_address, n.num_addresses - 2)"
# 输出:10.10.100.0 10.10.101.255 510
# 网络地址到广播地址覆盖两段,可用主机正好五百一十个试算对照
| 前缀 | 可用主机 | 是否满足 | 结论 |
|---|---|---|---|
| 二十四位 | 二百五十四 | 不满足 | 差两百多台 |
| 二十三位 | 五百一十 | 满足 | 余量仅十个 |
| 二十二位 | 一千零二十二 | 满足但偏大 | 用于汇总计量更合适 |
| 二十五位 | 一百二十六 | 不满足 | 差距明显 |
五百与五百一十几乎没有余量:实际项目应当评估改用二十二位,或者按楼层与部门拆分成多个小网段;几百台终端放在同一个广播域内,规模本身也偏大。
反推类题目的通用步骤是固定的:先按二的幂次试算,再确定前缀长度,最后验证起点对齐要求。第三步最容易被忽略,把奇数起点当成合法网络地址是常见失分点。