【网络】子网掩码
> 作者:დ旧言~
> 座右铭:松树千年终是朽,槿花一日自为荣。> 目标:了解什么是子网掩码,并且能熟练掌握子网掩码的相关计算。
> 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安!
> 专栏选自:网络
> 望小伙伴们点赞👍收藏✨加关注哟💕💕
一、前言
前面我们已经学习了网络的基础知识,对网络的基本框架已有认识,算是初步认识到网络了,如果上期我们的学习网络是步入基础知识,那么这次学习的板块就是基础知识的实践,我们今天的板块是学习网络重要之一,学习完这个板块对虚幻的网络就不再迷茫!!!
二、主体
学习【网络】子网掩码咱们按照下面的图解:
2.1 IP地址的表示形式
IP地址的表现形式:
网络分类:
- A 类网络:第一个句点之前的所有内容均表示该网络,而其后的所有内容指定该网络中的设备。以 203.0.113.112 为例,网络用“203”表示,设备用“0.113.112”表示。
- B 类网络:第二个句点之前的所有内容均表示该网络。同样以 203.0.113.112 为例,“203.0”表示网络,“113.112”表示该网络中的设备。
- C 类网络:对于 C 类网络,第三个句点之前的所有内容均表示该网络。使用相同的例子,“203.0.113”表示 C 类网络,而“112”表示设备。
2.2 为什么要划分子网
解释说明:
- IP 地址的构造方式使互联网路由器可以相对容易地找到将数据路由到其中的正确网络。但是,作为示例,在 A 类网络中可能有数百万个已连接的设备,并且数据可能需要一些时间才能找到合适的设备。这就是子网划分派上用场的原因:子网划分缩小了 IP 地址范围,将其限定在一定范围内的设备。
- 由于 IP 地址仅限于表示网络和设备地址,因此,IP 地址不能用于表示 IP 数据包应访问哪个子网。网络中的路由器使用一种称为子网掩码的东西将数据划归到子网中。
2.3 什么是子网掩码
概念:
子网掩码类似于 IP 地址,但仅在网络内部使用。路由器使用子网掩码将数据包路由到正确的位置。在互联网上传输的数据包中并不含子网掩码——这些数据包仅指示目标 IP 地址,路由器会将其与子网进行匹配。
举个虚拟栗子:
假设 Bob 回复了 Alice 的来信,但他将l回复发送到 Alice 的工作地点而不是她的家。Alice 的办公室很大,里面有许多不同的部门。为了确保员工能够迅速收到他们的信件,Alice 的工作场所管理团队按部门而不是按单个员工对邮件进行归类。收到 Bob 的来信后,他们看了一眼 Alice 所在部门,发现她在客户支持部门工作。于是他们将信件发送给客户支持部门而不是给 Alice,然后客户支持部门将其发送给 Alice。
在这个类比当中,“Alice”好比一个IP地址,“客户支持部门”好比一个子网掩码。通过将 Alice 与其所在部门匹配,Bob 的信很快被分拣到一组正确的潜在收件人当中。没有这个步骤,办公室管理员将不得不花费时间来寻找 Alice 办公桌的确切位置,而它可能在建筑物的任何地方。
举个实际栗子:
假设一个 IP 数据包的目标地址是 192.0.2.15。该 IP 地址是一个 C 类网络,因此该网络由“192.0.2”标识(或从技术上精确地讲是 192.0.2.0/24)。网络路由器将数据包转发到由“192.0.2”表示的网络上的一台主机。
数据包到达该网络后,网络内的路由器将查询路由表。用其子网掩码 255.255.255.0 进行一些二进制数学运算,看到设备地址是“15”(IP 地址的其余部分表示网络),再计算数据包要发送到哪个子网。它将数据包转发到负责在该子网内传递数据包的路由器或交换机,数据包到达IP地址 192.0.2.15(了解有关路由器和交换机的更多信息)。
2.4 子网掩码
子网掩码的概念:
IP地址本身不再记录划分信息,而是通过一个独立的数字序列来辅助标记,这就是子网掩码。
子网掩码必须是连续的1后面跟着连续的0,在二进制中不能有1和0交错的情况:
这样是不可以的
11111111.11111111.11111111.00111111
连续的1代表网络位,连续的0代表主机位。
通过IP地址的二进制格式与子网掩码的二进制格式进行 & 运算,如果相等,说明处于同一个子网,同一个WIFI,可以直接通信:
11000000 10101000 00100001 01110000 // IP
11111111 11111111 11111111 00000000 // 子网掩码
// and运算理解为位相乘就可以了,上下每一位都相乘得
11000000 10101000 00100001 00000000
// 转成十进制为
192.168.33.0
A网络和B网络的运算结果相等,证明在同一个子网。
2.5 IP的分类与子网掩码的关系
IP地址有如下分类:
- A类:255.0.0.0
- B类:255.255.0.0
- C类:255.255.255.0
图解:
这个范围内:
- 192.172.3.0是网络地址,用于标识子网本身,不分配给任何设备。
- 192.172.3.255是广播地址,用于发送到该子网内所有设备的广播消息。
- 其余的地址(192.172.3.1到192.172.3.254)可以分配给子网内的设备。
2.6 子网掩码的相关计算公式
例子: 给定IP地址和子网掩码 172.31.128.255 / 18
计算网络号:
公式:将IP地址的二进制和子网掩码的二进制进行“&”(and)运算,得到的结果就是网络号。“&运算”的规则是1&1=1,0&1=0,1&0=0,0&0=0。
ip: 10101100.00011111.10000000.11111111 子网掩码: 11111111.11111111.11000000.00000000
----------------------------------------------------
网络号: 10101100.00011111.10000000.00000000 &
网络号点分法表示: 172.31.128.0
计算主机号:
公式:用IP地址的二进制和(子网掩码的二进制的反码)进行“&”运算,得到的结果就是主机号。反码就是将原本是0的变为1,原本是1的变为0。
ip: 10101100.00011111.10000000.11111111 子网掩码取反: 00000000.00000000.00111111.11111111
----------------------------------------------------
主机号: 00000000.00000000.00000000.11111111 &
主机号点分法表示: 0.0.0.255
计算广播地址:
公式:在得到网络号的基础上,将网络号右边的表示IP地址的主机部分的二进制位全部填上1,再将得到的二进制数转换为十进制数就可以得到广播地址。
网络号: 10101100.00011111.10000000.00000000子网掩码: 11111111.11111111.11000000.00000000
----------------------------------------------------
广播地址: 10101100.00011111.10111111.11111111 网络号从右向左0填为1,个数为掩码中的0
广播地址点分法表示: 172.31.191.255
可用IP地址范围:
网络号是172.31.128.0,广播地址是172.31.191.255,所以子网中可用的IP地址范围就是从网络号+1 ~广播地址-1,所以子网中的可用IP地址范围就是从172.31.128.1-172.31.191.254。
2.7 可变长子网掩码/子网划分——子网个数的计算
概念:
新版的IP地址比之前的IP分类灵活的地方在于每一类还可以继续划分子网,被称为可变长子网掩码。
比如C类中,我想再划分出子网,可以通过网络位的扩展,占用主机位:
下面都是子网掩码:
- 255.255.255.128 (/25) - 二进制表示:11111111.11111111.11111111.10000000
- 255.255.255.192 (/26) - 二进制表示:11111111.11111111.11111111.11000000
- 255.255.255.224 (/27) - 二进制表示:11111111.11111111.11111111.11100000
- 255.255.255.240 (/28) - 二进制表示:11111111.11111111.11111111.11110000
- 255.255.255.248 (/29) - 二进制表示:11111111.11111111.11111111.11111000
- 255.255.255.252 (/30) - 二进制表示:11111111.11111111.11111111.11111100
- 255.255.255.254 (/31) - 二进制表示:11111111.11111111.11111111.11111110
- 255.255.255.255 (/32) - 二进制表示:11111111.11111111.11111111.11111111
我们发现子网掩码有26位网络位。26>24,所以这个IP地址属于C类IP地址,且最后8位里面前两位是网络位,后6位是主机位。
子网掩码255.255.255.192究竟划分了几个子网:
我们要知道我们的子网掩码的1代表的是主机位,这个子网掩码是26位网络位,代表它是用于C类IP的,而C类IP的前24位是确定了的,那么还有在这个确定的网络下面有几个子网就只需要看剩下的八位里面被占用的主机位有多少种组合,这里就有00,10,01,11四种组合,也就是划分了4个子网。
三、结束语
今天内容就到这里啦,时间过得很快,大家沉下心来好好学习,会有一定的收获的,大家多多坚持,嘻嘻,成功路上注定孤独,因为坚持的人不多。那请大家举起自己的小手给博主一键三连,有你们的支持是我最大的动力💞💞💞,回见。
相关文章:

【网络】子网掩码
> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:了解什么是子网掩码,并且能熟练掌握子网掩码的相关计算。 > 毒鸡汤:有些事情,总是不明白,所以我不会…...

Android Osmdroid + 天地图 (二)
Osmdroid 天地图 (二) 前言正文一、定位监听二、改变地图中心三、添加Marker四、地图点击五、其他配置① 缩放控件② Marker更换图标③ 添加比例尺④ 添加指南针⑤ 添加经纬度网格线⑥ 启用旋转手势⑦ 添加小地图 六、源码 前言 上一篇中我们显示了地图…...

使用大语言模型创建 Graph 数据
Neo4j 是开源的 Graph 数据库,Graph 数据通过三元组进行表示,两个顶点一条边,从语意上可以理解为:主语、谓语和宾语。GraphDB 能够通过图来表达复杂的结构,非常适合存储知识型数据,本文将通过大语言实现图数…...

Java poi 模板导出Word 带图片
Java poi 模板导出Word 带图片 重点!!! 官方文档:https://deepoove.com/poi-tl/#_maven 最终效果 模板 其实内容都在官方文档里写的非常明白了 我这里只是抛砖引玉。 Maven依赖 <poi.version>4.1.2</poi.version>…...

SpringCloud-使用FFmpeg对视频压缩处理
在现代的视频处理系统中,压缩视频以减小存储空间、加快传输速度是一项非常重要的任务。FFmpeg作为一个强大的开源工具,广泛应用于音视频的处理,包括视频的压缩和格式转换等。本文将通过Java代码示例,向您展示如何使用FFmpeg进行视…...

shell bash---类似数组类型
0 Preface/Foreword C/C,Python,Java等编程语言,都含有数组类型,那么shell脚本是不是也有类似的语法呢? 1 类似数组类型 1.1 ()类似数组类型 #! /bin/bashecho "Welcome to bash world!" anim…...
IIoT(Industrial Internet of Things,工业物联网)
IIoT(Industrial Internet of Things,工业物联网) 是指物联网技术在工业领域的应用。它将工业设备、传感器、控制系统、数据采集设备等通过互联网或局域网连接起来,实现设备的互联互通和智能化管理。IIoT的目标是提高工业生产效率…...
【C++】引用(reference)
引用是对一个变量或者对象取的别名 定义:真名的数据类型& 别名 真名; 既然是对一个变量或者对象取别名,那就得先有变量或对象,不能凭空取一个别名。也就是定义引用必须初始化。 对引用的操作和对引用对应的变量的操作是完全等价的引用…...

学习日记_20241115_聚类方法(层次聚类)
前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…...
安卓开发怎么获取返回上一级activity事件
在Android开发中,要获取返回上一级Activity的事件,通常是通过点击设备上的返回按钮或者在代码中调用finish()方法时触发的。为了处理这个事件,你可以在当前Activity中重写onBackPressed()方法。 以下是一个简单的例子: Override…...

神经网络与Transformer详解
一、模型就是一个数学公式 模型可以描述为:给定一组输入数据,经过一系列数学公式计算后,输出n个概率,分别代表该用户对话属于某分类的概率。 图中 a, b 就是模型的参数,a决定斜率,b决定截距。 二、神经网络的公式结构 举例:MNIST包含了70,000张手写数字的图像,其中…...
C语言之MakeFile
Makefile 的引入是为解决多文件项目中手动编译繁琐易错、缺乏自动化构建、项目管理维护困难以及跨平台构建不便等问题,实现自动化、规范化的项目构建与管理 MakeFile 简单的来说,MakeFile就是编写编译命令的文件 文件编写格式 目标:依赖文件列表 <Tab>命令列表…...
vue项目PC端和移动端实现在线预览docx、excel、pdf文件
可以参考vue-office官方github:GitHub - loonghe/vue-office: 支持word(.docx)、excel(.xlsx,.xls)、pdf等各类型office文件预览的vue组件集合,提供一站式office文件预览方案,支持vue2和3,也支持React等非Vue框架。…...

FlinkSql读取kafka数据流的方法(scala)
我的scala版本为2.12 <scala.binary.version>2.12</scala.binary.version> 我的Flink版本为1.13.6 <flink.version>1.13.6</flink.version> FlinkSql读取kafka数据流需要如下依赖: <dependency><groupId>org.apache.flink&…...
.NET 9 中 IFormFile 的详细使用讲解
在.NET应用程序中,处理文件上传是一个常见的需求。.NET 9 提供了 IFormFile 接口,它可以帮助我们轻松地处理来自客户端的文件上传。以下是 IFormFile 的详细使用讲解。 IFormFile 接口简介 IFormFile 是一个表示上传文件的接口,它提供了以下…...

使用阿里云远程访问 Synology Web Station 的指南
使用阿里云远程访问 Synology Web Station 的指南 本文将指导如何通过阿里云服务器配置 Nginx 和 FRP,远程访问部署在 Synology NAS 上的 Web Station 服务,同时支持 HTTPS 安全访问。 背景 通过 Synology NAS 的 Web Station,可以部署 Wor…...
LlamaFactory介绍
目录 一、什么是LlamaFactory 1. 安装 LlamaFactory 2. 下载 LLaMA 模型 3. 运行 LLaMA 模型 4. 微调 LLaMA 模型 5. 优化本地运行 6. 推理加速 7. 硬件要求 二、总结 一、什么是LlamaFactory LlamaFactory 是一个用于训练和运行 LLaMA(Meta 的开源大型语言模型)模型…...

vue 项目使用 nginx 部署
前言 记录下使用element-admin-template 改造项目踩过的坑及打包部署过程 一、根据权限增加动态路由不生效 原因是Sidebar中路由取的 this.$router.options.routes,需要在计算路由 permission.js 增加如下代码 // generate accessible routes map based on roles const acce…...

<项目代码>YOLOv8 玉米地杂草识别<目标检测>
YOLOv8是一种单阶段(one-stage)检测算法,它将目标检测问题转化为一个回归问题,能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法(如Faster R-CNN),YOLOv8具有更高的…...
Wxml2Canvas小程序将dom转为图片,bug总结
1.显示文字 标签上面使用 data-type"text" 加上class名 <view data-type"text" class"my_draw_canvas"><text data-type"text" class"center my_draw_canvas" data-text"企业出游证明">企业出游证明…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...