隨著HTTP3標(biāo)準(zhǔn)的發(fā)布,HTTP3基于的QUIC協(xié)議受到越來越多的關(guān)注。
TCP協(xié)議是目前計算機(jī)網(wǎng)絡(luò)通信中最流行的協(xié)議之一。但是,隨著網(wǎng)絡(luò)環(huán)境的變化,TCP愈發(fā)顯露出一些缺點(diǎn)。
在介紹缺點(diǎn)前,先了解一些名詞。
bandwidth-delay product,即帶寬時延積。帶寬時延積 = 傳播時延(s)*帶寬(bit/s) 。
等同在任何特定時間該網(wǎng)絡(luò)線路上的大數(shù)據(jù)量——已發(fā)送但尚未確認(rèn)的數(shù)據(jù)。
TCP是基于丟包的擁塞控制,發(fā)生超時重傳或者收到3個重復(fù)確認(rèn),就會觸發(fā)擁塞算法,減小擁塞窗口。
大發(fā)送窗口(swnd)=min(遠(yuǎn)端剩余接收窗口rwnd,本地發(fā)送窗口swnd,擁塞窗口cwnd) 。
additive increase multiplicative decrease,即和式增加,積式減少,是TCP的擁塞控制算法。
特點(diǎn)是,擁塞窗口的大小增加慢(和式增加),減小很快(積式減少)。
Round-Trip Time,即往返時間。
是指從數(shù)據(jù)完全發(fā)送完(完成最后一個bit推送到數(shù)據(jù)鏈路上),到發(fā)送方接收到確認(rèn)的時間。
Head-of-Line blocking或HOL blocking。是指第一個數(shù)據(jù)包(隊(duì)頭)受阻而導(dǎo)致整列數(shù)據(jù)包傳輸受阻。
參見:http相關(guān)的隊(duì)頭阻塞有哪些
Transport Layer Security,即傳輸層安全協(xié)議。
HTTPS中的“s”就是指TLS,它是基于TCP的協(xié)議。常見的有TLS1.2、TLS1.3。
Datagram Transport Layer Security,即數(shù)據(jù)包傳輸層安全協(xié)議。
基于TLS擴(kuò)展,支持UDP協(xié)議,DTLS1.0 基于 TLS 1.1,DTLS 1.2 基于 TLS 1.2 。
這個問題是TCP的擁塞控制機(jī)制引起的。
在高BDP(帶寬時延積)網(wǎng)絡(luò)(如高速廣域網(wǎng))下,TCP協(xié)議發(fā)送效率低下。
以前網(wǎng)絡(luò)環(huán)境差,TCP為了適配低速網(wǎng)絡(luò),設(shè)計上偏向于慢慢地控制網(wǎng)絡(luò)中的數(shù)據(jù)流量變大,來防止整個網(wǎng)絡(luò)的擁塞。
TCP的擁塞控制算法AIMD會“和式增加,積式減少”,導(dǎo)致?lián)砣翱诳焖贉p小后,不能快速增大,最終減少了發(fā)送窗口大小,降低了發(fā)送速率,浪費(fèi)了高BDP的網(wǎng)絡(luò)資源。
這個問題仍然是TCP的擁塞控制機(jī)制引起的。
TCP帶寬分配不均,RTT(往返時間)較小的占用較大的帶寬。因?yàn)門CP的每輪RTT后,CWND(擁塞窗口)會增加,因此,RTT較小的,CWND就大,發(fā)送窗口也相應(yīng)變大。
TCP的高延時主要是由隊(duì)頭阻塞引起的。
基于TCP的HTTP協(xié)議,有更多的隊(duì)頭阻塞問題,參見名詞解釋中的“1.5 隊(duì)頭阻塞”。
QUIC發(fā)展過程如圖所示:
重點(diǎn)是分為了2個分支:gQUIC和iQUIC,
兩者的區(qū)別主要在于安全傳輸層的差異,gQUIC使用了自定義安全機(jī)制,iQUIC使用了TLS協(xié)議。
下面的介紹,都是特指iQUIC。
協(xié)議模型如下圖所示:
QUIC基于UDP協(xié)議,
一對客戶端和服務(wù)端可以有多個連接Connection,
每個連接Connection都有各自的Connection ID,
一個Connection中包含多個stream流,
stream有各自的stream ID。
QUIC是由Google首先提出的基于UDP的傳輸協(xié)議,
它是一個安全通用的應(yīng)用層協(xié)議,它面向連接,在客戶端及服務(wù)端之間建立有狀態(tài)的交互。有如下特點(diǎn):
QUIC基于TLS1.3建立連接,實(shí)現(xiàn)了0-RTT(1-RTT),
而TCP+TLS1.2建立連接需要3.5RTT。
QUIC默認(rèn)使用Cubic擁塞控制算法,并支持換算法。
單調(diào)遞增的報文號解決了TCP重傳歧義,算法中的RTT度量更準(zhǔn)確。
QUIC為單個連接提供了可復(fù)用的多stream(流),
stream本身各自保證有序性,stream之間不存在依賴關(guān)系,
解決了單個TCP連接由于嚴(yán)格按序交付引發(fā)的隊(duì)頭阻塞。
QUIC用Connection ID代替了TCP的五元組標(biāo)識一個連接,
變更IP(切換網(wǎng)絡(luò)、NAT重綁等)時可以使用Connection ID避免重新建立連接。
QUIC的可靠傳輸使用stream幀,
在擴(kuò)展協(xié)議中(RFC9221),
還支持了不可靠傳輸?shù)腄ATAGRAM幀。
流量控制是指,接收方需要限制流量以防發(fā)送方速度太快造成沖擊或被惡意發(fā)送方消耗大量內(nèi)存。
QUIC在stream和connection這2個層次都支持類似TCP的流量控制。
這一章初步認(rèn)識了QUIC協(xié)議,下一章介紹QUIC握手的巧妙設(shè)計。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
新聞標(biāo)題:QUIC協(xié)議設(shè)計(一)-QUIC的特點(diǎn)-創(chuàng)新互聯(lián)
網(wǎng)頁URL:http://jinyejixie.com/article6/disjig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、用戶體驗(yàn)、建站公司、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容