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

【计算机网络】数据链路层双雄:MAC帧与PPP帧的实战解析与应用场景

1. 从“寄快递”开始理解数据链路层的核心任务大家好我是老张在AI和网络硬件这块摸爬滚打了十几年。今天咱们不聊那些高大上的AI模型来聊聊网络世界里最接地气、也最容易被忽视的“搬运工”——数据链路层。尤其是它手下的两位得力干将MAC帧和PPP帧。想象一下你网购了一件商品。卖家把商品你的数据打包进一个纸箱数据包贴上收件人地址IP地址交给快递公司。快递公司拿到这个包裹后会怎么做呢他们不会直接把整个大包裹扔上货车而是会把它放进一个标准的、带有自己公司标识的“转运箱”里这个转运箱上会写上具体的派送员编号和下一站的分拨中心地址。这个“转运箱”就是数据链路层的“帧”。数据链路层干的就是这个“最后一公里”或者“最初一公里”的精细活。它负责把网络层交下来的、带有全局地址IP的“大包裹”IP数据报封装成适合在具体一段物理链路上传输的“小箱子”帧并确保这个箱子能准确无误地送到紧邻的下一站邻居手里。MAC帧和PPP帧就是两种最常用、也最具代表性的“转运箱标准”。理解它们你就能看懂你家路由器、交换机、光猫背后的大部分通信逻辑。简单来说数据链路层要解决三个核心问题封装成帧给数据加上“头”和“尾”标明一帧从哪里开始到哪里结束。透明传输不管你要传的数据里有什么特殊字符比如帧的开始结束标记我都能原样传过去接收方也能正确识别不会把数据本身误当成控制信号。差错检测用一些数学方法比如CRC循环冗余校验在帧的尾部加一个“校验码”。接收方算一下如果对不上就知道这一帧在传输过程中可能出错了比如0变成了1然后直接丢弃它。接下来我们就深入看看在局域网和广域网这两个截然不同的战场上MAC帧和PPP帧这两位“双雄”是如何各显神通的。2. 局域网霸主深入拆解MAC帧的运作机制说到局域网LAN尤其是我们办公室、家里最常见的以太网那绝对是MAC帧的天下。你可以把局域网想象成一个开放的办公室大厅所有电脑主机都连着同一个网络大家“喊一嗓子”发广播理论上全屋都能听见。在这种“广播”的环境下通信最关键的就是每台设备必须有一个独一无二的身份标识这就是MAC地址。MAC地址是一个48位6字节的全球唯一编码通常写成像00-1A-2B-3C-4D-5E这样的形式。它被固化在你的网卡里就像你的身份证号。MAC帧的核心任务就是利用这个物理地址在共享的局域网介质上把数据准确地送到目标主机手里。2.1 MAC帧的“标准身材”以太网V2格式详解虽然IEEE有802.3标准但现实中我们遇到的基本都是更简单的“以太网V2”格式的MAC帧。它的结构非常清晰我来带你拆解一下字段长度说明前导码7字节由硬件生成1010交替的比特模式用于让接收方调整时钟实现“位同步”。帧开始定界符1字节固定为10101011最后两个连续的1告诉接收方“注意真正的MAC帧内容马上开始”目的MAC地址6字节这是关键指明这个帧要发给谁。可以是单播一台设备、组播一组设备或广播FF-FF-FF-FF-FF-FF发给所有人。源MAC地址6字节标明这个帧是谁发出的。类型2字节指明帧里“数据”部分装的是什么。比如0x0800代表IPv4数据包0x86DD代表IPv6。数据46-1500字节这就是从网络层传下来的“载荷”比如一个IP数据报。最少46字节是为了满足冲突检测机制的要求。帧检验序列4字节基于CRC算法计算出的校验码用于差错检测。这里有个实战中容易困惑的点为什么我们抓包比如用Wireshark时看不到前导码和帧开始定界符因为这两个字段是物理层在发送时添加的“前奏”用于物理信号同步。当网卡收到信号完成同步并识别出帧开始后才会把剩下的部分从目的MAC地址开始交给上层处理。所以抓包软件抓到的是已经“剥离”了物理层前奏的数据链路层帧。2.2 共享信道下的“交通规则”CSMA/CD协议在早期的总线型以太网所有电脑连在同一根同轴电缆上或使用集线器Hub的网络中所有设备共享同一条传输通道。这就引出一个问题如果两台电脑同时发送数据信号就会在通道里“撞车”冲突导致数据损坏。为了解决这个问题以太网采用了一套巧妙的“先听后说边说边听”机制叫做CSMA/CD。载波侦听任何电脑想发送数据前先“听一听”线路上是不是安静没有其他信号在传输。如果忙就随机等待一段时间再试。多点接入大家都连在同一个媒介上。碰撞检测发送数据的同时继续“听”。如果检测到信号异常说明发生碰撞了就立刻停止发送并发送一个特殊的“拥堵信号”告诉所有设备然后等待一个随机时间后重试。这个过程就像在一个没有主持人的会议室里发言。你想说话得先听听有没有人在说载波侦听。没人的话你开始说但同时耳朵还得竖着碰撞检测。如果发现别人也同时开口了碰撞你们俩就都停下各自等一会儿随机退避再尝试。正是由于存在碰撞的可能MAC帧才需要规定最小长度64字节含18字节首尾。这是为了确保发送方能在帧发完之前有足够的时间检测到最远距离发生的碰撞。现代全双工交换网络里设备独占链路不再需要碰撞检测但这个最小帧长的设计作为历史遗产被保留了下来。2.3 实战场景交换机如何利用MAC帧智能转发现在家庭和企业里用的基本都是交换机Switch了它比古老的集线器聪明得多。交换机内部有一张MAC地址表记录着每个接口连接着哪个MAC地址的设备。它的工作流程非常高效学习当一台电脑比如MAC_A第一次通过某个端口比如端口1发送一个帧时交换机会记下“MAC_A 在端口1”。转发当交换机收到一个目标为MAC_B的帧时它会去查表。如果表里有MAC_B的记录比如在端口3它就把这个帧仅从端口3转发出去。如果表里没有MAC_B的记录或者目标是广播地址FF-FF-FF-FF-FF-FF它就把这个帧从除了接收端口以外的所有端口转发出去这叫“泛洪”。过滤如果目标MAC地址就是发送方自己即目的端口和源端口相同交换机会直接丢弃这个帧不会浪费带宽。这样一来基于MAC帧的寻址交换机就建立了一个“虚拟的”点对点通道极大地减少了网络中的冲突和广播流量提升了局域网的整体性能和安全性。你电脑上的ARP缓存arp -a命令可以看到就是用来查询目标IP对应MAC地址的查到的结果会被用来填充MAC帧的目的地址字段。3. 广域网基石PPP帧的点对点哲学如果说MAC帧擅长在热闹的“局域网办公室”里找人那么PPP帧就是专为“长途专线”设计的。它的典型场景是你用电话线或光纤“拨号”上网或者两个路由器之间通过一条专线连接。这种场景的特点是链路两端只有两个设备是纯粹的点对点连接。既然线两头就你和我那还要什么地址呢所以PPP帧的设计哲学就是极简、高效。3.1 PPP帧的简洁之美格式与透明传输PPP帧的格式比MAC帧简单得多标志字段首尾各一个固定为0x7E二进制01111110。这就是帧的“包装纸”告诉接收方一帧的开始和结束。地址字段固定为0xFF点对点链路不需要寻址这个字段只是历史遗留无实际意义。控制字段固定为0x03同样无实际意义。协议字段2字节非常关键它指明“信息”字段里封装的是什么。0x0021代表IP数据报0xC021代表链路控制协议LCP的数据0x8021代表网络控制协议NCP的数据。信息字段可变长度就是上层传下来的数据包。帧检验序列2字节默认或4字节的CRC校验码。这里就引出了PPP协议实现“透明传输”的经典问题如果我要传输的数据里恰好就有一个字节是0x7E那接收方不就误以为帧结束了吗PPP协议用了一种叫“字节填充”的巧妙方法转义字符定义一个转义字符为0x7D。填充规则发送前对信息字段和地址、控制、协议字段进行扫描。凡是出现0x7E就转换成两个字节0x7D后跟0x5E。凡是出现0x7D也转换成两个字节0x7D后跟0x5D。凡是出现ASCII码控制字符数值小于0x20的也在前面加上0x7D同时将该字符的数值加上0x20。恢复规则接收方看到0x7D就知道下一个字节是经过转义的将其恢复为原始字符。这样不管数据内容是什么都能被安全地传输接收方也能准确找到帧的边界实现了“透明”。3.2 不只是封装PPP的LCP与NCP协议族PPP的强大之处在于它不仅仅是一个简单的封装格式更是一个完整的协议族。除了我们上面说的成帧方法它还包括两个非常重要的子协议链路控制协议这是PPP的“管家”。在数据传输开始前LCP负责建立、配置、测试和管理数据链路连接。比如双方协商一下最大传输单元、是否进行身份验证、使用哪种压缩协议等。它通过发送特殊的LCP分组协议字段为0xC021来完成这些工作。网络控制协议这是PPP的“翻译官”。链路建立好后NCP负责为不同的网络层协议如IP、IPX建立和配置连接。对于我们最常用的IP协议对应的NCP叫做IPCP。它的一个重要功能就是为拨号用户动态分配IP地址。当你电脑通过PPP拨号时ISP的服务器会通过IPCP协议告诉你“你的IP地址是xxx.xxx.xxx.xxx”。这个“建立链路 - 认证 - 配置网络层”的过程完美支撑了早期的电话拨号上网和后来的ADSL宽带接入。3.3 经典应用家庭宽带PPPoE拨号的奥秘现在家庭宽带基本都是光纤入户了为什么我们电脑或路由器上还需要进行“宽带连接”拨号呢这就是PPPoE在发挥作用。PPPoE全称是PPP over Ethernet。顾名思义它就是把PPP帧再封装到以太网的MAC帧里跑。听起来有点多此一举其实大有深意技术背景以太网MAC帧简单高效适合局域网高速传输但它缺乏管理功能比如用户认证、计费、IP地址分配等。而PPP协议恰好擅长这些。实现方式你的路由器或电脑会先发起一个以太网广播寻找网络中的PPPoE服务器通常就在运营商的光猫或局端设备里。找到后双方就像在一条虚拟的点对点链路上一样开始运行完整的PPP协议流程LCP协商、PAP/CHAP身份验证输入宽带账号密码、NCP获取IP地址。帧结构一个PPPoE数据帧外层是以太网MAC帧头类型字段为0x8863发现阶段或0x8864会话阶段里面封装的就是一个完整的PPP帧。所以你每次上网前点击“连接”背后就是一场MAC帧承载着PPP帧的“双层舞台剧”。MAC帧负责在家庭局域网内把你路由器的请求送到光猫而PPP帧则负责完成与运营商服务器之间的“长途电话”协商最终为你这条连接争取到一个公网IP地址或内网IP和上网权限。下次再看到拨号界面你就能明白它背后是PPP和MAC这两位在紧密协作。4. 双雄对决MAC帧与PPP帧的核心差异与应用场景选择通过前面的深入剖析我们可以清晰地总结出MAC帧和PPP帧这对“数据链路层双雄”的根本不同。它们的差异决定了各自截然不同的应用舞台。特性维度MAC帧PPP帧核心设计目标多点接入、共享介质下的寻址点对点链路的简单、可靠连接典型应用场景局域网以太网、Wi-FiIEEE 802.11帧类似广域网拨号上网、路由器间专线、PPPoE寻址方式必须包含源和目的MAC地址各6字节用于在共享网络中唯一标识设备。无需硬件地址。地址字段固定为0xFF无实际意义因为线路上只有两个设备。帧定界依靠物理层添加的前导码和帧开始定界符。帧间有间隙。使用首尾的标志字段。采用字节填充实现透明传输。协议功能相对单一主要定义帧格式和介质访问控制如CSMA/CD。管理功能弱。是一个协议族包含LCP建链、认证、NCP网络层配置功能强大。链路管理无连接。发送前不建立连接依靠上层协议处理丢包、乱序。面向连接。通信前需通过LCP建立、配置、测试链路通信结束有明确的终止过程。MTU标准以太网MTU通常为1500字节。默认MRU最大接收单元也是1500字节但可通过LCP协商。如何选择这完全取决于你的网络拓扑你需要连接一个办公室、一个家庭的所有设备吗选择基于MAC帧的以太网。用交换机构建一个星型网络让设备通过MAC地址相互通信。这是构建本地网络的绝对主流。你需要通过一条单独的线路连接两个远程节点吗比如家庭路由器连接到ISP或者公司总部路由器连接到分公司路由器。选择PPP协议。它能提供认证、可靠的数据链路。如果是通过以太网介质如光纤连接则使用PPPoE。一个常见的混合场景你的家庭网络。电脑通过MAC帧与路由器通信局域网路由器再通过PPPoEMAC帧里封装PPP帧与运营商设备通信广域网接入。两者协同构成了完整的互联网接入体验。理解这些差异不仅能帮你更好地进行网络排错比如知道抓包该看MAC地址还是PPP协议字段也能在设计网络时做出正确选择。例如在两个数据中心之间拉一条专线你可能会在路由器上配置PPP或HDLC另一种点对点协议而不是跑一个以太网因为点对点协议更简洁、开销更可控。5. 超越理论网络排错中的帧分析实战懂了原理最终要落到解决问题上。无论是MAC帧还是PPP帧当网络出现问题时学会分析它们是定位故障的利器。这里分享几个我实践中常用的思路和工具。场景一局域网内电脑无法上网但同一交换机下其他电脑正常。首先看MAC层连通性。在故障电脑上打开命令提示符ping一下网关的IP地址。如果不通马上用arp -a命令查看ARP缓存表看是否能找到网关IP对应的MAC地址。如果ARP表里没有或条目错误说明ARP请求/应答可能出了问题。你可以用Wireshark在故障电脑上抓包过滤arp。看看电脑是否发出了ARP请求广播帧目的MAC为ff:ff:ff:ff:ff:ff网关是否回复了ARP应答单播帧。如果没看到应答问题可能出在网关设备或中间链路上。如果能ping通网关说明本地MAC层通信正常。问题可能出在更上层比如IP配置、DNS或网关路由。此时你可以尝试ping一个公网IP如8.8.8.8并用Wireshark过滤icmp观察ICMP请求和回复帧的MAC地址是否正确地从网关MAC跳转到了下一跳的MAC。这能帮你判断是路由器转发问题还是外网问题。场景二PPPoE拨号总是失败提示“无法建立连接”。在路由器或电脑上抓取PPPoE流量。使用Wireshark在拨号时抓包过滤pppoed或pppoes。分析PPP协议交互过程首先应该看到PADI和PADO报文发现阶段确认你的设备能发现运营商的PPPoE服务器。然后看到PADR和PADS报文建立PPPoE会话。关键看LCP阶段接下来是LCP配置请求、确认。如果这里反复重传或收到终止请求可能是MTU等参数协商失败。最后看认证阶段你会看到PAP或CHAP协议的数据包。仔细看CHAP挑战/响应包或者PAP的明文用户名/密码。如果这里服务器回复了认证失败CHAP Failure或PAP Nak那问题就是账号密码错误或绑定信息不符。这是最常见的原因。如果认证通过了但拿不到IP问题就出在IPCP协商阶段。观察路由器是否发送了IPCP配置请求服务器是否回复了确认并分配了IP地址。如果没有可能是运营商侧配置问题或账户欠费。工具推荐与抓包技巧Wireshark这是网络工程师的“瑞士军刀”。学会使用显示过滤器是关键比如eth.addr xx:xx:xx:xx:xx:xx过滤特定MACppp过滤PPP协议pppoe过滤PPPoE。tcpdump命令行下的抓包神器特别适合在Linux服务器或无GUI的设备上使用。命令如tcpdump -i eth0 -nn -v pppoe可以抓取PPPoE包。一个小技巧在分析MAC帧时注意观察帧的“源”和“目的”MAC地址。如果发现目的MAC是广播地址但流量异常巨大可能是广播风暴。如果发现源MAC地址不是你网络中的设备可能存在MAC地址欺骗或攻击。记住网络问题往往层层递进。遵循“从底层到高层”的排查顺序先检查物理连接和链路层MAC/PPP再检查网络层IP、路由最后检查传输层和应用层。而数据链路层的帧就是你打开这扇排查之门的第一把钥匙。掌握了MAC帧和PPP帧的分析你就能看清数据在“第一跳”和“最后一跳”究竟是如何流动的从而精准地定位故障根源。

相关文章:

【计算机网络】数据链路层双雄:MAC帧与PPP帧的实战解析与应用场景

1. 从“寄快递”开始:理解数据链路层的核心任务 大家好,我是老张,在AI和网络硬件这块摸爬滚打了十几年。今天咱们不聊那些高大上的AI模型,来聊聊网络世界里最接地气、也最容易被忽视的“搬运工”——数据链路层。尤其是它手下的两…...

Phi-3-mini-128k-instruct一文详解:Phi-3系列模型架构差异与128K上下文实现原理

Phi-3-mini-128k-instruct一文详解:Phi-3系列模型架构差异与128K上下文实现原理 你有没有想过,一个只有38亿参数的“小”模型,凭什么能处理长达128K的上下文,并且在多项基准测试中吊打许多更大的模型?这就是今天要聊的…...

告别复杂配置:Bidili Generator图形界面操作,小白也能玩转SDXL模型

告别复杂配置:Bidili Generator图形界面操作,小白也能玩转SDXL模型 1. 引言:从命令行到点击按钮的进化 如果你听说过Stable Diffusion,可能也听说过它的“大哥”SDXL。SDXL生成的图片质量确实没得说,细节丰富&#x…...

Wireshark实战解析:ARP欺骗攻击的检测与防御策略

1. 从一次诡异的“网络卡顿”说起:ARP欺骗到底是什么? 不知道你有没有遇到过这种情况:办公室的Wi-Fi明明信号满格,但打开网页却慢得像蜗牛,下载文件时断时续,甚至有时候会弹出一些奇怪的证书错误警告。你可…...

WebDAV网盘生态全景图:从协议原理到应用选型

1. WebDAV到底是什么?一个“网络文件夹”的通俗解读 你可能经常听到“WebDAV”这个词,尤其是在折腾笔记软件、密码管理器或者想找个靠谱的同步盘的时候。一堆教程告诉你,在某个软件的设置里填上“服务器地址”、“用户名”和“密码”&#xf…...

从火星到地球:高德与天地图坐标转换工具类实战解析

1. 为什么你的坐标在地图上“漂移”了? 如果你做过地图相关的开发,尤其是需要把同一个地点在不同地图App上显示出来,那你大概率踩过这个坑:用GPS设备(比如你的手机,或者专业的测绘仪器)记录下一…...

单臂路由进阶:Hyper-V虚拟软路由实现单网口主路由与光猫剩余网口复用

1. 为什么你需要单臂路由?从“鸡肋”到“真香”的转变 如果你手头正好有一台闲置的NUC小主机、树莓派,或者一台老旧的笔记本电脑,它们通常只有一个物理网口。想把它变成家里的主路由,负责拨号上网、分配IP、管理所有设备&#xff…...

从阿里云到CloudFlare:一站式域名DNS托管迁移实战

1. 为什么要把域名DNS从阿里云搬到CloudFlare? 我猜你点开这篇文章,多半是听朋友或者网上技术群里有人提了一嘴:“哎,你那网站用CloudFlare托管DNS,又快又稳还免费。” 然后你心里就开始琢磨了:我在阿里云用…...

AI 辅助开发实战:网络安全本科毕业设计的高效实现路径

作为一名刚刚完成网络安全方向毕业设计的过来人,我深知其中的挑战:选题怕太虚,实现怕太难,论文怕没深度。今年,我尝试将 AI 辅助开发工具融入毕设流程,效率提升显著。这篇笔记就和大家分享一下,…...

小白友好:WAN2.2镜像部署详解,轻松玩转AI视频创作

小白友好:WAN2.2镜像部署详解,轻松玩转AI视频创作 1. 从零开始:为什么你需要这个“一键式”方案 你是不是也想过,能不能像写一句话那样,直接生成一段视频?比如输入“一只熊猫在竹林里打太极”&#xff0c…...

烟花算法(FWA)实战:从原理到MATLAB实现与优化策略解析

1. 烟花算法(FWA)初印象:从夜空灵感说起 想象一下,你在一个晴朗的夏夜仰望星空,突然,一束烟花升空,在最高点“砰”地一声炸开,无数绚烂的火花向四面八方散开,照亮了周围一…...

StructBERT情感模型应用场景拓展:教育反馈分析与政务留言情感研判

StructBERT情感模型应用场景拓展:教育反馈分析与政务留言情感研判 1. 引言:从通用分析到专业场景的跨越 情感分析技术,听起来挺高大上,但说白了就是让机器看懂文字背后的情绪。过去我们用它来看电商评论好不好、社交媒体上大家在…...

OFA-COCO蒸馏模型效果展示:高清图片自动生成地道英文描述案例集

OFA-COCO蒸馏模型效果展示:高清图片自动生成地道英文描述案例集 OFA图像英文描述——ofa_image-caption_coco_distilled_en:本项目基于 iic/ofa_image-caption_coco_distilled_en 模型构建,用于对输入图片生成自然语言描述。 1. 开篇引言&…...

Hunyuan-MT-7B模型微调实战:领域自适应翻译训练

Hunyuan-MT-7B模型微调实战:领域自适应翻译训练 1. 为什么需要对翻译模型做微调 你可能已经试过直接用Hunyuan-MT-7B做翻译,效果确实不错——日常对话、新闻文章这类通用文本基本能准确传达意思。但一旦遇到专业领域的材料,比如医疗报告、法…...

通义千问2.5-7B实战案例:电商产品描述自动生成系统

通义千问2.5-7B实战案例:电商产品描述自动生成系统 1. 项目背景与价值 电商运营最头疼的事情是什么?每天要写几十上百个商品描述!人工撰写不仅耗时耗力,还容易风格不统一。通义千问2.5-7B-Instruct的出现,让这个问题…...

WuliArt Qwen-Image Turbo场景应用:如何用它为你的PPT快速制作精美配图?

WuliArt Qwen-Image Turbo场景应用:如何用它为你的PPT快速制作精美配图? 1. 从“找图难”到“生成快”:PPT配图的新解法 你有没有过这样的经历?明天就要做工作汇报,PPT内容都写好了,就差几张能撑起场面的…...

AudioSeal Pixel Studio企业实操:构建AI语音内容可信认证闭环流程

AudioSeal Pixel Studio企业实操:构建AI语音内容可信认证闭环流程 1. 引言:当AI语音无处不在,我们如何辨别真伪? 想象一下这个场景:你是一家新闻媒体的内容审核主管。今天,你的团队收到了一段据称是某位重…...

RexUniNLU多场景落地:科研论文摘要结构化——研究问题/方法/数据/结论/局限自动提取

RexUniNLU多场景落地:科研论文摘要结构化——研究问题/方法/数据/结论/局限自动提取 科研工作者每天需要阅读大量论文,手动提取关键信息既耗时又容易遗漏。RexUniNLU基于先进的DeBERTa-v2架构,能够自动从论文摘要中提取研究问题、方法、数据、…...

OFA模型Java集成实战:SpringBoot构建智能图说应用

OFA模型Java集成实战:SpringBoot构建智能图说应用 最近在做一个内容管理平台的项目,客户那边提了个需求挺有意思的。他们每天要处理大量的图片上传,每张图片都需要人工写描述,工作量特别大,还容易出错。团队里有人建议…...

文脉定序系统Java集成开发指南:SpringBoot微服务语义排序API构建

文脉定序系统Java集成开发指南:SpringBoot微服务语义排序API构建 如果你正在用SpringBoot做Java后端开发,可能遇到过这样的问题:用户搜索“苹果”,到底是想找水果、手机还是电影?传统的基于关键词的排序,很…...

AudioSeal部署案例:国家级AI内容安全实验室AIGC音频检测基准平台建设

AudioSeal部署案例:国家级AI内容安全实验室AIGC音频检测基准平台建设 1. 引言:当AI声音无处不在,我们如何辨别真伪? 想象一下,你接到一个电话,声音是你最信任的合作伙伴,他告诉你一个紧急的商…...

PyCharm界面介绍

PyCharm 界面说明PyCharm 是一款功能强大的 Python 集成开发环境(IDE),其界面设计直观且高效,适合开发者在日常工作中快速编写、调试和优化代码。以下是对 PyCharm 界面的详细说明,并附带丰富的代码实例。主界面布局Py…...

VMware 25h2 安装 RHEL 8 并且使用xshell ssh连接指南

一、准备工作: Vmware 25h2 exe安装包,RHEL 8 iso文件, xshell 客户端 1、 下载VMware Workstation Pro: 由于博通(Broadcom)已经收购了Vmware虚拟机业务并且开放了免费下载VMware Workstation Pro,所以我们可以去…...

07-redis性能优化

第七章:Redis性能优化 7.1 内存优化 数据结构选择 1. String vs Hash # String存储对象 SET user:1001 {"name":"张三","age":25,"email":"zhangsanexample.com"}# Hash存储对象(推荐) HS…...

第五篇:依赖注入系统(超详细版)

第五篇:依赖注入系统(超详细版) 依赖注入基础概念 什么是依赖注入? 依赖注入的核心优势 依赖注入的工作原理 函数依赖 1. 基础函数依赖 2. 异步函数依赖 3. 带yield的依赖(上下文管理器) 类依赖 1. 基础类依赖 2. 带参数的类依赖 3. 类依赖的实例化方式 依赖的依赖 1. 基…...

java工具:《判断当前时间是否在数据库起止时间范围内,是 ,返回true;否,返回false》

文章目录一、介绍功能说明参数说明返回值实现原理二、代码一、介绍 功能说明 这是一个判断当前时间是否在指定时间范围内的工具方法。方法接收两个 Date 类型的参数(开始时间和结束时间),判断当前的系统时间是否落在这两个时间点之间。 参…...

西门子smart 200 rtu方式通讯四台三菱E700变频器资料 硬件:smart plc...

西门子smart 200 rtu方式通讯四台三菱E700变频器资料 硬件:smart plc.三菱E700变频器,mcgs触摸屏(电脑仿真也可) 功能:指针写法,通过modbus rtu方式,实现对E700变频器通讯控制和监控。 有正反转,停止&…...

未来 5 年,对于程序员群体而言非AI 大模型莫属!

毫不夸张地讲,未来 5 年,对于程序员群体而言,最具潜力与前景的技术发展方向,非AI 大模型莫属! 在行业实践中,华为已_全面布局 Agent 技术_,并将其融入 80% 的新业务系统开发中,无论是…...

ResNet18在MNIST手写数字数据库上的深度学习网络识别及Matlab仿真实验研究

ResNet18深度学习网络的mnist手写数字数据库识别matlab仿真MNIST手写数字识别算是深度学习界的"Hello World"了,不过这次咱们用ResNet18来整点不一样的。别看ResNet本来是给ImageNet设计的,拿来折腾下28x28的小图片还挺有意思。先说说数据准备…...

第十五届蓝桥杯c++B组:宝石组合

蓝桥杯真题&#xff1a;宝石组合#include<bits/stdc.h> // 万能头文件&#xff0c;包含了C所有标准库 using namespace std; // 自定义函数&#xff1a;求三个数的最小公倍数&#xff08;LCM&#xff09; int LCM(int x, int y, int z) {int maxx max(…...