网络层IP协议知识大梳理
全是通俗易懂的讲解,如果你本节之前的知识都掌握清楚,那就速速来看我的IP协议笔记吧~
自己写自己的八股!让未来的自己看懂! (全文手敲,受益良多)
网路基础3
网路层
TCP并没有把数据发到网路里面,只是提供了可靠性策略。而IP协议的本质工作才是,提供一种能力,将数据跨网路从A主机送到B主机!用户需要的是:提供一种能力,将数据可靠地跨网路从A主机送到B主机。所以TCP提供策略,IP提供能力!
1.前置知识
我们要传输数据,前提要对所有的主机进行标识,源IP和目的IP来标识源主机和目的
主机。IP地址=目标网路+目标主机。从A主机到B主机要经过许多路由器转发,根据IP地址先到达目标网路,然后再交给目标主机。构建网路的时候,为我们将来高速定位一台主机提供基础保证!!
2.IP协议的报头
宽度为0~31,4个字节,标准长度为20个字节。与TCP类似。
如何理解IP报头呢?本质就是结构体,填字段
问题1:报头和载荷如何分离?
报头标准长度有20字节,数据包括有http的报头,TCP的报头和用户数据,通过固定报头+自描述字段(4位首部长度(如果超过20字节就是选项的了),总长度(总长度-4位首部长度=数据))。
TCP协议段格式:
TCP协议也有4位首部长度
都代表着:如果该位置的值是x,那么x*4就是真实报头。4位首部长度范围在【0000,1111】即0到15,因为至少有20字节,所以在【5,15】,所以真实报头大小为【20,60】
IP地址有2^32个,对于IP地址不足,有NAT,IPv6。
IP有自己总长度,而TCP没有。说明UDP,TCP最后都要把数据交给IP层,字节流服务也好,面向数据报也罢,将来在IP层发的都是数据报。所以TCP的字节流的概念,是TCP提供给应用层,应用层所关注到的概念。
8位生存时间:当把IP报文转发出去(路由器之间的转发)的时候,因为有一些原因(网络有bug之类),导致IP报文被一直转发
问题2:如何将有效载荷交付给上层?
答:8位协议:我们要把IP的有效载荷交给上层的哪个协议(TCP/UDP)
16位首部校验和:IP要对首部做校验,校验失败的首部直接丢弃,由发送方TCP直接传送。校验成功才可以向上交付
结论:socket: IP + port。端口号是给TCP去用的,IP 是给IP层去用的。 有目的IP地址和目的端口号,就可以向目标位置发送报文了。用源端口和目的端口填充TCP报头,用源IP地址和目的IP地址填充IP报头。
为什么要把点分十进制IP转为4字节IP?
因为IP报头的源IP地址和目的IP地址是4个字节,在真正路由的时候,根据目的IP地址来进行路径选择。在通信的时候,只工作在网络层,没有传输层
网段划分(重要)
网络号和主机号很好理解
1. 路由器本质上也是特定一个子网的主机,也要配置IP地址
2. 路由器可以实现跨网段传发,至少要连接2个子网,相当于同时在2个子网。所以路由器一定要配置多个IP.(认为路由器有多张网卡就行了)
3. 路由器一般是一个子网中的第一个设备,一般它的IP地址都是:网络号. 1
4. 路由器的功能,IP报文的转发,但不仅仅如此~,还可以构建子网(局域网)
一开始因为ip地址只有32位,大概42亿多,是不够用的。
,分类划分法这种方法会存在IP地址严重浪费的问题。
针对这种情况提出了新的划分方案,称为CIDR(Classless Interdomain Routing):
子网掩码的特点:
子网掩码左侧为1,右侧为0.将IP地址与网络掩码 & 就可以得到网络号。因此我们可以提供调整子网掩码1的个数来调整网络IP中主机号的多少~
子网掩码在路由器里面配置的。
140.252.20.0 为网络号,140.252.20.255 为广播。这两个主机不用
子网掩码可以对IP 32位任意划分。
子网掩码的书写:
特殊的IP地址
IP地址的数量限制

动态内存分配IP地址,用的时候给你,不用的时候释放给别人用。相当于共享机制。
真正变革的技术IPv6:128位,即:2^128个IP地址
私有IP地址和公网IP地址

IP地址被划分为:公网IP 和 私有IP。
理解运营商和全球网络理解
我们是怎么上网的?
运营商的工作人员先让光纤入户,然后要有2个设备,一个是调制解调器(猫),第二个是家用路由器。路由器有俩套账号和密码,一套是交钱提供上网服务的(给运营商);一套是给路由器加密的(给自己),防止别人蹭网。国家 大力 发展互联网,加大了网络基础设施建设。之前流量费非常贵,现在流量费非常便宜了。目的是让更多的人入网,
全球互联网:
IP地址是一份很大的资源,从大区域进入小区域,最后到达目的主机。我们的网络被精心设计过的。
公网和私网有什么关系的?
当目的IP不在当前网时要通过路由器进行寻找,直到找到目的主机。然后该主机会将源IP地址和目的IP地址转换,导致原来的私有IP变成了目的IP地址。因为私有IP不能出现在公网上的,所以该数据就回不来了!!!
我们应该怎么解决这样的问题呢?
所以当IP地址要经历路由器的时候,将源IP地址替换成每一个路由器的WAN口IP,即报文的替换。所以私有IP地址不断被替换的过程,我们叫做NAT技术(主要解决IP地址不足的问题)
我们为什么要使用私有IP而不直接使用公用IP呢?
原因是到达底层的区域的时候,IP地址已经严重不足了,不能够满足如此多的数量。
所以公网IP用在庞大的路由器里面,例如:国家,省份,城市。而私网IP地址用在小区域里面,例如:西安内部的网络 全都用私网。
所以:互联网=公网+私网~
路由器可以构建子网,路由器有Lan口IP和WAN口IP。家用路由器理解上和运营商的路由器性质是类似的。
为什么私网有那么多的类型呢?
如果子网覆盖得比较大,我们可以用第一种:10.*的可以有更多地址,其次是第二种,第三种。根据不同的情况选择不同的类型。
我们可以通过IP地址前几位,区分是在哪个区域,通过前面的数字就可以找到该IP的具体区域了。
大公司的IP是这样的(私有IP+公网IP)吗?
也是类似的
为什么要这样呢?原因是IP地址不足
路由
本地的主机也可以工作在网络层,也有掩码。查路由表的方式:拿着目标主机的IP & 掩码,如果结果等于目标网络,就通过该接口发出去。如果不等于就找下一个
查路由表的结果:
1. 给你具体的下一跳
2. 路由器不清楚是去哪一跳,但是传入默认路由(告诉你别的可能知道的)一般是同网段的另一台路由器,所以目标IP不在目前内网中。默认路由是出口路由器,即通向另一个更大的网段。
3. 到达入口路由器
结论:因为IP=目标网络+目标主机,我们在进行转发的时候,我们先到达目标网络。
我们转发的目的地址为192.168.56.3,先拿其与掩码&,得到192.168.56.0,与第一行地址作对比,不同下一个。发现与第二个相同,就会跳向0 eth1.所以IP路由的过程,就是逐个查路由表的过程。
我们再来看看IP协议的报文
实际上,在一台主机中,报文并没有通过网络层直接发出去,而是继续交给了下一层协议(数据链路层)
,数据链路层(属于网卡的驱动层),不能一次发送过大的报文!所以要求上层不能给我交付过大的报文!这就是为什么TCP要发一个一个的报文,而不是全部都发过去。假如IP报文就是很大,就要求IP成进行分片转发。
IP不光要考虑分片,未来也要组装。 这行报头维护 IP的分片和组装字段。
16位标识:
不同的IP报文有不同的标识
3位标识(更多分片):
13位片偏移:目的要把之前发的片组装在一起
如何组装呢?
1. 确保将分片全部都聚在一起(相同的标识)
2. 通过片偏移进行排序(完成排序)
前置问题:你怎么知道一个IP是被分片了呢?
如果没有分片,片偏移=0,更多分片=0。当我们发现 片偏移!=0 或 更多分片==1 (就分片一个)就说明分片了!
如果分片丢失了呢?
1. 丢第一个 收到的众多被分片的报文中,没有一个片偏移为0,就说明是丢第一个
2. 丢中间 让报文的长度与报文的片偏移做比较,如果差了超过一个报文的长度就说明丢中间了
3. 丢最后一个 所有的报文中,在3位标记的第三个都标记为1,就说明是最后一个
我们不建议分片!可能增加丢包概率,在IP中如果任何分片丢失,都要进行重发。
分片过程用数据举例:
假如报文有3000字节,报头有20字节。我们要对它进行分片,前提:每个分片必须要带报头,因为报头有标识,更多分片,片偏移的字段,少了这些无法组装。我们先分1500,然后把20字节的报头和后面的1480数据组成新的1500字节的分片,最后还剩20字节,再和20字节结合,形成40字节的分片。
,然后再进行组装
请你帮我解释一下:
一个http请求,从服务器发出到你拿到响应的整个过程
从应用层request和response 谈,request和response都是数据要交给TCP,交给TCP就会面临可靠性,拥塞控制,流量控制,面向连接,丢包重传的问题,如果再想谈,TCP报文向下传到IP,又会涉及路由问题,分片问题。细节谈的越多越说明你越厉害~
下篇文章我将更新——数据链路层~期待你的关注👉【A charmer】
相关文章:
网络层IP协议知识大梳理
全是通俗易懂的讲解,如果你本节之前的知识都掌握清楚,那就速速来看我的IP协议笔记吧~ 自己写自己的八股!让未来的自己看懂! (全文手敲,受益良多) 网路基础3 网路层 TCP并没有把数据发到网路…...
Linux-codec
codec原理图 codec接口 ①音频输入接口,连接mic ②音频输出接口,连接speaker ③sai/i2s接口,连接soc,soc和codec互发音频数据 ④i2c接口,连接soc,soc配置codecsai音频接口 MCLK:主时钟&#x…...
HTTP协议与web服务器
HTTP协议与web服务器 目录 一、浏览器与服务器通信过程 1.1 域名解析与连接建立 1.2 数据交互 1.3 连接管理 二、HTTP请求报头 2.1 请求行 2.2 请求报头 2.3 空行 2.4 请求体 三、HTTP应答报头 3.1 http应答报文头部信息 1. 状态行 2. 服务器名称 3. 数据长度 4…...
ECharts散点图-散点图7,附视频讲解与代码下载
引言: ECharts散点图是一种常见的数据可视化图表类型,它通过在二维坐标系或其它坐标系中绘制散乱的点来展示数据之间的关系。本文将详细介绍如何使用ECharts库实现一个散点图,包括图表效果预览、视频讲解及代码下载,让你轻松掌握…...
蓝桥杯之二分法(二)
存在某条件使得一边均满足,一边均不满足: 如果问题满足某种条件,使得在某个点之前的所有值都满足条件,而之后的所有值都不满足条件(或反之),那么可以使用二分法来找到这个边界。 1.问题的解具有…...
当 AI 有了 “万能插头” 和 “通用语言”:MCP 与 A2A 如何重构智能体生态
目录 一、MCP:让 AI 拥有 “万能工具插头” 1.1 从 “手工对接” 到 “即插即用” 1.2 架构解密:AI 如何 “指挥” 工具干活 1.3 安全优势:数据不出门,操作可追溯 二、A2A:让智能体学会 “跨语言协作” 2.1 从 “…...
从零开始 保姆级教程 Ubuntu20.04系统安装MySQL8、服务器配置MySQL主从复制、本地navicat远程连接服务器数据库
从零开始:Ubuntu 20.04 系统安装 MySQL 8、服务器配置 MySQL 主从复制、本地 Navicat 远程连接服务器数据库 初始化服务器1. 更新本地软件包列表2. 安装 MySQL 服务器3. 查看 MySQL 安装版本4. 登录 MySQL 管理终端5. 设置 root 用户密码(推荐使用 nativ…...
PHP序列化/反序列化漏洞原理
PHP反序列化原理详解 引言 PHP反序列化是PHP中一个重要的概念,它允许将序列化后的数据重新转换为原始的数据结构。在PHP中,可以使用serialize()函数将数据序列化为字符串,然后使用unserialize()函数将序列化后的字符串反序列化为原来的数据结…...
并查集(力扣2316)
这种涉及不同连通分量的,看上去就可以用并查集。并查集的模板请参见上一篇内容。并查集(力扣1971)-CSDN博客 现在我们要求的是无法互相到达的点对。根据观察易得,我们只需要求出每个并查集的元素数量,然后遍历每个点&…...
【web服务_负载均衡Nginx】一、Nginx 基础与核心概念解析
一、Nginx 概述:从起源到行业地位 Nginx(发音为 “engine x”)是一款高性能的开源 Web 服务器、反向代理服务器,同时具备负载均衡、内容缓存、TCP/UDP 代理及邮件代理等功能。它由俄罗斯工程师伊戈尔・赛索耶夫(Igo…...
【Python入门】文件读取全攻略:5种常用格式(csv/excel/word/ppt/pdf)一键搞定 | 附完整代码示例
大家好,我是唐叔!今天给大家带来一篇Python文件读取的终极指南。无论是数据分析、办公自动化还是爬虫开发,文件读取都是Python程序员必须掌握的核心技能。本文将详细介绍Python处理5大常用文件格式的方法,包含完整可运行的代码示例…...
考研系列-计算机网络冲刺考点汇总(下)
写在前面 本文将总结王道408考研课程的计算机网络冲刺考点的第四章到第六章内容(网络层、传输层、应用层)。 第四章、网络层 1.SDN SDN的基本概念 注意对应关系:数据平面-转发;控制平面-路由选择 2.路由选择算法 (1)RIP协议-基于…...
GitLab-CI集成FTP自动发布
简介 在某些场景下,代码是以 FTP 的方式部署到服务器上,那么我们可以使用 GitLab-CI 来实现自动发布。 配置参考 .sftp-deploy: &sftp-deploy |-files$(git log -10 --prettyformat: --name-only | grep -v ^$ | sort -u)include_patterns$(echo …...
Ubuntu 安装cuda踩坑记录
Ubuntu 安装cuda踩坑记录: 运行run文件时出错: sh cuda_12.4.0_550.54.14_linux.run 报错: ./cuda-installer: error while loading shared libraries: libxml2.so.2: cannot open shared object file: No such file or directory 解决&am…...
用GitHub Actions实现CI/CD
目录 简介GitHub Actions基础工作流配置文件实战案例 Node.js应用Python应用Docker容器构建与部署 最佳实践常见问题与解决方案总结 简介 持续集成/持续部署(CI/CD)已成为现代软件开发不可或缺的一部分。它通过自动化构建、测试和部署过程,帮助开发团队更快、更可…...
使用AI工具打造专业级PPT的完整方案,结合 DeepSeek构思、Kimi生成内容、Napkin优化设计 等工具,分阶段详细说明流程及工具使用
以下是使用AI工具打造专业级PPT的完整方案,结合 DeepSeek构思、Kimi生成内容、Napkin优化设计 等工具,分阶段详细说明流程及工具使用: 一、全流程阶段划分 阶段目标核心工具1. 构思阶段明确主题、结构、核心信息,生成大纲与逻辑…...
【数据结构】线性表( List)和 顺序表(ArrayList)
【数据结构】线性表( List)和 顺序表(ArrayList) 一、线性表 List二、List 接口的常用方法三、ArrayList与顺序表3.1 引入顺序表的原因?3.2 ArrayList 的使用3.2.1 ArrayList 的创建3.2.2 添加元素:list.ad…...
嵌入式开发--STM32软件和硬件CRC的使用--续篇
本文是《嵌入式开发–STM32软件和硬件CRC的使用》的续篇,又踩到一个坑,发出来让大家避一下坑。 按照G0系列的设置,得出错误的结果 前文对应的是STM32G0系列,今天在用STM32G4系列时,按照前文的设置,用硬件…...
探索鸡养殖虚拟仿真实验:科技赋能养殖新体验
在科技飞速发展的今天,虚拟仿真技术逐渐渗透到各个领域,就连传统的养殖业也迎来了数字化的变革。最近,我参与了一场别开生面的鸡养殖虚拟仿真实验,不仅学到了专业的养殖知识,还收获了前所未有的沉浸式体验。现在&#…...
知识图谱中医知识问答系统|养生医案综合可视化系|推荐算法|vue+flask+neo4j+mysql
文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站,有好处! ✅编号 :F040 pro ✅技术架构: vueflaskmysqlneo4jltpac ✅实现功能:实现基于中医药材和药方的知识图谱可视化,在…...
【AI】——结合Ollama、Open WebUI和Docker本地部署可视化AI大语言模型
🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大三学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL࿰…...
AI 模型高效化:推理加速与训练优化的技术原理与理论解析
AI 模型高效化:推理加速与训练优化的技术原理与理论解析 文章目录 AI 模型高效化:推理加速与训练优化的技术原理与理论解析一、推理加速:让模型跑得更快的“程序员魔法”(一)动态结构自适应推理:像人类一样…...
python学习—详解word邮件合并
系列文章目录 python学习—合并TXT文本文件 python学习—统计嵌套文件夹内的文件数量并建立索引表格 python学习—查找指定目录下的指定类型文件 python学习—年会不能停,游戏抽签抽奖 python学习—循环语句-控制流 python学习—合并多个Excel工作簿表格文件 pytho…...
vscode与vim+cscope+tags热键冲突
[ctrl w] s 对于vim时水平分割窗口热键 对vscode, [ctrl w]时关闭当前窗口热键 在vscode中如下配置可以发送热键到shell, 跳过vscode:...
直播系统源码开发:解锁幸运礼物功能的商业魔力与运营策略
在当今如火如荼的直播经济中,幸运礼物功能已成为平台提升用户黏性、刺激消费的"黄金按钮"。山东布谷科技将深入剖析幸运礼物功能的技术逻辑与商业价值,并为运营者提供一套完整的策略框架,帮助您在激烈的直播赛道中脱颖而出。 一、…...
毕业设计效率提升工具与避坑指南
本文为毕业设计后的经验记录,包含写作过程中的一些实用工具和注意事项。 一、📌实验及写作实用技巧二、🚀 效率提升工具三、📊论文完成后的格式检查 本文为毕业设计后的经验记录,包含写作过程中的一些实用工具和注意事…...
Python网络爬虫设计(二)
目录 六、BeautifulSoup库 1、常见的提取分析网页内容的三种方式 (1)正则表达式 (2)BeautifulSoup库 (3)pyppeteer库中的元素查找函数 2、HTML中的tag 3、BeautifulSoup库的安装和导入 4、Beautiful…...
滑动窗口209. 长度最小的子数组
1.题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入&…...
如何避免被目标网站识别为爬虫?
文章目录 前言1. 合理设置请求头2. 控制请求频率3. 模拟真实用户行为4. 使用代理 IP5. 处理验证码6. 会话管理 前言 为避免被目标网站识别为爬虫,可从请求头设置、请求频率控制、模拟用户行为、使用代理、处理验证码和会话管理等多个方面采取措施,以下是…...
Dell戴尔服务器 PowerEdge R750xs + window server2012r2 || 2016
因要求需要给新服务器装个 win server2012或者2016系统 XXX使用U盘制作PE系统U盘安装系统不行,适合普通win8,win10,win11U盘制作PE系统U盘安装win10系统教程U盘制作PE系统U盘安装win10系统教程https://mp.weixin.qq.com/s/t0W8aNJaHPAU8T78nh…...
如何通过数据分析提升软件开发项目的成功率?
引言 在软件开发中,项目延期、超预算、需求反复变更等问题屡见不鲜。数据分析作为项目管理的重要工具,正在被越来越多的企业用于提升项目成功率。通过科学利用项目数据,团队可以做出更准确的决策,避免重复踩坑,从而大幅…...
模型的RAG
RAG 什么是RAG 当岳不群相当武林的盟主时候,你的给他一个葵花宝典(秘籍RAG) RAG的原理 建立索引: 首先要清洗和提取原始数据,将 PDF、Docx等不同格式的文件解析为纯文本数据 然后将文本数据分割成更小的片段(chunk)…...
基于多模态双路TCN-SE-YOLO的小目标检测
首先声明:该思路在小目标检测领域尚未有成果发表,感兴趣的小伙伴可以借鉴! 一、引言 1.1 研究背景 小目标检测在交通监控(车牌识别)、工业检测(PCB缺陷)及农业(病虫害斑点)等领域具有重要应用价值传统单模态检测方法在复杂场景下的漏检率高达40%以上(VisDrone 2021…...
idea maven 命令后控制台乱码
首先在idea中查看maven的编码方式 执行mvn -v命令 查看编码语言是GBK C:\Users\13488>mvn -v Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: D:\maven\apache-maven-3.6.3\bin\.. Java version: 1.8.0_202, vendor: Oracle Corporation, runt…...
在Vmware15(虚拟机免费) 中安装纯净win10详细过程
一、软件备选 1. VMware15.5.1 网盘下载地址 链接: https://pan.baidu.com/s/1y6GLJ2MG-1tomWblt3otsg?pwdim8e 提取码: im8e 2. windows镜像下载 去官网下载ios包 链接:https://www.microsoft.com/zh-cn/software-download/windows10 二、在VMware15.5.1下安装w…...
RISC-V 与 OpenHarmony 的结合意义与应用建议
RISC-V 与 OpenHarmony 的结合意义与应用建议 一、结合的意义 (一)硬件与软件的协同创新 RISC-V 作为硬件层的开源指令集架构,为 OpenHarmony 提供了强大的硬件支持。这种支持不仅体现在硬件性能的提升上,还为 OpenHarmony 的分…...
让SQL飞起来:搭建企业AI应用的SQL性能优化实战
我上一篇文章已经讲解过了如何使用公开的AI模型来优化SQL.但这个优化方法存在一定的局限性.因为公开的AI模型并不了解你的数据表结构是什么从而导致提供的优化建议不太准确.而sql表结构又是至关重要的安全问题,是不能泄露出去的.所以在此背景下我决定搭建一个自己的AI应用在内网…...
驱动开发硬核特训 · Day 14:深入理解 Power 管理驱动架构与实战应用
在嵌入式系统中,Power(电源)管理驱动既关乎系统稳定性,又直接影响功耗与续航,是系统设计中绕不开的核心模块。今天我们通过理论实战的形式,一次性讲清楚: Linux 中电源管理驱动的核心框架Regul…...
备份思科路由器设备文件实例
实例需求: (1)备份路由器的配置文件startup-config和映像文件 (2)备份交换机的配置文件startup-config和映像文件 注:PC3为TFTP服务器 结构示意图: 实例配置一: 备份路由器的配置文件startup-config和映像文件 步骤: 在PC3上打开tftp服务。确保PC3可以ping通11.1.1.…...
游戏引擎学习第231天
设定当天的主题 我们现在到了一个很少出现在直播中的阶段,但今天是那种需要解释计算机科学基础概念的日子。因此,今天我们将讨论这个内容,今天的重点是“大O表示法”(Order Notation),我将用黑板来解释这些…...
PclSharp ——pcl的c#nuget包
简介: NuGet Gallery | PclSharp 1.8.1.20180820-beta07 下载.NET Framework 4.5.2 Developer Pack: 下载 .NET Framework 4.5.2 Developer Pack Offline Installer 离线安装nupkg: nupkg是visual studio 的NuGet Package的一个包文件 安…...
Java性能剖析工具箱
1. 基础知识 1.1 Java性能调优概述 1.1.1 性能调优的重要性 性能调优是提升系统效率、降低成本和增强用户体验的关键步骤。通过优化,可以减少响应时间、降低资源消耗并提高系统的稳定性和可扩展性。 1.1.2 性能问题的常见表现 高CPU使用率:可能由热点方法或线程阻塞引起。…...
信息学奥赛一本通 1622:Goldbach’s Conjecture | 洛谷 UVA543 Goldbach‘s Conjecture
【题目链接】 ybt 1622:Goldbach’s Conjecture 洛谷 UVA543 Goldbach’s Conjecture 【题目考点】 1. 筛法求质数表 埃筛线性筛(欧拉筛) 知识点讲解见信息学奥赛一本通 2040:【例5.7】筛选法找质数 【解题思路】 首先使用埃…...
408数据结构绪论刷题001
答案:D 解析: • A选项:数据元素是组成数据对象的基本单位 ,它只是数据的基本个体,不能完整定义数据结构,所以A选项错误。 • B选项:数据对象是性质相同的数据元素的集合,仅仅描述…...
RNN - 语言模型
语言模型 给定文本序列 x 1 , … , x T x_1, \ldots, x_T x1,…,xT,语言模型的目标是估计联合概率 p ( x 1 , … , x T ) p(x_1, \ldots, x_T) p(x1,…,xT)它的应用包括 做预训练模型(eg BERT,GPT-3)生成本文ÿ…...
前端面试题---GET跟POST的区别(Ajax)
GET 和 POST 是两种 HTTP 请求方式,它们在传输数据的方式和所需空间上有一些重要区别: ✅ 一句话概括: GET 数据放在 URL 中,受限较多;POST 数据放在请求体中,空间更大更安全。 📦 1. 所需空间…...
【MCP】第一篇:MCP协议深度解析——大模型时代的“神经连接层“架构揭秘
【MCP】第一篇:MCP协议深度解析——大模型时代的"神经连接层"架构揭秘 一、什么是MCP?二、为什么需要MCP?三、MCP的架构四、MCP与AI交互的原理4.1 ReAct(Reasoning Acting)模式4.2 Function Calling 模式 五…...
新生宿舍管理系统
收藏关注不迷路!! 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多…...
@Autowird 注解与存在多个相同类型对象的解方案
现有一个 Student 类,里面有两个属性,分别为 name 和 id;有一个 StuService 类,里面有两个方法,返回值均为类型为 Student 的对象;还有一个 StuController 类,里面有一个 Student 类型的属性&am…...
MQTT客户端核心架构解析:clients.h源码深度解读
MQTT客户端核心架构解析:clients.h源码深度解读 一、头文件概览与设计哲学 clients.h作为MQTT客户端核心数据结构定义文件,体现了以下设计原则: 分层架构:网络层/协议层/业务层解耦状态管理:通过状态机实现复杂协议…...