谷歌的QUIC協議會取代TCP嗎? - levelup
在過去幾年中,QUIC 已成為 Google 服務網路通訊的預設協議。從 Chrome 網路瀏覽器到 Google 伺服器的所有連線中,有一半以上使用 QUIC。Microsoft Edge、Firefox 和 Opera 也正式支援它。
谷歌在開發它時考慮到了網路安全,並用更先進和最新的技術取代了幾個過時的標準。換句話說,QUIC 可能代表了網際網路的未來,這就是理解它如此重要的原因。
那麼,讓我們深入瞭解 Google 的 QUIC 協議,並介紹您需要了解的所有相關資訊。
QUIC的歷史
QUIC 最初代表“ Quick UDP Internet Connections”,儘管該術語不再用作首字母縮寫詞。現在,“QUIC”用於描述谷歌設計的通用傳輸層網路協議。
- 2012年,最初實施部署。
- 2013 年,隨著IETF會議上實驗範圍的擴大,它被公開宣佈。
- 2015 年 6 月,針對其規範的Internet 草案提交給 IETF 以進行標準化。
- 2016年,QUIC工作組成立。
- 2018 年 10 月,基於 QUIC 的 HTTP 對映開始被稱為“ HTTP/3 ”,使得 QUIC 勢必成為全球標準。
- 2021 年 5 月,IETF 終於在RFC 9000 中對其進行了標準化。
什麼是QUIC?
Google 的 QUIC 是一種基於 UDP 的低延遲網際網路傳輸協議,該協議常用於遊戲、流媒體和 VoIP 服務。[…]UDP 比 TCP 輕得多,但作為回報,它提供的糾錯服務比 TCP 少得多。[…]通過 QUIC,Google 旨在將 UDP 和 TCP 的一些最佳功能與現代安全工具相結合。—谷歌希望通過其 QUIC 協議加速網路
QUIC 與 TCP
與TCP不同的是,QUIC 協議只允許以加密形式進行通訊。由於 QUIC 中未加密的通訊形式被設計禁止,隱私和安全本質上是 QUIC 資料傳輸的一部分。這在網路安全方面絕對是一個加分項,但在不嚴格要求加密時也可能代表無用的開銷。
但真正的突破在於與 TCP + TLS相比,QUIC 建立安全連線所需的時間。換句話說,QUIC 的主要目標是大大減少連線建立期間的開銷。
這要歸功於 QUIC 的設計方式。事實上,QUIC 使交換配置金鑰和支援的協議成為初始握手過程的一部分。具體來說,當傳送方開啟連線時,響應資料包中還包含以後需要使用加密的資料包所需的資料。此步驟無需建立 TCP 連線,然後通過其他資料包協商安全協議。這會導致更高的連線速度和響應的顯著下降,甚至在主機間重新連線期間下降到 0ms,這稱為“零 RTT 連線建立”。
如您所見,典型的安全 TCP 連線需要兩到三趟往返,然後傳送方才能真正開始接收資料。這可能需要長達 300 毫秒的時間。通過使用 QUIC,傳送方可以立即開始與之前已經與之交談過的接收方交談。
與UPD相比,QUIC 成為贏家,因為它具有一些 TCP 功能,例如UPD 沒有的擁塞控制和自動重傳。這使得它本質上比純 UDP 更可靠。詳細地說,QUIC雖然使用UDP作為基礎,但它涉及丟失恢復。這是因為 QUIC 的行為類似於 TCP,並在資料丟失時單獨檢查每個流重新傳輸資料。
此外,如果一個流發生錯誤,QUIC 可以繼續獨立地為其他流服務。此功能對於提高易出錯鏈路的效能非常有用,因為在 TCP 通知丟失或丟失的資料包之前可能會收到大量額外的資料。在 QUIC 中,可以在修復流的同時自由處理這些資料。
QUIC 還提高了網路切換事件期間的效能,例如當移動裝置使用者從 Wi-Fi 網路移動到行動網路時。當同樣的事情通過 TCP 發生時,將執行一個漫長的過程,其中每個現有連線一次斷開一個,然後按需重新建立。為了解決這個問題及其在效能方面的後果,QUIC 包含一個連線 ID 到接收器,而不管來源如何。這允許通過重新傳送單個資料包來重新建立連線,該資料包始終包含此 ID,即使傳送方的 IP 地址已更改,接收方也將認為該資料包有效。
那麼,這足以讓 QUIC 取代 TCP 嗎?
結論
在這裡,我們研究了 Google 的 QUIC 協議是什麼,它是如何工作的,以及為什麼它可能代表網際網路協議的未來。QUIC 是由谷歌設計的,旨在取代許多過時的標準,並可能在未來幾年真正改變遊戲規則。
相關文章
- KCP協議:從TCP到UDP家族QUIC/KCP/ENET協議TCPUDPUI
- QUIC協議詳解UI協議
- 下一代HTTP底層協議將棄用TCP協議 改用QUIC技術HTTP協議TCPUI
- 系列TCP/IP協議-TCP協議概述(011)TCP協議
- TCP協議TCP協議
- TCP會被UDP取代麼?TCPUDP
- 實用TCP協議(1):TCP 協議簡介TCP協議
- 10 分鐘講完 QUIC 協議。UI協議
- tcp/ip協議TCP協議
- TCP協議的特點TCP協議
- quinn-rs/quinn: QUIC協議的Rust實現UI協議Rust
- 基於QUIC協議的HTTP/3正式釋出!UI協議HTTP
- TCP和UDP協議TCPUDP協議
- TCP/IP協議族TCP協議
- TCP/IP 協議族TCP協議
- TCP協議詳解TCP協議
- wireshark 分析TCP協議TCP協議
- tuic:基於QUIC協議的Rust高效能代理UI協議Rust
- 網路通訊協議-TCP協議詳解!協議TCP
- Wireshark中的TCP協議包分析TCP協議
- TCP/IP協議的SYN攻擊TCP協議
- TCP/IP五層協議TCP協議
- 如何理解TCP/IP協議?TCP協議
- TCP應用層協議TCP協議
- TCP/IP、UDP/IP協議TCPUDP協議
- TCP 協議有哪些缺陷?TCP協議
- tcp/ip協議和opc協議對比詳解TCP協議
- TCP對應的協議和UDP對應的協議(簡單概述)TCP協議UDP
- QUIC 多流橋接、新增 DDS 協議轉換代理UI橋接協議
- TCP協議的常見面試題TCP協議面試題
- TCP/IP 協議相關的問題TCP協議
- tcp沒用嗎?為什麼MOBA、“吃雞”遊戲不推薦用tcp協議TCP遊戲協議
- python以後會取代php嗎PythonPHP
- TCP傳輸協議詳解TCP協議
- TCP協議長什麼樣TCP協議
- Jmeter TCP協議效能測試JMeterTCP協議
- 系列TCP/IP協議-UDP(009)TCP協議UDP
- 深入理解 tcp 協議(一)TCP協議