TCPヘッダ 【TCP header】

概要

TCPヘッダ(TCP header)とは、TCPセグメントの先頭部分にある、制御情報などを一定の形式で記述した領域。この後ろに送りたいデータ本体(ペイロード)を加えて、一つのTCPセグメントとなる。

TCPTransmission Control Protocol)はIPInternet Protocol)と併用されるトランスポート層プロトコル通信手順)で、HTTPSMTPなど上位層のデータを高い確実性で相手方に送り届ける役割を担う。

TCPでのデータの伝送単位を「TCPセグメント」(TCP segment)あるいは「TCPパケット」と呼び、その先頭にある制御情報が記された部分のことをTCPヘッダという。内容が固定されている部分が先頭から20バイト、オプションが4バイト単位の可変長となっている。

先頭20バイト(160ビット)は順に、送信元ポート番号(16ビット)、宛先ポート番号(16ビット)、シーケンス番号(32ビット)、確認応答番号(32ビット)、データオフセット(4ビット/可変長部分を含むヘッダのサイズ)、予約領域(6ビット/通常は全ビット0)、コントロールフラグ(6ビット)、ウィンドウサイズ(16ビット)、チェックサム(16ビット)、緊急ポインタ(16ビット)となっている。

このうち、コントロールフラグの各ビットの値によってパケットの種類や通信状態などをが通知される。6ビットのフラグは先頭から順にURG(Urgent)、ACKAcknowledgement)、PSH(Push)、RSTReset)、SYN(Synchronize)、FIN(Finish)と呼ばれ、それぞれに意味や役割が規定されている。

オプション領域に記載できる情報はいくつか定められており、ウィンドウサイズの拡張やMSS最大セグメントサイズ)の指定、SACK(Selective ACK)の通知、送信時刻(タイムスタンプ)の通知などに用いられる。オプションの長さは可変長だが、長さが32ビットの整数倍になるように末尾が「0」で埋められる(ゼロパディング)。

(2020.4.4更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。