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

判断两个无类(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

相关推荐
再坚持一下!!!1 分钟前
5G专网、物联网、IP网络专业技术知识
网络·物联网·网络协议·5g·ip
国科安芯9 分钟前
前沿探索:RISC-V 架构 MCU 在航天级辐射环境下的可靠性测试
网络·单片机·嵌入式硬件·fpga开发·硬件架构·risc-v
三味神风22 分钟前
Linux云计算系统安全:PAM
linux·运维·系统安全
理智的煎蛋1 小时前
GPU 服务器压力测试核心工具全解析:gpu-burn、cpu-burn 与 CUDA Samples
运维·服务器·人工智能·压力测试·gpu算力
Sally璐璐1 小时前
Go语言开发工具全解析
网络·golang
SEO_juper1 小时前
SEO新手入门:什么是SEO及其作用
运维·服务器·搜索引擎·seo·数字营销·seo优化
无痕melody2 小时前
报错Failed to set ntp: NTP not supported
运维
ZYMFZ3 小时前
Linux 防火墙 Firewalld
linux·运维·服务器
yzx9910138 小时前
生活在数字世界:一份人人都能看懂的网络安全生存指南
运维·开发语言·网络·人工智能·自动化
2501_915918419 小时前
HTTPS 端口号详解 443 端口作用、iOS 抓包方法、常见 HTTPS 抓包工具与网络调试实践
android·网络·ios·小程序·https·uni-app·iphone