当前位置: 首页 > article >正文

计算机专业知识【深入理解 IP 地址与子网掩码:从 /27 到不同 CIDR 表示】

在计算机网络里,IP 地址和子网掩码是构建网络通信的基石。像 “135.21.128.0/27” 这种表述很常见,其中的 “/27” 以及它与 “1/24”、“8/24” 等不同 CIDR 表示法的差异,可能会让初学者感到困惑。接下来,我们就详细展开说说。

子网掩码与 CIDR 表示法基础

子网掩码的本质

IP 地址由 32 位二进制数组成,为了方便人们识别和使用,通常用点分十进制来表示,例如 “192.168.1.1”。子网掩码的作用是划分 IP 地址中的网络部分和主机部分。它同样是 32 位二进制数,由连续的 1 和连续的 0 构成,其中 1 对应的 IP 地址位属于网络部分,0 对应的则是主机部分。

CIDR 表示法

CIDR(无类别域间路由)表示法是一种简洁的子网掩码表示方式,格式为 “/数字”,这里的数字代表子网掩码中连续 1 的位数。比如 “/24” 表示子网掩码中有 24 个连续的 1,“/27” 表示有 27 个连续的 1。

详细剖析 “/27” 转换为点分十进制子网掩码

二进制转换过程

“/27” 意味着子网掩码的 32 位二进制数中有 27 个连续的 1,剩下 5 位是 0,即 11111111.11111111.11111111.11100000。将这 32 位二进制数按每 8 位一组进行划分,分别转换为十进制数。

  • 前三个 8 位全是 1,二进制的 11111111 转换为十进制就是 255,所以前三个部分都是 255。
  • 最后一组是 11100000,转换方法是:(1\times2^7 + 1\times2^6 + 1\times25+0\times24 + 0\times2^3 + 0\times2^2 + 0\times2^1 + 0\times2^0 = 128 + 64 + 32 = 224)。
    所以,“/27” 对应的点分十进制子网掩码就是 255.255.255.224。

“/27” 与 “/24” 的区别

子网掩码不同

  • /24:表示子网掩码有 24 个连续的 1,对应的二进制是 11111111.11111111.11111111.00000000,转换为点分十进制是 255.255.255.0。
  • /27:前面已经分析过,子网掩码二进制为 11111111.11111111.11111111.11100000,点分十进制是 255.255.255.224。
    可以看出,“/27” 的子网掩码比 “/24” 多了 3 个 1,也就意味着网络部分多占了 3 位。

可用主机数量不同

  • /24:32 位 IP 地址中,网络部分占 24 位,那么主机部分就有 (32 - 24 = 8) 位。理论上可分配的主机数量是 (2^8 = 256) 个,但要排除网络地址和广播地址这两个特殊地址,所以可用主机数量是 (2^8 - 2 = 254) 台。
  • /27:网络部分占 27 位,主机部分有 (32 - 27 = 5) 位。理论上可分配主机数为 (2^5 = 32) 个,排除网络地址和广播地址后,可用主机数量是 (2^5 - 2 = 30) 台。

网络划分精细程度不同

  • /24:子网划分相对较粗,一个 “/24” 子网包含的主机数量较多,适用于规模较大的网络,比如一个小型企业内部网络可能使用一个或多个 “/24” 子网。
  • /27:子网划分更精细,每个子网容纳的主机数量较少,适合对网络进行更细致的划分,例如将一个大网络划分为多个小的子网,用于不同部门或者不同功能区域的网络隔离。

“1/24” 和 “8/24” 说明

“1/24” 和 “8/24” 中的 “1” 和 “8” 通常代表的是网络地址的一部分。例如 “1/24” 可能完整表示为 “1.0.0.0/24”,“8/24” 可能是 “8.0.0.0/24”,它们的子网掩码都是 255.255.255.0,意味着网络部分都是前 24 位,只是网络地址的起始数字不同,它们各自都有 254 个可用主机地址,分别用于不同的网络环境。

通过以上详细解释,希望你能更好地理解 “/27” 以及它和 “/24” 等不同 CIDR 表示法的区别,在网络知识的学习道路上更进一步。


http://www.kler.cn/a/556763.html

相关文章:

  • FPGA DSP:Vivado 中带有 DDS 的 FIR 滤波器
  • adb shell setprop获取日志
  • 解锁外观模式:Java 编程中的优雅架构之道
  • 【HeadFirst系列之HeadFirst设计模式】第6天之单件模式:独一无二的对象,如何优雅实现?
  • eBPF驱动的实时内核安全防护体系:构建零日漏洞免疫的云原生基础设施
  • Git介绍和使用
  • 使用爬虫获得亚马逊按关键字搜索商品的实战指南
  • qt:输入控件操作
  • Android Coil3缩略图、默认占位图placeholder、error加载错误显示,Kotlin(1)
  • 力扣的第34题 在排序数组中查找元素的第一个和最后一个位置
  • 设计模式教程:迭代器模式(Iterator Pattern)
  • 日期类(完全讲解版)
  • 【深度学习】手写数字识别任务
  • Go 之 Beego 配置文件
  • iOS各个证书生成细节
  • Windows 快速搭建C++开发环境,安装C++、CMake、QT、Visual Studio、Setup Factory
  • 【git】工作流实战:从本地仓库到远程仓库,git pull 与git rebase使用讲解,案例解析
  • Docker安装Open WebUI教程
  • Spring AI + Ollama 实现调用DeepSeek-R1模型API
  • 30. 串联所有单词的子串