TCPセグメント構造とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > TCPセグメント構造の意味・解説 

TCPセグメント構造

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/01 19:49 UTC 版)

Transmission Control Protocol」の記事における「TCPセグメント構造」の解説

TCP上位から受け取ったデータ分割し、それにTCPヘッダ付与してTCPセグメント作成するTCPセグメントはさらに Internet Protocol (IP) データグラムカプセル化される。TCPセグメントは「データ相手交換するためにTCPが使う情報の束」である。 なお、非公式にTCPパケット」という用語が使われることがあるが、最近の用法では TCP PDU (Protocol Data Unit) は「セグメント」、IP PDU は「データグラム」、データリンク層PDUは「フレーム」と呼ぶのが一般的である。 プロセスTCP呼び出しデータ格納したバッファ引数で渡すことでデータ送信するTCPはそれらのバッファ内のデータセグメント群にパッケージし、インターネット・モジュール(例えIP)を呼び出すことで宛先TCPへ各セグメント送信するTCPセグメントは、セグメント・ヘッダとデータ部から成るTCPヘッダ10必須フィールドオプション拡張フィールドを含む(テーブルではオプション部分オレンジ示している)。 データ部ヘッダ部の後に続いている。その内容アプリケーションに渡すべきデータである。データ部長さTCPセグメントヘッダには記されておらず、IPヘッダにあるIPデータグラム長からIPヘッダTCPヘッダ長さ差し引いて計算できるTCPヘッダオフセットオクテット0123オクテットビット 0 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930310 0送信ポート 送信先ポート 4 32シーケンス番号 8 64確認応答番号ACKセットされている場合12 96ヘッダ予約0 0 0 NS CWR ECE URG ACK PSH RST SYN FIN ウィンドウサイズ 16128チェックサム 緊急ポインタ(URGがセットされている場合) 20...160...オプションヘッダ長が5より大きければ必要に応じて最後まで0でパディングする)... 送信ポート16ビット) – 送信側ポート番号 送信先ポート16ビット) – 受信側ポート番号 シーケンス番号32ビット) – 2つ役割がある。SYNフラグセットされている場合 (1)、初期シーケンス番号である。実際先頭データバイトのシーケンス番号対応する確認応答確認応答番号は、このシーケンス番号に1を加えた値になる。 SYNフラグセットされていない場合 (0)、このセッションにおけるこのパケット先頭データバイトの累積シーケンス番号である。 確認応答番号32ビット) – ACKフラグセットされている場合受信側期待する次のシーケンス番号格納している。(もしあれば)それまでの全バイト列の受信確認済みであることを示す。最初に互いにACKを送る際は、相手側の初期シーケンス番号確認するだけで、データ含めない。 ヘッダ長(4ビット) – TCPヘッダサイズ32ビットワード単位で表す。ヘッダ最小サイズは5ワードで、最大サイズ15ワードである。すなわち、ヘッダ部は20バイトから60バイトまでの大きさであり、21バイトめからの40バイトオプションとなる。TCPセグメント内の実際にデータが始まる位置を示すことにもなるため、データオフセットとも呼ぶ。 予約(3ビット) – 将来利用のために予約されビット列であり、常に 0 をセットするフラグあるいは制御ビット列(9ビット) – 9個の1ビットフラグがある。NS1ビット) – ECN-nonce 輻輳保護RFC 3540 でヘッダ追加CWR1ビット) – 輻輳制御ウィンドウ縮小 (Congestion Window Reduced)。ECEフラグセットされTCPセグメント受信した際、輻輳制御機構応答するときにセットする。(RFC 3168 でヘッダ追加ECE1ビット) – ECN-Echo を示す。SYNフラグセットされている場合 (1)、ECN英語版)を利用可能であることを示す。 SYNフラグセットされていない場合 (0)、通常送受信時にIPヘッダCongestion Experienced フラグセットされパケット受信したことを示す。(RFC 3168 でヘッダ追加) URG(1ビット) – 緊急ポインタ・フィールドが有効であることを示す。 ACK1ビット) – 確認応答番号フィールドが有効であることを示す。最初SYNパケットを除く以降の全パケットでこのフラグセットする。 PSH(1ビット) – プッシュ機能バッファ蓄えたデータアプリケーションプッシュする(押しやる)ことを依頼するRST1ビット) – コネクションリセットするSYN1ビット) – シーケンス番号同期通信する両方最初パケットだけ、このフラグセットする。他のフラグはこのフラグの値によって意味が変化したり、このフラグの値によって有効/無効が決まる。 FIN1ビット) – 送信終了を示す。 ウィンドウサイズ16ビット) – 受信ウィンドウ大きさ。このセグメント送信側その時点(確認応答番号フィールドにあるシーケンス番号以降)で受信可能なバイト数を指定する詳しくフロー制御の節とウィンドウスケーリングの節を参照チェックサム16ビット) – ヘッダおよびデータ誤り検出用の16ビットチェックサム。後述の#誤り検出と#チェックサムの計算参照。 緊急ポインタ16ビット) – URGフラグセットされている場合最新の緊急データバイトのシーケンス番号からのオフセットを示す。 オプション(0から320ビットまで可変で、32ビット単位変化する) – ヘッダフィールドによって、このフィールド長さが決まる。個々オプションは、オプション種別1バイト)、オプション長(1バイト)、オプションデータ可変から成るオプション種別フィールドオプションの種類示しオプションとしては必ず存在するフィールドである。オプションの種類によって扱い方違い後続2つフィールド有無異なる。存在する場合オプションフィールドはそのオプション全長格納されており、オプションデータ・フィールドにはオプション関わる値が格納されている。例えば、オプション種別が 0x01 の場合No-Op オプションであることを意味しオプション長やオプションデータ存在しないオプション種別が0の場合End Of Options オプションであることを意味し、この場合1バイトだけである。オプション種別が 0x02 の場合最大セグメントサイズ (MSS) オプションであることを意味しその後ろに1バイトMSSフィールド長を指定するフィールドがある(値は 0x04)。この長さオプション全長であるため、オプション種別フィールドオプションフィールドのぶんも含んでいる。従って、MSS値は通常2バイト表されオプション長は4(バイト)となる。例えば、MSS値が 0x05B4 なら、MSSオプション全体の値は (0x02 0x04 0x05B4) となる。 パディングTCPヘッダ32ビット境界で終わるようにするために使われるパディングは常に0である。 一部オプションSYNセットされているときだけ送信される。それらは以下で [SYN] で示している。各行先頭は「オプション種別[, オプション長, オプション値](全ビット数)」の形式で示す。 0(8ビット) - オプションリストの終了 1(8ビット) - 何もしないNOPパディング)。オプション・フィールドを32ビット境界揃えるのに使う。 2,4,SS32ビット) - 最大セグメント長(最大セグメントサイズ参照) [SYN] 3,3,S(24ビット) - ウィンドウスケール(詳しくウィンドウスケーリング参照)[SYN] 4,2(16ビット) - 選択確認応答が可能。[SYN] (選択確認応答参照) 5,N,BBBB,EEEE,...(可変長、N は 10, 18, 26, 34いずれか) - 選択確認応答 (SACK)。最初2バイトの後に選択確認応答される1から4ブロックリスト32ビット開始/終了ポインタで示す。 8,10,TTTT,EEEE80ビット) - タイムスタンプと前のタイムスタンプエコーTCPタイムスタンプ参照14,3,S(24ビット) - チェックサム方式変更要求。[SYN] 15,N,...(可変長) - チェックサム方式変更されて、そのチェックサム16ビットより長い場合にこれでチェックサム値を示す。 他のオプションは既に使われていないもの、実験的なもの、標準になっていないものなどである。

※この「TCPセグメント構造」の解説は、「Transmission Control Protocol」の解説の一部です。
「TCPセグメント構造」を含む「Transmission Control Protocol」の記事については、「Transmission Control Protocol」の概要を参照ください。

ウィキペディア小見出し辞書の「TCPセグメント構造」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「TCPセグメント構造」の関連用語

TCPセグメント構造のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



TCPセグメント構造のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのTransmission Control Protocol (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS