

【HTTP的前世今生详解】
所以,QUIC 是一个在 UDP 之上的伪 TCP +TLS +HTTP/2 的多路复用的协议 。
但是对于 UDP 还是有一些挑战的,这个挑战主要来自互联网上的各种网络设备,这些设备根本不知道是什么 QUIC,他们看 QUIC 就只能看到的就是 UDP,所以,在一些情况下,UDP 就是有问题的,
- 比如在 NAT 的环境下,如果是 TCP 的话,NAT 路由或是代理服务器,可以通过记录 TCP 的四元组(源地址、源端口,目标地址,目标端口)来做连接映射的,然而,在 UDP 的情况下不行了 。于是,QUIC 引入了个叫 connection id 的不透明的 ID 来标识一个链接,用这种业务 ID 很爽的一个事是,如果你从你的 3G/4G 的网络切到 WiFi 网络(或是反过来),你的链接不会断,因为我们用的是 connection id,而不是四元组 。
- 然而就算引用了 connection id,也还是会有问题,比如一些不够“聪明”的等价路由交换机,这些交换机会通过四元组来做 hash 把你的请求的 IP 转到后端的实际的服务器上,然而,他们不懂 connection id,只懂四元组,这么导致属于同一个 connection id 但是四元组不同的网络包就转到了不同的服务器上,这就是导致数据不能传到同一台服务器上,数据不完整,链接只能断了 。所以,你需要更聪明的算法(可以参看 Facebook 的 Katran 开源项目 )
目前看下来,HTTP/3 目前看上去没有太多的协议业务逻辑上的东西,更多是 HTTP/2 + QUIC 协议 。但,HTTP/3 因为动到了底层协议,所以,在普及方面上可能会比 HTTP/2 要慢的多的多 。但是,可以看到 QUIC 协议的强大,细思及恐,QUIC 这个协议真对 TCP 是个威胁,如果 QUIC 成熟了,TCP 是不是会有可能成为历史呢?
推荐阅读
- 春节的来历是什么20字
- 梦见白马的寓意
- 晚霞行千里的上一句
- 万户捣衣声的上一句
- 目前公认“值得买”的3款好机 现在什么手机值得入手
- 加强手机信号最好的方法 手机信号不好怎么办
- 公认口碑不错的3款国产手机 国产手机哪个牌子好
- 不用的烟道口如何封堵
- 插座接线有三个怎么接
- Steam设置中文方法 英文版的steam怎么设置中文
