子网划分【概念+实操+理解】

想象一下,一个公司划分了一个巨大的IP网段 192.168.0.0/16(包含65534个可用IP地址)。如果所有设备都在同一个大网段里,会带来三个问题:

广播风暴: 任何一台设备发送的广播包(如ARP请求)都会淹没整个大网络,消耗所有设备的带宽和CPU资源;

安全风险: 缺乏边界,任何设备都可以直接监听和访问其他设备,难以实施安全策略。

管理困难: 难以针对不同部门(如财务部、技术部)进行独立的网络管理和故障排查。

原理

子网划分的本质是从主机位**"借"** 一些比特位到网络位,从而创建更多的网络,但每个网络可容纳的主机数量会相应减少。

实操1

有一个c类网络192.38.12.0需要划分为5个能容纳20台的子网网络,子网掩码设置多少合适?

子网掩码要从主机号借的(从主机号借来的子网位,本质上就是把它变成了 "更细分的网络号")

那么

IP地址=网络位+子网位+主机位

借几个子网位呢???理解

我们现在要,从主机号借来的子网位,把它变成了 "更细分的网络号",要借几个呢,不确定,

如果我们借1位呢,我们不是二进制吗,这里一位上只能写0或者是1,当我们借了1位时也就是可以分成两个更细的网段

C类原来不是 110网络号.网络号.网络号.子网位+主机位吗

我们借1位就变成

110网络号.网络号. 网络号.0+主机号

110网络号.网络号. 网络号.1+主机号

我们就拥有了两个更细的小网段,也就是2的1次方个小网段

我们借2位呢

110网络号.网络号. 网络号.00+主机号

110网络号.网络号. 网络号.01+主机号

110网络号.网络号. 网络号.10+主机号

110网络号.网络号. 网络号.00+主机号

我们就拥有了四个更细的小网段,也就是2的2次方个小网段

当我们不知道要借几位,我们现在只知道我们想分成5个6个或者20个小网段,子网的时候,就想一想2的几次方大于等于这个我们的目标子网

我们用n和m来代替主机号方便理解计算

主机号=子网位(n)+主机位(m)

n: 需要借用多少个主机位作为子网位,计算公式:>= 需要子网数

  • 子网位 n 是你从主机位借来的比特数,每一位都可以是 0 或 1
  • 所以 n 位二进制,最多能表示 2ⁿ 种不同的组合,对应 2ⁿ 个不同的子网

m: 子网需要的主机个数, 计算公式: -2 >= 需要主机个数

  • 主机位 m 是剩下的比特数,理论上能表示 2ᵐ 个地址
  • 但有两个地址不能分配给设备 :
    • 主机位全 0:代表这个子网的网络地址(网段)
    • 主机位全 1:代表这个子网的广播地址
  • 所以可用主机数必须减去这 2 个

c类网络的子网掩码是255.255.255.0=11111111.11111111.11111111.00000000

我们现在要求划分5个子网

>= 5 那么这个 n取3 代表我们从主机位借3位

  • 题目要 5 个子网,2²=4 不够,2³=8 ≥ 5,所以必须借 3 位 当子网位

-2 >=20 m取5 代表主机位

  • 题目要 20 台主机,2⁴-2=14 不够,2⁵-2=30 ≥ 20,所以主机位必须留 5 位

最后剩下8个主机号刚好用完

11111111.11111111.11111111.11100000=255.255.255.224

相关推荐
程序员大雄学编程1 分钟前
crontab 脚本不写日志?我把 7 个原因在 Ubuntu 上逐个复现了一遍
运维
广目软件20 分钟前
HA分布式架构采集节点变更操作手册20261029
运维·服务器·ansible·zabbix·prometheus
米优21 分钟前
linux下获取崩溃程序的core文件
linux·运维·服务器
半杯咖啡半行码22 分钟前
QML进阶指南:状态动画与模型视图实战详解
运维·qml
qeen8727 分钟前
【Linux】动静态库的制作使用及ELF文件的宏观理解
linux·运维·库
xie8810180235 分钟前
正则里的点号不匹配换行:多行模式的开关
运维·服务器·测试工具
是jin奥44 分钟前
Claude Code + GitHub 自动化工作流整理
运维·自动化·github
wefg11 小时前
【Docker】基本指令
运维·docker·容器
垆边人似月.1 小时前
RDMA项目踩坑(一):为什么最后一块数据必须使用实际长度?
网络·c/c++·rdma·高性能io·tcp与rdma
YH_Analytics1 小时前
2026 高压 E-House 市场深度分析报告市场格局
网络·数据库