夜雨聆风学习资料网

ARTICLE · 1299535

TCP 还是 UDP?看Linux内核源码谈选型

TCP 还是 UDP?看Linux内核源码谈选型

TCP 还是 UDP?看Linux内核源码谈选型

选 TCP 还是 UDP,真不是一句“谁更可靠”就能拍板的。这事儿在 Linux 内核里早就分了叉。

TCP 把连接、重传、流量控制全包了。UDP 只留个端口和校验和,剩下的全甩给应用层自己扛。

所以选型就看一件事:迟到数据还有没有用。文件传输、数据库得用 TCP;实时音视频、游戏指令一晚就废,只能上 UDP。要是非要在 UDP 上做可靠传输,就得自己补重传和限速,不然很容易被拿去打 DDoS 攻击。

顺着代码往里看,创建 socket 那一刻两条路就分开了。TCP 建连要三次握手,UDP 发第一个包零延迟。收发时,TCP 先排队再按序重组,UDP 来一个交一个。Linux 的拥塞控制也是专门给 TCP 设计的,UDP 在内核里完全不管。

现在 QUIC 协议干脆以 UDP 为底座,在上面重建可靠性。说到底,选型就是看可靠性该由协议栈扛,还是交给应用层自己扛。

要不要我帮你查查,QUIC 具体是怎么在 UDP 之上实现可靠传输的?

原文TCP 还是 UDP?翻到 Linux 内核源码,把选型说清楚
上海,14小时前,

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料