侵權投訴

一文帶你了解QUIC協議

訊維官方公眾號 ? 2021-09-02 09:39 ? 次閱讀

當通過網絡傳輸數據時,一種新的協議QUIC(Quick UDP Internet Connection,快速UDP互聯網連接)正在成為FAANG的默認選擇。本篇文章描述了QUIC協議是如何克服其他版本HTTP的限制脫穎而出的。

FAANG是美國市場上五大最受歡迎和表現最佳的科技股的首字母縮寫,即Facebook、Apple、Amazon、Netflix和Google。

HTTP的演進

HTTP屬于應用層傳輸協議,運行于TCP/IP之上。現在它已成為萬維網中數據交換的基礎。HTTP包括4個穩定版本:HTTP/0.9、HTTP/1.0、HTTP/1.1 和HTTP/2。HTTP/3于2018年首次提出,目前已獲得全球2/3 web瀏覽器的支持。

HTTP/0.9(1991)

HTTP/0.9是HTTP的第一個版本,用作W3C的底層通信協議。它是一個非常簡單的客戶端-服務器、請求-響應、使用Telnet的協議,只支持GET命令(作為請求方法)和超文本協議(作為響應類型)。該協議不包含HTTP消息頭,且發送響應后,連接會立即斷開。

HTTP/1.0(1996)

HTTP/0.9極其簡單,且使用非常受限。新的HTTP版本HTTP/1.0引入了很多新特性,使它更加通用。這些新的特性包括:

每次HTTP 請求/響應都會重新建立TCP連接

添加了對 POST 和 HEAD 方法的支持

協議頭帶有版本號、協議類型、狀態碼字段

響應類型:超文本、腳本、媒體、樣式表

支持keep-alive連接,但默認情況下它是“關閉”的

HTTP/1.1(1997)

HTTP/1.0的主要缺陷是:它在每次請求響應時都要建立新的TCP連接。這種做法非常耗時,且影響客戶端和服務器的性能。HTTP/1.1的出現解決了這一問題:

單個TCP連接上可以傳送多個HTTP請求和響應

添加了對 PUT、DELETE、TRACE、OPTIONS 方法的支持

默認持久連接

HTTP/2(2015)

隨著流媒體內容的增加,網站也開始變得越來越復雜。為了滿足這種需求,HTTP/1.1的功能不斷擴展:首次支持多個TCP連接,并試驗性地引入了管道機制(pipelining),即在同一個TCP連接里面,客戶端可以同時發送多個請求。但擴展不可能無止境,最終需要采用一個新的協議,于是HTTP/2出現了,該協議包括如下重大改進:

多路復用:這是HTTP/2的一個特性,允許同時通過單個TCP連接發起多重請求-響應消息。每次HTTP請求-響應都被分割成二進制幀,客戶端和服務器都以二進制幀為基本單位發送消息(請求和響應)。通過多路復用,客戶端無需再等待上一個請求完成就可以發送多重請求。這樣,HTTP/2便解決了HTTP隊頭阻塞(HoL)的問題。如圖所示:

b9a5eb7a-f5e8-11eb-9bcf-12bb97331649.png

頭部壓縮:使用 HPACK 壓縮消息頭

非阻塞下載

支持服務器推送

采用二進制分幀,不再是純文本

解決了隊頭阻塞問題

HTTP/3(2018)

通過多路復用,HTTP/2解決了隊頭阻塞問題。但如果TCP流中出現了丟包,根據TCP的擁塞控制機制,其他數據流就只能等待丟包被重新發送和接收。所以,TCP的隊頭阻塞問題在HTTP/2中依然存在。

HTTP/3通過使用基于UDP的傳輸協議QUIC解決了這一問題。

HTTP/3是自HTTP/2之后最新且最主要的HTTP版本。因為HTTP/3本身就是為QUIC協議設計的,所以也被描述為基于QUIC的HTTP/2。HTTP/3的目標是通過使用谷歌的QUIC協議提供快速、可靠安全的網絡連接。HTTP/3包括以下特性:

使用基于UDP的QUIC作為傳輸協議

解決了TCP隊頭阻塞問題

使用QPACK頭部壓縮機

提供更快頁面加載時間

HTTP/2 VS HTTP/3

相同點:

HTTP/2 和 HTTP/3 使用相同的語法和語義結構,并且適用于同一請求/響應方法、狀態碼和協議字段。此外,兩者都使用設計相似的頭部壓縮算法(HPACK 和 QPACK)。

不同點:

特性 HTTP/2 HTTP/3
傳輸層協議 TCP 基于UDP的QUIC
頭部壓縮算法 HPACK QPACK
隊頭阻塞問題 解決HTTP隊頭阻塞 同時解決HTTP和TCP 隊頭阻塞
握手協議 TCP + TLS QUIC
加密協商 可通過TLS(默認版本為1.2,后續版本可選)與ALPN協議擴展進行協商 使用用于QUIC協議的Alt-Svc(以 TLS 1.3 作為 TLS 的最低版本)
握手時間 因為需要TCP和TLS 握手,所以更慢 QUIC協議直接處理數據流,所以更快

QUIC是一種新的多路傳輸層網絡協議標準,建立在 UDP 之上。QUIC的主要目標是通過減少頁面加載時間提升用戶體驗,并提高HTTPS的傳輸性能。它在本質上是TCP+TLS+HTTP/2。

設計HTTP/3的目的就是要充分利用 QUIC 的優勢。QUIC 協議本身可以處理數據流,所以排除了 TCP 隊頭阻塞問題。

QUIC 的一些關鍵特性包括:

基于UDP

使用沒有隊頭阻塞的連接復用

重構TCP的關鍵機制(連接復用、連接建立、擁塞控制、可靠性),并成為可靠的傳輸協議

交換數據包

對于典型的QUIC協議,客戶端和服務器之間交換了三種類型的數據包,如下圖所示:

b9e0a166-f5e8-11eb-9bcf-12bb97331649.png

1. 安全的首包

首先,客戶端在一個CRYPTO幀中傳輸包含TLS 1.3 Client Hello的首包。Client Hello包含不同類型的的擴展項,如目標服務器的SNI(Server Name Indication,服務器名稱指示 )、QUIC 傳輸參數、壓縮證書等,以及客戶端支持的壓縮方法和不同的加密套件

如果服務器接受QUIC和TLS 1.3參數,它也會在CRYPTO幀中發送包含對客戶端首包確認信息和TLS 1.3 Server Hello的首包信息。Server Hello中包含被服務器接收的加密套件和不同的擴展(如密鑰共享、支持的版本等)。在客戶端接收到 Server Hello后,會向服務器發送一個ACK確認包。

這三個首包都可能包含一個填充幀,以根據需要增加數據包的大小。

2. 握手包

客戶端和服務器之間的首包被交換以后,服務器會發送一個握手數據包,其中包含余下的服務器端消息,如證書、與服務器身份驗證相關的加密擴展。客戶端會驗證這些證書,然后QUIC 握手以客戶端發送的握手消息結束。

3. 安全的凈荷包

一旦安全的QUIC連接建立,客戶端與服務器之間的信息便可以安全傳輸。

QUIC 0-RTT

為了縮短建立新連接的時間,QUIC采用0-RTT。在這里,如果客戶端之前使用1-RTT連接到服務器,則服務器必須存儲與流量控制相關的傳輸參數的副本,如 initial_max_data、initial_max_stream_data_bidi_local 等。

下一次,在QUIC 0-RTT模式中,客戶端立即開始與服務器的數據傳輸,不需要等待握手完成。

然而,0-RTT也有設計上的缺陷:允許重放攻擊。

我們為什么要用QUIC?

傳統的TCP協議是建立在操作系統層和中間路由模塊之上實現的,它的握手階段信息很容易被這些中間模塊篡改而變得不安全。

但QUIC協議是在UDP之上的用戶級(如瀏覽器)中實現的,因此它更加靈活、對用戶更友好,并且能夠在短時間內支持更多設備。

在 QUIC 中,傳輸相關的信息被不同的保護層加密,握手包在傳輸鏈路上不容易被識別和修改。因此它提供了更安全的網絡數據傳輸。

翻譯/ Alex 技術Review / 袁榮喜 原文鏈接: https://blogs.keysight.com/blogs/tech/nwvs.entry.html/2021/07/16/road_to_quic-DGa5.html 特別說明:原作者Anubhab Sahu已授權本文的翻譯與發布,特此感謝。

編輯:jq

原文標題:QUIC協議的演進之路

文章出處:【微信號:xunwei201508,微信公眾號:訊維官方公眾號】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
分享:

評論

相關推薦

MES系統增強中小型制造企業的能力

現如今,中小型制造企業正被埋在行業中較大的實體之下。然而,當今許多制造技術方面的進步,例如云MES(....
發表于 09-30 16:26 ? 17次 閱讀

海康威視率先推出基于深度學習的結構化服務器

海康威視2022全球校園招聘宣講會走進華中科技大學。海康威視總裁胡揚忠先生與母校青年學子暢談海康威視....
的頭像 海康威視 發表于 09-30 15:36 ? 767次 閱讀

水庫防汛泄洪搶險應急廣播系統解決方案

水庫防汛泄洪搶險應急廣播系統,是圍繞災前預警預報、災中應急處置和災后重建等關鍵環節設計的無線應急廣播....
發表于 09-30 09:38 ? 52次 閱讀

物聯數采網關在電力能效管理系統中的應用

系統背景:電力能效管理是企業節能降耗,減少運營成本,提高競爭力的關鍵措施,已成為全社會企業關注的焦點....
發表于 09-30 09:16 ? 39次 閱讀

Python提供了幾個級別訪問的網絡服務呢

Python提供了幾個級別訪問的網絡服務呢?
發表于 09-30 08:09 ? 0次 閱讀

LabVIEW是怎樣通過TCP與S7-1200 PLC通信的

LabVIEW是怎樣通過TCP與S7-1200 PLC通信的? 如何判斷PLC是否正確接收到LabVIEW所發送的數據? ...
發表于 09-30 07:34 ? 0次 閱讀

怎樣用LWIP快速實現一個UDP網絡通信功能

LWIP有何功能? 怎樣用LWIP快速實現一個UDP網絡通信功能?...
發表于 09-30 06:33 ? 0次 閱讀

輕松統一管理多個OPC UA服務器

前言隨著現代工業的快速發展,OPCUA協議逐漸應用于工業過程的數據采集。越來越多的工業現場設備支持O....
的頭像 沈銳璇 發表于 09-29 18:10 ? 25次 閱讀
輕松統一管理多個OPC UA服務器

請問怎么實現與單片機的TCP通信app?

說怎么實現與傳輸的TCP通信應用程序?
發表于 09-29 09:07 ? 0次 閱讀

Modbus協議是什么

Modbus協議是什么? MODBUS功能碼有哪些? MODBUS協議有哪幾種傳輸模式? ...
發表于 09-29 07:06 ? 0次 閱讀

你知道在工控安全項目中進行攻防演示的案例有哪些嗎

你知道在工控安全項目中進行攻防演示的案例有哪些嗎? ...
發表于 09-29 06:46 ? 0次 閱讀

勤哲Excel服務器構建環境監測信息管理系統

眾所周知,當下火熱的信息化大數據平臺建設,能夠更加充分摸清地區環境質量和污染源底數,有效提高精準預測....
的頭像 話說科技 發表于 09-28 14:17 ? 134次 閱讀
勤哲Excel服務器構建環境監測信息管理系統

如何降低開發門檻助力音視頻創新玩法

9月16日,華為多媒體管線服務(AV Pipeline Kit)技術直播正式開啟。華為多媒體管線服務....
的頭像 華為麒麟 發表于 09-28 10:26 ? 239次 閱讀

組態王是怎樣通過Modbus TCP與ESP32通訊的

組態王的通訊是如何去設置的? 組態王是怎樣通過Modbus TCP與ESP32通訊的? ...
發表于 09-28 07:16 ? 0次 閱讀

如何通過C#結合SMTP來實現報警通知

如何進行報警的檢測? 如何實現郵件的發送? 如何通過C#結合SMTP來實現報警通知? ...
發表于 09-28 06:58 ? 0次 閱讀

怎樣去開發一個基于Socket的TCP客戶端軟件

TCP客戶端軟件有哪些功能? 怎樣去開發一個基于Socket的TCP客戶端軟件?...
發表于 09-28 06:06 ? 0次 閱讀

華為歐拉系統合作公司有哪些

華為歐拉操作系統openEuler在9月25日已經正式全面發布,歐拉操作系統主要針對云服務器而提供服....
的頭像 lhl545545 發表于 09-26 10:57 ? 2702次 閱讀

解析Kubernetes監控指標獲取方式對比

對比 node-exporter用于采集服務器層面的運行指標,包括機器的loadavg、filesy....
的頭像 馬哥Linux運維 發表于 09-26 10:45 ? 260次 閱讀

華為歐拉os系統是家用的嗎

華為歐拉os系統可以家用,華為歐拉os操作系統是基于Linux開發的,它融入了華為對于服務器場景的很....
的頭像 lhl545545 發表于 09-26 10:39 ? 2468次 閱讀

如何獲取采集服務器Kubernetes監控指標

對比 node-exporter用于采集服務器層面的運行指標,包括機器的loadavg、filesy....
的頭像 馬哥Linux運維 發表于 09-26 10:13 ? 130次 閱讀

碳化硅無線電電路能否承受地獄般的高溫

新冠疫情蔓延的2020年夏季鮮有好事。其中最令人印象深刻的事件之一是美國宇航員乘坐太空探索技術公司(....
的頭像 IEEE電氣電子工程師 發表于 09-26 09:45 ? 239次 閱讀
碳化硅無線電電路能否承受地獄般的高溫

華為歐拉發布會直播在哪看

華為歐拉發布會直播大家可以通過華為云官網進行觀看直播。9月25日,華為通過線上平臺正式發布了新一代o....
的頭像 lhl545545 發表于 09-26 09:32 ? 1459次 閱讀

華為歐拉系統免費嗎

華為歐拉系統是免費的。華為歐拉系統是華為公司針對企業級Linux服務器操作系統自研開發的,可以覆蓋到....
的頭像 lhl545545 發表于 09-24 17:44 ? 1780次 閱讀

華為歐拉系統和鴻蒙系統的區別

華為公司全新操作系統openEuler歐拉系統明天(9月25日)即將正式發布,華為此前就已經發布了鴻....
的頭像 lhl545545 發表于 09-24 16:56 ? 6254次 閱讀

華為歐拉系統怎么樣

根據華為公司的官方消息公布,華為將在25日發布全新openEuler歐拉操作系統。華為歐拉系統跟華為....
的頭像 lhl545545 發表于 09-24 16:29 ? 2190次 閱讀

基于Linux下iptables超詳細教程和使用示例

iptables的結構: iptables由上而下,由Tables,Chains,Rules組成。 ....
的頭像 Linux愛好者 發表于 09-24 16:08 ? 205次 閱讀

大氣監測微站如何選擇

大氣監測微站如何選擇【霍爾德HED-AQ1】隨著經濟規模迅速擴大和城市化進程加快,空氣質量時越來越差....
發表于 09-24 09:37 ? 19次 閱讀

如何才能實現有效的數據庫篩選

伴隨著日趨激烈、數字化轉型的不斷深入,不同企業對自身的敏捷化要求也逐步提高。因為只有提高敏捷性,企業....
的頭像 數據分析與開發 發表于 09-23 16:28 ? 188次 閱讀

引入消息隊列會多出哪些問題

前言 最近,消息隊列(Message Queue ,簡稱 MQ)越來越火。很多公司在用,很多人在用,....
的頭像 Linux愛好者 發表于 09-23 14:53 ? 186次 閱讀

Palo Alto Networks(派拓網絡)首次發現Azurescape漏洞,可導致前所未有的云攻擊

Azurescape允許ACI用戶獲得對整個容器集群的管理權限。在那里,用戶可以接管受影響的多租戶集....
發表于 09-23 11:45 ? 888次 閱讀
Palo Alto Networks(派拓網絡)首次發現Azurescape漏洞,可導致前所未有的云攻擊

IP百科知識之NGFW

NGFW Next Generation Firewall(NGFW)是傳統狀態防火墻和統一威脅管理....
的頭像 華為產品資料 發表于 09-23 11:15 ? 235次 閱讀
IP百科知識之NGFW

IP知識百科之什么是SYN Flood

SYN Flood SYN Flood是互聯網上最原始、最經典的DDoS攻擊之一。它利用了TCP協議....
的頭像 華為產品資料 發表于 09-23 11:03 ? 197次 閱讀

手把手教你在舊手機上搭建一臺備份服務器

本文將向你展示如何使用 UrBackup 和 Linux Deploy在一臺 Android 舊手機....
的頭像 凡億PCB 發表于 09-23 10:26 ? 3057次 閱讀
手把手教你在舊手機上搭建一臺備份服務器

Apache服務器的配置設置總結

Apache服務器的配置設置總結(實用電源技術講義)-該文檔為Apache服務器的配置設置總結講解文....
發表于 09-23 10:16 ? 16次 閱讀
Apache服務器的配置設置總結

全面詳解Dockerfile文件

Docker 可以通過讀取 Dockerfile 中的指令自動構建鏡像。Dockerfile 是一個....
的頭像 馬哥Linux運維 發表于 09-22 15:38 ? 181次 閱讀

4G/5G園區網絡常見的受損核心網絡攻擊情形 5G智慧園區十大應用場景

5G相信已經不用我多說了吧,大家都應該耳熟能詳,最官方的回答就是: 5G網絡(5G network)....
的頭像 Les 發表于 09-19 10:08 ? 140次 閱讀

什么是API API怎么用 API的四個基本特征

在百度百科上面查找,百度百科的定義是:
的頭像 Les 發表于 09-19 09:18 ? 150次 閱讀

IBM攜手方正通用加速推進IBM混合云和人工智能新一輪數字化轉型

近年來 IBM 存儲技術不斷取得新突破。IBM FlashSystem 高性能閃存存儲解決方案通過整....
的頭像 IBM中國 發表于 09-17 17:50 ? 1282次 閱讀

服務器上空閑內存不足是什么原因

? 一天,有人報上了一個問題,發現一臺服務器上空閑內存不足,slab占用了40多G,想知道什么原因,....
的頭像 Linux閱碼場 發表于 09-17 09:38 ? 158次 閱讀

NVIDIA A100 GPU助力德睿智藥加速創新藥物研發

德睿智藥是一家運用AI技術驅動藥物研發的科技公司,其自研的一站式AI藥物研發平臺Molecule P....
的頭像 NVIDIA英偉達企業解決方案 發表于 09-17 09:33 ? 279次 閱讀

Softing推出新的軟件模塊,用于將Modbus TCP控制器連接到工業物聯網應用

新的edgeConnector Modbus是一款靈活的Docker容器應用程序,用于連接Modbu....
發表于 09-16 17:45 ? 639次 閱讀
Softing推出新的軟件模塊,用于將Modbus TCP控制器連接到工業物聯網應用

浪潮信息打造一體化AI服務器,助力中石化物探院直面智能化挑戰

近年來,油氣勘探在高新技術的推動下獲得了突破性進展,同時也產生了高達PB級數據量,面對勘探平臺智能化....
的頭像 話說科技 發表于 09-16 13:18 ? 220次 閱讀

IP知識百科之命令與控制

命令與控制 隨著惡意軟件和惡意攻擊的產業化發展,網絡攻擊者大都不再使用單臺主機實施攻擊行為,取而代之....
的頭像 華為產品資料 發表于 09-16 09:22 ? 279次 閱讀

安森美的智能技術賦能記憶科技下一代服務器的每一個節點

記憶科技服務器開發和公司研發副總裁Ding Wang續道:“安森美完全賦能我們VR13.HC平臺的開....
發表于 09-14 10:46 ? 2156次 閱讀
安森美的智能技術賦能記憶科技下一代服務器的每一個節點

淺談香港服務器:服務器壓力大該怎么解決

香港服務器的出口帶寬資源稀缺,不如美國或者國內帶寬資源充足,因此當遇上流量大的情況可能會出現服務器負....
的頭像 深圳市恒訊科技有限公司 發表于 09-11 15:18 ? 173次 閱讀

優質的伊朗服務器機房,它的優勢是什么

一、伊朗服務器機房的介紹 位置:該機房位于伊朗首都德黑蘭國家數據中,完全性 穩定性比較好。 網絡:由....
的頭像 深圳市恒訊科技有限公司 發表于 09-11 15:16 ? 180次 閱讀

我們該如何區分云服務器和云虛擬主機

如何區分云服務器和云虛擬主機?作為服務器產品,每個人都很難區分清楚,甚至很多人認為云服務器和云虛擬主....
的頭像 深圳市恒訊科技有限公司 發表于 09-11 15:14 ? 151次 閱讀

什么是硬件防火墻高防服務器,它有什么作用

隨著互聯網的飛速發展,當前的網絡傳輸方式正在發生變化。無論是帶寬還是數據流量,雖然可以提升業務的網絡....
的頭像 深圳市恒訊科技有限公司 發表于 09-11 15:12 ? 177次 閱讀

日本服務器的介紹,它有什么優勢

隨著經濟的不斷發展,各國之間的經貿聯系越來越密切。前段時間,很多人開始關注日本服務器。無論是搭建跨境....
的頭像 深圳市恒訊科技有限公司 發表于 09-11 15:11 ? 351次 閱讀

如何通過OPC UATunneller讀取服務器數據

OPC UA 技術解決工業現場數據通信標準不統一的問題,使得不同操作系統和不同制造商的設備之間可以進....
的頭像 廣州虹科電子科技有限公司 發表于 09-10 18:10 ? 437次 閱讀

帶你們深入了解Omniverse

在SIGGRAPH 2021上,首屆NVIDIA Omniverse用戶組取得了巨大的成功,這得益于....
的頭像 NVIDIA英偉達企業解決方案 發表于 09-10 17:53 ? 515次 閱讀

在AArch64平臺上性能下降的例子

編者按:目前許多公司同時使用 x86 和 AArch64 2 種主流的服務器。這兩種環境的算力相當,....
的頭像 Linux閱碼場 發表于 09-09 11:11 ? 278次 閱讀

LabViEW編程之VI服務器綜述

LabViEW編程之VI服務器綜述
發表于 09-09 10:14 ? 40次 閱讀

浙江移動核心業務系統正式上線運營歐拉操作系統

近日,浙江移動針對目前操作系統領域出現的新趨勢,結合自身業務出現的新挑戰,在內部進行了服務器操作系統....
的頭像 華為計算 發表于 09-08 11:24 ? 689次 閱讀

曙光助力新網銀行踐行數字普惠金融

金融服務也需打通“最后一公里”。早在幾年前,政府工作報告中就提出大力發展普惠金融,讓所有市場主體都能....
的頭像 中科曙光 發表于 09-08 11:23 ? 759次 閱讀

這么輕松就能用OPC UA客戶端讀取OPC Classic 服務器的數據!

OPC UA 技術解決工業現場數據通信標準不統一的問題,使得不同操作系統和不同制造商的設備之間可以進....
發表于 09-07 18:07 ? 172次 閱讀

電子商務“十四五”點名跨境電商,亞馬遜之外“獨立站”火了、中國的海外云服務也火了!

最近,亞馬遜大規模封殺中國電商的消息引起了廣泛熱議,并在外貿圈子造成了極大的生存危機恐慌。比起被封殺....
發表于 09-07 09:00 ? 842次 閱讀
電子商務“十四五”點名跨境電商,亞馬遜之外“獨立站”火了、中國的海外云服務也火了!
免费无限看黄app_蜜柚app官网下载入口_成版人黄瓜app