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

计算机网络【2】 子网掩码

学习大佬记下的笔记
https://zhuanlan.zhihu.com/p/163119376

"子网"掩码,顾名思义,它就是拿来划分子网的,更准确的说,划分子网的同时,还能通过它知道主机在子网里面的具体ip的具体地址。

子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分

子网掩码的用途:

  1. 方便管理,不同的子网可以相互隔离
  2. 我们知道,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 …...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

零基础在实践中学习网络安全-皮卡丘靶场(第十一期-目录遍历模块)

经过前面几期的内容我们学习了很多网络安全的知识,而这期内容就涉及到了前面的第六期-RCE模块,第七期-File inclusion模块,第八期-Unsafe Filedownload模块。 什么是"遍历"呢:对学过一些开发语言的朋友来说应该知道&…...

【系统架构设计师-2025上半年真题】综合知识-参考答案及部分详解(回忆版)

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20~21题】【第…...

React、Git、计网、发展趋势等内容——前端面试宝典(字节、小红书和美团)

React React Hook实现架构、.Hook不能在循环嵌套语句中使用 , 为什么,Fiber架构,面试向面试官介绍,详细解释 用户: React Hook实现架构、.Hook不能在循环嵌套语句中使用 , 为什么,Fiber架构,面试向面试官介绍&#x…...

Go 并发编程基础:select 多路复用

select 是 Go 并发编程中非常强大的语法结构,它允许程序同时等待多个通道操作的完成,从而实现多路复用机制,是协程调度、超时控制、通道竞争等场景的核心工具。 一、什么是 select select 类似于 switch 语句,但它用于监听多个通…...

C++参数传递 a与a的区别

在 C 中,&a(引用)和 a(值传递) 的关键区别在于 参数如何传递给函数,以及由此引发的 性能、语义和安全问题。 最核心的在于你想不想传入的参数被改变,如果想,就用参数传递&#…...

浏览器工作原理01 [#]Chrome架构:仅仅打开了1个页面,为什么有4个进程

引用 浏览器工作原理与实践 Chrome打开一个页面需要启动多少进程?你可以点击Chrome浏览器右上角的“选项”菜单,选择“更多工具”子菜单,点击“任务管理器”,这将打开Chrome的任务管理器的窗口,如下图 和Windows任务管…...