HTTP/3をアウトプットしてみる

ネットワークエンジニア

HTTP/3はアウトプットしてみよう。

HTTP/3というのはHTTP over QUICが名称をかえたものである。

現在、IETFでRFC化に向けて議論が進んでおり、Nginxに実装される。

ではどのようにかわるのだろうか?QUICとはなんぞや?説明をしていきます。

HTTP/2は下層でTCPを使う。HTTP/3はUDPを使う。

TCPの場合は通信にエラーがあるとこの通信の再送が終わるまで、次の通信が行えない。

しかし、UDPなら次の通信は行える。

それゆえ待ちが発生しないので通信が早い。

これがみんな普通にしってることです。

さらに掘り下げるとHTTP/3は3wayハンドシェイクがないから、

通信が早く開始できるこれもHTTP/2と比べ早い。

私が個人的に一番押しなのはコネクションマイグレーションという技術。

これはIPが変わっても通信が続けられてるというすぐれもの。

モバイルなんか使ってると端末のipアドレスがちょくちょくかわることがよくあることなんです。

これがHTTP2だった場合,IPが変わるたびに最初から通信を開始したりと非常に効率が悪い。

しかし、HTTP/3はこのやりとりがない。

googleの実験では劇的な差をだしていたかな。

オックスフォートの駅である表示に3分と11分差が出ていた。

さて、実際ここまですばしいQUICだが果たしてそんなにいいものか?というと欠点も多い。

HTTP/3が効果をはっきするのはネット回線が貧弱の国。日本じゃあまり効果がない。

さらにUDPというのはアンプ攻撃の対象になるので、ポートが閉じている。

つまり、HTTP/3が使えない可能性もある。

HTTP/3はUDPを使うため,CPUの負荷が高くなったそうだ。

googleとfacebook実験だと2倍近いCPUを消費する。

TCPを使う場合の2倍って・・・w 現状の半分になるということだからなー。

これは歴史的にUDPを使うという想定をしてこなかったため、

OSとかネットワーク機器が開発してこなかったことが原因。

さて、貴方はこれを使うだろうか?

コメント