@network Cisco・アライド実機で学ぶ > TCP/IP入門 > TCPヘッダの構造

 Amazon
@network Cisco・アライド実機で学ぶ
◆TCPヘッダの構造

※ネットワークの学習は、TCP/IPを学ぶことから始めることをオススメします。TCP/IPは、今日のLANやインターネットを支えている重要な技術になっています。ここでは、これからネットワークを学ぼうとする方に必要なネットワークの用語やテクノロジーの紹介、そして、TCP/IPプロトコルの基礎知識を中心に説明してゆきます。
 資格取得が就職、転職、派遣に有利なのは確かですが、「資格=即戦力」とは言えません。実機を操作して資格取得と同時に就職・転職・派遣後に求められるエンジニア(仕事・ジョブ・ワークの達人)としての即戦力を養いましょう。

スポンサードリンク

◆TCPヘッダの構造

 TCPによる通信を理解するには、TCPヘッダにどんな内容が含まれるか理解しておく必要があります。TCPでは、通信に先立ってコネクションの確立を行ったり、確認応答やフロー制御を行うため、TCPのヘッダ構造は、UDPパケットの構造と比べると、非常に複雑なものになっています。通常は、TCPヘッダは、20バイトの大きさになります。

ここでは、TCPヘッダに含まれる項目を紹介してゆきます。

0 15 16 31
送信元ポート番号
(16ビット)
宛先ポート番号
(16ビット)
シーケンス番号
(32ビット)
確認応答番号
(32ビット)
ヘッダ長
(4ビット)
予約済み
(6ビット)
コードビット
(各1ビット)
ウィンドウサイズ
(16ビット)
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
チェックサム
(16ビット)
緊急ポインタ
(16ビット)
(オプション)


データ


←―― 32ビット ――→

簡単に各フィールドを説明してゆきます。

フィールド 説明
送信元ポート番号
(16ビット)
送信元のアプリケーションを識別するための番号
TCPは、UDPの場合と違い、送信元ポート番号を0にできない。
1〜65535まで利用できる。
宛先ポート番号
(16ビット)
宛先のアプリケーションを識別するための番号
1〜65535まで利用できる。
※0は予約済み
シーケンス番号
(32ビット)
送信するデータに、順序を付けるための番号。
送信するデータ1バイトごとにシーケンス番号を1つずつ増やす。
232を超えるとまた同じ番号を繰り返す。
確認応答番号
(32ビット)
受信したデータに対して、どこまで受信できたのかをバイト位置で表すフィールド。
受信が完了したデータ位置のシーケンス番号+1を返す。
ACKフラグがONの場合にのみ、ACK番号フィールドを有効とする。
ヘッダ長
(4ビット)
TCPデータが始まる位置を表すフィールド。TCPヘッダの直後にデータ部が続くため、TCPヘッダのサイズと考えてもよい。
URG
(1ビット)
URG ・・・ urgent:緊急
緊急データが含まれていることを示すフラグ。
デフォルト値は0、1でONになる。
あまり使用されることはない。
ACK
(1ビット)
ACK ・・・ acknowledge
有効なACK番号がTCPヘッダに含まれていることを示すフラグ。
TCPの3ウェイハンドシェイク時の一番最初を除き、他の全てのTCPパケットは、ACKのフラグがONになっている。
PSH
(1ビット)
PSH ・・・ push
受信したデータをすぐにアプリケーションに引き渡すように要求するためのフラグ。
バッファリングを行うと応答性が損なわれてしまう可能性があるので、Telnetでは、このフラグをONにしている。
RST
(1ビット)
RST ・・・ reset
TCP接続を中断、拒否したい場合にセットされるフラグ。
RSTフラグをONにしたTCPパケットを送信することで、現在のTCP接続を強制終了することができる。
SYN
(1ビット)
SYN ・・・ synchronize
TCPの3ウェイハンドシェイク時のオープン処理の開始に双方のそれぞれがSYNフラグがONにして、ACK番号を同期させる。以降のパケットにはセットされない。
FIN
(1ビット)
FIN ・・・ finis
TCP接続を終了させるためセットされるフラグ。
双方からFINが送られるとTCP接続が終了する。
ウィンドウサイズ
(16ビット)
受信側のウィンドウサイズを相手に伝えるために利用されるフィールド。
単位はバイトで、最大65535バイトになる。
0は、データを受信することができないことを表す。
チェックサム
(16ビット)
TCPパケットの整合性を検査するための検査用データが入るフィールド。
緊急ポインタ
(16ビット)
URGフラグが1の場合のみ有効。
緊急データの場所を表す。
オプション TCP接続の特性を設定するために利用される可変長のフィールド。
MSSのやり取りなどに利用される。
32ビットの倍数になるように、必要に応じて最後にパディング(0)が埋められる。
データ TCPのデータ部。
TCP接続がタイムアウトして切断されないようにデータを含まないTCPヘッダだけのパケットを送る場合もある。

複数のネットワーク結合」 ← 前項 | 次項 → 「UDPヘッダの構造

スポンサードリンク


<ネットワーク資格の練習問題に挑戦>
CCNA練習問題に挑戦!(650問)
Network+練習問題に挑戦!(393問)
テクニカルエンジニア(ネットワーク)試験

Copyright(c)2006- @network Cisco・アライド実機で学ぶ All rights reserved.