TCP、UDP都是計算機網絡通信層的主要協議。TCP是面向連接的,也即通信雙方在進行數據交換之前,需要經過“三次握手”建立一條“連接”,然后才能進行通信,類似生活中的“打電話”需要有“線路”保証﹔UDP是面向無連接的,也即在通信雙方進行數據交換之前,無需建立連接,隻要知道對方地址即可發送數據,類似生活中的“寄信”。
由於UDP協議是無連接方式的協議,所以它的效率高,速度快,佔資源少,在各種關鍵及任務密集環境下得到廣泛應用,但是其傳輸機制為不可靠傳送,必須依靠輔助的算法來完成傳輸控制。相比之下,TCP則更強調的是傳輸的可靠性,但建立“專有”連接的開支較大。
為了集合兩者的優點,各個通信巨頭都在探尋提升與改進UDP通信協議,如RUDP(可靠UDP通信),如思科公司的RUDP,微軟公司的R-UDP等,中國網民日常使用的即時通信工具QQ所使用的主要通信協議就是UDP的改進版。
本文介紹的是谷歌公司最近研制的一種UDP通信的改進版——Quick UDP Internet Connections(QUIC),快速UDP互聯網連接。 據其在研制動機中描述,QUIC系統能夠降低網絡通信的延遲,提供更好的用戶互動體驗,盡管隨著互聯網的發展,網絡帶寬會持續增加,但受制於光速,數據包的傳遞耗時並不會減少。據HTTPArchive的統計,1990的一個網絡頁面是由一個資源文件、一個域名組成的靜態頁,而2014年的一個網絡頁面,平均尺寸增長到1,600KB,引用多達80個資源文件,這些資源來自30個不同的主機/域名。盡管網絡帶寬增加了,但面對日益增長的大尺寸頁面,尋求類似QUIC的新型通信協議,仍具有重要意義。
QUIC的主要特點包括,具有SPDY(SPDY是谷歌研制的提升HTTP速度的協議,是HTTP/2.0的基礎)所有的優點﹔0-RTT連接﹔減少丟包﹔前向糾錯,減少重傳時延﹔自適應擁塞控制, 減少重新連接﹔相當於TLS加密。
目前谷歌的QUIC還在實驗階段。在新版的Chrome瀏覽器中,提供了相應的支持。以下是一些TCP、SPDY和QUIC的對比簡圖。
圖 1 實現較小的網絡延遲
圖 2 改進的HTTP仍可能會堵塞
圖 3 多路、不會堵塞的QUIC