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

深入理解IP子网掩码子网划分{作用} 以及 不同网段之间的ping的原理 以及子网掩码的区域划分

目录

子网掩码详解

子网掩码定义

子网掩码进一步解释

子网掩码的作用

 计算总结表

子网掩码计算

子网掩码对应IP数量计算

判断IP是否在同一网段

1. 计算步骤

2. 示例

3. 关键点

总结

不同网段通信原理与Ping流程

1. 同网段通信

2. 跨网段通信

网段计算示例

3. Ping命令的作用

总结


子网掩码详解

子网掩码定义

  • 子网掩码(Subnet Mask)是一个32位二进制数,用于标识IP地址中网络号和主机号的分界。
    • 示例:255.255.255.0(二进制:11111111.11111111.11111111.00000000)表示前24位为网络号。
  • ip地址分为两个部分

    • 网络部分:标识子网,也就是网络位或者说网段

    • 主机部分:标识主机

  • 注意:单纯的ip地址段只是标识了ip地址的种类

    • 从网络部分或主机部分都无法辨识一个ip所处的子网

    • 例:172.16.10.1与172.16.10.2并不能确定二者处于同一子网


子网掩码进一步解释

  • 所谓"子网掩码",就是表示子网络特征的一个参数。
  • 它在形式上等同于IP地址。
  • 也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。
  • 比如,IP地址172.16.10.1。
  • 如果已知网络部分是前24位

  • 主机部分是后8位

    • 上面说的是二进制


  • 那么子网络掩码就是11111111.11111111.11111111.00000000

  • 写成十进制就是255.255.255.0。


子网掩码的作用

  • 划分网络:确定IP地址的网络部分和主机部分。
  • 路由决策:路由器根据子网掩码判断目标是否在同一网段。
  • 减少广播域:分割广播域,优化网络性能。
  • 决定了一个网段的大小
  • 网段大小决定了有多少个ip地址可以用,网段越大,ip地址越多
ip地址:192.168.2.110 子网掩码:255.255.255.0
上面两个还有一个等效的写法:192.168.2.110/24  

 计算总结表

CIDR值子网掩码主机位数总地址数可用地址数常见场景
/8255.0.0.02416,777,21616,777,214国家级网络
/16255.255.0.01665,53665,534中型企业
/24255.255.255.08256254家庭/小型办公室

怎么确定网段的大小呢,就要看子网掩码。

  • 8位、16位、24位等就是代表子网掩码的值的。

  • 数字越小的,表示网段越大


192.168.2.118/24  10.0.0.0/8  172.16.0.0/16

子网掩码计算

  • 步骤示例(划分192.168.1.0/24为4个子网):
    1. 确定需要的主机数:每个子网至少支持30台设备 → 主机号需5位(2^5=32,保留全0和全1地址)。
    2. 子网掩码:原为/24(255.255.255.0),新增2位网络号 → 变为/26(255.255.255.192)。
    3. 子网划分结果:
      • 子网1:192.168.1.0/26(可用地址1-62)
      • 子网2:192.168.1.64/26(可用地址65-126)
      • 子网3:192.168.1.128/26(可用地址129-190)
      • 子网4:192.168.1.192/26(可用地址193-254)

子网掩码对应IP数量计算

255.255.255.0前面的255.255.255对应二进制就是24个1。

  • 也就是对应的ip地址的前面24位是不变的,那么ip地址的这24位就是网络位。

  • 剩余的8位是主机位,网络位不变,主机位是可变的,可变的ip数量。

就是这个网段的ip地址数量,共2的8次方=256个,就可以写为172.16.10.1/24

  • 但是172.16.10.0和172.16.10.255都被保留下来不让主机使用

  • 172.16.10.0作为网络号,通过网络号可以找到这个网络号对应网段的网络了,172.16.10.255是广播地址,这个广播地址我们一会说。

  • 也就是可用ip地址个数为256-2=254个。

所以ip协议有两个作用

  • 一个是为每一台计算机分配IP地址
  • 另一个是确定哪些地址在同一个子网络。

判断IP是否在同一网段

1. 计算步骤

  1. 将IP地址和子网掩码转换为二进制。
  2. 对两者进行按位AND运算,得到网络地址。
  3. 比较两个IP地址的网络地址是否相同。

2. 示例

问题:判断以下两个IP地址是否在同一个子网。

  • IP地址1:172.16.10.1
  • IP地址2:172.16.10.2
  • 子网掩码:255.255.255.0

计算过程

  1. 转换为二进制

    • IP地址1:10101100.00010000.00001010.00000001
    • IP地址2:10101100.00010000.00001010.00000010
    • 子网掩码:11111111.11111111.11111111.00000000
  2. 按位AND运算

    • IP地址1与子网掩码:
      10101100.00010000.00001010.00000001 (172.16.10.1)
      AND
      11111111.11111111.11111111.00000000 (255.255.255.0)
      -----------------------------------
      10101100.00010000.00001010.00000000 (172.16.10.0)
      
    • IP地址2与子网掩码:
      10101100.00010000.00001010.00000010 (172.16.10.2)
      AND
      11111111.11111111.11111111.00000000 (255.255.255.0)
      -----------------------------------
      10101100.00010000.00001010.00000000 (172.16.10.0)
      
  3. 比较网络地址

    • 两个IP地址的网络地址均为172.16.10.0

结论:两个IP地址在同一个子网中。


3. 关键点

  • 子网掩码的作用:用于划分IP地址的网络部分和主机部分。
  • 按位AND运算:通过逻辑运算提取网络地址。
  • 网络地址相同:若两个IP地址的网络地址相同,则它们在同一个子网中。

总结

通过将IP地址和子网掩码转换为二进制并进行按位AND运算,可以快速判断两个IP地址是否在同一个子网中。这种方法简单高效,是网络配置和故障排查中的常用技巧。


不同网段通信原理与Ping流程

1. 同网段通信

  • 原理:同一网段的IP地址,物理线路接通后可以直接通信。
  • 流程
    1. 设备A(192.168.1.10/24)向设备B(192.168.1.20/24)发送数据包。
    2. 检查目标IP是否在同一子网(网络号相同)。
    3. 通过ARP协议获取目标MAC地址。
    4. 直接通过交换机或Hub传输数据。

2. 跨网段通信

  • 原理:不同网段的IP地址,即使物理线路接通,也不能直接通信,需要通过路由器转发。
  • 流程
    1. 设备A(192.168.1.10/24)向设备C(10.0.0.5/24)发送数据包。
    2. 发现目标IP不在同一子网。
    3. 将数据包发送至默认网关(如192.168.1.1)。
    4. 网关路由器根据路由表转发至目标网络。
    5. 目标网络的路由器通过ARP找到设备C并交付数据。

网段计算示例

  • 问题:网络位25位,主机位7位,判断两个IP地址是否在同一网段。
  • 计算过程
    • IP地址1:192.168.100.126
      • 二进制:11000000 10101000 01100100 01111110
      • 子网掩码:11111111 11111111 11111111 10000000(255.255.255.128)
      • 逻辑与运算结果:192.168.100.0
    • IP地址2:192.168.100.129
      • 二进制:11000000 10101000 01100100 10000001
      • 子网掩码:11111111 11111111 11111111 10000000(255.255.255.128)
      • 逻辑与运算结果:192.168.100.128
  • 结论:两个IP地址的网络号不同(192.168.100.0 vs 192.168.100.128),不在同一网段,无法直接通信。

3. Ping命令的作用

  • 验证连通性:通过发送ICMP Echo Request报文,检测目标设备是否可达。
  • 路径诊断:结合tracert(Windows)或traceroute(Linux)命令,分析数据包从源到目标的路径,帮助排查网络故障。

总结

  • 同网段通信:直接通过ARP和交换机完成。
  • 跨网段通信:依赖路由器转发,涉及默认网关和路由表。
  • 网段计算:通过子网掩码和逻辑与运算判断IP地址是否在同一网段。
  • Ping命令:用于测试连通性和诊断网络路径。

通过以上内容,您可以更好地理解不同网段通信的原理、网段计算方法以及Ping命令的实际应用。


喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。


相关文章:

深入理解IP子网掩码子网划分{作用} 以及 不同网段之间的ping的原理 以及子网掩码的区域划分

目录 子网掩码详解 子网掩码定义 子网掩码进一步解释 子网掩码的作用 计算总结表 子网掩码计算 子网掩码对应IP数量计算 判断IP是否在同一网段 1. 计算步骤 2. 示例 3. 关键点 总结 不同网段通信原理与Ping流程 1. 同网段通信 2. 跨网段通信 网段计算示例 3. P…...

rust 前端npm依赖工具rsup升级日志

rsup是使用 rust 编写的一个前端 npm 依赖包管理工具,可以获取到项目中依赖包的最新版本信息,并通过 web 服务的形式提供查看、升级操作等一一系列操作。 在前一篇文章中,记录初始的功能设计,自己的想法实现过程。在自己的使用过…...

2.2 STM32F103C8T6最小系统板的四种有关固件的开发方式

2.2.1 四种有关固件的开发方式 四种有关于固件的开发方式从时间线由远及近分别是:寄存器开发、标准外设驱动库开发、硬件抽象层库开发、底层库开发。 四种开发方式各有优缺点,可以参考ST官方的测试与说明。 1.寄存器开发 寄存器编程对于从51等等芯片过渡…...

【C++】 stack和queue以及模拟实现

一、stack及其模拟实现 1.1 stack介绍 stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行 元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器&am…...

python与C系列语言的差异总结(2)

Python有很多表达布尔值的方式,布尔常量False、0、Python零值None、空值(如空的列表[]和空字符串""),都被视为False。布尔常量True和其他一切值都被视为True。但不相等。这个自由度相比C类语言更加高。 if (not None):…...

Linux之文件系统

1.前言 文件 内容属性 文件分为被打开的文件(跟基础IO有关,在内存上)和没有被打开的文件(在磁盘上)。 在磁盘上找没有被打开的文件属于文件系统的工作 2.对硬件的理解 2.1 磁盘,服务器,机柜,机房 1.磁…...

LeetCode刷题 -- 23. 合并 K 个升序链表

小根堆排序与合并 K 个有序链表的实现 1. 介绍 本技术文档详细介绍了如何使用 小根堆(Min Heap) 实现 K 个有序链表的合并。 核心思想是: 使用 小根堆 维护当前最小的节点。每次取出堆顶元素(最小值)加入合并链表&…...

DeepSeek在MATLAB上的部署与应用

在科技飞速发展的当下,人工智能与编程语言的融合不断拓展着创新边界。DeepSeek作为一款备受瞩目的大语言模型,其在自然语言处理领域展现出强大的能力。而MATLAB,作为科学计算和工程领域广泛应用的专业软件,拥有丰富的工具包和高效…...

mapbox基础,使用geojson加载fill-extrusion三维填充图层

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️fill-extrusion三维填充图层样式二、�…...

基于 SpringBoot 的 “电影交流平台小程序” 系统的设计与实现

大家好,今天要和大家聊的是一款基于 SpringBoot 的 “电影交流平台小程序” 系统的设计与实现。项目源码以及部署相关事宜请联系我,文末附上联系方式。 项目简介 基于 SpringBoot 的 “电影交流平台小程序” 系统设计与实现的主要使用者分为 管理员 和…...

单片机裸机编程-时机管理

对于 RTOS 实时操作系统,我们是通过 TASK(任务)进行底层操作的,这与裸机编程中的函数(fun)类似。不同的任务或函数实现不同的功能,在RTOS中,单片机有信号量、队列等不同任务之间的通…...

Flutter系列教程之(2)——Dart语言快速入门

目录 1.变量与类型 1.1 num类型 1.2 String类型 1.3 Object与Dynamic 1.4 类型判断/转换 1.5 变量和常量 2.方法/函数 3.类、接口、抽象类 3.1 类 3.2 接口 4.集合 4.1 List 4.2 Set 4.3 Map 5.总结 Dart语言的语法和Kotlin、Java有类似之处,这里就通…...

pyecharts介绍

文章目录 介绍安装pyecharts基本使用全局配置选项 折线图相关配置地图模块使用柱状图使用 介绍 echarts虑是个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可,而Pyhon是门富有表达力的语言&a…...

前缀和相关题目记录(未完待续...)

1 前缀和 一维前缀和是指对于一个数组 a a a,我们定义一个新的数组 s s s,其中每个元素 s [ i ] s[i] s[i] 表示从数组开头到第 i i i 个元素的累加和: s [ i ] a [ 1 ] a [ 2 ] ⋯ a [ i ] ∑ j 1 i a [ j ] s[i] a[1] a[2] \…...

Https解决了Http的哪些问题

部分内容来源:小林coding 详细解析 Http的风险 HTTP 由于是明文传输,所以安全上存在以下三个风险: 1.窃听风险 比如通信链路上可以获取通信内容,用户号容易没。 2.篡改风险 比如强制植入垃圾广告,视觉污染&#…...

OpenCV给图像添加噪声

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 如果你已经有了一张干净的图像,并希望通过编程方式向其添加噪声,可以使用 OpenCV 来实现这一点。以下是一个简单的例子&a…...

湖北中医药大学谱度众合(武汉)生命科技有限公司研究生工作站揭牌

2025年2月11日,湖北中医药大学&谱度众合(武汉)生命科技有限公司研究生工作站揭牌仪式在武汉生物技术研究院一楼101会议室举行,湖北中医药大学研究生院院长刘娅教授、基础医学院院长孔明望教授、基础医学院赵敏教授、基础医学院…...

欢乐力扣:快乐数

文章目录 1、题目描述2、思路1代码 1、题目描述 快乐数。  编写一个算法来判断一个数 n 是不是快乐数。  快乐数定义为:对于一个正整数,每次不断将其转化成 每位数字的平方和。 判断是否最终和会为1,是1就是快乐数,否则不是。 …...

【聊天室后端服务器开发】功能设计-框架与微服务

服务器功能设计 微服务思想应用 微服务架构 主要组成分析 客户端 客户端通过 HTTP 协议与网关进行交互,进行操作如用户注册、好友申请等客户端只需要知道网关的地址,无需关心后端服务的具体实现 网关 作为系统的统一入口,网关负责接收客…...

国标28181协议在智联视频超融合平台中的接入方法

一. 国标28181介绍 国标 28181 协议全称是《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是国内视频行业最重要的国家标准,目前有三个版本: 2011 年:推出 GB/T 28181-2011 版本,为安防行业的前端设备、平…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

线程同步:确保多线程程序的安全与高效!

全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...