写真関連:
これらのセグメントが個別のパケットとしてマークされるのはなぜですか(すべてAck、Seq = 509)?パケットが分割されたのはなぜですか?
56〜78の範囲の可視フレームを参照していると思います。
この順序で物事に取り組みましょう、
TCP segment of a reassembled PDU
」seq
'番号の異なるフレーム。ACK
」フラグのみが設定されており、ACK番号が増加していることがわかります。ACK
'シーケンスはフレーム1
の52
で始まり、FINフレーム9646
の78
で終わります。609
)を繰り返しています-これは正常ですTCPプロトコル動作。52
)の後にそれ以上のデータを送信していません。54
でこれを確認しました。54
は、「再構築されたPDUのTCPセグメント」とマークされたフレームで形成された(wireshark)再構築されたサーバー応答であると思います。元のキャプチャファイルを再確認すると、TCP送信元ポート80(HTTPの場合)がHTTPサーバーからの9646バイトの応答データに追加されるフレーム54〜67が見つかります。
ここに表示されるのは、HTTPサーバーからの9KBの応答で、いくつかのMTU制限付きTCPセグメントとしてブラウザーに到達します。各セグメントは、TCPあなたのOS。
これは、通信の高レベルのシーケンスです。
FIN
パケットで始まる接続を閉じました。FIN
およびACK
パケットがさらに2つ(または1つのRST
パケット)あったと思います。Wireshark TCP再アセンブリの処理については Wireshark Wiki でさらに詳しく読むことができます。
画像は見えませんが、低レベルのプロトコル(たとえば、イーサネット)は、高レベルのプロトコル(たとえば、TCPパケット)をMTUのサイズ(最大)に基づいてフラグメントに分割できます。伝送ユニット)。
ウィキペディアは プロトコルデータユニット を次のように定義しています:
電気通信では、プロトコルデータユニット(PDU)という用語には次の意味があります。
- ネットワークのピアエンティティ間で1つの単位として配信され、制御情報、アドレス情報、またはデータを含む可能性のある情報。
- 階層化システムにおいて、特定の層のプロトコルで指定され、プロトコル制御情報と、場合によってはその層のユーザー・データで構成されるデータの単位。例:BridgePDUまたはiSCSIPDU 1
PDUは、 OSIモデル の最初の4つのレイヤーのそれぞれに関連しています(レイヤー5以上はデータと呼ばれます)。
したがって、実際には、PDUは、独自のコンテキストで定義された単なるデータの単位です。
From WireSharkを理解する :
パケットが1つにまとめられない場合があります。代わりに、パケットは複数のプロトコルデータユニット(PDU)として到着します。 WireSharkは、これらのユニットを1つのパケットに再構成しようとします。このようなパケットは、再構成されたPDUと呼ばれます。
再構築されたPDUを使用する場合、表示は通常のパケットほどきれいではありません。応答のヘッダーは、図2.11の下部ペインにあります。
これは、これらがTCP/IPメッセージのセグメントであり、通常、最後のセグメントのみがTCP/IPメッセージに関する意味のある完全な情報を持っていることを意味します。
From Wireshark TCP再構築されたPDUのセグメント :
TCPプロトコルでサブディセクタにTCPストリームのデセグメント化を許可する」のチェックを外すことで、TCPセグメントの再構築を無効にできますそうすれば、アプリケーションPDUのすべての部分が独自に表示されます。
これは、最後のパケットだけでなく、TCP/IPセグメントを意味のある形で表示するために必要なすべての情報がすべてのセグメントに含まれるようにする方法です。