【计网】子网划分

  • 任何 IPv4 地址本质上是 32 位二进制数

  • 子网掩码用 32 位“1/0”位图 指出“网络位”(1) 与“主机位”(0) 的分界。

  • IP地址子网掩码 做逐位 AND(按位与)即可得到该地址所在的“网络地址”;把主机位全置 1 即可得到“广播地址”。


一、为什么要子网划分?

  1. 节省IP地址资源
    一个大的网络(如 /16)如果不划分子网,可能导致大量IP地址闲置。

  2. 网络管理灵活
    不同部门、楼层、业务系统可以分配不同子网,便于管理和隔离。

  3. 提升网络性能和安全性
    子网之间的广播受限,避免广播风暴;子网间通信可通过路由器控制,更易设定访问权限。


二、子网划分的基本概念

1 . IPv4 地址结构

进制表示示例含义位数
二进制11000000 10101000 00000001 000000014 个字节,每 8 位一组32 位
十进制点分192.168.1.1每字节转为 0–255 的十进制4 × 8 位

2.IP地址分类规则(基于二进制最高位)

类别二进制首字节最高位特征十进制首字节范围网络号长度(位)主机号长度(位)用途说明
A类0xxxxxxx0 - 127824大型网络,少量网络,多量主机
B类10xxxxxx128 - 1911616中型网络
C类110xxxxx192 - 223248小型网络
D类1110xxxx224 - 239--多播地址
E类1111xxxx240 - 255--保留及实验用地址

3.CIDR:Classless Inter-Domain Routing(无分类域间路由,1993 年提出)

CIDR 的本质是:掩码长度可以是 0–32 之间的任意整数,与首字节无关。

  • 只要您写成 /nn 就是网络位数;

  • 掩码里“1”的个数就是 n

  • 网络边界可以落在任何比特位,不必 8 位一跳。

  • 在早期的IP协议分类中,掩码是死的,是人硬性规定的,是固定的,不是算出来的。

  • 所以说“子网划分点完全由子网掩码决定”。在 CIDR 语境里,“类 A/B/C”只剩下历史价值,真正的路由和地址分配全靠 /n 前缀。


4. 子网掩码的本质与表示

4.1 子网掩码是什么?

子网掩码(subnet mask) 是与 IPv4 地址同样长度的 32 位二进制数,用来区分 网络位主机位

  • 掩码中的 1 表示这一位属于 网络号

  • 掩码中的 0 表示这一位属于 主机号

只要把 IP 地址与子网掩码逐位做 AND 运算,就能得到“网络地址”(又称网段号)。
相反,把主机位全部置 1,就得到该网段的“广播地址”。

4.3 表示方法

例一:

表示形式示例说明
点分十进制255.255.255.192每 8 位写成 0–255(十进制)
CIDR 斜线记法/26斜线后的数字是 网络位个数(即掩码中 1 的个数)

 /26255.255.255.192 完全等价:
11111111.11111111.11111111.11000000 → 前 26 位为 1。

例二:

IPv4 地址和子网掩码都是 32 位。下表把 192.168.1.1/24 写成完整二进制,并用竖线标出 /24 划分点

IP地址:11000000 10101000 00000001 00000001 
掩 码:11111111 11111111 11111111 00000000 
      ↑—-———— 网络 24 位 —--————↑│↑8位主机↑|
  • “网络位”就是掩码里为 1 的那 24 位,统一标识同一网段;

  • “主机位”就是掩码里为 0 的剩余 8 位,用来区分同一网段里的各台主机。

4.3 IP地址与子网掩码

项目含义
IP地址唯一标识主机,如 192.168.1.1
子网掩码用于划分“网络位”和“主机位”的边界,如 255.255.255.0

IP地址 = 网络号 + 主机号
子网掩码 = 网络部分用1,主机部分用0

例如:

IP地址子网掩码网络位数主机位数
192.168.1.1255.255.255.0 (/24)248

4.4 掩码与子网/主机容量

  • 原网络位 = N₀(例如 C 类默认 24 位)

  • 你想再分出 n 位做“子网号”

  • 新掩码网络位 = N = N₀ + n

  • 剩余主机位数 m = 32 − N

目标公式
子网数量2ⁿ
每子网可用主机数2ᵐ − 2(减去网络地址和广播地址)

示例

原来 192.168.1.0/24(N₀ = 24)要分 4 个子网 → 4 = 2² ⇒ n = 2
新掩码 /26,主机位 m = 32 − 26 = 6

  • 子网数 2² = 4

  • 每网主机数 2⁶ − 2 = 62

4.5 快速换算技巧

快速任务做法
斜线 → 点分把网络位数 N 除以 8:
完整的 8 位段全部写 255;
剩余 <k> 位用公式 256 − 2⁽⁸⁻ᵏ⁾
点分 → 斜线把四段换成二进制并数 “1” 的个数。
判断同网对两台主机:IP ∧ MASK 结果相同 ⇒ 同一子网。
求广播地址IP

例: /27

  • N = 27 ⇒ 完整 3 段 255;27-8*3=3即剩 3 位 → 256 − 2⁵ = 224 ⇒ 255.255.255.224.

4.6 常见掩码速查表

前缀掩码单网可用主机
/30255.255.255.2522
/29255.255.255.2486
/28255.255.255.24014
/27255.255.255.22430
/26255.255.255.19262
/25255.255.255.128126
/24255.255.255.0254

5.子网划分的计算步骤

192.168.1.0/24 为例,我们希望将它划分为4个子网。

5.1 步骤1:确定要划分的子网数量

  • 4个子网 => 需要再借用2位主机位(2^2 = 4)

5.2 步骤2:新子网掩码

  • 原为 /24,再借2位 => /26

  • 子网掩码变为:255.255.255.192

5.3 步骤3:确定子网范围

每个子网间隔是 2^(8-2) = 64 个IP地址

子网编号子网网络地址可用主机范围广播地址
子网1192.168.1.0/26192.168.1.1 ~ 62192.168.1.63
子网2192.168.1.64/26192.168.1.65 ~ 126192.168.1.127
子网3192.168.1.128/26192.168.1.129~190192.168.1.191
子网4192.168.1.192/26192.168.1.193~254192.168.1.255

每个子网保留两个特殊地址:网络地址和广播地址,可用主机数 = 2ⁿ - 2

5.4 子网划分的常用公式

  • 可用子网数:2^借用位数

  • 每个子网的主机数:2^主机位数 - 2

  • 子网增量(Block Size):256 - 子网掩码的变化位所在的字节

例如:/26 => 最后一段为192,增量是 256 - 192 = 64


6.示例:192.168.1.1/24 逐步剖析

要求:将192.168.1.1/24划分到4个子网中

步骤说明二进制结果
① IP → 二进制192.168.1.111000000 10101000 00000001 00000001
② 掩码 → 二进制/24255.255.255.011111111 11111111 11111111 00000000
AND 运算得网络地址11000000 10101000 00000001 00000000
④ 转十进制网络地址192.168.1.0
⑤ 主机位全 1广播地址192.168.1.255
  • 网络位数 = 24 → 主机位数 = 32 − 24 = 8(主机位数=32-网络位数)

  • 可用主机数 = 2⁸ − 2 = 254(去掉全 0 与全 1)


7.更细粒度:把 /24 再细分为 /26(即把可用主机数254再进行划分)

  1. 2 位主机位 → 新掩码 /26 (此时新的子网掩码为255.255.255.192)——为什么借2位主机位?因为2^2=4(4个子网)

  2. 子网块大小256 − 192 = 64

  3. 4 个子网(0–63、64–127、128–191、192–255):

子网网络地址主机范围广播地址
0192.168.1.0/26192.168.1.1 – 192.168.1.62192.168.1.63
1192.168.1.64/26

192.168.1.65 – 192.168.1.126

192.168.1.127
2192.168.1.128/26192.168.1.129 – 192.168.1.190192.168.1.191
3192.168.1.192/26192.168.1.193 – 192.168.1.254192.168.1.255

每个子网保留两个特殊地址:网络地址和广播地址,可用主机数 = 2ⁿ - 2

每个子网主机位 = 6 位 → 2⁶ − 2 = 62 台可用主机。


8.常见运算与技巧

任务快速做法
计算主机数2^(32−前缀) − 2
子网增量 / Block Size256 − 子网掩码变化字节,如 /26 → 256 − 192 = 64
判断两主机是否同网对两 IP 与掩码分别 AND,结果相同即同一子网
反推掩码给定主机位数 h:掩码前缀 = 32 − h

9.常见误区澄清

  1. 广播地址≠全 255:它是“该子网主机位全 1”;与实际数值相关。

  2. 网络地址≠掩码:网络地址是 IP 与掩码“AND”后的结果。

  3. 末尾 .0 不一定是网络地址:要结合掩码判断(如 /30 中 10.0.0.0 和 10.0.0.4 都可能是网络号)。


三、进阶知识:子网划分 VS 超网合并

项目子网划分(Subnetting)超网合并(Supernetting)
目标把大网分小把小网合并大
方法增加网络位减少网络位
应用场景局域网内部管理路由表聚合,提升效率

四、举例练习

  1. 10.1.0.0/20 的可用主机数是多少?

  2. 172.16.0.0/16 划分为 500 个以上 子网,需要多少前缀位?

  3. 判断 192.168.50.130192.168.50.200/26 掩码下是否同网。

  4. 10.0.0.0/16 要划分为至少 1000 个子网,该怎么做?

  • 原网络:16位网络位

  • 1000个子网 => 2^10 = 1024,需借10位

  • 新网络位数 = 16 + 10 = 26

  • 所以:每个子网是 /26

子网划分是将一个大型网络划分为多个较小的逻辑子网,以提高网络管理效率和安全性。以下是子网划分的方法和步骤: 1. **确定需求**:首先需要明确每个子网所需的主机数量以及子网的数量。例如,在给定的C类IP地址(如192.168.1.0)的情况下,如果单位有100台计算机分布在两个不同的地点,则每个地点大约需要50台计算机。 2. **计算子网掩码**:根据所需主机数来确定子网掩码。对于50台主机的需求,至少需要6位用于主机标识(因为2^6 = 64,而2^5 = 32不足以满足需求)。因此,剩下的前缀长度为32 - 6 = 26位,这意味着子网掩码为255.255.255.192。 3. **分配子网号**:基于计算出的子网掩码,可以划分出多个子网。对于上述情况,可以将192.168.1.0/24网络划分为两个子网: - 第一个子网:192.168.1.0/26,其可用IP范围是从192.168.1.1到192.168.1.62。 - 第二个子网:192.168.1.64/26,其可用IP范围是从192.168.1.65到192.168.1.126 [^1]。 4. **验证配置**:在实验室环境中,可以通过设置路由器接口的IP地址并测试连通性来验证子网划分是否正确。此外,还可以使用命令行工具如`ping`或`traceroute`来进行网络诊断。 5. **配置路由信息**:一旦子网划分完成并通过验证,就需要更新路由器上的路由表。这可以通过静态路由配置或者动态路由协议如RIPv2来实现。在命令行界面下,通过输入相应的CLI命令来配置这些参数 [^2]。 6. **文档记录**:最后,确保所有关于子网划分的信息都被详细记录下来,以便未来的维护和故障排除。 ### 示例代码 以下是一个简单的Python脚本示例,用于计算给定IP地址块中的子网划分: ```python import ipaddress # 定义原始网络 network = ipaddress.ip_network('192.168.1.0/24') # 计算所需的子网大小 subnet_size = 26 # 对应于64个地址的块 # 创建子网列表 subnets = list(network.subnets(new_prefix=subnet_size)) # 打印每个子网的信息 for i, subnet in enumerate(subnets): print(f"Subnet {i+1}: {subnet}") hosts = list(subnet.hosts()) print(f" Min IP: {hosts[0]}") print(f" Max IP: {hosts[-1]}") ``` 这段代码利用了Python的`ipaddress`模块来处理IP网络相关的操作,包括创建网络对象、划分子网以及获取主机列表等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

精神病不行计算机不上班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值