QUIC

QUICのコネクションマイグレーションについて

QUICのコネクションマイグレーションの流れ及び、セキュリティについて説明する。

TCP/QUIC相互変換のポートフォワードツールを書いた

QUICをサポートしているアプリケーションプロトコル、実装が現状多くはない。 QUICの恩恵に預かるために、TCPとQUICを相互変換するポートフォワードツール 「t2q2t」 を書いた。(実態としてはただのProxy)

curlのHTTP/3実験実装を触ってみる

curlがHTTP/3の実験実装を公開したので試す。ライブラリとしてngtcp2を使う方法と、cloudflareのquicheを使う方法があるが今回はquicheを使う。

HTTPSで接続するための追加情報を格納するHTTPSSVCレコード

ESNIの鍵情報や、HTTP/2やHTTP/3で通信可能な事を示すAlt-Svc情報を通知するのに、DNSに新しくHTTPSSVCレコードを追加する仕様が提出されています。

QUICのAckとロスリカバリについて

QUICでは、UDP上で信頼性のあるデータ通信を提供するトランスポートプロトコルです。QUICのAckとロスリカバリについて自分なりにまとめる。(暗号化およびHTTP/3については、関連記事参照)

新しいWebの双方向通信 "WebTransport" について

WebTransportという新しい双方向通信フレームワークの議論が始まっている。GoogleのPeter Thatcher氏らによって、W3C WICGにプロポーザルが投げられています。 discourse.wicg.ioWebTransportは、WebSocketのようなAPIをもち、QUICやHTTP/3上で多重化された…

QUICの暗号化と鍵の導出について

QUIC, HTTP/3 関連記事 QUICのAckとロスリカバリについて - ASnoKaze blog HTTP/3のヘッダ圧縮仕様QPACKについて - ASnoKaze blog WiresharkでのQUICの復号(decrypt) - ASnoKaze blog QUIC,HTTP/3 の draft-17に関するメモ - ASnoKaze blog HTTP over QUICと…

「Address-bound Token for QUIC」が面白い

FastlyのKazuhoさんが「Address-bound Token for QUIC」という提案仕様を出している、この中で出てくる "Sharing the Congestion Controller" という仕組みが非常に面白かったので、簡単に書いてみようと思う。 address-bound token この提案では、同一エン…

HTTP/3のヘッダ圧縮仕様QPACKについて

この記事では、HTTP/3で導入されるHTTPヘッダ圧縮の仕組みである「QPACK 」について説明します。(執筆時 draft 07)HTTP/3については下記を一読頂ければ asnokaze.hatenablog.com HTTP/2の場合 ハフマン符号 静的テーブル、動的テーブル HTTP/3とQPACKの導…

WiresharkでのQUICの復号(decrypt)

2019/5/17追記 QUICの暗号化について説明を書きました asnokaze.hatenablog.com WiresharkはIETF版 QUICパケットのdecryptに対応しているので、やってみる。Wiresharkの細かい対応状況については以下の通りです。 Tools · quicwg/base-drafts Wiki · GitHub…

QUICにおいてNAT検出を行う拡張フレームの提案仕様

QUICを使用している際に、その通信がNATによってアドレス変換を行われているかを検出する「QUIC Address Extension」という提案仕様がAppleの人らによって出されています。具体的には、送信元IPアドレスがなんであるかを通信相手に確認します。そうすること…

HTTP/3で接続してVPNとして使うMASQUEプロトコルの提案仕様

20190910追記 同士より新しく出された、本提案の認証部分を切り出した「HTTP Transport Authentication」について書きました 提案仕様「HTTP Transport Authentication」について - ASnoKaze blog GoogleのDavid Schinazi氏が「The MASQUE Protocol」という…

QUIC,HTTP/3 の draft-17に関するメモ

12月8日に現在標準化が進められているQUICの仕様のdraft-17が出ました。以下の記事で書いたように、"HTTP over QUIC" のHTTP/3への名称が含まれています。 asnokaze.hatenablog.comその他にも幾つかの変更が含まれているのでざっと目を通す。 「Hypertext Tr…

HTTP over QUICと、その名称について (HTTP3について) *2019年9月更新

さてHTTP/3というと、なにか新しそうなHTTPのような気がしますが、まず基本的なHTTPのセマンティクスに変更はありません。GETやPOSTといったHTTPリクエストがあって、ステータスコードを持つレスポンスが返されます。ただその伝達方法がQUICトランスポートに…

QUICの話 (QUICプロトコルの簡単なまとめ)

[追記] QUIC, HTTP/3 関連記事 QUICのコネクションマイグレーションについて - ASnoKaze blog QUICの暗号化と鍵の導出について - ASnoKaze blog HTTP/3のヘッダ圧縮仕様QPACKについて - ASnoKaze blog WiresharkでのQUICの復号(decrypt) - ASnoKaze blog QUI…

QUICの信頼性のないデータグラム拡張(MESSAGEフレーム/Datagramフレーム)

QUICはUDP上で暗号化された信頼性のあるデータ通信を提供するトランスポートプロトコルです。現在IETFの「QUIC WG」で標準化が進んでおり、先行して実装されていたGoogle版QUICもIETF版QUICへの移行が進められています。 QUICのアプリケーションレイヤ 現在Q…

QUICの現状確認をしたい 2018/5 (Stream 0の再設計案などなど)

IETFでは引き続き、QUICの標準化が進められています。前回から時間が空いてしまったが、メモ程度に今月も書いとく前回分 asnokaze.hatenablog.com 現状確認したい ちょうど先週に、コアドキュメントのdraft-12も出ています QUIC: A UDP-Based Multiplexed an…

Web5Gとはなんなのか

W3Cでは、「Web5G」を掲げ5G及び関連するネットワークの進化に向けて、それにあわせたWeb標準技術・APIを模索しているようである。個人的な印象としては、ネットワークレイヤとWebアプリケーションレイヤが連携するようなイメージでいる。ネットワークを性能…

QUICの現状確認をしたい 2018/3 (QPACK, Spin Bit, Invariants)

QUICの現状確認をしたい。 (あまり追えてないのでつらい)前回 asnokaze.hatenablog.com次回 asnokaze.hatenablog.com 目次 仕様の状況 マイルストーンの変更 IETF101 相互接続性テスト Spin Bit QUIC DTLS and Stream 0 A First Look at QUIC in the Wild …

QUIC over DTLSの提案仕様

20180601追記 asnokaze.hatenablog.com 「QUIC over DTLS」という提案仕様ekr氏が出され、QUIC WGのメーリングリストで「Proposal: Run QUIC over DTLS」としてDTLS上でQUICのメッセージを通信するように変更する提案がされている。 QUICのスタック 現在のQU…

QUICにおけるヘッダ圧縮の提案仕様 QPACK(旧QCRAM) その2 (draft-04)

20180313追記 QCRAMと呼ばれていた仕様は、QPACKに改称されました。 github.com HTTP over QUICでは、HTTP/2のフレームを利用するが、HTTPヘッダ圧縮にHTTP/2のHPACKをそのまま使用するのはHoLBの問題が知られている。HPACKでは、ヘッダが送った順番通りに届…

QUICの現状確認をしたい 2018/2 (MTU, Migration, Packet Number Encryptionなど)

3月分も書きました asnokaze.hatenablog.com QUICの標準化状況に関して、幾つかトピックを取り上げるシリーズ化するつもりは無いが、1月に書いたので、今回は2月初旬版 qiita.com拾いきれてないトピック沢山有るので、皆さんも是非補足して頂ければ目次 Draf…

将来のQUICをデプロイしやすくするための取り組みと議論 (QUIC GREASE)

MozillaのM. Thomson氏より「More Apparent Randomization for QUIC」というinternet draftが出ています。 ## QUICのここまで QUICはIETFで標準化が進められています。当初は2018年3月が一つのマイルストーンになっていましたが、スコープとマイルストーンの…

QUIC Invariantsの議論

QUICは現在IETFで標準化が進めれています。QUIC WG出来、本格的に標準化が開始して1年ほど立ったところで、スケジュールとスコープの議論(QUIC - Our schedule and scope)が出てきており、QUIC Version1としてどの機能を標準化する話が行われてる一方で、Inv…

QUICのSpin Bitの議論

20181111追記 IETF103でも意見が割れ議論となりましたが、Humの結果以下のようになりました。Spin Bitの仕様は拡張仕様となり必ずしも実装する必要はなくなりました。QUICのコア仕様ではスピンビット用のビットを確保する(好きな台を入れて良い)だけとなって…

QUICとネットワーク管理/オペレーションの話

あわせて下記記事も参照のこと asnokaze.hatenablog.com ワイヤイメージ 経路上で出来ること QUICトラフィックの識別 バージョンの識別 不正なパケットの拒否 コネクション確立の確認 通信フローの関連付け 通信フローの切断検出(不可) ラウンドトリップタイ…

QUICにおける信頼性のないストリームの提案仕様

20180923追記QUICの信頼性のないデータグラム拡張(MESSAGEフレーム/Datagramフレーム) https://asnokaze.hatenablog.com/entry/2018/09/23/012519別の拡張仕様案が議論されています QUICはUDPを使用しますが、内部的にストリームという信頼性のある通信単位…

GoogleのQUICの論文が知見の塊だった

20181107追記 QUICプロトコルについての概要は別途記事を書きました asnokaze.hatenablog.com 概要 ACM SIGCOMM 2017という通信系の学会に、Googleの人 総勢21人によって書かれた「The QUIC Transport Protocol: Design and Internet-Scale Deployment」とい…

QUICにおけるヘッダ圧縮の提案仕様 QPACK(旧QCRAM)

20190408追記 最新版について記事を書きました asnokaze.hatenablog.com QUICとヘッダ圧縮 HTTP over QUICの仕様は現状、HTTP/2と同様HPACK(RFC 7541)を利用してHTTPヘッダの圧縮を行う。HPACKはHTTP/2を想定としており、トランスポートはTCPであり順番通り…

minqを弄って memcached over quic を簡単に実装してみる

IETF QUIC QUICの標準化がIETFで進められています。QUICといえば既にChromeとGoogleのサービスで使用されていますが、そちらはGoogle QUICであり、IETFで標準化されているものとは微妙に異なっています。IETF QUICの方は仕様の策定の議論が重ねられるととも…