相關文章

4dd2ce5dfe2099a3a4ac8684d5d2eb15 QUIC(Quick UDP Internet Connections,快速UDP網路連線)是Google推出的實驗性質網路連線技術,它可以省略傳統TCP連線方式較為繁瑣的連線建立方式,透過減 少三方交握的過程加速網路連線,來降低伺服器的負擔,並提升整體效能表現。不要以為這個技術離你很遠,其實Google早已偷偷將這個技術放到 Google Chrome瀏覽器裡面了。

將自家技術推向標準化

Google早於2013年8月就將QUIC納入Chrome第29版之中,在經過長時間的實驗之後,根據The Hacker News報導,Google計劃將QUIC提交至網際網路工程任務小組(Internet Engineering Task Force,IETF),讓它成為下一代的正式網路規範。

根據MULTIPLEXED STREAM TRANSPORT OVER UDP文件中的敘述,QUIC是個建立在UDP(User Datagram Protocol,使用者數據協定)的連線方式,它可以在2的端點間建立大量多工連線,其中每個連線可能近似於獨立的TCP連線。整體來說,QUIC會與SCTP(Stream Control Transmission Protocol,串流控制傳輸協定)相似,並可以套用類似DTLS(Datagram Transport Layer Security,數據傳輸層加密)的加密技術來增加傳輸的安全性。

QUIC的目標在於提升網路傳輸的效能、降低延遲,並提供安全的連線。它能夠顯著地降低連線建立時的延遲,並透過 FEC(Forward Error Correction,正向錯誤校正)降低遺失封包後的延遲,它也因多重連線不會互相相依,所以能降低頭端阻塞(Head-of-line Blocking,縮寫:HOL Blocking)的影響。

在安全性方面,QUIC的目標為至少要達到與TLS相同等級的安全性,而且要能夠不必需要依序傳輸與解密(In­Order Transport、In­Order Decryption),並可以透過緩衝機制避免阻斷攻擊(Denial-of-Service Attack,縮寫:DoS)。

▲QUIC為建立在UDP之上的通訊協定,目標在於增加網路傳輸效能。

降低封包往返時間

在傳統TCP通訊協定下,2個端點要建立連線時需經過三向交握(Three-Way Handshake),在這個過程中,用戶端會先向伺服端傳送1個要求連線的詢問封包,伺服端接到後會回傳另1個確認封包,當用戶端收到確認封包就能確定伺服端同意建立連線,最後用戶端會再傳送確認封包來確定雙方都同意建立連線。如果雙方連線有經過TLS加密的話,建立連線的過程會更加繁雜。然而QCIP則會省去這些確認步驟,當2個端點彼此曾經建立過連線的話,可以跳過那些步驟進行通訊,若雙方尚未建立連線,用戶端也可以在傳送尋詢問後直接開始傳送資料。

然而直接改善TCP也是目標之一,但是TCP的功能大多深植於作業系統的核心之內,姑且不論一般使用者更換作業系統的速度有多慢,對於要求穩定至上的伺服器而言,更換作業系統的進程更是緩慢,所以先從UDP下手導入這些功能,可以加快技術普及的速度。

根據TechCrunch的報導,QUIC可以為Google搜尋提高3%的效能,而將QUIC應用在延遲問題比較嚴重的YouTube,更是可以降低觀看影片時30%的重新緩衝。

想要嘗試一下QUIC嗎?在Chrome的網址列輸入

chrome://flags/#enable-quic

將實驗性QUIC通訊協定調為已啟用,就可以嘗試一下QUIC的功能囉。

▲QUIC可以大幅降低建立連線的速度,甚至可以在無延遲的情況下開始通訊。

▲使用者可以自行在Chrome中開啟QUIC功能。

延伸閱讀:

Apple出包,你的SSL加密是否安全?SSL原理解析,從密碼學看加密技術的安全性

蘋果iMessage TLS通訊加密原理,為什麼能降低被竊聽的風險?

網路架構大概論1-ARPANet歷史與MAC、IP、DNS 概念篇

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則