QUIC詳解(基於UDP的低延時網路傳輸層協議)

2021-10-02 22:03:39 字數 2534 閱讀 7947

一、quic 協議概述

quic 全稱 quick udp internet connection [1],「快速 udp 網際網路連線」,(和英文 quick 諧音,簡稱「快」)是由 google 提出的使用 udp 進行多路併發傳輸的協議。

quic 相比現在廣泛應用的 http2+tcp+tls 協議有如下優勢:

下圖是網路層對比圖:

下圖是通訊延遲對比圖:

二、quic需要的原因

1、概述

從上個世紀 90 年代網際網路開始興起一直到現在,大部分的網際網路流量傳輸只使用了幾個網路協議。使用 ipv4 進行路由,使用 tcp 進行連線層面的流量控制,使用 ssl/tls 協議實現傳輸安全,使用 dns 進行網域名稱解析,使用 http 進行應用資料的傳輸。

而且近三十年來,這幾個協議的發展都非常緩慢。tcp 主要是擁塞控制演算法的改進,ssl/tls 基本上停留在原地,幾個小版本的改動主要是密碼套件的公升級,tls1.3[3] 是乙個飛躍式的變化,但截止到今天,還沒有正式發布。ipv4 雖然有乙個大的進步,實現了 ipv6,dns 也增加了乙個安全的 dnssec,但和 ipv6 一樣,部署進度較慢。

隨著移動網際網路快速發展以及物聯網的逐步興起,網路互動的場景越來越豐富,網路傳輸的內容也越來越龐大,使用者對網路傳輸效率和 web 響應速度的要求也越來越高。

一方面是歷史悠久使用廣泛的古老協議,另外一方面使用者的使用場景對傳輸效能的要求又越來越高。

2、問題描述

這裡分小節簡單說明一下。

2.1 中間裝置的僵化

2.2 依賴於作業系統的實現導致協議僵化
2.3 建立連線的握手延遲大
2.4 隊頭阻塞
三、quic 核心特性

1、連線建立延時低

0rtt 建連可以說是 quic 相比 http2 最大的效能優勢。所謂的0rtt就是,通訊雙方發起通訊連線時,第乙個資料報便可以攜帶有效的業務資料。那什麼是 0rtt 建連呢?

這裡面有兩層含義:

2、改進的擁塞控制

tcp 的擁塞控制實際上包含了四個演算法:慢啟動,擁塞避免,快速重傳,快速恢復 [22]。

quic 協議當前預設使用了 tcp 協議的 cubic 擁塞控制演算法 [6],同時也支援 cubicbytes, reno, renobytes, bbr, pcc 等擁塞控制演算法。

從擁塞演算法本身來看,quic 只是按照 tcp 協議重新實現了一遍,那麼 quic 協議到底改進在哪些方面呢?主要有如下幾點。

【可插拔】:

什麼叫可插拔呢?就是能夠非常靈活地生效,變更和停止。體現在如下方面:

stgw 在配置層面進行了優化,我們可以針對不同業務,不同網路制式,甚至不同的 rtt,使用不同的擁塞控制演算法。

【單調遞增的 packet number】:

圖 4 stream offset 保證有序性

【不允許 reneging】:

【ack delay 時間】:
3、基於 stream 和 connecton 級別的流量控制
quic 實現流量控制的原理比較簡單:

quic 的流量控制和 tcp 有點區別,tcp 為了保證可靠性,視窗左邊沿向右滑動時的長度取決於已經確認的位元組數。如果中間出現丟包,就算接收到了更大序號的 segment,視窗也無法超過這個序列號。

但 quic 不同,就算此前有些 packet 沒有接收到,它的滑動只取決於接收到的最大偏移位元組數。

圖 5 quic flow control

4、沒有隊頭阻塞的多路復用
那 quic 多路復用為什麼能避免上述問題呢?

5、加密認證的報文
6、連線遷移
7、其他亮點
參考鏈

詳解基於UDP的低延時網路傳輸層協議 QUIC

quic 全稱 quick udp internet connection 1 快速 udp 網際網路連線 和英文 quick 諧音,簡稱 快 是由 google 提出的使用 udp 進行多路併發傳輸的協議。quic 相比現在廣泛應用的 http2 tcp tls 協議有如下優勢 2 減少了 tcp...

可靠的UDP協議 QUIC協議

quic是一種新的傳輸 方式,與tcp相比可以減少延遲。表面上,quic與在udp上實現 的tcp tls http 2非常相似。由於tcp是在作業系統核心和中介軟體韌體中實現的,所以對tcp進行重大改變幾乎是不可能的。但是,由於quic是建立在udp之上的,所以沒有這樣的限制。quic相比於上述介...

詳解低延時高音質 編譯碼篇

語音社交已經出現了數十年,而近期的 互動播客 場景讓音訊互動再次成為業界焦點。如何提供好的音訊互動體驗?怎麼優化音質?如何應對全球傳輸下的網路挑戰?如何在高音質的基礎上讓聲音更悅耳?我們將從今天開始通過 詳解低延時高音質 系列內容,從多個層面深入淺出逐一解答這些問題。繼 elon musk 後,bi...