• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

今どきTCP

GoogleはTCPをCookieで高速化

新里 祐教=GMOインターネット 2017/04/14 日経NETWORK
出典:日経NETWORK 2014年5月号pp.51-53
(記事は執筆時の情報に基づいており、現在では異なる場合があります)
目次一覧

 米グーグルは、WebサービスやモバイルOSのAndroidを事業の中心に据えているため、Webアクセスやモバイル端末向けにTCPを最適化する技術を活発に提案している。

 その1つが、「TCPファストオープン」(TFO)である。これは、3ウェイハンドシェークの代替とされる新しいTCPコネクション確立手法である。

Cookieを使って3ウェイハンドシェークを省く
現在提案されているTFO(TCP Fast Open)という方式では、Cookieを利用して2回目以降のコネクション確立時に3ウェイハンドシェークを行わない。これにより、コネクション確立にかかる時間を省いて効率化を図る。
[画像のクリックで拡大表示]

 通常の3ウェイハンドシェークでは前述のように、(1)クライアント側からの接続要求、(2)その接続要求に対するサーバーの確認応答とサーバー側の接続要求、(3)クライアント側からの確認応答――という方法でコネクションを確立している。そのため、コネクション確立のたびにクライアントとサーバーの間で3回のやり取りが発生してしまう。

 TFOでは、Cookieを使って確認応答のやり取りを減らしつつ、接続時の確認を実施する。Cookieとは、クライアントが以前に接続したかどうかサーバーが確認するために使うデータのこと。HTTPでよく使われるが、TFOもそれと同様の使い方をする

 最初の接続時は、通常のTCPと同様に3ウェイハンドシェークを行う。ただし、サーバーはSYN+ACKを返す際に、クライアントのIPアドレスから生成したCookieも一緒にクライアントに送る。クライアントが次にサーバーへ接続するときには、SYNだけではなく、サーバーから受け取ったCookieとアプリのデータを一緒に送る。サーバーはCookieを見てクライアントを確認し、正しければACKを返すことなくデータを受け取って処理する。Cookieにより、クライアントはコネクション確立とデータ送信を一度に行える

▼同様の使い方をする
HTTPのCookie(HTTP Cookie)は、TCPのデータ部分で運ばれるHTTPヘッダーに格納される。一方、TFOで使われるCookie(TFO Cookie)は、TCPヘッダーのオプションフィールドに格納される。
▼一度に行える
接続要求と確認応答の往復を省けることから「0-RTT」とも呼ばれる。

1つのコネクションで並行転送

 グーグルは、TCP接続を集約してWebブラウジングを高速化する「SPDY」という仕組みも開発した。既に搭載したWebブラウザーもある。グーグルの「Google Chrome」や米モジラ・ファウンデーションの「Firefox」などだ。「HTTP/2.0」の基盤技術に取り入れられる。

 Webブラウザーは通常、ページをできるだけ速く表示するために、複数のTCPコネクションをサーバーと結び、ページを構成する複数のデータを同時並行でダウンロードする。しかし、多数のコネクションを同時に張るのは、ブラウザーとサーバーの両方に負担がかかる。

TCPを効率的に使うSPDY、UDPを使ってさらに効率化を図るQUIC
既存のTCPを使ったHTTP通信では、1回のHTTPのリクエスト/レスポンスごとにTCPコネクションを確立する必要があった。SPDYでは、1本のコネクションで複数のHTTPリクエスト/レスポンスをやり取りできるようにした。さらにQUICでは、TCPの代わりにUDPを使うことで、さらなる効率化を図る。
[画像のクリックで拡大表示]

 そこでSPDYでは、1本のTCPコネクションに複数のHTTPリクエスト/レスポンスを集約する。そうすることで、少ない負担でサーバーからのレスポンスを高速化し、画面を素早く表示できる。サーバー側でも複数のTCPコネクションを1本で処理できるため、性能向上が見込める。逆に言えば、同じハードウエア性能でより多くのTCPコネクションを収容できる。

ここから先はITpro会員(無料)の登録が必要です。

次ページ HTTPのデータをUDPで運ぶ
  • 1
  • 2

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る