ネットワーク用語 > TCPヘッダ

TCPヘッダ

TCPヘッダ = Transmission Control Protocol header

fig01.gif

http://www.atmarkit.co.jp/fwin2k/network/baswinlan015/baswinlan015_02.html
TCPヘッダの構造
TCPでは信頼性の高い通信を実現するために、受信確認やスライディング・ウィンドウ制御、そしてさまざまな付加機能などを用意している。
そのためUDPよりも複雑なヘッダ情報を持っている。「チェックサム」はIPヘッダなどと同様に、1の補数で計算する。

TCPヘッダ - Wikipedia

tcp_header.png


Code Bit
フラグ意味
URG緊急転送データ
ACK受信確認
PSHプッシュ
RST接続のリセット
SYN同期
FIN送信終了

TCPヘッダの構造 TCP/IP入門

TCPヘッダは、20バイトの大きさになります。

#html{{

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

}}

TCPヘッダー ‐ 通信用語の基礎知識

リンク

ヘッダ
TCP

URG
ACK
PSH
RST
SYN
FIN

TCPヘッダ フォーマット
http://www3.ocn.ne.jp/~tkatu/TCPHeader.html


添付ファイル: filetcp_header.png 1224件 [詳細] filefig01.gif 8252件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-09-08 (木) 23:19:30