[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fiNI0TtKUZ1DFgAyl00jeoXTqyWYrqGPe9gPrN-OYEQY":3},{"item":4,"related":44},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":35,"sourceName":36,"sourceUrl":37,"status":38,"seoTitle":7,"seoDescription":9,"canonicalUrl":35,"isFeatured":39,"sno":40,"sortOrder":41,"publishedAt":42,"updatedAt":43,"createdAt":43},"21802312-4744-4a11-a239-363b2b541a3a","article","ECN：网络拥塞时，能不能标记数据包而不是丢掉它？","ecn-explicit-congestion-notification-explained","ECN 允许兼容网络设备给数据包标记拥塞，让发送端有机会在缓冲区溢出前调整速率。本文解释端到端协作要求及它无法替代的机制。","网络拥塞时，路由器常会把队列排得很长，直到缓冲区满了再丢弃数据包。ECN（Explicit Congestion Notification，显式拥塞通知）提供了另一种信号方式：在支持 ECN 的网络路径上，设备可以给数据包打上拥塞标记，让接收端和发送端知道链路正在变挤，而不必每次都等到丢包才发现。\n\n这像高速公路上的可变情报板。传统“丢包”相当于把车辆赶下路，司机从损失中猜出前方拥堵；ECN 则更像提前亮起拥堵提示，帮助交通流在队列溢出之前减速。IP 头部中的 ECN 字段具有不同代码点，路由设备在合适条件下可以把数据包标记为拥塞经历（CE）。之后传输协议需要把信号反馈给发送端，发送端再按协议策略调整发送速率。\n\n这套机制需要端到端配合。路径上的网络设备、主机协议栈和实际传输协议都要正确协商和处理，标记还必须在传输过程中保留下来。若任意一环不支持或配置不匹配，发送端就可能收不到有效信号。ECN 不是所有丢包的替代品：链路错误、队列溢出或其他故障仍可能造成丢包，协议也需要处理丢包恢复。\n\n它也不等同于“彻底消除排队”。ECN 可以帮助拥塞控制提前反应，但具体延迟和吞吐表现取决于队列管理算法、流量模式、路径设备和两端实现。若一端错误地忽略或处理标记不当，还可能导致不公平或控制效果变差。互联网标准定义了标记和反馈的基本机制，却不保证每条现实路径都会提供同样体验。\n\n对普通用户来说，ECN 是网络设备与系统协议栈之间的协同细节；对数据中心网络和拥塞控制设计者，它则是减少“必须先丢包才能感知拥塞”的工具。排查时需检查协商、设备计数器和协议反馈，而不能只看到“ECN 已开启”便断定拥塞问题解决。\n\nECN 的核心理念是把拥塞从一次数据损失转成一个显式信号。它能让发送端更早地采取行动，但效果取决于整条路径共同遵守规则。\n\n来源：[RFC 3168：The Addition of Explicit Congestion Notification to IP](https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc3168.html)","\u002Fuploads\u002F2026-10-06\u002Ffaaa388a-0f30-4b18-adbf-921477eb3495.jpg",[],[],"Foundit","https:\u002F\u002Ffoundit.cn","foundit-ai-editorial",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31],{"id":24,"name":25,"slug":26},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":28,"name":29,"slug":30},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",{"id":32,"name":33,"slug":34},"68cedb55-2cac-412f-8f81-fda8c7d686dd","思考","thought",null,"RFC 3168：The Addition of Explicit Congestion Notification to IP","https:\u002F\u002Fwww.rfc-editor.org\u002Frfc\u002Frfc3168.html","published",false,58,0,"2026-10-06T00:00:00.000Z","2026-10-06T07:51:33.993Z",[45,53,61],{"id":46,"type":6,"title":47,"slug":48,"summary":49,"coverUrl":50,"authorName":14,"sno":51,"publishedAt":42,"createdAt":52},"58fc0fe2-4392-402e-bd43-68da30f7b50f","RPKI 路由源验证：怎样确认一个网络前缀确实由某个 AS 宣告？","rpki-bgp-route-origin-validation","RPKI 路由源验证通过 ROA 检查前缀与起源 AS 是否匹配。本文解释 Valid、Invalid、NotFound 的含义，以及它为何不验证整条路由路径。","\u002Fuploads\u002F2026-10-06\u002F073132a3-dfee-42bd-b7f1-9f6805946e8b.jpg",40,"2026-10-06T07:51:36.206Z",{"id":54,"type":6,"title":55,"slug":56,"summary":57,"coverUrl":58,"authorName":14,"sno":59,"publishedAt":42,"createdAt":60},"d9dbb54d-46d3-4b1b-ad49-e4e049264170","Sloppy Quorum 与 Hinted Handoff：副本故障时，数据能先寄存到别处吗？","sloppy-quorum-hinted-handoff-replica-recovery","Dynamo 风格的宽松 quorum 可在首选副本不可达时暂存写入，并通过 hinted handoff 在故障恢复后补回。本文解释其可用性收益与一致性边界。","\u002Fuploads\u002F2026-10-06\u002Fc62b7ad0-304e-4a21-a245-aeee01573342.jpg",53,"2026-10-06T07:51:44.617Z",{"id":62,"type":6,"title":63,"slug":64,"summary":65,"coverUrl":66,"authorName":14,"sno":59,"publishedAt":67,"createdAt":68},"e4131e64-25af-4b75-8c90-d78212d5b7d9","BBR：网络拥塞为什么不能只看丢包？","bbr-bandwidth-round-trip-congestion-control","BBR 通过估计瓶颈带宽和往返传播时间来调节发送速率，把吞吐、延迟与在途数据纳入拥塞控制，而不是只等待丢包。","\u002Fuploads\u002F2026-09-26\u002F7a21c7b9-a2ee-4f70-b3fe-b10fca22655d.jpg","2026-09-27T00:00:00.000Z","2026-09-26T16:26:20.942Z"]