全3464文字
PR

UDPとQUICでTCPの限界突破

 HTTP/2は通信の効率化を目指したプロトコルである。しかし、TCPを採用していることで様々な制限がある(図5)。

図5●HTTP/3はTCPを捨てることでHTTP/2の問題点を解決
図5●HTTP/3はTCPを捨てることでHTTP/2の問題点を解決
HTTP/2は通信の効率化を目指したプロトコルだが、TCPの制限により効率化しきれない部分があった。HTTP/3はTCPの代わりにUDPを使い、さらに新プロトコルのQUICを組み合わせることで、HTTP/2が抱えていた問題点を解決した。
[画像のクリックで拡大表示]

 まず、接続開始時にハンドシェークによりコネクションを確立するため、その分の遅延は避けられない。また、前述したようにパケットロス時の速度低下が大きい。HTTP/2では暗号通信にTLSを利用するが、TCPヘッダーが暗号化されないため、通信を妨害する攻撃が可能だという問題もある。

 さらに、携帯端末で通信している際に場所の移動などでネットワークが切り替わると、その時点で通信が切れてしまう。

 そこで、HTTP/3ではTCPを捨てるという選択により、これらの問題を解決している。具体的には、TCPの代わりにUDPを使い、これにグーグルが開発した「QUIC」という新プロトコルを組み合わせる。QUICは、TCPと同等の信頼性確保の仕組みを備えつつ、前述したTCPの問題点を解決している。これにより、HTTP/3では通信のさらなる効率化が可能になる。

 HTTP/2に対応しているWebサーバーは、現時点で3割強だ図6)。HTTP/3が登場したからといってHTTP/2がすぐになくなるわけではない。ただ、HTTP/3はHTTP/2の目的である通信の効率化をより推し進めるものであり、HTTP/2と用途は似ている。将来はHTTP/2に代わってHTTP/3が使われるようになる可能性は高いと考えられる。OTTの大規模なWebサーバーから導入が進んでいくだろう。

図6●HTTP/3がHTTP/2を置き換えていく
図6●HTTP/3がHTTP/2を置き換えていく
HTTPのバージョンの割合がどう変わっていくのかを編集部で独自にイメージ化した。HTTP/3はHTTP/2の目的である通信の効率化をより推し進めるものであることを考えると、将来はHTTP/2に代わってHTTP/3が使われるようになる可能性は高い。
[画像のクリックで拡大表示]

 では、WebサーバーがHTTP/3に対応することで、ユーザーにはどのような影響があるのだろうか。結論から言うと、ユーザーはほとんど何もしなくてもHTTP/3のメリットを享受できる(図7)。

図7●ユーザーにとって変化は少ない
図7●ユーザーにとって変化は少ない
HTTP/3が普及してもユーザーにとって変化はそれほどない。HTTP/3ではTCPが担っていた主な機能をQUICがより効率的に実現する。また、HTTP通信もリクエストメッセージとレスポンスメッセージを使ってやりとりするという従来のやり方を踏襲する。
[画像のクリックで拡大表示]

 HTTP/3ではTCPの主な機能をQUICがより効率的に実現する。つまり、通信の仕方が極端に変わることはない。

 また、HTTPよりも下の層の通信が変わるだけで、HTTP通信のやり方自体は従来と同じだ。リクエストメッセージとレスポンスメッセージを使ってやりとりする。WebブラウザーがHTTP/3に対応しさえすれば、ユーザーが意識することなくHTTP/3が通信に使われるようになる。

 ここでこの講座の構成を説明しておこう。第2回ではTCP、第3回ではHTTPの基本についておさらいする。HTTP/3を理解するにはこうした知識が不可欠だからだ。第4回でHTTP/3とQUICがどのような技術なのかを解説する。

▼HTTP
HyperText Transfer Protocolの略。
▼HTML
HyperText Markup Languageの略。
▼CSS
Cascading Style Sheetsの略。
▼最初のバージョンであるHTTP/1.0
実際にはHTTP/1.0以前にHTTP/0.9という仕様がドキュメント化されている。しかし、GETメソッド(第3回で後述)しかなく、レスポンスも定義されていないなど、不完全な仕様だった。
▼OTT
Over The Topの略。通信事業者以外で、動画や音声、メッセージなどの大量のデータを提供する事業者を指す。
▼IETF
Internet Engineering Task Forceの略。
▼TCP
Transmission Control Protocolの略。
▼UDP
User Datagram Protocolの略。
▼IP
Internet Protocolの略。
▼ポート番号
通信しているサービスを区別するために使われる番号。
▼RTP
Real-time Transport Protocolの略。
▼TLS
Transport Layer Securityの略。
▼QUIC
グーグルが開発した当初はQuick UDP Internet Connectionsの略だったが、現在は略語ではないとされている。
▼現時点で3割強だ
オーストリアのQ-サクセスがHTTP/2対応Webサイトの割合を公表している「Usage of HTTP/2 for web sites」による。
▼HTTP通信のやり方
HTTPのセマンティクス(意味論)と呼ぶ。