在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

QUIC協(xié)議的特性、原理及應(yīng)用場景

中興文檔 ? 來源:中興文檔 ? 2023-09-15 11:21 ? 次閱讀

QUIC(Quick UDP Internet Connection,快速UDP網(wǎng)絡(luò)連接)發(fā)音同 "quick",是 Google 公司在 2012 年提出的使用 UDP 進行多路并發(fā)傳輸?shù)膮f(xié)議。

2016 年,互聯(lián)網(wǎng)工程任務(wù)組 IETF 開始標準化 QUIC。

2017 年,Google 開發(fā)并部署了 QUIC 協(xié)議的初始設(shè)計 gQUIC。

2021 年,QUIC 協(xié)議的正式標準化版本 RFC900 發(fā)布。

QUIC協(xié)議的特性

從 QUIC 的命名中可以看到兩個關(guān)鍵詞——快速和 UDP。這個兩個關(guān)鍵詞概括了 QUIC 的特性,提供更快速、更可靠、更安全的數(shù)據(jù)傳輸方式。

快速:QUIC 比 TCP 更簡單,能夠更快速地連接。其安全性也不亞于 TCP+TLS。

UDP:QUIC 是建立在 UDP 之上的新型傳輸協(xié)議,一般在應(yīng)用層發(fā)揮作用。

92b314aa-5376-11ee-a25d-92fbcf53809c.png

QUIC協(xié)議棧

QUIC協(xié)議的原理

一個 QUIC 數(shù)據(jù)包由頭部(Header)和數(shù)據(jù)(Data)組成。

92c812e2-5376-11ee-a25d-92fbcf53809c.png

QUIC數(shù)據(jù)格式

頭部(Header)中包含以下字段:

標志位(Flags):用來指示該數(shù)據(jù)包的類型、狀態(tài)等信息。

連接ID(Connection ID):用于唯一標識一個連接。

版本號(Version):表示使用的協(xié)議版本號。

包編號(Packet Number):表示數(shù)據(jù)包的順序。

數(shù)據(jù)(Data)被拆分成多個小的數(shù)據(jù)幀(Frame),每個數(shù)據(jù)幀都有自己的類型、長度和負載。數(shù)據(jù)幀通過 Stream ID 進行標識,以便于在多路復(fù)用時進行管理。

PING 幀:用于測試連接的可用性。

ACK 幀:用于確認收到數(shù)據(jù)包。

RESET_STREAM 幀:用于重置數(shù)據(jù)流的狀態(tài)。

STOP_SENDING 幀:用于停止向特定的數(shù)據(jù)流發(fā)送數(shù)據(jù)。

CRYPTO 幀:用于傳輸加密數(shù)據(jù)。

STREAM 幀:用于傳輸普通數(shù)據(jù)流。

92d451c4-5376-11ee-a25d-92fbcf53809c.png

STREAM幀結(jié)構(gòu)

下面介紹 QUIC 協(xié)議中的三個核心特性原來:0-RTT 連接建立、無隊頭阻塞的多路復(fù)用、無歧義重傳。

0-RTT 連接建立

QUIC 協(xié)議使用了 0-RTT(零往返時間)連接建立技術(shù),可以在客戶端發(fā)送第一個請求時就建立起安全連接,從而減少連接建立所需的時間。這個技術(shù)通過使用 TLS 的 Session Ticket,在服務(wù)端重啟后仍然保留連接狀態(tài),從而避免了重新握手的過程。

傳統(tǒng) HTTPs 握手包含了 TCP 和 TLS 握手,如下圖所示,總共需要 3 個 RTT。

92e0891c-5376-11ee-a25d-92fbcf53809c.png

TCP和TLS握手

從中可以看出,TLS 握手需要 1 個 RTT。通過 1 次 RTT,客戶端和服務(wù)端就協(xié)商好了通信密鑰。

客戶端:生成隨機數(shù) a,選擇公開的大數(shù) G 和 P,計算 A=a*G%P。發(fā)送 Client Hello 消息,將 A 和 G 傳遞給服務(wù)端。

服務(wù)端:生成隨機數(shù) b,計算 B=b*G%P。發(fā)送 Server Hello 消息。將 B 傳遞給客戶端。

客戶端:通過秘鑰加密算法生成通信密鑰 KEY = aB = ab*G%P。

服務(wù)端:通過秘鑰加密算法生成通信密鑰 KEY = bA = ba*G%P。

QUIC 的握手是基于 TLS1.3 實現(xiàn)的,建立連接時也應(yīng)該需要1次 RTT,那 QUIC 的 0-RTT 連接是如何實現(xiàn)的?

首次握手后,QUIC 的客戶端緩存了 Server Hello,那么在下次建連時,可以直接使用緩存數(shù)據(jù)計算通信密鑰,如下圖所示。

9300454a-5376-11ee-a25d-92fbcf53809c.png

0-RTT連接

客戶端:生成隨機數(shù) c,選擇公開的大數(shù) G 和 P,計算 A=c*G%P。發(fā)送 Client Hello 消息,將 A 和 G 傳遞給服務(wù)器。

客戶端:直接使用緩存的 Server Hello 計算通信密鑰 KEY = cB = cb*G%P,加密并發(fā)送應(yīng)用數(shù)據(jù)。

服務(wù)端:根據(jù) Client Hello 消息計算通信密鑰 KEY = bA = bc*G%P。

通過緩存 Server Hello,在生成 Client Hello 的同時,加密了應(yīng)用數(shù)據(jù),所以客戶端不需要經(jīng)過握手就可以發(fā)送應(yīng)用數(shù)據(jù),這就是 QUIC 的 0-RTT 連接。

無隊頭阻塞的多路復(fù)用

瀏覽器限制了同一個域名下的請求數(shù)量。當(dāng)請求達到最大數(shù)量時,剩余的資源需要等待其他資源請求完成后才能發(fā)起請求,這就是隊頭阻塞(Head of Line Blocking)。

在傳統(tǒng)的 HTTP/1 協(xié)議中,每個 TCP 連接只能處理唯一的請求,因此當(dāng)需要請求多個資源時,需要建立多個 TCP 連接。為了解決 HTTP/1 的核心問題,在 HTTP/2 中引入了多路復(fù)用的技術(shù),這個技術(shù)可以只通過一個 TCP 連接就可以傳輸所有的請求數(shù)據(jù),如下圖。

多路復(fù)用很好的解決了瀏覽器限制同一個域名下的請求數(shù)量的問題,從而提高網(wǎng)絡(luò)吞吐量。此外,QUIC 協(xié)議還支持數(shù)據(jù)流級別的擁塞控制,可以更精細地控制網(wǎng)絡(luò)擁塞。

930aed88-5376-11ee-a25d-92fbcf53809c.png

TCP連接

HTTP/2 雖然通過多路復(fù)用解決了 HTTP 層的隊頭阻塞,但仍然存在 TCP 層的隊頭阻塞問題。在 HTTP/2 中,如果 TCP 連接中出現(xiàn)了丟包的情況,那么整個 TCP 都要開始等待重傳,后面的所有數(shù)據(jù)都將被阻塞。在這種情況下, HTTP/2 的表現(xiàn)情況反倒不如 HTTP/1 。

QUIC 通過為每個請求流都分配一個獨立的滑動窗口,解決 TCP 層的隊頭阻塞。如下圖,A 請求流上的丟包不會影響 B 請求流上的數(shù)據(jù)發(fā)送。

931bf696-5376-11ee-a25d-92fbcf53809c.png

QUIC連接

無歧義重傳

為了保證可靠性,TCP 使用基于序號的 Sequence Number 和 Ack 來確認消息的有序到達。在 TCP 中,重傳包的 sequence number 和原始包的Sequence Number 是不變的,也正是因此這個特性,引發(fā)了 Tcp 重傳歧義問題。當(dāng)超時事件 RTO 發(fā)生后,客戶端發(fā)起重傳,然后接收到了 Ack 數(shù)據(jù)。但由于 Sequence Number 是一樣的,這個接收到的 Ack 到底是原始請求的響應(yīng)還是重傳請求的響應(yīng)呢?這導(dǎo)致了 RTT 計算歧義。

932bf122-5376-11ee-a25d-92fbcf53809c.png

TCP重傳歧義性

QUIC 則是采用了單向遞增的 Packet Number 來標識數(shù)據(jù)包,因此不會像 TCP 一樣,不會因為超時重傳了同樣序列的數(shù)據(jù)包,造成 RTT 和 RTO(Retransmission Time Out,重傳超時時間)的計算不準確。每個 Packet Number 都嚴格遞增,就算 Packet N 丟失了,重傳的 Packet N 的 Packet Number 已經(jīng)不是 N,而是一個比 N 大的值。

934ea258-5376-11ee-a25d-92fbcf53809c.png

QUIC的RTT計算

QUIC 對于 RTT 的計算更為準確,預(yù)估的超時時間能夠有效防止更多的重傳請求被錯誤地發(fā)送回客戶端。同時也給予了 QUIC 網(wǎng)絡(luò)更為快速的反應(yīng)時間,及時通知客戶端重傳數(shù)據(jù)包。

但是單純依靠嚴格遞增的 Packet Number 肯定是無法保證數(shù)據(jù)的順序性和可靠性。

QUIC 引入了 Stream Offset 的概念,通過 Stream Offset 可以保證應(yīng)用數(shù)據(jù)的順序。假設(shè)客戶端先后發(fā)送了 Pakcet N 和 Pakcet N+1,Stream Offset 分別是 x 和 x+y。如果 Packet N 丟失,引發(fā)重傳,重傳的 Packet Number 是 N+2,但是它的 Stream Offset 依然是 x,這樣就算 Packet N + 2 是后到的,依然可以將 Stream x 和 Stream x+y 按照順序組織起來,交給應(yīng)用程序處理。

QUIC協(xié)議的應(yīng)用場景

QUIC 為各種領(lǐng)域提供了可靠、高效和安全的數(shù)據(jù)傳輸方案,其中最具潛力的應(yīng)用場景包括:

實時 Web 和移動應(yīng)用

這些應(yīng)用需要低延遲和可靠的數(shù)據(jù)傳輸。通過相互獨立的數(shù)據(jù)流和擁塞控制機制,QUIC 可以快速高效地發(fā)送和接收數(shù)據(jù)。在多路復(fù)用模式下,QUIC 同一連接內(nèi)不同數(shù)據(jù)流之間的數(shù)據(jù)傳輸互不干擾。

物聯(lián)網(wǎng)設(shè)備通信

物聯(lián)網(wǎng)設(shè)備通常使用 TCP 和 MQTT 等協(xié)議進行通信,在受限的網(wǎng)絡(luò)環(huán)境中可能存在高延遲和丟包等問題。相比之下,QUIC 可以極近實現(xiàn) 0-RTT,為高延遲和丟包的網(wǎng)絡(luò)環(huán)境,提供了更可靠和高效的替代方案。

支付和電子商務(wù)應(yīng)用

這些應(yīng)用需要安全可靠的數(shù)據(jù)傳輸。QUIC 通過 TLS 加密和可靠的數(shù)據(jù)流,使其成為這些應(yīng)用的理想選擇,有助于保證數(shù)據(jù)安全完整地傳輸。從用戶的角度來看,QUIC 通過保證更快、更順暢的交易,優(yōu)化了用戶體驗。

當(dāng)前,QUIC 協(xié)議已經(jīng)成為 IETF 標準化工作組的一個項目,并且越來越多的互聯(lián)網(wǎng)公司開始支持 QUIC 協(xié)議。隨著 QUIC 協(xié)議的普及,我們可以期待更快、更安全、更可靠的網(wǎng)絡(luò)體驗。

審核編輯:湯梓紅

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

    關(guān)注

    9

    文章

    2009

    瀏覽量

    65804
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2928

    文章

    46015

    瀏覽量

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

    關(guān)注

    0

    文章

    330

    瀏覽量

    34536
  • Quic
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    7410

原文標題:三分鐘,帶你了解下一代傳輸層協(xié)議QUIC

文章出處:【微信號:ztedoc,微信公眾號:中興文檔】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

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

    AG32VF-MIPI應(yīng)用場景

    的基礎(chǔ)上,集成了MIPI接口協(xié)議,提供了豐富的功能和特性,能夠滿足不同應(yīng)用場景的需求,為用戶提供更加全面、便捷、高效的數(shù)據(jù)傳輸方案。 基本參數(shù): MIPI up to 1.5Gbps LVDS up
    發(fā)表于 01-22 08:56

    USB協(xié)議分析儀的技術(shù)原理和應(yīng)用場景

    USB協(xié)議分析儀的技術(shù)原理和應(yīng)用場景可以詳細闡述如下:技術(shù)原理USB協(xié)議分析儀的技術(shù)原理主要基于以下幾個方面: 總線監(jiān)聽:USB協(xié)議分析儀通過監(jiān)聽USB總線上的數(shù)據(jù)傳輸過程,實時捕獲U
    發(fā)表于 09-24 14:29

    NFC協(xié)議分析儀的技術(shù)原理和應(yīng)用場景

    NFC協(xié)議分析儀的技術(shù)原理和應(yīng)用場景可以詳細闡述如下:技術(shù)原理NFC(Near Field Communication,近場通信)協(xié)議分析儀是一種用于分析NFC通信協(xié)議和性能的專業(yè)設(shè)備
    發(fā)表于 09-25 14:45

    實時示波器的技術(shù)原理和應(yīng)用場景

    有頻譜分析功能,可以將時域信號轉(zhuǎn)換為頻域信號,從而顯示信號的頻譜特性。綜上所述,實時示波器憑借其獨特的技術(shù)原理和廣泛的應(yīng)用場景,在電子工程和通信技術(shù)領(lǐng)域發(fā)揮著不可替代的作用。
    發(fā)表于 10-23 14:22

    時域網(wǎng)絡(luò)分析儀的原理和應(yīng)用場景

    進行計算。 頻域/時域轉(zhuǎn)換:網(wǎng)絡(luò)分析儀通過FFT(快速傅里葉變換)和CZT(線性調(diào)頻Z變換)實現(xiàn)時域到頻域的轉(zhuǎn)換,從而能夠獲取被測器件在時域上的響應(yīng)特性。 應(yīng)用場景 軍用電子裝備:在相控陣雷達、精確
    發(fā)表于 01-13 16:03

    混合信號分析儀的原理和應(yīng)用場景

    混合信號分析儀是一種集成度高、功能強大的電子測量設(shè)備,其原理和應(yīng)用場景如下:一、原理混合信號分析儀由模擬部分和數(shù)字部分組成,用于混合信號的分析。其工作原理主要包括以下幾個方面: 信號采樣:混合信號
    發(fā)表于 01-21 16:45

    什么是QUIC協(xié)議

    Quic
    電子學(xué)習(xí)
    發(fā)布于 :2023年02月08日 11:25:15

    幾種LED調(diào)光協(xié)議分析及具體應(yīng)用場景介紹

    市面上主流幾種LED調(diào)光協(xié)議分析及具體應(yīng)用場景介紹目前國內(nèi)外的LED驅(qū)動已經(jīng)不僅僅滿足照明需求,更多是去追求各種不同場景的應(yīng)用,搭配各種數(shù)字協(xié)議,實現(xiàn)某種特定的功能,比如在汽車大燈的應(yīng)
    發(fā)表于 12-31 08:04

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

    當(dāng)通過網(wǎng)絡(luò)傳輸數(shù)據(jù)時,一種新的協(xié)議QUIC(Quick UDP Internet Connection,快速UDP互聯(lián)網(wǎng)連接)正在成為FAANG的默認選擇。本篇文章描述了QUIC協(xié)議
    的頭像 發(fā)表于 09-02 09:39 ?4711次閱讀
    一文帶你了解<b class='flag-5'>QUIC</b><b class='flag-5'>協(xié)議</b>

    QUIC通信協(xié)議到底講了什么?

    QUIC(Quick UDP Internet Connection)是谷歌制定的一種基于UDP的低時延的互聯(lián)網(wǎng)傳輸層協(xié)議,很好地解決了當(dāng)今傳輸層和應(yīng)用層面臨的各種需求,包括處理更多的連接,低延遲以及安全性保障等,目前QUIC
    的頭像 發(fā)表于 12-14 10:24 ?1250次閱讀

    什么是QUICQUIC在MQTT通信場景中的應(yīng)用前景

    QUIC(Quick UDP Internet Connection)是Google提出的一個基于UDP的傳輸協(xié)議,因其高效的傳輸效率和多路并發(fā)的能力,已經(jīng)成為下一代互聯(lián)網(wǎng)協(xié)議HTTP/3的底層傳輸
    發(fā)表于 12-26 11:56 ?4685次閱讀

    QUIC是如何工作的?為什么HTTP/3要選擇QUIC協(xié)議

    QUIC發(fā)布之前,HTTP 使用 TCP 作為傳輸數(shù)據(jù)的底層協(xié)議。隨著移動互聯(lián)網(wǎng)的不斷發(fā)展,人們對實時交互和多樣化網(wǎng)絡(luò)場景的需求越來越大。
    的頭像 發(fā)表于 08-10 17:21 ?2712次閱讀
    <b class='flag-5'>QUIC</b>是如何工作的?為什么HTTP/3要選擇<b class='flag-5'>QUIC</b><b class='flag-5'>協(xié)議</b>?

    一文讀懂QUIC協(xié)議:更快、更穩(wěn)、更高效的網(wǎng)絡(luò)通信

    HTTP/3 是第三個主要版本的 HTTP 協(xié)議。與其前任 HTTP/1.1 和 HTTP/2 不同,在 HTTP/3 中,棄用 TCP 協(xié)議,改為使用基于 UDP 協(xié)議QUIC
    的頭像 發(fā)表于 08-24 15:43 ?2312次閱讀
    一文讀懂<b class='flag-5'>QUIC</b><b class='flag-5'>協(xié)議</b>:更快、更穩(wěn)、更高效的網(wǎng)絡(luò)通信

    UDP的特性與應(yīng)用場景

    一、UDP的特性與應(yīng)用場景 采用UDP有3個關(guān)鍵點: 網(wǎng)絡(luò)帶寬需求較小,而實時性要求高 大部分應(yīng)用無需維持連接 需要低功耗 應(yīng)用場景: 網(wǎng)頁瀏覽:新浪微博就已經(jīng)用了QUIC
    的頭像 發(fā)表于 11-13 15:34 ?1310次閱讀
    UDP的<b class='flag-5'>特性</b>與應(yīng)<b class='flag-5'>用場景</b>

    UART協(xié)議的工作原理和應(yīng)用場景

    UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)協(xié)議是一種廣泛使用的串行通信協(xié)議,它允許計算機與外部設(shè)備之間通過串行接口進行數(shù)據(jù)傳輸。以下是對UART協(xié)議的詳
    的頭像 發(fā)表于 08-25 17:15 ?5553次閱讀
    主站蜘蛛池模板: 一级毛片视频在线 | 男女爱爱是免费看 | 超级香蕉97视频在线观看一区 | 成人欧美网站 | 免费视频爰爱太爽了 | 亚洲不卡视频在线观看 | 天天射日日射 | 小屁孩cao大人免费网站 | 成人亚洲网站www在线观看 | 免费视频久久看 | 特一级黄色毛片 | 欧美高清a | 超级乱淫小黄文小说 | 欧美色图俺去了 | 国产精品女仆装在线播放 | 毛片在线播放网址 | 激情五月综合综合久久69 | 电源天堂| tube4欧美最新69 | 国产成人亚洲毛片 | 97影院理论 | 日本69式xxx视频| 色色色色色色色色色色色色色色 | 亚洲精品mv在线观看 | 精品午夜久久影视 | 玖玖在线国产精品 | 69xxxx女人| 欧美电影一区二区 | 国产精品久久久久影视不卡 | 午夜久久久久久久 | 中文字幕88页| 色多多免费观看 | 成年人黄色片视频 | 大色综合色综合网站 | 国产精品a在线观看香蕉 | 国产汉服被啪福利在线观看 | 久久伊人色 | 三级视频网 | 久久综合色播 | 天天综合天天射 | 小屁孩cao大人免费网站 |