~SleepingCat~

不定期更新日記

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

TCP segment of a reassembled PDU

"TCP segment of a reassembled PDU"で検索してくる方が最近
多いようです。

かといって明確な答えは書いていないのでガッカリして帰られる方も
多いのではないか?ということで

答えは正確には知らないんですが・・・

ADSLやVPN等MTUの小さい経路を通過するため、フラグメントされたパケット
だと私は考えています。

11/1追記:さむそん様より
「TCP segment of a reassembled PDU」は、
送信(受信)データがMSS(MTU-IPヘッダ、TCPヘッダ)より
大きい場合にTCPレイヤで分割された場合
に表記される内容です。
とのコメントをいただきました。

ちなみに回線ごとのMTUは
ADSL,Bフレッツ = 1454byte
光プレミアム = 1438byte
Ethernet = 1500byte
コレにヘッダが含まれるのでデータサイズはさらに小さくなります。

参考:フラグメンテーションのイメージ図が分かりやすいかな
http://www.atmarkit.co.jp/fwin2k/win2ktips/652pingmtu/pingmtu.html


基礎からわかるTCP/IP アナライザ作成とパケット解析―Linux/FreeBSD対応
小高 知宏
オーム社
売り上げランキング: 144,869


11/1追記:コメントをいただきましたので追記します。

まず、まだまだ勉強しなきゃと思いつつ
いただいたコメントと
IPフラグメンテーション
シーケンス番号とウィンドウ制御
などを見つつ


こういう理解で合っているのでしょうか?
segmento_of_.jpg



結局「TCP segment of a reassembled PDU」が発生するのは

上位アプリケーションは現在のウィンドウ・サイズを知っているわけではないので、送信しようとするデータが必ずしもウィンドウ・サイズ以下になっているという保証はない。そのため、TCP層では、必要ならばウィンドウ・サイズに以下になるようにデータを切り分け、先頭から順次送信を行う


とあるようにウィンドウサイズに合うようにデータを切り分けているということなのでしょうか?

そうであれば、ウィンドウサイズを調整すれば「TCP segment of a reassembled PDU」が減るのでしょうか?

でもそうであれば以前の現象はなぜだろう?
同じサーバから同じOSの別クライアントに同じ処理をさせたが、片方にのみ大量に「TCP segment of a reassembled PDU」が発生
相違点はサーバ-クライアント間の回線が違うということ
ウィンドウサイズが原因なら回線によっては影響されないような気が・・・?
謎は深まるばかり


11/2 さらに追記:

MSSより大きなサイズのデータを送受信する場合に発生するということだから

Ethernetで通信する場合(MTU1500bytes)
送信データがMSS(1460bytes)より小さい場合

20061103002330.jpg



送信データがMSS(1460bytes)より大きな場合

20061103002341.jpg


となって
「送信データがMSS(1460bytes)より大きな場合」キャプチャすると

[SYN] ・・・・・・・・・・・・・・・・・・・・
[SYN/ACK] ・・・・・・・・・・・・・・・・・・・・
[ACK] ・・・・・・・・・・・・・・・・・・・・
[TCP segment of a reassembled PDU]
[***] ・・・・・・・・・・・・・・・・・・・・ <=HTTP等
[ACK] ・・・・・・・・・・・・・・・・・・・・

な感じになる、

MTUが小さいとMSSも小さくなって[TCP segment of a reassembled PDU」が
発生しやすくなる。
[TCP segment of a reassembled PDU」が大量に発生すると
回線の効率が悪くなって(分割された小さなデータにもヘッダとかがつくから)遅くなる。

ということですかね?

スポンサーサイト

コメント

追記

読みづらかったので少し修正しました。

  • 2006/11/09(木) 23:48:24 |
  • URL |
  • としぞう #8Lw8AdYw
  • [ 編集]

あれ?

追記してみたけどコレだと
ウィンドウサイズより大きなデータだと「TCP segment of a reassembled PDU」がでる
になりますね???
MSSより大きなデータはどこで発生するのか???
もうアップしてしまったので続きは明日以降で
m(__)m

  • 2006/11/02(木) 00:04:14 |
  • URL |
  • としぞう #8Lw8AdYw
  • [ 編集]

ありがとうございます。

説明ありがとうございます。

少し追記したいと思いますので、また教えていただけると幸いです。

  • 2006/11/01(水) 22:15:20 |
  • URL |
  • としぞう #8Lw8AdYw
  • [ 編集]

内容の補足、及び修正が必要です。

ADSL回線等でMTUが制限されていてフラグメントされるのは、IPレイヤのフラグメントであって、

「TCP segment of a reassembled PDU」は、送信(受信)データがMSS(MTU-IPヘッダ、TCPヘッダ)より大きい場合にTCPレイヤで分割された場合に表記される内容です。

現に「TCP segment of a reassembled PDU」のパケットのIPレイヤのFlagをみると、Don't Fragmentsになっているはずですよ。

ちなみにIPフラグメントが実行された場合のEtherealの表記は、「Fragmented IP protocol」です。

説明が下手ですみませんが、修正をお願いします。

  • 2006/11/01(水) 15:38:18 |
  • URL |
  • さむそん #-
  • [ 編集]

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://sleepingcat.blog6.fc2.com/tb.php/223-4da1d53c

パケットダンプ

Etherealでパケットキャプチャしていたら「TCP segment of a...

  • 2006/11/29(水) 18:08:59 |
  • ゆうちくりんの忘却禄
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。