QUIC

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プロトコルの提案仕様

GoogleのDavid Schinazi氏が「The MASQUE Protocol」という仕様を提出している。初版のdraftであり、議論の呼び水としての立ち位置が強いがまずは読む。 MASQUE Protocol MASQUEはMultiplexed Application Substrate over QUIC Encryptionの略称です。この提…

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

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

HTTP over QUICと、その名称について (HTTP3について)

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

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

[追記] QUIC, HTTP/3 関連記事 QUICの暗号化と鍵の導出について - ASnoKaze blog HTTP/3のヘッダ圧縮仕様QPACKについて - ASnoKaze blog WiresharkでのQUICの復号(decrypt) - ASnoKaze blog QUIC,HTTP/3 の draft-17に関するメモ - ASnoKaze blog HTTP over …

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追記Spin Bitの仕様は拡張仕様となり必ずしも実装する必要はありませんが、QUICのコア仕様でスピンビット用のビットを確保するコンセンサスが得られました。 QUICはUDP上でTCP+TLS+HTTP/2の機能を持つ新しいプロトコルであり、IETFで絶賛標準化中で…

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の方は仕様の策定の議論が重ねられるととも…

HTTP/2でのプライオリティ・プレースホルダの提案仕様

元々はHTTP over QUICでの議論に端を発するが、HTTP over QUICの仕様の著者でもあるMicrosoftのMike Bishop氏から「Priority Placeholders in HTTP/2」という仕様が提案されている。解説すると長くなるので割りと雑目ですみません HTTP2のプライオリティ制御…

QUIC標準化現状確認メモ

2018/2 asnokaze.hatenablog.com Googleの考案したQUICは現在IETFで標準化が進められており、多くの人々によって議論されております。QUICの中身よりも現在の状況について、自分用に整理する。Issueが追えてないので残念感ある。 概要 UDP上で信頼性のある暗…

WebサーバとのコネクションでDNS通信もする拡張仕様

追記 20170510 この提案仕様は、draft01でauthor自ら廃案とされました。 昨日の「DNS over QUICの提案仕様が出た」引き続きDNS関連の記事 DNSとHTTP 近年注目されている、"DNS over HTTP"は例えば「DNS-over-HTTPS」としてGoogleが提供していたり、IETF97で…