QUIC协议:HTTP/3为何要抛弃TCP?

如果把互联网比作一座巨大的城市,那么数据就是穿梭其中的车辆,而传输协议就是道路。几十年来,这座城市一直依赖着一条名为TCP(传输控制协议)的"主干道"。它稳重、可靠,却也日渐拥堵。如今,一座全新的"立交桥"------QUIC协议,正试图取代它,成为下一代互联网标准HTTP/3的基石。为什么我们要抛弃沿用了半个世纪的TCP?

TCP的"老毛病"

TCP最大的痛点在于"队头阻塞"。想象一条单车道公路,如果前面有一辆车(数据包)坏了,后面所有的车都得停下来等待清理,即使它们的目的地各不相同。在网页加载中,这意味着一个资源的丢失,会导致整个页面卡顿。

其次,TCP的"通车手续"太繁琐。建立连接需要"三次握手",加上加密协议TLS的"四次挥手",一个完整的HTTPS连接建立可能需要2-3个来回(RTT)。这就像进出一个需要多重安检的关口,过程漫长。

最后,TCP对"移动"很不友好。它通过IP地址和端口号(四元组)来识别连接。当你从Wi-Fi切换到4G网络时,IP地址变了,TCP就认为这是非法连接,需要重新"安检"和"握手",导致视频卡顿或游戏掉线。

QUIC的"降维打击"

QUIC(快速UDP互联网连接)协议的核心,就是为了解决这些问题而生的。它做了一个大胆的决定:不再修补那条老旧的TCP公路,而是直接在UDP(用户数据报协议)这块更宽阔、更自由的"土地"上重建交通系统。

首先,QUIC彻底解决了"队头阻塞"。它引入了"流(Stream)"的概念,将一条大路变成了无数条互不干扰的"独立车道"。车道A堵车了,完全不影响车道B和C的通行。

其次,QUIC的连接建立极快。它将传输层和加密层的握手过程合并,首次连接只需1个来回,后续连接甚至可以"0-RTT"直接发送数据,实现了真正的"即连即发"。

最后,QUIC实现了"连接迁移"。它不再依赖IP地址,而是给每个连接分配一个唯一的"身份证号"(Connection ID)。无论你从Wi-Fi切换到4G,只要身份证号不变,车子就能无缝衔接,继续在原来的车道上行驶。

结语

HTTP/3抛弃TCP,并非因为TCP"做错了什么",而是因为它"太老了",被写入了操作系统的内核,难以快速迭代。而QUIC运行在应用层,可以像升级APP一样快速更新。虽然前路仍有部分网络设备"歧视"UDP的挑战,但这场为了更快、更稳、更安全的网络体验的变革,已然不可逆转。

相关推荐
Hill_HUIL2 小时前
学习日志18-不同VLAN间通信(2)-单臂路由
网络·学习·智能路由器
一起养小猫2 小时前
Flutter for OpenHarmony 实战:打造功能完整的云笔记应用
网络·笔记·spring·flutter·json·harmonyos
m0_738120722 小时前
内网横向——记录某三层网络渗透及综合渗透(socks代理隧道搭建,nacos未授权,redis上传Webshell)
网络·安全·web安全·ssh·php
wljt4 小时前
HTTP和openFeign
网络·网络协议·http
汤愈韬11 小时前
ACL概述、ACL原理、基本ACL应用及配置
网络·网络协议·网络安全
码刘的极客手记14 小时前
VCAP4-DCA Beta 考试体验分享与 esxcli 自动化实战(第二、三部分)
网络·esxi·vmware·虚拟机
朝风工作室15 小时前
开源一款轻量级跨网段 IPC 设备发现与网络配置工具
网络·开源
Qaz5556669116 小时前
透明DNS选路实验
网络
haluhalu.17 小时前
Linux网络编程------网络基础
网络·网络协议