#无类域间路由(快速复习版)

判断两个无类(CIDR)地址是否属于同一个子网

🎯 问题本质:

判断两个 IP 地址是否属于同一个子网,其实就是 对比它们的"网络地址"是否相同


🔍 原理步骤(通用方法)

我们按步骤来判断:

✅ 步骤 1:将两个 IP 地址转换为二进制

✅ 步骤 2:根据它们的 CIDR 前缀提取"网络位"

✅ 步骤 3:对比网络位是否一致

一致:同一子网

不一致:不同子网


🧠 举个例子

假设你有两个无类地址:

复制代码
IP1: 192.168.1.65/26
IP2: 192.168.1.70/26

我们来判断它们是不是属于同一个子网。


✅ 第一步:看前缀 /26 → 表示前 26 位是网络位

  • IP 地址是 32 位的
  • /26 意味着:前 26 位用于网络,后 6 位用于主机

✅ 第二步:转换为二进制

IP1: 192.168.1.65
复制代码
192     = 11000000  
168     = 10101000  
1       = 00000001  
65      = 01000001

合并:11000000.10101000.00000001.01000001
IP2: 192.168.1.70
复制代码
70 = 01000110

→ 合并:11000000.10101000.00000001.01000110

✅ 第三步:取前 26 位作为"网络位"

我们看前 26 位是否一样:

复制代码
IP1: 11000000.10101000.00000001.01**000001**
IP2: 11000000.10101000.00000001.01**000110**
                ↑ 前 26 位完全一致

所以:这两个 IP 属于 同一个子网(192.168.1.64/26)


🔢 快速简化方法(不转二进制)

我们不想每次都手动写二进制,可以用掩码与运算法快速判断:


🔧 使用 AND 运算方法(更通用)

公式:

复制代码
网络地址 = IP地址 & 子网掩码

对两个 IP 都执行与运算后,比较结果是否相同即可。

🛠 工具人方式(用十进制做):

子网掩码 /26 = 255.255.255.192

即:

复制代码
11111111.11111111.11111111.11000000

→ 最后一个字节是 192,表示步长是 64:

子网范围 广播地址
192.168.1.0/26 192.168.1.63
192.168.1.64/26 ✅ 192.168.1.127
192.168.1.128/26 192.168.1.191

所以:

  • 192.168.1.65 属于 192.168.1.64/26
  • 192.168.1.70 也属于 192.168.1.64/26

结论 ✅:它们在同一子网


✨ 一句话总结法

两个 IP + 相同前缀下,只要 IP 地址处在同一个"子网范围",就是同一子网。






附加

第一项: 如何划分出主机数大于 254 的子网 ,这是理解 CIDR 无类划分的 进阶应用


🧠 一、CIDR 的主机数计算规律

主机数取决于"主机位"的数量(32位 IP 减去网络位数):

✨ 计算公式:

复制代码
主机数 = 2^(32 - 前缀位数) - 2

(减2是因为要去掉 网络地址 和 广播地址)


🚀 二、主机数 > 254 的 CIDR 范围

我们来看看每个前缀下的主机数:

CIDR 前缀 主机位数 可用主机数 子网掩码
/24 8 位 254 台 255.255.255.0
/23 9 位 510 台 255.255.254.0
/22 10 位 1022 台 255.255.252.0
/21 11 位 2046 台 255.255.248.0

✅ 所以:

如果你想支持「大于 254 台主机」,你就得使用 前缀更小于 /24 的 CIDR 子网 ,比如 /23, /22, /21 等。


🧪 举个例子

你想划分一个子网,至少容纳 1000 台主机:

  1. /22:2¹⁰ = 1024 → 可用主机数 = 1024 - 2 = 1022 ✔️
  2. 所以你可以使用:192.168.0.0/22

该子网范围是:

复制代码
起始地址:192.168.0.0  
结束地址:192.168.3.255  
可用主机地址范围:192.168.0.1 ~ 192.168.3.254

它覆盖了 192.168.0.0 ~ 192.168.3.255,整整 4 个 /24 网段!


🔧 如何选取更大的主机数子网(思维方式)

  1. 你有多少主机?👉 算出最小能满足的 2^n ≥ 主机数 + 2(包含广播和网络地址)
  2. 计算主机位数 n 👉 得出 CIDR 前缀 = 32 - n
  3. 子网掩码 = 把前缀转换成十进制形式
  4. 划出地址范围,用来配置 DHCP、静态分配等

💡 一个反常识点(容易忽略)

很多人以为 /24 是最大的子网,其实不是!CIDR 是可以让网络变大也可以变小的。

比如:

  • /16 子网可容纳 65534 台主机(如 192.168.0.0/16)
  • /8 子网最多可容纳 16777214 台主机(比如 10.0.0.0/8)

🎓 总结一张表

目标主机数量 选择的 CIDR 前缀 子网掩码 可用主机数
≤ 254 /24 255.255.255.0 254
≤ 510 /23 255.255.254.0 510
≤ 1022 /22 255.255.252.0 1022
≤ 2046 /21 255.255.248.0 2046
≤ 4094 /20 255.255.240.0 4094
≤ 65534 /16 255.255.0.0 65534

相关推荐
科技小E4 分钟前
视频设备轨迹回放平台EasyCVR打造水库大坝智慧安防视频监控智能分析方案
大数据·网络·人工智能·音视频·安防监控
欧阳潇瑞14 分钟前
ubuntu磁盘挂载
linux·运维·服务器
隐-梵31 分钟前
Android studio前沿开发--利用socket服务器连接AI实现前后端交互(全站首发思路)
android·服务器·人工智能·后端·websocket·android studio·交互
大叔是90后大叔39 分钟前
linux安装node版本管理工具(nvm和fnm)
linux·服务器
四岁爱上了她40 分钟前
CentOS更换yum源
linux·运维·centos
万年枝1 小时前
nohup命令使用说明
服务器·后台运行
再学一丢丢1 小时前
LVS+Keepalived+dns高可用项目架构
运维·服务器
web守墓人1 小时前
【gpt生成-总览】怎样才算开发了一门编程语言,需要通过什么测试
运维·服务器·gpt
Yawesh_best2 小时前
Immich图库本地部署与远程管理:打造你的专属照片云服务
运维
hahaha60162 小时前
ARINC818协议-持续
网络·fpga开发