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

  • PR

  • PR

  • PR

  • PR

今どきTCP

送信元OSがわかってしまうTCPヘッダーの危険性

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

 TCPの役割や基本機能は仕様が策定された当初から変わらないが、その機能をコンピュータ上で動作させるプログラムの実装は様々な方向に分化してきた。この結果、OSによってヘッダーの中身が違ったり、物理ネットワークの進化に合わせてデータ配送を制御する方式の改良が進んだりしている。ここでは、そうしたTCPの実装の進化について取り上げる。

TCPの基本機能

 まずは簡単に、TCP通信の基本をおさらいしておこう。

 TCPによる通信は大きく、(1)サーバーへの接続、(2)データの送受信、(3)切断処理──の3つに分かれている。

TCPの通信手順
まずデータを運ぶパイプラインとなるTCPコネクションを確立する(1)。そのコネクションを使って、クライアントとサーバーがデータをやり取りする(2)。通信を終えると、コネクションを切断する(3)。
[画像のクリックで拡大表示]

 (1)の接続処理は、クライアントとサーバーの両方から接続の要求と確認応答(ACK)を送り合う独特の方法をとる。これを「3ウェイハンドシェーク」と呼ぶ。

 コネクション確立後は、(2)のデータ送受信が行われる。送られるデータには「シーケンス番号」が付与され、このシーケンス番号をクライアントとサーバーが互いに確認し合って信頼性を担保する。シーケンス番号は、データの順番を保証している。シーケンス番号を割り当てたデータが届かないと、途中でデータが失われたとわかる。そこで受信側は、データの再送信を送信側に要求する。

 データ送受信に関わるTCPの機能として、もう1つ重要なのが「輻輳制御」だ。ネットワークが混雑してパケットが流れにくくなり、遅延が著しく大きくなる状態を「輻輳」と呼ぶ。この輻輳が連続して発生すると、通信効率が非常に悪化する。そこでTCPには輻輳状態を回避するための輻輳制御機能が備わっている。

▼輻輳制御機能
ネットワークが混み合ってくると、送信側にデータ転送量を減らすように要求する。それを実現する具体的な手法(輻輳回避アルゴリズム)は後述する。

制御情報を格納するヘッダー部

 TCPの重要機能である再送処理や輻輳制御などは、TCPのヘッダーに記された情報によって実現する。

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

次ページ TCPヘッダーは20バイトの固定長部分とオプショ...
  • 1
  • 2

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

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

クラウド

設計/開発

サーバー/ストレージ

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

セキュリティ

もっと見る