久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

QUIC協(xié)議學(xué)習(xí)記錄

 springkaixin 2016-09-19

    QUIC(Quick UDP Internet Connections,,快速UDP互聯(lián)網(wǎng)連接)是Google提出的一種基于UDP改進(jìn)的通信協(xié)議,,其目的是降低網(wǎng)絡(luò)通信的延遲,提供更好的用戶互動體驗,。

    QUIC的主要特點包括:具有SPDY(SPDY是谷歌研制的提升HTTP速度的協(xié)議,,是HTTP/2.0的基礎(chǔ))所有的優(yōu)點;0-RTT連接,;減少丟包,;前向糾錯,減少重傳時延,;自適應(yīng)擁塞控制,, 減少重新連接;相當(dāng)于TLS加密,。

    有關(guān)QUIC的詳細(xì)資料可以參考http://www./quic里的相關(guān)文檔和代碼,。

    1.重傳與恢復(fù)

     與TCP類似,QUIC每發(fā)送一個包后,,都會等待回復(fù)一個確認(rèn)包,。當(dāng)丟包率超過協(xié)議的糾錯門限時,會顯式或隱式地進(jìn)行重傳

    對于某些重要的數(shù)據(jù)包,,如初始密鑰協(xié)商時的數(shù)據(jù)包,,在建立連接時非常重要,如果這類包丟失會阻塞整體數(shù)據(jù)流,。QUIC對于這一類數(shù)據(jù)包在確認(rèn)發(fā)生丟失前就會嘗試重傳,,通常是等待較短的時間(如20ms)沒收到確認(rèn)后就馬上再次發(fā)送。這樣在網(wǎng)絡(luò)中會有若干個相同的包同時傳輸,,只要有一個能成功抵達(dá)就完成了連接,,這樣降低了丟包率。接收方對于關(guān)鍵數(shù)據(jù)包的多次發(fā)送和普通數(shù)據(jù)包的超時重傳,,都采用相同的重復(fù)包處理機(jī)制

     QUIC在擁塞避免算法的基礎(chǔ)上還加入了心跳包,,用于減少丟包率

     QUIC使用了FEC(前向糾錯碼)來恢復(fù)數(shù)據(jù),F(xiàn)EC采用簡單異或的方式,。每次發(fā)送一組數(shù)據(jù),,包括若干個數(shù)據(jù)包后,并對這些數(shù)據(jù)包依次作異或運算,,最后的結(jié)果作為一個FEC包再發(fā)送出去,。接收方收到一組數(shù)據(jù)后,根據(jù)數(shù)據(jù)包和FEC包即可以進(jìn)行校驗和糾錯。

    2.安全性

    QUIC對每個散裝的UDP包都進(jìn)行了加密和認(rèn)證的保護(hù),,并且避免使用前向依賴的處理方法(如CBC模式),,這樣每個UDP包可以獨立地根據(jù)IV進(jìn)行加密或認(rèn)證處理。

    QUIC采用了兩級密鑰機(jī)制:初始密鑰和會話密鑰,。初次連接時不加密,并協(xié)商初始密鑰,。初始密鑰協(xié)商完畢后會馬上再協(xié)商會話密鑰,,這樣可以保證密鑰的前向安全性,之后可以在通信的過程中就實現(xiàn)對密鑰的更新,。接收方意識到有新的密鑰要更新時,,會嘗試用新舊兩種密鑰對數(shù)據(jù)進(jìn)行解密,直到成功才會正式更新密鑰,,否則會一直保留舊密鑰有效,。

    3. 0-RTT握手過程

    QUIC握手的過程是需要一次數(shù)據(jù)交互,0-RTT時延即可完成握手過程中的密鑰協(xié)商,,比TLS相比效率提高了5倍,,且具有更高的安全性。

    QUIC在握手過程中使用Diffie-Hellman算法協(xié)商初始密鑰,,初始密鑰依賴于服務(wù)器存儲的一組配置參數(shù),,該參數(shù)會周期性的更新。初始密鑰協(xié)商成功后,,服務(wù)器會提供一個臨時隨機(jī)數(shù),,雙方根據(jù)這個數(shù)再生成會話密鑰。

    具體握手過程如下:

    (1) 客戶端判斷本地是否已有服務(wù)器的全部配置參數(shù),,如果有則直接跳轉(zhuǎn)到(5),,否則繼續(xù)

    (2) 客戶端向服務(wù)器發(fā)送inchoate client hello(CHLO)消息,請求服務(wù)器傳輸配置參數(shù)

    (3) 服務(wù)器收到CHLO,,回復(fù)rejection(REJ)消息,,其中包含服務(wù)器的部分配置參數(shù)

    (4) 客戶端收到REJ,提取并存儲服務(wù)器配置參數(shù),,跳回到(1) 

    (5) 客戶端向服務(wù)器發(fā)送full client hello消息,,開始正式握手,消息中包括客戶端選擇的公開數(shù),。此時客戶端根據(jù)獲取的服務(wù)器配置參數(shù)和自己選擇的公開數(shù),,可以計算出初始密鑰。

    (6) 服務(wù)器收到full client hello,,如果不同意連接就回復(fù)REJ,,同(3);如果同意連接,根據(jù)客戶端的公開數(shù)計算出初始密鑰,,回復(fù)server hello(SHLO)消息,,SHLO用初始密鑰加密,并且其中包含服務(wù)器選擇的一個臨時公開數(shù),。

    (7) 客戶端收到服務(wù)器的回復(fù),,如果是REJ則情況同(4);如果是SHLO,,則嘗試用初始密鑰解密,,提取出臨時公開數(shù)

    (8) 客戶端和服務(wù)器根據(jù)臨時公開數(shù)和初始密鑰,各自基于SHA-256算法推導(dǎo)出會話密鑰

    (9) 雙方更換為使用會話密鑰通信,,初始密鑰此時已無用,,QUIC握手過程完畢。之后會話密鑰更新的流程與以上過程類似,,只是數(shù)據(jù)包中的某些字段略有不同,。




     

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多