- - PR -
TCP/IPのパケット分割について、パケットがMTU以下なのに分割される
投票結果総投票数:9 | |||
---|---|---|---|
TCP | 0票 | 0.00% | |
IP | 8票 | 88.89% | |
LINUX | 1票 | 11.11% | |
|
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-02-14 16:17
なんだかよく似た事例を見つけました。
http://oshiete1.goo.ne.jp/qa3485247.html | ||||
|
投稿日時: 2008-02-14 16:56
ありがとうございます。 同じ現象ですね。 結論が出て欲しかったです。。。 以下、要点をまとめます。 1、Linux→ルータ→カーナビに1300バイトのデータを送信すると、 1024バイトで分割が行われてしまう。 2、Linuxとカーナビの接続時のMSSは1460バイトで接続されている。(Ethrealで確認) 3、ウィンドウサイズは2048等1024より大きい値になっている(Ethrealで確認) ⇒Linuxの設定で分割されずに送信する方法がわからない。 なぜ分割されるのかも分からない。 UNIXでは、通信相手のウィンドウサイズが小さい場合に、イーサネット・パケットサイズが1024に丸め込まれるらしい。 それは、TCP_ROUND_MSSのフラグをオフにすればOK 解決方法 1、カーナビのウィンドウサイズを大きくする ⇒期間、規模、コスト的に無理 2、Linuxの設定で分割されずに送信可能にする。 3、上記のUnixの設定と同様にLinuxに設定する。 まとめてはみたものの、解決できなさそう。。。 | ||||
|
投稿日時: 2008-02-18 11:39
RFC 1191 Path MTU Discovery
には下記の記述があります。セグメントサイズを1024バイトにして、ウィンドウサイズをその 倍数にするようなやり方は過去には普通だったのでしょうかね(このRFCの日付は1990年)。 参考までにRFCから引用しておきます。 最近のOSの実装がどうなっているか気になりますね。 念のためですが、routeコマンドでMSSの設定、表示ができるのはご存知ですよね?
|