メイン Application Layer Protocol Implementation & Model Development FTP/GENERICモデルでの受信パケットサイズに差異 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yilab | 投稿日時: 2006/8/22 6:54 |
半人前 登録日: 2005/11/3 居住地: 投稿: 23 |
FTP/GENERICモデルでの受信パケットサイズに差異 いつもお世話になっております.
現在,QN3.9を用いています. FTP通信において,ペイロードサイズを1400byteに指定したく思っています. それには,FTP/GENERICモデルを用いて,default.appに以下のような記述をしました. 引用: FTP/GENERIC 1 2 0 1400 10 60 PRECEDENCE 0 実行してみたところ,statファイルの統計値からはペイロードサイズが変更されているように思えませんでした. (1400byteを100個受信しているのに,総受信byteは51200byteになっていました) 意図した動作をしているかデバッグ情報を見てみたところ, 引用: GENERIC FTP Client: Node 1 sending pkt of size 1400 at 10007965442 となり,送信はできているものの,受信プロセスにおいて512byteに書き換えられてしまっています. どのレイヤーで書き換わっているのかまでは調べることができず,送信時間等にどれだけ影響がでているかは不明ですが,どういった取り扱いがなされているのでしょうか? また,QN3.9.5ではこの点が改善されているのでしょうか? |
marimo | 投稿日時: 2006/8/22 8:33 |
常連 登録日: 2005/9/22 居住地: 投稿: 49 |
Re: FTP/GENERICモデルでの受信パケットサイズに差異 自分もQualNet3.9を使っているのですが、特に問題ないような…
単純にアプリケーションを設定したシナリオを添付しますね。 test.zip 見てみると、1400Bytes x 100個を1.3秒ほどで送受信し終えて、 2,,[2],Application,Gen/FTP Server,Total Bytes Received = 140000 となっています。 ちなみにアプリケーション設定ファイルは
で、送信アイテム数は100個に指定していますが、0にしても同様でした。 # 512というのは…再現できなかったのでちょっと分かりませんが、 # もし可能性としてあり得るとすれば、何か別のパケット受信、もしくは値を見ている、とかでしょうか?
# うぅむ、色々ありますね。。 全然解決方法にはなっていませんが、何かのご参考になれば幸いです。 |
penguish | 投稿日時: 2006/8/22 9:56 |
常連 登録日: 2005/4/8 居住地: 投稿: 45 |
Re: FTP/GENERICモデルでの受信パケットサイズに差異 Packet Tracer で確認するのも手かなと思いました。
|
yilab | 投稿日時: 2006/8/24 7:59 |
半人前 登録日: 2005/11/3 居住地: 投稿: 23 |
Re: FTP/GENERICモデルでの受信パケットサイズに差異 返信ありがとうございます.
各設定を確かめて,もう一度実行し直してみたところ, おっしゃるとおり 1400Bytes x 100個=140000 となりました. しかし,問題はデバッグ情報で,依然として512byteを受信したことになっています. 引用: GENERIC FTP Client: Node 1 sending pkt of size 1400 at 10007965442 これはおそらく,トランスポート層において512byteに分割して送信されているのではないかと思います. FTPの受信パケット数を数えたところ,TCPの受信パケット数と等しくなりました. TCPにおいて分割されたデータは,受信時においてトランスポート層が責任を持って 復元すべきと思うのですが,そのままアプリケーション層に転送してしまうようです... (TCPの仕様をよく知らないので,あくまで私の所見ですが…) 私が実現したい機能は,*.statファイルに受信パケット数を出力することなので, 単純に総受信バイト数から逆算するようにして,この問題は一件落着としたいと思います. お騒がせして申し訳ありませんでした... ちなみにデバッグ情報は,gen_ftp.cppで,
を定義して再コンパイルし,実行した際に標準出力に出力される結果を指しています. |
penguish | 投稿日時: 2006/8/24 16:53 |
常連 登録日: 2005/4/8 居住地: 投稿: 45 |
Re: FTP/GENERICモデルでの受信パケットサイズに差異 横からすみません。
引用:
ということは Max Segment size を 512byte にしている? ということですかね? 変更したらできるのでは? トレースかけて SYN がどの位のMSSでコネクションを要求しているか見てみるといいと思います。 MSSを大きくしすぎるとIPでフラグメントされてしまうかもしれませんね。却って効率が悪いこともあると思います。 引用:
IP フラグメントでは IPが責任を持って復元しますが、TCPは違うと思いますよ。順序どおりに届いて間違いなければ上にあげるだけで、あとはアプリケーションが期待したサイズのデータを受け取ったら、あるいはバッファサイズを満たしたらバッファから取り出すだけだと思います。 |
yilab | 投稿日時: 2006/8/26 18:21 |
半人前 登録日: 2005/11/3 居住地: 投稿: 23 |
Re: FTP/GENERICモデルでの受信パケットサイズに差異 ご返信ありがとうございます.
引用:
configファイルを確認したところ,TCP-MSS 512とバッチリ書かれていました. MSSを変更すると,おっしゃる通り効率が悪くなってしまうことも考えられます.私の研究分野はMAC層なので,トランスポート層には極力変更を加えたくないところですが,評価の際にMSSの変更も考えてみたいと思います. 引用:
そうだったのですか,簡単な仕組みになっているのですね.勉強になります. |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |