数据链路层与交换机原理详解:从抓包排错到VLAN与STP实战
1. 从一个抓包现场说起为什么需要单独理解数据链路层很多人学网络是从TCP/IP四层模型或者OSI七层模型开始的背得滚瓜烂熟但一到实际抓包就懵了。我见过不少刚入行的朋友用抓包工具抓到一堆帧看到里面既有MAC地址又有IP地址还有各种类型字段完全分不清哪些是数据链路层干的活哪些是网络层干的活。更典型的一个场景是两台机器明明IP配在同一网段ping就是不通查了路由表没问题最后发现是交换机端口VLAN配错了——这就是典型的二层问题但很多人第一反应会往三层去查。数据链路层这个位置很特殊。它夹在物理层和网络层之间往下要管比特流怎么变成帧往上要给网络层提供一个“看起来没有差错”的链路。你可以把它理解成一个“快递打包同城配送”的角色网络层是发货方告诉它“把这个包送到隔壁城市那个地址”数据链路层负责把包裹装进合适的箱子、贴上本地的配送标签、确保从仓库到转运中心这一段路上不出岔子。至于跨城市怎么走那是网络层的事。交换机就是在这个层面上工作的核心设备。它不看IP只看MAC地址根据MAC地址表决定把帧从哪个端口转发出去。这个“只看MAC”的特性既是它快的原因也是很多问题的根源——因为它不关心IP层面的逻辑所以IP层的广播风暴、ARP欺骗这些问题它照单全收地转发。这篇文章我会从实际排错和抓包的角度出发把数据链路层的核心功能拆开讲清楚然后把交换机的工作原理从MAC地址学习到转发决策到环路避免一层层剥开。适合已经了解网络基础但想深入理解二层机制的朋友也适合正在准备网络方向面试或认证的读者。我会尽量用实际场景和抓包结果来说明而不是堆砌定义。2. 数据链路层的三大核心功能不止是“加个MAC头”那么简单2.1 帧定界与透明传输物理层给的比特流怎么切物理层交给数据链路层的就是一串连续的比特流没有边界。数据链路层第一件事就是把这串比特流切成一个个帧。怎么切常见的方法有几种字符计数法、字符填充法、零比特填充法、违规编码法。实际以太网用的是前导码加帧起始定界符的方式前面7个字节的0xAA做前导码用于时钟同步然后是1个字节的0xAB作为帧起始定界符接收方看到这个模式就知道帧开始了。这里有个容易被忽略的点透明传输。如果帧的数据部分恰好出现了和帧定界符一样的比特模式怎么办比如数据里出现了连续的5个1接收方可能会误认为是帧结束标志。以太网的做法是零比特填充发送方在数据中每遇到5个连续的1就自动插入一个0接收方收到后每遇到5个连续的1就把后面的0删掉。这个操作是在物理层编码阶段完成的但逻辑上属于数据链路层的功能范畴。我在实际抓包时经常看到有人问“为什么我抓到的帧长度和实际数据长度对不上”很多时候就是因为没有把帧头帧尾的开销算进去。一个标准以太网帧最小64字节最大1518字节不含VLAN标签其中帧头14字节帧尾FCS 4字节实际数据部分最少46字节最多1500字节。这个1500就是MTU的由来。2.2 差错检测FCS能查什么不能查什么以太网帧尾部有一个4字节的帧检验序列FCS用的是CRC-32算法。发送方计算帧头加数据部分的CRC值填入FCS接收方收到后重新计算并比对。如果对不上帧就被丢弃。但这里有个关键认知FCS只能检测比特错误不能检测帧丢失、帧重复、帧乱序。也就是说如果某个帧在传输过程中整个丢了接收方根本不知道——因为FCS只对收到的帧做校验没收到的东西它无从校验。这就是为什么数据链路层被称为“不可靠传输”可靠性要靠上层比如TCP来保证。另一个常见误解是认为交换机在转发时会重新计算FCS。实际上交换机在存储转发模式下会检查FCS如果错误就直接丢弃不会转发如果正确它会重新计算FCS再发出去因为源MAC和目的MAC可能变了帧头变了FCS自然要重算。但在直通转发模式下交换机只看到目的MAC就开始转发根本不检查FCS所以错误帧也会被转发出去。这就是直通转发延迟低但可能传播错误帧的原因。2.3 介质访问控制谁先说话的问题以太网用的是CSMA/CD载波监听多路访问/冲突检测这是半双工时代的产物。简单说就是想发数据先听线路空闲就发发的时候继续听如果发现冲突就停止发送等一个随机时间再重试。这个机制在共享式以太网用集线器的时代是必须的因为所有设备在同一个冲突域里。但现在全双工交换式以太网普及了每个端口都是一个独立的冲突域CSMA/CD实际上已经不再启用。你在全双工端口上抓包是看不到冲突的。不过理解这个机制仍然重要因为它解释了为什么集线器和交换机的性能差距那么大集线器所有端口在同一个冲突域同一时刻只能有一个设备发送交换机每个端口独立冲突域可以同时收发。无线网络里的CSMA/CA是类似的思路但用避免碰撞代替检测碰撞因为无线环境很难检测冲突。这个区别在理解Wi-Fi性能问题时很关键。3. 交换机内部到底在做什么MAC地址表的学习、转发与老化3.1 MAC地址表是怎么建起来的交换机刚上电时MAC地址表是空的。当它从某个端口收到一个帧时会做两件事第一把帧的源MAC地址和接收端口号记录到MAC地址表里如果表中已有这个MAC就更新端口和老化计时器第二根据目的MAC地址查表决定从哪个端口转发。这个过程叫“源地址学习”。我见过有人问“交换机是不是一开机就知道所有设备的MAC”不是的它必须通过实际流量来学习。所以如果你把一台设备插到交换机上但从不发数据交换机的MAC地址表里就没有它。这时候如果有其他设备要发数据给它交换机会因为查不到目的MAC而泛洪到所有端口除了接收端口。MAC地址表的老化时间默认是300秒5分钟。如果5分钟内没有收到某个MAC的帧表项就被删除。这个设计是为了适应设备迁移如果一台设备从端口1拔下来插到端口2交换机需要重新学习。如果老化时间太长中间这段时间发往该MAC的帧会被错误地转发到端口1。3.2 泛洪、转发和过滤三种转发决策交换机收到帧后根据目的MAC查表有三种可能转发表中找到了目的MAC且对应的端口不是接收端口就从该端口转发出去。过滤表中找到了目的MAC但对应的端口就是接收端口说明目的设备和源设备在同一端口上比如中间还接了一个集线器直接丢弃不转发。泛洪表中没找到目的MAC或者目的是广播地址FF:FF:FF:FF:FF:FF或多播地址就从除了接收端口以外的所有端口转发出去。泛洪是很多网络问题的根源。比如ARP请求就是广播帧会被泛洪到所有端口。如果网络里有环路广播帧会在环路里无限循环形成广播风暴瞬间打满带宽。这就是为什么二层网络必须用生成树协议STP来破环。3.3 交换机的三种转发模式对比转发模式工作原理延迟错误帧处理适用场景存储转发收完整个帧检查FCS再查表转发高与帧长成正比丢弃错误帧对可靠性要求高的核心层直通转发只读到目的MAC前6字节就开始转发低固定延迟转发错误帧对延迟敏感的高性能计算无碎片转发读到前64字节最小帧长再转发中等丢弃小于64字节的碎片帧折中方案常见于接入层实际设备上很多交换机支持自适应模式默认存储转发如果错误率低于某个阈值就自动切到直通。这个阈值通常是可配的我一般建议在接入层保持存储转发因为接入层流量不大延迟差异用户感知不到但错误帧被转发出去可能导致上层协议异常。4. 二层环路与STP为什么你的网络会突然“卡死”4.1 广播风暴是怎么形成的假设你有三台交换机连成一个三角形没有启用STP。现在某台设备发了一个ARP广播帧。交换机A从端口1收到泛洪到端口2和端口3。交换机B从端口1收到泛洪到端口2和端口3。交换机C从端口1收到泛洪到端口2和端口3。然后交换机B从端口2又收到了交换机C泛洪过来的同一个帧它不认识这是同一个帧又泛洪一遍……如此循环广播帧的数量呈指数增长几秒钟内就能占满所有链路带宽CPU也被中断处理打满。这个现象在实际中表现为网络突然变得极慢ping丢包严重交换机指示灯疯狂闪烁管理界面可能都登不上去。如果你拔掉一条环路中的线网络立刻恢复那基本可以确定是环路问题。4.2 STP的工作过程选根、定角色、置状态STP生成树协议的核心思想是在逻辑上把有环的物理拓扑剪成一棵树让任意两台设备之间只有一条活动路径。过程分三步选根桥所有交换机交换BPDU桥协议数据单元比较桥ID优先级MAC地址最小的成为根桥。优先级默认32768可以手动调低让某台设备成为根桥。我一般建议把核心交换机优先级设为4096或8192确保它被选为根。选根端口每台非根交换机选一个到根桥路径开销最小的端口作为根端口。路径开销和带宽有关10M是100100M是191G是410G是2。所以万兆链路比千兆链路更优先。选指定端口每条链路上选一个指定端口负责向该链路转发BPDU和用户数据。根桥上的所有端口都是指定端口。剩下的端口进入阻塞状态不转发用户数据只接收BPDU。如果活动链路故障阻塞端口经过监听15秒、学习15秒后进入转发状态整个过程默认30-50秒。这个收敛时间在现在来看太长了所以有了RSTP快速生成树收敛时间可以降到1秒以内。4.3 实际排错中怎么快速定位环路我常用的方法是登录交换机看MAC地址表里同一个MAC是否出现在多个端口上。如果出现说明有环路。或者看接口的广播包速率如果某个端口广播包速率异常高比如每秒几千个基本可以确定环路在那个方向。还有一个更直接的方法在交换机上开启风暴控制设置一个广播包速率阈值超过就自动关闭端口。这样至少能保护网络不被一个环路打垮。但这是治标不治本根本还是要找到环路点并启用STP。注意有些低端交换机默认不开STP或者STP实现有问题。如果你在接入层用这种设备一定要在接入口配置BPDU Guard防止下面接的设备发BPDU干扰生成树计算。5. VLAN与Trunk交换机如何在一个物理网络上切出多个逻辑网络5.1 VLAN解决的是什么问题没有VLAN的时候一个交换机就是一个广播域。所有设备的广播帧都会泛洪到所有端口。如果网络规模大了广播流量会占用大量带宽而且安全性也差——任何人都能收到别人的广播。VLAN把一个物理交换机划分成多个逻辑交换机每个VLAN是一个独立的广播域VLAN之间的广播是隔离的。划分VLAN的方式有几种基于端口最常用、基于MAC地址、基于协议、基于子网。实际部署中99%的场景用的是基于端口因为最简单最可控。比如把端口1-8划到VLAN 10端口9-16划到VLAN 20这样VLAN 10里的广播不会传到VLAN 20。5.2 Trunk链路和802.1Q标签如果两台交换机上都有VLAN 10和VLAN 20它们之间的链路需要同时传输两个VLAN的流量这就是Trunk链路。Trunk链路上传输的帧会打上802.1Q标签在源MAC和类型字段之间插入4个字节其中包含12位的VLAN ID支持4096个VLAN实际可用1-4094。标签里还有一个3位的优先级字段802.1p用于QoS。这个在实际中很有用比如你可以把语音流量标记为高优先级交换机在拥塞时优先转发。Access端口收到不带标签的帧时会打上该端口PVID默认是端口所属VLAN的标签发送时如果标签等于PVID就剥离标签再发。Trunk端口收到带标签的帧时如果VLAN ID在允许列表里就转发否则丢弃发送时保留标签除了Native VLAN。Native VLAN是个容易出问题的地方。默认是VLAN 1Trunk两端必须一致否则会出现VLAN跳变。我一般建议把Native VLAN改成一个不用的VLAN并且不要在这个VLAN上放任何设备避免安全问题。5.3 VLAN间通信为什么需要三层VLAN隔离了广播域但也隔离了单播——不同VLAN的设备即使IP在同一网段也ping不通因为交换机不会把一个VLAN的帧转发到另一个VLAN。要实现VLAN间通信必须经过三层设备要么用路由器单臂路由要么用三层交换机SVI接口。三层交换机的SVI交换机虚拟接口是给每个VLAN配一个IP地址作为该VLAN的网关。当VLAN 10的设备要访问VLAN 20的设备时它把帧发给网关MACSVI的MAC三层交换机收到后查路由表发现目的网段在VLAN 20就把帧重新封装源MAC变成VLAN 20 SVI的MAC目的MAC变成目标设备的MAC后转发出去。这个过程叫“一次路由多次交换”——第一个包走慢路径CPU参与后续包走快路径硬件ASIC转发。6. 从抓包看二层几个真实场景的帧分析6.1 ARP请求与应答的帧结构ARP请求是一个广播帧目的MAC是FF:FF:FF:FF:FF:FF类型字段0x0806。帧的数据部分包含发送方MAC、发送方IP、目的MAC全0、目的IP。交换机收到后泛洪到所有端口。目标设备收到后发现目的IP是自己就发一个单播ARP应答目的MAC是请求方的MAC。这里有个细节ARP请求帧的源MAC是请求方的MAC但交换机在转发时不会修改MAC地址。所以你在目标设备上抓包看到的源MAC就是请求方的MAC不是交换机的MAC。这也是为什么二层网络里MAC地址可以用于追踪设备物理位置——因为MAC不会被三层设备修改除非经过路由。6.2 ping同网段和跨网段的帧差异ping同网段设备时源和目的MAC都是最终设备的MACIP也是最终设备的IP。帧在交换机上根据目的MAC转发不经过路由器。ping跨网段设备时源MAC是发送方的MAC目的MAC是网关的MAC但源IP和目的IP是最终设备的IP。网关收到后重新封装帧源MAC变成网关出接口的MAC目的MAC变成下一跳的MAC或者最终目的MAC如果是最后一跳。所以你在抓包时会看到MAC地址逐跳变化但IP地址不变。这个差异是理解二层和三层分工的关键。交换机只看MAC路由器只看IP。交换机不关心IP是什么路由器不关心MAC是什么除了在封装帧的时候。6.3 生成树BPDU帧的识别BPDU帧的目的MAC是01:80:C2:00:00:00这是一个多播地址不是广播所以交换机不会泛洪到所有端口而是只发给参与STP计算的端口。类型字段是0x0026STP或0x0027RSTP。数据部分包含根桥ID、根路径开销、发送桥ID、端口ID、消息年龄、最大年龄、Hello时间、转发延迟等字段。如果你在抓包时看到大量BPDU帧说明STP在正常工作。如果STP配置有问题可能会看到BPDU帧异常增多或者拓扑变更通知TCN频繁出现。TCN帧的目的是通知其他交换机MAC地址表需要缩短老化时间从300秒降到15秒因为拓扑变了原来的MAC地址表可能已经不准了。7. 几个容易踩的坑和实操建议7.1 MAC地址表溢出攻击与端口安全交换机的MAC地址表容量是有限的低端交换机可能只有几千条。如果有人恶意发送大量源MAC不同的帧MAC地址表会被填满之后交换机收到正常帧时查不到目的MAC就会泛洪到所有端口。攻击者就能收到本该发给别人的流量。防御方法是配置端口安全限制每个端口能学习的MAC数量超过就触发保护动作关闭端口、丢弃帧或发送告警。我一般建议接入层端口限制为2-3个MAC一个PC加一个IP电话超过就关闭端口并记录日志。7.2 双工不匹配一个隐蔽的性能杀手双工不匹配是指链路一端是全双工另一端是半双工。这种情况下全双工端会同时收发半双工端会检测到冲突并重传导致性能急剧下降可能只有正常值的十分之一。更麻烦的是这种问题不会导致链路完全不通只是慢所以很难发现。我遇到过好几次这种情况用户抱怨网络慢但ping延迟正常只是大流量传输时速度上不去。最后发现是某台老设备强制了半双工而对端是自协商全双工。解决办法是两端都设为自协商或者都强制为全双工。千万不要一端自协商一端强制自协商端会通过并行检测机制 fallback 到半双工。7.3 交换机堆叠与链路聚合的取舍堆叠是把多台物理交换机当成一台逻辑交换机来管理好处是管理简单、跨设备链路聚合方便。链路聚合是把多条物理链路绑成一条逻辑链路增加带宽和冗余。两者经常一起用堆叠后做跨设备聚合既有多台设备的端口密度又有聚合的带宽和冗余。但堆叠也有风险堆叠线缆故障可能导致堆叠分裂分裂后两台交换机都认为自己是主IP地址冲突网络混乱。所以堆叠一般建议用环形拓扑并且配置双主检测。链路聚合则要注意聚合的两端必须配置一致速率、双工、VLAN模式否则可能聚合失败或者部分链路不转发。7.4 抓包时如何过滤二层问题用抓包工具时我常用的过滤条件是ether broadcast只看广播帧快速判断广播风暴。ether multicast看多播帧判断STP、OSPF等协议是否正常。arp看ARP请求和应答判断ARP欺骗或ARP表问题。stp看BPDU帧判断生成树拓扑。vlan看VLAN标签判断Trunk配置是否正确。如果你怀疑是二层环路可以抓包看是否有大量重复的广播帧源MAC相同但经过不同路径到达。如果怀疑是MAC地址表问题可以看是否有大量未知单播帧被泛洪。8. 个人体会二层是网络的地基值得花时间吃透我刚开始做网络运维的时候总觉得二层太简单——不就是MAC地址转发吗后来踩的坑多了才发现大部分“网络时通时不通”“突然变慢”“部分设备上不了网”的问题根子都在二层。三层路由问题反而好查因为路由表、ARP表、ping和traceroute都能给出明确线索。二层问题往往没有直接的工具需要你理解交换机内部在做什么才能从现象反推原因。我的建议是如果你手头有可管理的交换机花一个下午把STP、VLAN、端口安全、链路聚合这几个功能都配一遍然后用抓包工具看每种配置下帧的变化。这比看十遍理论都管用。另外MAC地址表、ARP表、STP拓扑这三个东西要养成定期查看的习惯很多问题在爆发之前都有征兆——比如MAC地址表里某个端口突然多了几百个MAC或者STP拓扑频繁变更这些都是需要立刻关注的信号。二层网络的设计原则其实很简单保持拓扑简单避免环路控制广播域大小接入层做好端口安全。但简单不等于容易因为二层是透明的出了问题往往要一层层排除才能定位到根因。这份耐心和细致可能比技术本身更重要。

相关新闻

12KB的flotr2:轻量级Canvas图表库实战指南

12KB的flotr2:轻量级Canvas图表库实战指南

简介:这份资源面向需要在网页中实现数据可视化的前端开发者与初学者,提供Flotr2图表库的核心压缩文件及配套入门示例。Flotr2支持折线图、柱状图、饼图、散点图等多种图表类型,可与HTML、CSS和JavaScript结合,满足报表展示、数据分…

2026/10/18 1:44:49 阅读更多 →
基于YOLOv12的无人机河道巡检水面垃圾检测实战解析

基于YOLOv12的无人机河道巡检水面垃圾检测实战解析

开头无人机 AI 视觉识别已经不是什么新鲜概念了,但真把一套 YOLOv12 模型跑在河道巡检这种实际业务场景里,踩过的坑和趟过的路还是比较有代表性。这个项目做的就是“智慧河道巡检:基于 YOLOv12 的大疆无人机河面塑料垃圾检测”,核…

2026/10/18 1:44:49 阅读更多 →
从文字到成片:ComfyUI-LTXVideo 的 7 类 AI 视频生成落地教程

从文字到成片:ComfyUI-LTXVideo 的 7 类 AI 视频生成落地教程

从文字到成片:ComfyUI-LTXVideo 的 7 类 AI 视频生成落地教程 【免费下载链接】ComfyUI-LTXVideo LTX-Video Support for ComfyUI 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-LTXVideo 拿一张产品图做首帧,用提示词描述动作&…

2026/10/18 1:44:49 阅读更多 →

最新新闻

Deep Agents框架:AI代理核心任务规划与分解实战解析

Deep Agents框架:AI代理核心任务规划与分解实战解析

先聊个我最近遇到的典型场景。某次我给一个自己搭的Agent下达任务:“帮我整理本周行业资讯,输出一份简报”。结果它整整回复了八百字,格式工整、措辞得体,可仔细一看,全是通用建议——没有真正的资讯来源,没…

2026/10/18 2:38:02 阅读更多 →
Spring Boot整合Redis实战:序列化、缓存穿透与高并发踩坑复盘

Spring Boot整合Redis实战:序列化、缓存穿透与高并发踩坑复盘

写这篇文章之前,先说个我最近帮一个同事排查问题的场景。他负责的接口加上了 Redis 缓存,但并发一高,数据库还是被冲垮了。我登上去一看,缓存 key 是一串 \xAC\xED 开头的二进制乱码,value 也是 JDK 序列化对象&#x…

2026/10/18 2:38:02 阅读更多 →
AI辅助教材编写如何降低查重率?从初稿到改稿的完整实践方法

AI辅助教材编写如何降低查重率?从初稿到改稿的完整实践方法

写教材这事,听起来是专家干的活,但这两年,越来越多的老师、培训讲师、课程开发者开始用AI辅助编写教材和讲义。我的感受是,AI写初稿是真快,但交出去的稿子质量和查重率往往让人头大。初稿太像“翻译腔”或“论文摘要合…

2026/10/18 2:38:02 阅读更多 →
游戏开发必知的10大测试术语揭秘

游戏开发必知的10大测试术语揭秘

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 2:38:02 阅读更多 →
用游戏讲透环境变量的神奇作用

用游戏讲透环境变量的神奇作用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 2:38:02 阅读更多 →
回归预测可视化指南:用sklearn和matplotlib绘制真实值与预测值对比图

回归预测可视化指南:用sklearn和matplotlib绘制真实值与预测值对比图

回归模型跑完之后,很多人第一件事就是看R和MSE,数字漂亮就认为万事大吉。但我一直觉得,指标只是结果的高度浓缩,真正能暴露模型问题的,是把测试集真实值和模型预测值画在同一张图上,看曲线走势、看偏差分布…

2026/10/18 2:37:02 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →