Japan QualNet Community Forums Japan QualNet Community Forums
Welcome Guest 
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/04/27:16/17
2024/04/26:21/24

2024/02/27より286/1374
人気モジュール
No.1: フォーラム 100
No.2: QualNet概要 8
No.3: リンク集 2
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット67
No.2:Windows NT2
No.3:Linux1

No.1:どっかの巡回ロボット61
No.2:Safari3
No.3:Baidu巡回ロボット3

日曜日からの合計
メイン
   Transport Layer Protocol Implementation & Model Development
     TCPで管理されている再送タイムアウトとRTTについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
act
投稿日時: 2012/10/12 17:12
新米
登録日: 2011/10/25
居住地:
投稿: 3
TCPで管理されている再送タイムアウトとRTTについて
こんにちは。

TCPで管理されている再送タイムアウトとRTTの時間推移を見たいと思い、transport_tcp_var.h で
以下のように記述されている変数をtransport_tcp_output において出力してみました。

int t_rxtcur; // current retransmit value
int t_rtt; // round trip time

その結果、t_rxtcur は3と4の間を推移し、RTTは0と1の間を推移しました。
これらの値の単位は500msほどであると思っていたのですが、その場合、
再送タイムアウトが1.5秒や2秒ということになり、明らかに大きい値となっています。
(シミュレーション結果を見ると、これらより短い時間で再送が行われていました。)

そこで、
・t_rxtcurとt_rttの単位はどのようになっているか
・そもそも、再送タイムアウトとRTTを調べるにあたってこれらの値を出力させることは
 適切かどうか

ということについてご回答を頂ければ幸いです。

マニュアルやtransport_tcp_timer.h等を見たのですが分からなかったため、質問させていただきました。
何卒よろしくお願いいたします。
mast
投稿日時: 2012/10/15 8:43
一人前
登録日: 2005/4/7
居住地:
投稿: 93
Re: TCPで管理されている再送タイムアウトとRTTについて
こんにちは。

QualNetのTCPのソースコードはFreeBSDから移植したものなので、BSDのTCP/IPの実装を解説した以下の書籍をご覧になると、理解が進むかと思います。

TCP/IP Illustrated Vol.2
http://www.amazon.co.jp/dp/020163354X
http://www.amazon.co.jp/dp/4894714957

TCPの再送タイムアウトは、初期値1.5秒で、その後タイムアウトするたびに
3秒→6秒→12秒→24秒→48秒→64秒→64秒→64秒→・・・
となるはずで、actさんが仰っているように1.5秒よりも短い時間でタイムアウトを起こすことはないはずです。


質問への回答としては、

・t_rxtcurとt_rttの単位はどのようになっているか
500msです。

・そもそも、再送タイムアウトとRTTを調べるにあたってこれらの値を出力させることは適切かどうか
t_rxcurr, t_rtt, t_srtt, t_rttvarの4つを見るのが良いかと思います。出力させる場所はtransport_tcp_outputだけでよいかどうかは疑問ですが、ではどこで出力させればよいか・・・は、私も調べてみないと分からないので、上記の本などを参考にもう少し検討を進めてみてください。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT