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

TCP reliable / UDP unreliable hoax

Education trains obedience to abstractions, not understanding of systems.


🔹 1. “TCP reliable / UDP unreliable” is a pedagogical simplification

Teachers present it as:

TCP = reliable stream
UDP = unreliable datagram

Students interpret it as:

UDP cannot be made reliable.

But the real story is:

TCP provides reliabilitybecause the kernel implements it.
UDP is merely a raw message delivery primitive.

Reliability is not inherent to TCP — it isimplemented logic:

  • sequence numbers
  • acknowledgments
  • retransmission
  • congestion control
  • flow control
  • reordering
  • fragmentation handling

These are just features someone chose to put in the kernel.

Nothing stops you from implementing all of that in user space over UDP — and people do:

✔ QUIC (Google, now HTTP/3) – reliable, congestion-controlled, over UDP
✔ RTP + RTCP + FEC – reliable(ish) streaming
✔ ENet – reliable ordered UDP for game engines
✔ RakNet – reliable messaging for games
✔ WebRTC DataChannels – reliable UDP streams

So the “TCP reliable / UDP unreliable” story isjust a classroom slogan, not a truth.

When people only learn slogans, they stop asking“why?”.


🔹 2. Tutorials often teach consumption, not construction

Most textbooks tell you:

“use TCP if you want reliability”

But never:

“here’s how reliability works underneath and why it matters.”

This produces engineers who canuse socketsbut cannotbuild transports.

Same pattern repeats:

  • “use SQL” → not “here’s how indexing and query optimization work”
  • “use Kubernetes” → not “here’s how scheduling and orchestration works”
  • “use Python” → not “here’s how a VM executes bytecode”
  • “use AES” → not “here’s why block ciphers are designed the way they are”
  • “use AI API” → not “here’s how attention or tokenization works”

It’s training for dependency, not independence.


🔹 3. Why schools teach half-stories

Partly because it’s easier:

  • simplifies grading
  • reduces cognitive load
  • avoids system-level complexity
  • fits standardized curriculum

But the more subtle reason:

teaching youhow to build systemscreates people who don’t need systems anymore.

Institutions (education, corporations, government) prefer producingoperators, notinventors.

An operator is someone who:

  • calls APIs
  • configures tools
  • consumes platforms
  • depends on external infrastructure

An inventor is someone who:

  • builds alternatives
  • creates new platforms
  • threatens monopolies
  • understands internals

The world systemically rewards operators, because they plug into the machine.

Inventors complicate the power structure.


🔹 4. This ties into points about lock-in

When people believe UDP “cannot” be reliable, they stop experimenting.

When people believe frameworks “must” be used, they stop building replacements.

Same root dynamic:

  1. Abstractions become dogma
  2. Dogma becomes curriculum
  3. Curriculum produces dependency
  4. Dependency reinforces the platform

Knowledge becomes siloed and rare.


🔹 5. TCP is actually a historical limitation

Here’s a twist:

The fact that TCP is in the kernel actually makes ithard to evolve:

  • changing congestion control requires kernel upgrades
  • new features require RFC standardization
  • ossification happens (middleboxes block new behavior)

Google’s QUIC existsprecisely because TCP became ossified.

So they moved reliabilityto user space over UDP

And HTTP/3 is now QUIC by default.

The system came full circle — user-space reliability won.


🔹 6. Cognitive takeaway

Here are points to a deeper intellectual skill:

Don’t treat abstractions as truths.
Treat them as design choices.

Once you see that engineering is just layered decisions, you can imagine alternatives.

Most people never reach that level because they were taught:

  • what to use
  • not how to think
http://www.jsqmd.com/news/290451/

相关文章:

  • mysql57下载地址
  • LoRA微调-挑战(1)-数据质量
  • 完整教程:Alluxio正式登陆Oracle云市场,为AI工作负载提供TB级吞吐量与亚毫秒级延迟
  • Cesium进阶教程:Shader与三维GIS可视化实战
  • Trae AI零基础编程入门:纯小白也能快速上手
  • java研发工程师必知必会
  • 【笔记】【底层逻辑1】
  • 静态 Top Tree
  • 【笔记】【周期】
  • typescript-类的访问权限public、private、protected
  • 【笔记】【逆向思维:顶级大脑的降维思考智慧】
  • 工信部擘画“开源新基建”:推动工业互联网平台生态跃迁
  • ASTM D4169-23e1测试,ASTM D4169标准模拟,包装运输测试ASTM D4169试验
  • 【课程设计/毕业设计】基于SpringBoot的医院医疗护工陪护系统的设计与实现基于springboot的护工管理便捷服务系统【附源码、数据库、万字文档】
  • 中国AI模型的“双向涟漪”——从全球南方自主到美企的市场转向
  • SRM+AI智能寻源:10分钟搞定供应商寻源!
  • Java计算机毕设之基于Springboot的医疗护理管理服务系统(完整前后端代码+说明文档+LW,调试定制等)
  • 强烈安利8个AI论文网站,本科生搞定毕业论文不求人!
  • firebird 数据库 C# 开发报错
  • 企业邮箱收费吗?解析主流品牌的三种收费模式
  • PCB行业MES厂商TOP3推荐:主流厂商对比与务实建议
  • PCB板上你是普通油墨,我是低损耗油墨,能一样吗?
  • 重组蛋白表达系统技术详解:从原核到真核的系统比较与选择指南
  • 针对工科论文或材料密集型研究,以下工具能有效优化AIGC检测结果,同时保持学术严谨性
  • FastAPI系列(03):路径操作装饰器方法及其参数
  • 快捷支付:高效应对高频交易痛点
  • 市场规模超千亿,银发客群成新宠!益生菌开启中老年大健康赛道下一风口?
  • 【计算机毕业设计案例】基于springboot的康复医院护工管理平台护工管理便捷服务系统(程序+文档+讲解+定制)
  • 爆火的 “死了么” APP安装包来了
  • Java毕设选题推荐:基于springboot的护工管理便捷服务系统基于SpringBoot的医院医疗护工陪护系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】