计算机网络【2】 子网掩码
学习大佬记下的笔记
https://zhuanlan.zhihu.com/p/163119376
"子网"掩码,顾名思义,它就是拿来划分子网的,更准确的说,划分子网的同时,还能通过它知道主机在子网里面的具体ip的具体地址。
子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分
子网掩码的用途:
- 方便管理,不同的子网可以相互隔离
- 我们知道,IPv4的ip地址资源比较紧张,实际上整个互联网就是一个巨大的局域网,ip地址有限,那么通过划分子网,如何再在子网里面分配ip地址给子网的主机,这个时候同一一个ip就可以给一整个子网所共用,就解决了互联网ip不够的问题
原理:
既然要划分子网,要有一个规则,告诉路由器,IP的哪一部分是表示子网,哪一部分表示我在这个子网里面具体的地址
所以,实际上IP细来讲又分为三部分:网络部分(network)子网段部分(subnetwork)和主机部分(host)
一般大家喜欢把网络部分和子网部分合并成为网络地址(网络号),把子网看做是网络的一部分,主机部分称为主机地址(主机号) 通俗理解:
网络号(subnetwork),表示我住哪个小区
主机号(host),表示我家门牌号是多少
或者说网络号就是我们平时打电话的区号,主机号是你的电话号码,如010-80220110, 010是网络号,80220110是主机号
我们平常看到的192.168.0.x这样的IP,这是给我们看的地址,计算机内部计算把ip变成二进制,每一个IP被4个点分成4部分,每一部分有8位,也就是一个IP实际上是一个一共32位的二进制数
如 192.168.0.3 换成二进制是 11000000 10101000 00000000 00000011
然后,这个32位的数根据需要被分为五大类分,由IANA(全球互联网地址指派机构)配给大家使用

一般来说这五类的用途大致分为:
A类保留给政府机构(0.0.0.0到127.255.255.255)
B类分配给中等规模的公司(128.0.0.0到191.255.255.255)
C类分配给任何需要的人(192.0.0.0到223.255.255.255)
D类用于组播(224.0.0.0—239.255.255.255)
E类用于实验(240.0.0.0—247.255.255.255)
A、B、C三类中IP地址=网络地址+主机地址,而D、E两类不区分网络地址和主机地址
特殊说明:
(1)A类中的 10.X.X.X是私有地址;127.X.X.X是保留地址
(2)B类中的 172.16.0.0~172.31.255.255是私有地址
(3)C类中的 192.168.X.X是私有地址
计算网络号与主机号:
子网掩码会把一个IP地址按这个划分成这两部分,计算方法是通过把IP地址变成二进制,子网掩码也转成二进制后,两个二进制数按位做 与运算。
比如,一个C类地址,ip: 192.168.0.3 ,子网掩码是:255.255.255.0
第一步先转而进制
ip: 192.168.0.3 > 11000000 10101000 00000000 00000011
网掩码:255.255.255.0 > 11111111 11111111 11111111 00000000
然后两个二进制按位做与计算
11000000 10101000 00000000 00000011
&
11111111 11111111 11111111 00000000
结果为
11000000 10101000 00000000 00000000
把这个而结果 : 11000000 10101000 00000000 00000000 每个8位转化回变成: 192.168.0.0
192.168.0.0 这个就是我们的网络段(包括了上面说的网络部分和子网部分)
3 就是我们的主机号(主机在子网络里面的标识)
CIDR(无类别域间路由)/VLSM(可变长子网掩码)
上面这个算法看起来有点难理解,另外一种CIDR(无类别域间路由)/VLSM(可变长子网掩码)的表示法跟容易看懂,如下面这个:
192.168.0.3/24
24表示这个ip的32位二进制数的前24位是网络标识的前缀,剩下的8位是主机标识,严格来,剩下的8位里面,全部是0是这个网络的标识,全部是1是这个网络的子网内广播地址,其他是这个子网网络的可用地址
192.168.0.3 => 11000000 10101000 00000000 00000011网络标识的前缀: 11000000 10101000 00000000 --(前24位)换算位10进制:192.168.0
网络标识: 11000000 10101000 00000000 00000000 --剩下8位全是0,转10进制是:192.168.0.0
广播地址 11000000 10101000 00000000 11111111 --剩下8位全是1,转10进制是:192.168.0.255
大家看,这个就很容易理解了,除了网络标识和广播地址这两个特殊地址,剩下8位里面其他二进制数就是其他主机的标识。
实际上,这个192.168.0.3/24 ,前24位全1,就是等于255.255.255.0,这个就是这个网络的子网掩码,而无类别域间路由是基于可变长子网掩码(VLSM)来进行任意长度的前缀的分配的,所以这个24也可以变成其他数,如16
192.168.0.3/16
只有前16位是网络,后面是地址16标识,换算回来就是
192.168.0.0 是网络标识(后16位二进制全位0)
192.168.255.255这个是域内广播地址(后16位二进制全为1)
那么192.168.0.0 - 192.168.255.255 间所有的其他地址就是这个子网的可以容纳的主机地址
所以这个子网的地址数量明显比192.168.0.3/24那个要大多了
那么的子网掩码也很容易计算,就是前面16位全是1后面16位全是0,换算成10进制就是255.255.0.0

相关文章:
计算机网络【2】 子网掩码
学习大佬记下的笔记 https://zhuanlan.zhihu.com/p/163119376 "子网"掩码,顾名思义,它就是拿来划分子网的,更准确的说,划分子网的同时,还能通过它知道主机在子网里面的具体ip的具体地址。 子网掩码只有一个…...
linux发行家族和发行版及安装软件方式
在Linux平台下,软件包的类型可以划分为两类:源码包、二进制包; 一个软件要在Linux上执行,必须是二进制文件; 源码包:即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后…...
FE_Vue学习笔记 条件渲染[v-show v-if] 列表渲染[v-for] 列表过滤 列表排序
1 条件渲染 v-show v-if 使用template可以使其里面的内容在html的结构中不变。条件渲染: v-if 1)v-if“表达式” 2)v-else-if“表达式” 3)v-else {} 适用于:切换频率较低的场景。特点:不展示的DOM元素直…...
基于C++实现旅行线路设计
访问【WRITE-BUG数字空间】_[内附完整源码和文档] 系统根据风险评估,为旅客设计一条符合旅行策略的旅行线路并输出,系统能查询当前时刻旅客所处的地点和状态(停留城市/所在交通工具)。 实验内容和实验环境描述 1.1 实验内容 城…...
Lenovo m93 mini 电脑 Hackintosh 黑苹果efi引导文件
原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件型号驱动情况 主板Lenovo m93 mini 处理器Intel i5-4590T 2.20GHz (35w) 4-core/4-thread已驱动 内存8GB (2x4) DDR3 1600MHz已驱动 硬盘2.5" SSD Samsung 8…...
【论文阅读】COPA:验证针对中毒攻击的离线强化学习的稳健策略
COPA: Certifying Robust Policies for Offline Reinforcement Learning against Poisoning Attacks 作者:Fan Wu, Linyi Li, Chejian Xu 发表会议:2022ICRL 摘要 目前强化学习完成任务的水平已经和人类相接近,因此研究人员的目光开始转向…...
Java笔记_18(IO流)
Java笔记_18 一、IO流1.1、IO流的概述1.2、IO流的体系1.3、字节输出流基本用法1.4、字节输入流基本用法1.5、文件拷贝1.6、IO流中不同JDK版本捕获异常的方式 二、字符集2.1、GBK、ASCII字符集2.2、Unicode字符集2.3、为什么会有乱码2.4、Java中编码和解码的代码实现2.5、字符输…...
前端vue3一键打包发布
一键打包发布可以分为两种,一是本地代码,编译打包后发布至服务器,二是直接在服务器上拉去代码打包发布至指定目录中。 两种各有使用场景,第一种是前端开发自己调试发布用的比较多,第二种是测试或者其他人员用的多&…...
13 | visual studio与Qt的结合
1 前提 Qt 5.15.2 visual studio 2019 vsaddin 2.8 2 具体操作 2.1 visual studio tool 2.1.1 下载 https://visualstudio.microsoft.com/zh-hans/downloads/2.1.2 安装 开发...
纯手动搭建大数据集群架构_记录019_集群机器硬盘爆满了_从搭建虚拟机开始_做个200G的虚拟机---大数据之Hadoop3.x工作笔记0179
今天突然就发现,使用nifi的时候集群满了...气死了.. 而在vmware中给centos去扩容,给根目录扩容,做的时候,弄了一天...最后还是报错, 算了从头搭建一个200G的,希望这次够用吧.后面再研究一下扩容的问题. 2023-05-12 11:06:48 原来的集群的机器,硬盘太小了,扩容不知道怎么回事…...
变量大小:—揭开不同类型的字节数
变量大小:一一揭开不同类型的字节数 在编程中,我们会使用各种类型的变量来存储数据,但是你是否知道这些变量在内存中所占用的字节数是多少呢?随着不同编程语言和不同的操作系统,这些变量的字节数可能会有所不同。在本…...
23.自定义指令
像是 v-if,v-for,v-model 这些是官方指令,vue允许开发者自定义指令 目录 1 mounted 1.1 基本使用 1.2 第一个形参 1.3 第二个形参 2 updated 3 函数简写 4 全局自定义指令 1 mounted 当指令绑定到元素身上的时候,就会自动触发mounted()…...
OPNET Modeler 例程——停等协议的建模和仿真
文章目录 一、概述二、链路模型和包格式创建三、进程模型1.src 进程模型2.sink 进程模型 四、节点模型五、网络模型六、仿真结果 一、概述 本例程是在 OPNET Modeler 中对停等协议的建模和仿真,其中停等协议的操作过程如下: (1)发…...
JavaScript - 基础+WebAPI(笔记)
前言: 求关注😭 本篇文章主要记录以下几部分: 基础: 输入输出语法;数据类型;运算符;流程控制 - 分支语句;流程控制 - 循环语句;数组 - 基础;函数 - 基础&…...
API调用的注意事项及好处!
API调用是指一个软件系统通过预定格式、协议和框架,向另一个软件系统发送请求并获得响应的过程。 在进行API调用时需要注意以下事项: 1. 认真阅读API文档:在调用API前,一定要认真仔细地阅读相关的API文档,了解API接口…...
ros2中常用命令,与ros1的区别
文章目录 1. ros1 中的rosrun tf tf_echo 在ros2中使用办法2. rqt 中 tf 树的查看3. roscd 在ros2中使用办法4. ros2获取时间的方法: 1. ros1 中的rosrun tf tf_echo 在ros2中使用办法 # ros2 run tf2_ros tf2_echo [reference_frame] [target_frame] ros2 run tf2…...
利用MySQL语句批量替换指定wordpress文章中的图片路径
很多时间我们将服务器中的图片下载到本地,然后删掉,但是有一个问题就是,所有文章中的图片路径还是以前的,没有根据域名来。导致下午某些时间段图片都是无法显示的,后来想到用MySQL直接批量替换,执行才不到1…...
Linux必会100个命令(六十)curl
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具。 curl选项比较多,使用man curl或者curl -h获取帮助信息。 -a/--append …...
物联网硬件安全与整改梳理(1)
物联网安全工作梳理(0)_luozhonghua2000的博客-CSDN博客 上篇讲了物联网总体安全知识框架和工作梳理,这篇单独讲下硬件安全方面的问题和整改知识技能点。硬件安全主要分5个方面来讲:硬件安全现状,硬件安全技术分析,典型案例,安全架构整改,安全整改措施。 智能硬件安全总…...
【大数据学习篇3】HDFS命令操作与MR单词统计
1. HDFS命令使用 [rootmaster bin]# su hd[hdmaster bin]$ #查看/目录[hdmaster bin]$ hdfs dfs -ls / 5 #在/目录创建一个为test名字的文件夹[hdmaster bin]$ hdfs dfs -mkdir /test#查看/目录[hdmaster bin]$ hdfs dfs -ls Found 1 itemsdrwxr-xr-x - hd supergroup …...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
