一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文帶你了解QUIC協(xié)議

訊維官方公眾號 ? 來源:LiveVideoStack_ ? 作者:Anubhab Sahu ? 2021-09-02 09:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當(dāng)通過網(wǎng)絡(luò)傳輸數(shù)據(jù)時,一種新的協(xié)議QUIC(Quick UDP Internet Connection,快速UDP互聯(lián)網(wǎng)連接)正在成為FAANG的默認(rèn)選擇。本篇文章描述了QUIC協(xié)議是如何克服其他版本HTTP的限制脫穎而出的。

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

HTTP的演進

HTTP屬于應(yīng)用層傳輸協(xié)議,運行于TCP/IP之上?,F(xiàn)在它已成為萬維網(wǎng)中數(shù)據(jù)交換的基礎(chǔ)。HTTP包括4個穩(wěn)定版本: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的底層通信協(xié)議。它是一個非常簡單的客戶端-服務(wù)器、請求-響應(yīng)、使用Telnet的協(xié)議,只支持GET命令(作為請求方法)和超文本協(xié)議(作為響應(yīng)類型)。該協(xié)議不包含HTTP消息頭,且發(fā)送響應(yīng)后,連接會立即斷開。

HTTP/1.0(1996)

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

每次HTTP 請求/響應(yīng)都會重新建立TCP連接

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

協(xié)議頭帶有版本號、協(xié)議類型、狀態(tài)碼字段

響應(yīng)類型:超文本、腳本、媒體、樣式表

支持keep-alive連接,但默認(rèn)情況下它是“關(guān)閉”的

HTTP/1.1(1997)

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

單個TCP連接上可以傳送多個HTTP請求和響應(yīng)

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

默認(rèn)持久連接

HTTP/2(2015)

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

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

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

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

非阻塞下載

支持服務(wù)器推送

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

解決了隊頭阻塞問題

HTTP/3(2018)

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

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

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

使用基于UDP的QUIC作為傳輸協(xié)議

解決了TCP隊頭阻塞問題

使用QPACK頭部壓縮機制

提供更快頁面加載時間

HTTP/2 VS HTTP/3

相同點:

HTTP/2 和 HTTP/3 使用相同的語法和語義結(jié)構(gòu),并且適用于同一請求/響應(yīng)方法、狀態(tài)碼和協(xié)議字段。此外,兩者都使用設(shè)計相似的頭部壓縮算法(HPACK 和 QPACK)。

不同點:

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

QUIC是一種新的多路傳輸層網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn),建立在 UDP 之上。QUIC的主要目標(biāo)是通過減少頁面加載時間提升用戶體驗,并提高HTTPS的傳輸性能。它在本質(zhì)上是TCP+TLS+HTTP/2。

設(shè)計HTTP/3的目的就是要充分利用 QUIC 的優(yōu)勢。QUIC 協(xié)議本身可以處理數(shù)據(jù)流,所以排除了 TCP 隊頭阻塞問題。

QUIC 的一些關(guān)鍵特性包括:

基于UDP

使用沒有隊頭阻塞的連接復(fù)用

重構(gòu)TCP的關(guān)鍵機制(連接復(fù)用、連接建立、擁塞控制、可靠性),并成為可靠的傳輸協(xié)議

交換數(shù)據(jù)包

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

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

1. 安全的首包

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

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

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

2. 握手包

客戶端和服務(wù)器之間的首包被交換以后,服務(wù)器會發(fā)送一個握手?jǐn)?shù)據(jù)包,其中包含余下的服務(wù)器端消息,如證書、與服務(wù)器身份驗證相關(guān)的加密擴展??蛻舳藭炞C這些證書,然后QUIC 握手以客戶端發(fā)送的握手消息結(jié)束。

3. 安全的凈荷包

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

QUIC 0-RTT

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

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

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

我們?yōu)槭裁匆肣UIC?

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

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

在 QUIC 中,傳輸相關(guān)的信息被不同的保護層加密,握手包在傳輸鏈路上不容易被識別和修改。因此它提供了更安全的網(wǎng)絡(luò)數(shù)據(jù)傳輸。

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

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    13

    文章

    9793

    瀏覽量

    87942
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1402

    瀏覽量

    81019
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    330

    瀏覽量

    34639
  • Quic
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    7424

原文標(biāo)題:QUIC協(xié)議的演進之路

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    帶你了解什么是機器視覺網(wǎng)卡

    千兆以太網(wǎng)或萬兆以太網(wǎng)相機產(chǎn)生的大量圖像數(shù)據(jù)流。萬兆網(wǎng)卡能提供更高的帶寬,滿足高分辨率、高幀率相機的需求。支持GigEVision協(xié)議:這是機器視覺領(lǐng)域最重要的工業(yè)
    的頭像 發(fā)表于 07-09 16:18 ?135次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>什么是機器視覺網(wǎng)卡

    帶你了解電源測試系統(tǒng)的功能!

    在當(dāng)今電子與電力技術(shù)飛速發(fā)展的時代,各類電子設(shè)備、電力系統(tǒng)以及新能源相關(guān)產(chǎn)品的研發(fā)、生產(chǎn)和維護過程中,電源測試系統(tǒng)扮演著至關(guān)重要的角色。本文將帶你了解源儀電子的電源測試系統(tǒng)的功能。
    的頭像 發(fā)表于 07-02 09:10 ?166次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>電源測試系統(tǒng)的功能!

    帶你了解工業(yè)計算機尺寸

    項艱巨的任務(wù)。本博客將指導(dǎo)您了解關(guān)鍵的工業(yè)計算機尺寸、使用案例。關(guān)鍵工業(yè)計算機外形要素及其使用案例、工業(yè)微型PC尺寸范圍:寬度:100毫米-180毫米深度:10
    的頭像 發(fā)表于 04-24 13:35 ?288次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>工業(yè)計算機尺寸

    帶你了解芯片開封技術(shù)

    芯片開封的定義芯片開封,即Decap,是種對完整封裝的集成電路(IC)芯片進行局部處理的工藝。其目的是去除芯片的封裝外殼,暴露出芯片內(nèi)部結(jié)構(gòu),同時確保芯片功能不受損。芯片開封是芯片故障分析實驗
    的頭像 發(fā)表于 04-07 16:01 ?525次閱讀
    <b class='flag-5'>帶你</b><b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b>芯片開封技術(shù)

    帶你了解arm主板

    當(dāng)您聽到“ARM主板”詞時,您可能會想知道它與大多數(shù)個人計算機中使用的典型x86主板有何不同。事實是,ARM主板在從智能手機和平板電腦到服務(wù)器和嵌入式系統(tǒng)等各種應(yīng)用中越來越受歡迎。但是什么讓它們
    的頭像 發(fā)表于 01-02 10:51 ?565次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>arm主板

    了解Android UDP通信

    了解UDP通信協(xié)議 UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)是種無連接、不可靠的傳輸層
    發(fā)表于 12-30 10:56

    帶你了解FIB技術(shù)

    FIB技術(shù)定義聚焦離子束(FocusedIonBeam,FIB)技術(shù)是種先進的微納加工技術(shù),它利用高度聚焦的離子束對材料進行精確的加工、分析和成像。FIB技術(shù)能夠在納米尺度上實現(xiàn)材料的去除、沉積
    的頭像 發(fā)表于 12-20 12:55 ?2988次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>FIB技術(shù)

    帶你了解什么是SD NAND存儲芯片

    的簡單介紹:   什么是SD NAND?很簡單顧名思義就是內(nèi)部集成了SD卡或TF卡(這里有必要說明SD卡和TF卡除了大小不同,引腳不同之外驅(qū)動,功能等內(nèi)容都是樣的使用SD協(xié)議)功能的NAND存儲芯片
    發(fā)表于 11-13 15:20

    智慧公交是什么?帶你詳解智慧公交的解決方案!

    智慧公交是什么?帶你詳解智慧公交的解決方案!
    的頭像 發(fā)表于 11-05 12:26 ?963次閱讀
    智慧公交是什么?<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b>詳解智慧公交的解決方案!

    帶你了解透過率測量

    透過率的定義光透過能力,即透光率,描述的是特定條件下,物體透過的光量與其接收的入射光量之間的比例。在光的傳播過程中,部分光線會被物體吸收,而另部分則能夠穿透物體,這種透過現(xiàn)象被稱作透光率。金鑒
    的頭像 發(fā)表于 11-04 13:00 ?796次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>透過率測量

    帶你了解SCP快充協(xié)議

    SCP快充協(xié)議作為華為公司自主研發(fā)的種快充技術(shù),以其高效、安全、穩(wěn)定的特點贏得了廣大用戶的認(rèn)可和喜愛。隨著技術(shù)的不斷進步和應(yīng)用場景的拓展,SCP快充協(xié)議將繼續(xù)在快充領(lǐng)域發(fā)揮重要作用。
    的頭像 發(fā)表于 10-27 09:19 ?4143次閱讀

    帶你了解IP地址別名

    、什么是IP地址別名 IP地址別名是將多個IP地址與個網(wǎng)絡(luò)接口關(guān)聯(lián)起來的種方式。實現(xiàn)在網(wǎng)絡(luò)上的個節(jié)點可以與網(wǎng)絡(luò)建立多個連接,每個連接可以用于不同的用途。 就像在
    的頭像 發(fā)表于 09-05 14:11 ?543次閱讀

    帶你了解IP版本

    ?、IP地址有哪些版本 互聯(lián)網(wǎng)協(xié)議的原始版本于1983年在互聯(lián)網(wǎng)的前身ARPANET中首次部署,也就是互聯(lián)網(wǎng)協(xié)議版本4(IPv4)。在發(fā)展過程中,IPv4逐漸成為了互聯(lián)網(wǎng)的基礎(chǔ)協(xié)議
    的頭像 發(fā)表于 09-05 13:36 ?646次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>IP版本

    帶你了解半導(dǎo)體公司的各個崗位

    銷售工程師(SalesEngineer)芯片公司的銷售工程師與傳統(tǒng)的銷售人員不同,需要具備以下職業(yè)素養(yǎng):1.技術(shù)背景,雖然銷售崗位通常不要求具備技術(shù)背景,但芯片公司的銷售崗位需要對芯片技術(shù)有
    的頭像 發(fā)表于 08-08 16:28 ?6270次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>帶你</b><b class='flag-5'>了解</b>半導(dǎo)體公司的各個崗位

    了解TCP/IP協(xié)議

    TCP/IP協(xié)議是現(xiàn)代計算機網(wǎng)絡(luò)通信的基礎(chǔ),是互聯(lián)網(wǎng)及局域網(wǎng)廣泛使用的協(xié)議。TCP/IP協(xié)議集包括許多協(xié)議,其中最重要的是傳輸控制
    的頭像 發(fā)表于 08-07 15:38 ?3512次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>了解</b>TCP/IP<b class='flag-5'>協(xié)議</b>