QUIC (draft-16) サーバ 動いた

とりあえず、ショートヘッダーパケットで ngtcp2 のクライアントとやり取りが無事できた。クライアントから文字列を送ればちゃんとサーバに送信される。

Wireshark で QUIC (draft-16) が表示できるのと、keylog を読み込ませることで復号もしてくれるので、サーバ側で keylog 対応をした。

Image for post
Image for post
Wireshark で復号した QUIC を表示

イニシャル、ハンドシェイク、ショートの流れが無事動作するようになった。ショートの分割部分はまだ実装できていないので、これから。

とりあえずは draft-16 でエコーサーバを書いておくのと、luerl が Lua 5.3 に対応したのもあり、Lua で好きなように処理ができる仕組みでも書くか?というのを考えてる。Erlang/OTP + Lua の組み合わせは自分の中ではとても気に入っている。

今後

まだまだやるべきことは山ほど残っている。とりあえず draft-16 で QUIC サーバとして「本当に最低限の動作」ができるようになった。

TLS 1.3 で ECDSA 対応なども進めていきたい。とにかく RSA から卒業したい。

Written by

Erlang/OTP / 時雨堂 / WebRTC / E2EE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store