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

网络段、主机段、子网掩码

子网掩码把 IP 切割成了网络段主机段两部分。同一网段下的不同主机之间可以互通网络。

掩码

IPV4 默认情况下 IP 地址 192.168.0.x 可以分配 256 个主机地址(不考虑首尾两个特殊的地址时)。

假设我们只需要用到 8 个主机,就可以借助子网掩码来排除剩余的主机号,以便分配给其他人用。

image-20250525163417815

在上图中,我们需要为三台服务器分配 ip 地址。其中 x 取 0 - 7,对应的二进制编码为:

二进制:11111111 11111111 11111111 00000000
二进制:11111111 11111111 11111111 00000100

借助二进制的掩码中的 1 来掩盖 IPV4 对应二进制位,代表该位不能被用于主机号的分配。

则得到的二进制掩码为:

11111111 11111111 11111111 11111000

对应的十进制掩码为:

255.255.255.248

表示成子网起始点 + 子网掩码的形式为:

192.168.0.0 255.255.255.248

如果采用 CIDR 表示法,则为:

192.168.0.0/29 # 其中 29 代表二进制掩码的前 29 位是 1

网络段、主机段

在上面的例子中,掩码为 /29,表示有 2^29 个地址可以作为网络段。2^3 个地址作为主机段。

如何区分是否为同一网络段

以 192.168.0.2 和 192.168.0.5 为例,要判断这两个 IP 地址是否属于同一网段,需要结合子网掩码来计算网络地址。假设常见的默认子网掩码为 255.255.255.0(即24位掩码),以下是分析过程:

步骤 1:将IP地址和子网掩码转换为二进制

  • 192.168.0.2 的二进制形式:
    11000000.10101000.00000000.00000010
  • 192.168.0.5 的二进制形式:
    11000000.10101000.00000000.00000101
  • 子网掩码 255.255.255.0 的二进制形式:
    11111111.11111111.11111111.00000000

步骤 2:计算网络地址

网络地址 = IP地址 逻辑与(AND) 子网掩码。

  • 192.168.0.2 的网络地址
    11000000.10101000.00000000.00000010
    AND
    11111111.11111111.11111111.00000000
    = 192.168.0.0
  • 192.168.0.5 的网络地址
    11000000.10101000.00000000.00000101
    AND
    11111111.11111111.11111111.00000000
    = 192.168.0.0

结论

  • 对于常见的子网掩码 255.255.255.0,两个 IP 地址的网络地址只要前 3 位相同,即可认为他们属于同一个网段。
  • 如果子网掩码不同(例如 255.255.255.128),网络地址可能不同,是否属于同一个网段,需重新计算。
http://www.xdnf.cn/news/8928.html

相关文章:

  • Python 学习日记 day26
  • 蓝桥杯178 全球变暖
  • 【深度解读】三一重工的数字化转型(下篇2)
  • 大数据学习(118)-SQL面试问题总结
  • @Valid和@Vlidated的区别
  • Windows安装Docker Desktop开启 Kubenetes制作并部署本地镜像
  • Java 装饰器模式(Decorator)详解​
  • AI练习:指纹
  • [C语言实战]C语言文件操作实战:打造高效日志系统(六)
  • RMAN恢复报错RMAN-06555及其解决方案
  • STM32F103_Bootloader程序开发02 - Bootloader程序架构与STM32F103ZET6的Flash内存规划
  • idea和cursor快速切换
  • 【Linux】定时任务 Crontab 与时间同步服务器
  • 基于多头注意力时间卷积网络(MATCN)的虚拟电厂短期功率预测模型
  • 『uniapp』自己实现手动图片列表滑动 + 图片手势缩放+ 图片点击缩放(详细图文注释)
  • 分布式消息中间件设计与实现
  • Android自定义View学习总结
  • 【机器人】复现 Embodied-Reasoner 具身推理 | 具身任务 深度推理模型 多模态场景 长远决策 多轮互动
  • Python Day33
  • GO 语言中变量的声明
  • Python中字典(dict)知识详解应用
  • 非接触式互连:当串扰是您的朋友时
  • NumPy 数组属性
  • 英语科研词汇现象及语言演变探讨
  • Rephrase and Respond :让大语言模型为自己提出更优的问题
  • Disruptor—3.核心源码实现分析二
  • 第十八章:数据治理之数据质量:“数据质量”不仅仅和“数据质量”有关
  • 数据库故障排查指南技术文章
  • 用 Python 构建自动驾驶的实时通信系统:让车辆“交流”起来!
  • 【Python 元祖】 Tuple 核心知识点