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

Linux网络 | 网络层IP报文解析、认识网段划分与IP地址

        前言:本节内容为网络层。 主要讲解IP协议报文字段以及分离有效载荷。 另外, 本节也会带领友友认识一下IP地址的划分。 那么现在废话不多说, 开始我们的学习吧!!

        ps:本节正式进入网络层喽, 友友们传输层理解了吗?

目录

认识IP协议

IP协议的报头

报头和有效载荷如何分离

四位版本

八位服务类型 

十六位总长度 

32位源IP和32位目的IP

网段划分 

网络号主机号 

子网掩码 

特殊的IP地址 

分析IP地址不足问题

私有IP和公有IP 

 ifconfig查看IP地址


认识IP协议

        之前已经能做到,将数据从上层拷贝到tcp缓冲区当中,这个是应用层要做的事情。然后我们也能在传输层进行传输控制,比如提供可靠性策。但是真正进行传输,真正进行办事的其实是网络层,也就是IP协议。所以,IP协议的本职工作:提供一种能力,将数据跨网络从A主机送到B主机。

        同时,用户也需要这种能力:将数据可靠的跨网络从A主机送到B主机。

        看下面一张图,利用学生学习的例子来理解一下IP的工作:

        我们的信息从一台主机发送到另一台主机,要经过很多路由器,所以就要对这些主机进行标识。对源IP地址和目的IP来标识源主机和目的主机。

        IP地址就类似于唐僧西天取经,有目标城市,有目标地址,还有目标人物。 

         实际上任何一个主机都是在一个子网当中的,假如下面的圆圈就是子网,下面的放框框就是一个一个的路由器。菱形就是子网中一个一个的主机。假如说有一个主机A想要将数据发送到B主机。

        既然要发送,那么就一定要跨越很多的路由器子网。这就是路由器转发。转发的过程中,一定是先到达目标网络(IP地址的构成 = 目标网络 + 目标主机),即目标主机所在的局域网。然后再交给目标主机。

        其实,这个IP地址就类似于学号。我们的学号是不是被精心涉及过的,是不是有类似于:学员编号 + 专业编号 + 班级编号 + 学生序号?这个学号我们可以简化一下:学号 = 学院 + 序号
如下图是学院编号:

        然后每个学院都有自己的编号,比如001, 002等。 所以组合起来,就比如计算机学院的001号学生。所以学号就是111001。

        假如我是计算机的,假如我今天找到了一个钱包, 这个钱包不知道是谁的,只有一个学号,比如说115008。那么我们就去食堂一个一个的问,看看是谁的。这个问的过程,就是查找。 而查找的本质是排除。这个一个一个问本质是线性遍历,效率太低。

        所以我就想到了学生会主席,学生会主席就是管理这个的,所以,我今天就将这个钱包拍了照片,让学生会主席去办事。所以,学生会主席就将钱包拿到一看,是115开头。说明是电气的,所以学生会主席就将钱包拿到了电器那边。让电气的学生会主席将钱包给他们学院的学生。

        这个故事里面,钱包就是数据。 我就是主机A,那个丢钱包的就是主机B。 然后学生会主席就是路由器。主机A将钱包发给计算机的路由器,计算机的路由器将钱包发给电气的路由器。 电气的路由器再把钱包发给主机B。

        为什么这个过程找到目标主机变快了呢。一这是因为主机A把数据给计算机路由器,是把计算机学院里面的所有主机全部淘汰了,一下子就淘汰了一群人。然后计算机路由器是把所有的路由器中的其他路由器淘汰了。直接找到电气路由器。电气路由器又是把电气学院的所有主机都淘汰了一下子找到了主机B。查找的本质是排除,所以这个方法,是淘汰的速度变快了。

        所以,IP = 目标网络 +目标主机。 本质上是为了让定位更加快速。        

IP协议的报头

报头和有效载荷如何分离

        IP协议报头和有效载荷分离的方法就是:固定长度+自描述字段

        这个固定长度就是四位首部长度。 假设四位首部长度的大小是x,那么x*4 = 真实报头。所以如果标准报头是20个字节,那么这个四位首部长度最少就是5。最多是二进制全1,即15。上面的自描述字段其实就是十六位总长度字段(后面讲解)。

        到时候就是IP协议的报头(除去选项)的长度固定20字节。 只拿四位首部长度的部分和十六位总长度的部分。就能将报头和有效载荷进行分离。

四位版本

        对于IPv4来说,就是4位版本。
        随着入网设备的增多,IPv4已经不足了。所以解决方案就有:NAT技术、IPv6。但是从根本上解决问题还是lpv6。只不过IPv6和IPv4是完全不兼容的。所以上面这是IPv4的报文。IPv6是128个比特位。

八位服务类型 

        3位优先级,四位TOS字段。和1位保留字段。四位TOS字段就表示:最小延时、最大吞吐量、最高可靠性、最小成本。 

十六位总长度 

        报文的总长度。这个十六位总长度 + 4位首部长度就叫做自描述字段。UDP和TCP最终都要把数据交给IP层。无论是字节流还是数据报,所有的报文在IP层其实都是一个一个的数据报。所以,所谓的面向字节流的概念,只是TCP层以上的概念,不是IP层的概念。 

32位源IP和32位目的IP

        我们以前连接服务器,我们要使用IP地址和port。 本质上其实就是socket套接字要用到port和IP地址。为什么?

        为什么需要这两个数字,因为这两个数字就能定位我们的目标主机。其中TCP报头里面填充的是port,IP报头里面填充的是IP地址。——这就是为什么要将点分十进制ip转化为四字节。因为IP报头的源IP和目的IP是四个字节。所以当一个IP报文扔到网络里面的时候,真正要支持路由的其实是根据我们的32位目的IP地址来进行路径选择的。

        在我们真正的通信过程之中,中间的路由器是没有TCP层的,只有双方主机是有TCP层的。(可以有,但是不需要,因为路由器只工作在网络层。)

网段划分 

        网段划分我们要分成两个部分进行理解。 这里先认识一下网段划分。 

网络号主机号 

        其实IP地址分为两部分,网络号和主机号。
        网络号:保证相互连接的两个网段具有不同的标识;
        主机号:同一个网段内,主机之间具有相同的网络号,但是必须有不同的主机号 。

        这两个号是什么意思,就类似于学号 = 学院号 + 学生序号。网络号就是当前的局域网的编号,主机号就是代表这台主机在局域网当中的序号。 所以,IP地址由两部分组成,以后拿到IP地址,就将IP作为两部分来看待,网络号 + 主机号。这里我们就要认识下面这几点:

        1、路由器本质也是特定一个子网的主机,也要配置IP地址。
        2、路由器一定至少要连接2个子网,所以路由器也就相当于同时在两个子网。路由器那么就可以配置多个IP,并且一定会有多个IP。至少两个。——这里我们认为路由器有多张网卡就可以了。
        3、路由器一般是一个子网中的第一台设备,一般他的IP地址都是:网络号 + 1。 (大部分都是,但是有特殊情况)
        4、路由器的功能是IP报文的转发,但是并不仅仅如此。一个路由器还有很多功能,其中一个就是:构建子网(局域网)。

        其实不同的子网就是把网络号相同的主机放到一起。
        如果子网中新增一台主机,则这台主机的网络号和这个子网的网络号一致,但是主机号必须不能和子网中的其他主机重复。 

子网掩码 

        IPv4是32位,其实就是2^32 = 42亿+。 ——》所以IP地址就是一种有限的资源。

        因为是有限的资源,那么IP地址就要很好的管理起来。所以IP地址就被分为了网络地址和主机地址。 其实以前有一种分类方法是五类划分法。就是有ABCDE类。

        但是这种划分方式的缺点很快就显现出来了。大部分组织都申请B类网络地址,导致B类地址很快就分配完了。 并且其中这16位主机号根本就用不完,所以就造成了大量的浪费。

         针对这种浪费的情况,就提出了一种新的方案:子网掩码。叫做CIDR。

        子网掩码也是一个32位正整数,通常用一串“0"来结尾。左侧以"1"开始。将IP地址和子网掩码进行“按位与“操作,得到的结果就是网络号。网络号和主机好的划分与这个IP地址是A类、B类还是C类无关。        

        怎么用呢,就比如此时IP地址是140.252.20.68,子网掩码是255.255.255.0。

        那么得到的网络号就是两个进行按位与。 得到140.252.20.0,所以子网的范围就能知道了是140.252.20.0~140.252.20.255。

        其中有两个IP地址不用,.0和.255。意思就是开区间。 140.252.20.0我们叫做网络号,140.252.20.255我们称为广播。

        如果子网掩码是255.255.255240,那么得到的网络号就是140.252.20.64。这个就是网络号,即:140.252.20(十进制).0100 0000(二进制)。那么IP地址的范围就是:140.252.20.11110000~140.25220.0100 1111。所以,子网掩码,可以对IP32位,进行任意的划分。 

特殊的IP地址 

        主机号全零是局域网;全1是广播。 127.0.0.1为本地环回。

分析IP地址不足问题

        CIDR一定程度上缓解了IP地址的不足。 但是并没有增加IP地址的上限。上面谈到的策略是分类+子网掩码。

        所以就有了两种解决IP地址不足的方法:

  •         动态IP地址分配:就是我们的电脑不想上网的时候,电脑是没有IP地址的。 当想要入网的时候,就要先连接家里的路由器,然后路由器就动态分配了一个IP地址(这个是NAT技术, 后面讲解)。
  •         IPv6:真正的提高了上限。但是与IPv4严重不兼容。其实IPv6现在已经做的很好了,但是现在世界上为什么还是很少使用IPV6呢?因为TCP、IP协议栈是在操作系统内部的,意味着如果要将IPV4改编成IPV6,那么就要把世界上所有的终端设备全部切换成IPv6。给全世界上所有的操作系统换成IPV6,这个是不现实的。但是,如果使用IPV6的用户多于使用IPv4的用户时,那么就能改变lpv6的使用格局。我国是IPV6使用的最好的,当年零八年奥运会长内网就是使用的IPV6,要知道,我国的物联网也是非常发达的,一个地区的网络发达程度取决于什么?取决于用户,用户,说到底就是入网设备。以后智能设备一旦发展起来,那么入网设备将会大幅度增加。谁掌握的入网设备范围广,多,谁在网络领域就有话语权。所以,我国一旦将物联网的设备发展起来,什么只能电气,智能家居啥啥,那么哪个国家的入网备能比过中国?没有,而且我们平时是不是看到时那些大型的互联网公司,有些网站下面是不是都写着一个某某某支持IPV6技术,其实就是我国规定的,要让我们国家的所有入网设备全部支持IPV6技术,到时候物联网起来,就能快速更换成IPV6。就迅速拥有了天数的网民。

私有IP和公有IP 

        如果一个组织内部组件局域网,只用于局域网内的通信,而不是直接连接到Internet上面,使用任意的IP地址都可以,但是RFC 1918规定了用于组建局域网的私有IP地址。

  •         前八位是10的,全部都只能用来组建私网。172.16 到172.31,全部都只能用来组建私网。192.168开头,全部都只能用来组建私网。
  •         其余的用来构建公网。

 ifconfig查看IP地址

——————以上就是本节全部内容哦, 如果对友友们有帮助的话可以关注博主, 方便学习更多知识哦!!!     

相关文章:

Linux网络 | 网络层IP报文解析、认识网段划分与IP地址

前言:本节内容为网络层。 主要讲解IP协议报文字段以及分离有效载荷。 另外, 本节也会带领友友认识一下IP地址的划分。 那么现在废话不多说, 开始我们的学习吧!! ps:本节正式进入网络层喽, 友友们…...

项目测试之Postman

文章目录 基础实战进行批量测试并输出报告 基础 实战 进行批量测试并输出报告 参考: https://blog.csdn.net/tyh_keephunger/article/details/109205191 概述 Newman是什么?Newman是Postman的命令行工具,用于执行接口测试集合。操作过程…...

C++——list的了解和使用

目录 引言 forward_list与list 标准库中的list 一、list的常用接口 1.list的迭代器 2.list的初始化 3.list的容量操作 4.list的访问操作 5.list的修改操作 6.list的其他操作 二、list与vector的对比 结束语 引言 本篇博客要介绍的是STL中的list。 求点赞收藏评论…...

MySQL基本架构SQL语句在数据库框架中的执行流程数据库的三范式

MySQL基本架构图: MySQL主要分为Server层和存储引擎层 Server层: 连接器:连接客户端,获取权限,管理连接 查询缓存(可选):在执行查询语句之前会先到查询缓存中查看是否执行过这条语…...

(leetcode 213 打家劫舍ii)

代码随想录&#xff1a; 将一个线性数组换成两个线性数组&#xff08;去掉头&#xff0c;去掉尾&#xff09; 分别求两个线性数组的最大值 最后求这两个数组的最大值 代码随想录视频 #include<iostream> #include<vector> #include<algorithm> //nums:2,…...

如何用KushoAI提升API自动化测试效率:AI驱动的革命

在现代软件开发中,API测试已经成为确保系统稳定性和可靠性的关键。然而,传统的API测试往往依赖手动编写测试用例,每次修改API后都需要重新进行测试,这不仅耗时费力,还容易因人为疏忽而出现问题。想象一下,你是否曾因API在生产环境中出现微小错误而彻夜未眠?每次修改API后…...

docker安装nacos2.2.4详解(含:nacos容器启动参数、环境变量、常见问题整理)

一、镜像下载 1、在线下载 在一台能连外网的linux上执行docker镜像拉取命令 docker pull nacos:2.2.4 2、离线包下载 两种方式&#xff1a; 方式一&#xff1a; -&#xff09;在一台能连外网的linux上安装docker执行第一步的命令下载镜像 -&#xff09;导出 # 导出镜像到…...

DBeaver连接MySQL提示Access denied for user ‘‘@‘ip‘ (using password: YES)的解决方法

在使用DBeaver连接MySQL数据库时&#xff0c;如果遇到“Access denied for user ip (using password: YES)”的错误提示&#xff0c;说明用户认证失败。此问题通常与数据库用户权限、配置错误或网络设置有关。本文将详细介绍解决此问题的步骤。 一、检查用户名和密码 首先&am…...

VirtualBox:跨磁盘导入已存的vdi磁盘文件顺便测试冷迁移

目录 1.背景 2.目的 3.步骤 3.1 安装在移动硬盘上 3.2.接管现有主机磁盘上的虚拟机 3.3接管迁移到移动硬盘的虚拟机 4. 结论 1.背景 电脑重新做了系统&#xff0c;然后找不到virtualbox的启动程序了&#xff0c;另外电脑磁盘由于存储了其他文件已经爆红&#xff0c;无法…...

蓝桥杯思维训练营(一)

文章目录 题目总览题目详解翻之一起做很甜的梦 蓝桥杯的前几题用到的算法较少&#xff0c;大部分考察的都是思维能力&#xff0c;方法比较巧妙&#xff0c;所以我们要积累对应的题目&#xff0c;多训练 题目总览 翻之 一起做很甜的梦 题目详解 翻之 思维分析&#xff1a;一开…...

EchoMimicV2的部署使用

最近有一个录课的需要&#xff0c;我不想浪费人力&#xff0c;只想用技术解决。需求很简单&#xff0c;就是用别人现成的录课视频中的形象和声线&#xff0c;再结合我提供的讲稿去生成一个新的录课视频。我觉得应该有现成的技术了&#xff0c;我想要免费大批量生产。最近看到这…...

JVM深入学习(一)

目录 一.JVM概述 1.1 为什么要学jvm&#xff1f; 1.2 jvm的作用 1.3 jvm内部构造 二.JVM类加载 2.1类加载过程 2.2类加载器 2.3类加载器的分类 2.4双亲委派机制 三.运行时数据区 堆空间区域划分&#xff08;堆&#xff09; 为什么分区(代)&#xff1f;&#xff08…...

线段树(Segment Tree)和树状数组

线段树&#xff08;Segment Tree&#xff09;和树状数组 线段树的实现链式&#xff1a;数组实现 解题思路树状数组 线段树是 二叉树结构 的衍生&#xff0c;用于高效解决区间查询和动态修改的问题&#xff0c;其中区间查询的时间复杂度为 O(logN)&#xff0c;动态修改单个元素的…...

Teleporters( Educational Codeforces Round 126 (Rated for Div. 2) )

Teleporters&#xff08; Educational Codeforces Round 126 (Rated for Div. 2) &#xff09; There are n 1 n1 n1 teleporters on a straight line, located in points 0 0 0, a 1 a_1 a1​, a 2 a_2 a2​, a 3 a_3 a3​, …, a n a_n an​. It’s possible to tele…...

JavaScript 注释

JavaScript 注释 引言 JavaScript 注释是编写代码过程中不可或缺的一部分。它们不仅可以提高代码的可读性和可维护性,还能帮助其他开发者(或未来的自己)更好地理解代码的意图。本文将深入探讨 JavaScript 注释的多种类型、使用方法和最佳实践。 一、注释的分类 JavaScri…...

消息队列篇--原理篇--常见消息队列总结(RabbitMQ,Kafka,ActiveMQ,RocketMQ,Pulsar)

1、RabbitMQ 特点&#xff1a; AMQP协议&#xff1a;RabbitMQ是基于AMQP&#xff08;高级消息队列协议&#xff09;构建的&#xff0c;支持多种消息传递模式&#xff0c;如发布/订阅、路由、RPC等。多语言支持&#xff1a;支持多种编程语言的客户端库&#xff0c;包括Java、P…...

AVL搜索树

一、介绍 高度平衡的搜索二叉树&#xff0c;保证每个节点的左右子树高度差不超过1&#xff0c;降低搜索树的高度以提高搜索效率。 通过平衡因子和旋转来保证左右子树高度差不超过1 二、插入节点 1、插入规则 &#xff08;1&#xff09;搜按索树规则插入节点 &#xff08;…...

ELK模块封装starter

文章目录 1.combinations-elk-starter1.目录结构2.log4j2-spring.xml 从环境变量读取host和port3.ELKProperties.java 两个属性4.ELKAutoConfiguration.java 启用配置类5.ELKEnvironmentPreparedListener.java 监听器从application.yml中获取属性值6.spring.factories 注册监听…...

C# 与.NET 日志变革:JSON 让程序“开口说清话”

一、引言&#xff1a;日志新时代的开启 在软件开发的漫长旅程中&#xff0c;日志一直是我们不可或缺的伙伴。它就像是应用程序的 “黑匣子”&#xff0c;默默地记录着程序运行过程中的点点滴滴&#xff0c;为我们在调试、排查问题以及性能优化时提供关键线索。在早期&#xff…...

Ubuntu 系统,如何使用双Titan V跑AI

要在Ubuntu系统中使用双NVIDIA Titan V GPU来运行人工智能任务&#xff0c;你需要确保几个关键组件正确安装和配置。以下是基本步骤&#xff1a; 安装Ubuntu操作系统&#xff1a; 下载最新版本的Ubuntu服务器或桌面版ISO文件。使用工具如Rufus&#xff08;Windows&#xff09;或…...

CSDN的历史

CSDN(中国开发者网络,China Software Developer Network)是中国最具影响力的IT技术社区之一,其历史可追溯至1999年。以下是其发展历程和关键节点: --- **一、创立背景(1999年)** - **创始人**:蒋涛(国内知名技术人,曾参与金山软件早期开发)。 - **初衷**:为国内程…...

使用Pygame制作“贪吃蛇”游戏

贪吃蛇 是一款经典的休闲小游戏&#xff1a;玩家通过操控一条会不断变长的“蛇”在屏幕中移动&#xff0c;去吃随机出现的食物&#xff0c;同时要避免撞到墙壁或自己身体的其他部分。由于其逻辑相对简单&#xff0c;但可玩性和扩展性都不错&#xff0c;非常适合作为新手练习游戏…...

【详细教程】如何在Mac部署Deepseek R1?

DeepSeek是目前最火的国产大模型&#xff0c;官方App用户太多服务经常出现卡顿&#xff0c;部署一个本地DeepSeek R1可以方便使用。 1.系统最低要求 macOS 11 Big Sur 或更新 2.下载ollama https://ollama.com/ 3.安装DeepSeek R1 打开终端 运行命令 ollama run deepseek-…...

Java中的getInterfaces()方法:使用与原理详解

在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一个强大的工具&#xff0c;它允许程序在运行时动态地获取类的信息并操作类的属性和方法。getInterfaces()方法是Java反射API中的一个重要方法&#xff0c;用于获取类或接口直接实现的接口。本文将深入探讨getInt…...

PT站点自动签到

在站点下载一些视频电影资源&#xff0c;站点需要长期维护&#xff0c;每天自动签到。 两种方式&#xff1a; 一、保持浏览器登录状态&#xff0c;打开默认用户文件&#xff0c; 模拟点击签到&#xff08;点击按钮自行设置&#xff1a;根据href名称&#xff09; log日志 首次…...

计算机网络一点事(23)

传输层 端口作用&#xff1a;标识主机特定进程&#xff0c;TCP&#xff0c;UDP协议 端口号分类&#xff1a;服务器&#xff1a;0-1023&#xff0c;熟知 1024-49151 登记 客户端&#xff1a;49152-65535 功能&#xff1a;实现端到端&#xff0c;进程到进程的通信&#xff0c…...

vim操作简要记录

操作容易忘记&#xff0c;记录一下基本使用的 :wq保存退出 :w :q :q! :wq! i I a A 方向键 h左 j下 k上 l右 dd删除方行&#xff08;这其实是剪切行操作&#xff0c;不过一般用作删除&#xff0c;长按可删除&#xff0c;不过按.执行上一次操作删除更快&#xff09; .执行上…...

DeepSeek大模型技术深度解析:揭开Transformer架构的神秘面纱

摘要 DeepSeek大模型由北京深度求索人工智能基础技术研究有限公司开发&#xff0c;基于Transformer架构&#xff0c;具备卓越的自然语言理解和生成能力。该模型能够高效处理智能对话、文本生成和语义理解等复杂任务&#xff0c;标志着人工智能在自然语言处理领域的重大进展。 关…...

Carla-ModuleNotFoundError: No module named ‘agents.navigation‘

解决办法&#xff1a; You need to make sure that _agents _ is in your (PYTHON)PATH variable or your working dictionary. Setting your working dictionary to <CARLA_ROOT>/PythonAPI/carla would fix it as agents is a sub dictionary. Similarly adding the c…...

1.Template Method 模式

模式定义 定义一个操作中的算法的骨架&#xff08;稳定&#xff09;&#xff0c;而将一些步骤延迟&#xff08;变化)到子类中。Template Method 使得子类可以不改变&#xff08;复用&#xff09;一个算法的结构即可重定义&#xff08;override 重写&#xff09;该算法的某些特…...

腾讯云开发提供免费GPU服务

https://ide.cloud.tencent.com/dashboard/web 适用于推理场景&#xff0c;每个月10000分钟免费时长 166 小时 40 分钟 自带学术加速&#xff0c;速度还是不错的 白嫖 Tesla T4 16G 算力 显存&#xff1a;16GB 算力&#xff1a;8 TFlops SP CPU&#xff1a;8 核 内存&#…...

11.QT控件:输入类控件

1. Line Edit(单行输入框) QLineEdit表示单行输入框&#xff0c;用来输入一段文本&#xff0c;但是不能换行。 核心属性&#xff1a; 核心信号&#xff1a; 2. Text Edit(多行输入框) QTextEdit表示多行输入框&#xff0c;也是一个富文本 & markdown编辑器。并且能在内容超…...

想学习Python编程,应该如何去学习呢

学习Python编程是一个循序渐进的过程&#xff0c;以下是一个详细的学习路径和建议&#xff1a; 一、基础入门 安装Python环境&#xff1a; 从Python官方网站下载并安装适合你操作系统的Python版本。确保将Python添加到系统路径中&#xff0c;以便在命令行中方便地访问。 学习…...

Java知识速记:深拷贝与浅拷贝

Java知识速记&#xff1a;深拷贝与浅拷贝 什么是浅拷贝&#xff1f; 浅拷贝指的是创建一个新对象&#xff0c;但新对象的属性值是对原对象属性值的引用。当原对象的属性是基本类型时&#xff0c;浅拷贝能够直接复制其值&#xff1b;当属性是对象时&#xff0c;仅复制引用&…...

I2C基础知识

引言 这里祝大家新年快乐&#xff01;前面我们介绍了串口通讯协议&#xff0c;现在我们继续来介绍另一种常见的简单的串行通讯方式——I2C通讯协议。 一、什么是I2C I2C 通讯协议&#xff08;Inter-Integrated Circuit&#xff09;是由Phiilps公司在上个世纪80年代开发的&#…...

智慧园区平台系统在数字化转型中的作用与应用前景探究

内容概要 在当前快速变化的商业环境中&#xff0c;数字化转型已经成为企业发展的重要趋势&#xff0c;而智慧园区平台系统则是这一转型的核心工具之一。这种系统集成了多种现代技术&#xff0c;能够有效提升园区的管理效率、优化资产使用&#xff0c;并提升整体服务水平。智慧…...

19 压测和常用的接口优化方案

高并发的平台应用&#xff0c;项目上线前离不开一个重要步骤就是压测&#xff0c;压测对于编码中的资源是否问题的排查&#xff0c;性能的调优都是离不开的。测试还要做测试报告&#xff0c;出具了测试报告给到运维团队才能上线。 压测的测试报告主要有以下几个方面:1.响应时间…...

buuuctf_秘密文件

题目&#xff1a; 应该是分析流量包了&#xff0c;用wireshark打开 我追踪http流未果&#xff0c;分析下ftp流 追踪流看看 用户 “ctf” 使用密码 “ctf” 登录。 PORT命令用于为后续操作设置数据连接。 LIST命令用于列出 FTP 服务器上目录的内容&#xff0c;但在此日志中未…...

前端学习-事件委托(三十)

目录 前言 课前思考 for循环注册事件 语法 事件委托 1.事件委托的好处是什么? 2.事件委托是委托给了谁&#xff0c;父元素还是子元素 3.如何找到真正触发的元素 示例代码 总结 前言 才子佳人&#xff0c;自是白衣卿相 课前思考 1.如果同时给多个元素注册事件&…...

工具的应用——安装copilot

一、介绍Copilot copilot是一个AI辅助编程的助手&#xff0c;作为需要拥抱AI的程序员可以从此尝试进入&#xff0c;至于好与不好&#xff0c;应当是小马过河&#xff0c;各有各的心得。这里不做评述。重点在安装copilot的过程中遇到了一些问题&#xff0c;然后把它总结下&…...

OPENGLPG第九版学习

文章目录 一、OpenGL概述二、着色器基础三、OpenGL绘制方式四、颜色、像素和片元五、视口变换、裁减、剪切与反馈六、纹理与帧缓存七、光照与阴影八、程序式纹理 skip九、细分着色器 skip十、几何着色器 skip十一、内存十二、计算着色器 skip附录 A 第三方支持库附录 B OpenGL …...

C++中常用的十大排序方法之1——冒泡排序

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C中常用的排序方法之——冒泡排序的相关…...

算法总结-哈希表

文章目录 1.赎金信1.答案2.思路 2.字母异位词分组1.答案2.思路 3.两数之和1.答案2.思路 4.快乐数1.答案2.思路 5.最长连续序列1.答案2.思路 1.赎金信 1.答案 package com.sunxiansheng.arithmetic.day14;/*** Description: 383. 赎金信** Author sun* Create 2025/1/22 11:10…...

文件上传功能(一)

总说 过程参考黑马程序员SpringBoot3Vue3全套视频教程&#xff0c;springbootvue企业级全栈开发从基础、实战到面试一套通关_哔哩哔哩_bilibili 目录 总说 一、功能实现 1.1 Controller层 二、优化 一、功能实现 1.1 Controller层 在contoller层&#xff0c;创建一个File…...

【LeetCode 刷题】二叉树-二叉树的属性

此博客为《代码随想录》二叉树章节的学习笔记&#xff0c;主要内容为二叉树的属性相关的题目解析。 文章目录 101. 对称二叉树104.二叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数110.平衡二叉树257. 二叉树的所有路径404.左叶子之和513.找树左下角的值112. 路…...

Redisson

Redisson快速入门 将原先逻辑修改 Redis代金卷(优惠卷)秒杀案例-多应用版-CSDN博客...

回顾生化之父三上真司的游戏思想

1. 放养式野蛮成长路线&#xff0c;开创生存恐怖类型 三上进入capcom后&#xff0c;没有培训&#xff0c;没有师傅手把手的指导&#xff0c;而是每天摸索写策划书&#xff0c;老员工给出不行的评语后&#xff0c;扔掉旧的重写新的。 然后突然就成为游戏总监&#xff0c;进入开…...

汽车网络信息安全-ISO/SAE 21434解析(中)

目录 第七章-分布式网络安全活动 1. 供应商能力评估 2. 报价 3. 网络安全职责界定 第八章-持续的网络安全活动 1. 网路安全监控 2. 网络安全事件评估 3. 漏洞分析 4. 漏洞管理 第九章-概念阶段 1. 对象定义 2. 网路安全目标 3. 网络安全概念 第十章 - 产品开发 第十…...

Tailwind CSS - Tailwind CSS 引入(安装、初始化、配置、引入、构建、使用 Tailwind CSS)

一、Tailwind CSS 概述 Tailwind CSS 是一个功能优先的 CSS 框架&#xff0c;它提供了大量的实用类&#xff08;utility classes&#xff09;&#xff0c;允许开发者通过组合这些类来快速构建用户界面 Tailwind CSS 与传统的 CSS 框架不同&#xff08;例如&#xff0c;Bootstr…...

Python-基于PyQt5,pdf2docx,pathlib的PDF转Word工具

前言:日常生活中,我们常常会跟WPS Office打交道。作表格,写报告,写PPT......可以说,我们的生活已经离不开WPS Office了。与此同时,我们在这个过程中也会遇到各种各样的技术阻碍,例如部分软件的PDF转Word需要收取额外费用等。那么,可不可以自己开发一个小工具来实现PDF转…...