| 各フィールド | ビット数 | 各フィールドの説明 | 
          
            | 送信元ポート番号 | 16 bit |  送信元のポート番号の値。 | 
          
            | 宛先ポート番号 | 16 bit |  宛先のポート番号の値。
 | 
          
            | シーケンス番号 | 32 bit |  送信したデータの順序を示す値。「相手から受信した確認応答番号」の値。
 | 
          
            | 確認応答番号 | 32 bit |  確認応答番号の値。「相手から受信したシーケンス番号」+「データサイズ」。
 | 
          
            | データオフセット | 4 bit |  TCPヘッダの長さを示す値。
 | 
          
            | 予約 | 3 bit | 全ビット「0」が入る。将来の拡張のために用意されている。 
 | 
          
            | コントロールフラグ | 9 bit |  NS、CWR、ECE、URG、ACK、PSH、RST、SYN、FINの9ビットで構成。これらのビットは「 1 」の値が入る(フラグを立てる)場合に意味をなす。
 
 | 
          
            | ウィンドウサイズ | 16 bit |  受信側が一度に受信することができるデータ量を送信側に通知するために使用される。送信側は、この値のデータ量を超えて送信することはできない。
 | 
          
            | チェックサム | 16 bit | TCPヘッダとデータ部分のエラーチェックを行うために使用される値が入る。 
 | 
          
            | 緊急ポインタ | 16 bit |  コントロールフラグのURGの値が「1」である場合にのみ使用されるフィールド。緊急データの開始位置を示す情報が入る。
 
 | 
          
            | オプション | 可変長 |  TCPの通信において、性能を向上させるために利用する。例えばTCPコネクションの際に、MSSを決定するために使用されたりします。
 | 
          
            | パディング | 可変長 |  TCPヘッダの長さを32ビットの整数にするために詰め物(Padding)として空データの 「 0 」 の値を入れることにより調整する。
 |