【网络】子网掩码
> 作者:დ旧言~
> 座右铭:松树千年终是朽,槿花一日自为荣。> 目标:了解什么是子网掩码,并且能熟练掌握子网掩码的相关计算。
> 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安!
> 专栏选自:网络
> 望小伙伴们点赞👍收藏✨加关注哟💕💕
一、前言
前面我们已经学习了网络的基础知识,对网络的基本框架已有认识,算是初步认识到网络了,如果上期我们的学习网络是步入基础知识,那么这次学习的板块就是基础知识的实践,我们今天的板块是学习网络重要之一,学习完这个板块对虚幻的网络就不再迷茫!!!
二、主体
学习【网络】子网掩码咱们按照下面的图解:
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"企业出游证明">企业出游证明…...

[ 网络安全介绍 3 ] 网络安全事件相关案例有哪些?
🍬 博主介绍 👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...

SpringMVC学习笔记(二)
五、Rest风格编程 (一)Rest风格URL规范介绍 1、什么是restful RESTful架构,就是目前最流行的一种互联网软件架构风格。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。REST这个词,是Roy T…...

51c嵌入式~单片机合集2
我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395 一、不同的电平信号的MCU怎么通信? 下面这个“电平转换”电路,理解后令人心情愉快。电路设计其实也可以很有趣。 先说一说这个电路的用途:当两个MCU在不同的工作电压下工作&…...

JavaScript:浏览器对象模型BOM
BOM介绍 浏览器对象模型(Brower Object Model,BOM)提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window BOM由一系列相关的对象构成,并且每个对象都提供了很多方法和属性。 BOM与DOM区别 DOM是文档对…...

Unity音频导入设置
参考:unity官方文档 导入设置 Force To Mono:强制单声道。启用后音频片段将降混为单声道声音。可以节省该资源所占据的空间。 Normalize:峰值归一化。降混过程通常会导致信号比原始信号更安静。峰值归一化的信号为音频源的音量属性提供了后…...

【数据分享】中国对外投资合作发展报告(2013-2023)
数据介绍 绪 论............................................................................................................................. 1 对外投资合作高质量发展迈出新步伐................................................................... 2 第一篇 发…...

java8之Stream流
文章目录 Stream流的定义和特性定义特性中间操作终结操作 生成流forEachmapfilterlimitsorted并行(parallel)程序Collectors Stream流的定义和特性 定义 Stream是Java 8 API添加的一个新的抽象,用于以声明性方式处理数据集合。它…...

pipx安装提示找不到包
执行: pipx install --include-deps --force "ansible6.*"WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) after connection broken by NewConnectionError(<pip._vendor.urllib3.connection.HTTPSConnection …...
Codeforces Round 987 (Div. 2)(前四道)
A. Penchick and Modern Monument 翻译: 在繁华大都市马尼拉的摩天大楼中,菲律宾最新的 Noiph 购物中心刚刚竣工!建筑管理方 Penchick 订购了一座由 n 根支柱组成的先进纪念碑。 纪念碑支柱的高度可以用一个由 n 个正整数组成的数组 h 来表示…...

PCB+SMT线上报价系统+PCB生产ERP系统自动化拼板模块升级
PCB生产ERP系统的智能拼版技术,是基于PCB前端报价系统获取到的用户或市场人员已录入系统的板子尺寸及set参数等,按照最优原则或利用率最大化原则自动进行计算并输出拼版样式图和板材利用率,提高工程人员效率,减少板材的浪费。覆铜…...