隨著 RFC 9114 HTTP/3 規範的正式推出,其底層所使用的傳輸層協定 QUIC 又更進一步的受到大家的矚目。從 HTTP/1.0 開始,到 HTTP/2,不論應用層協定如何改進,傳輸層都是採用 TCP。 TCP 在網路發展的過程中也有很多人討論它的缺點,但因為很多歷史共業導致大幅更新 TCP 協定是很不切實際的,所以想要解決 TCP 諸多問題的唯一去路,就是放棄 TCP 協定,轉而發展新的傳輸層協定 QUIC。
本系列文章會著重於 QUIC 協定的原理以及實現,以及 QUIC 較之前的 TCP + TLS 套餐改進了什麼地方,在設計上做了什麼取捨。
前言 隨著 RFC 9114 HTTP/3 規範的正式推出,其底層所使用的傳輸層協定 QUIC 又更進一步的受到大家的矚目。從 HTTP/1.0 開始,到 H...
在深入介紹 QUIC 的技術細節以及實作之前,我們會先簡單介紹一下 QUIC 協定的發展歷史,順便簡述一些 QUIC 身為新的傳輸層協定有什麼新的功能,這些功能...
前言 在正式介紹協定本身之前,還是要先做一下背景介紹,雖然前兩天的文章有簡單提到了,但今天的議題還是來深入探討一下 TCP 有什麼問題,HTTP/3 會選擇棄用...
前言 今天會簡單介紹一些之後在文中可能會提到的專有名詞,雖然這次主題會牽涉到實作的 source code,但大部份內容還是需要搭配 RFC 的規格一起服用,才...
QUIC operations 正如一開始介紹了,QUIC 在網路分層上雖然已經有點跨層次的感覺(整合傳輸層以及 TLS1.3),但使用上定位還是被歸類在傳輸層...
我們後面的系列文章會配合著 RFC 的規格書以及 ngtcp2 的實作來講解,那今天我們就先試著把 ngtcp2 編譯起來,跑跑看範例來嘗鮮一下,如果連編譯都編...
前言 在前幾天的介紹中,我們介紹了 RFC9000 中描述的一些基本名詞概念,今天終於要開始攻略第一個 QUIC 的重要關卡 - Handshake 流程。 H...
今天原本寫好草稿之後開心的上傳,發現鐵人賽的 Markdown 沒有支援 LaTex 的數學公式,所以底下很多文章的區域都是以截圖的方式呈現,造成不便敬請見諒,...
前言 在前一天的文章中我們透過密碼學的角度,簡單講解了 QUIC 在 Handshake 時交換金鑰的流程,今天我們要以封包的角度探討在 Client 端與 S...
前言 在前一天的文章中我們設定了 wireshark 對於 QUIC 的支持,今天我們將來介紹在 RFC9000 中描述 Handshark 的流程,因為加密的...