(toppers-users 2565) Re: TINET 再送タイムアウトの検知

ABE Tsukasa abe @ jo.tomakomai-ct.ac.jp
2006年 12月 29日 (金) 17:11:03 JST


tomo 様

苫小牧高専、情報工学科の阿部です。

>TINETの再送タイムアウトの件で質問させて下さい。
>受動オープンで接続確立後、LANケーブルを抜かれた状態を再送タイムアウトで検知
>したいのですが、再送タイムアウトが起こった場合、tcp_rcv_dat()の戻り値で判断できるでしょうか?

この場合は、E_CLS が返るはずです。

>現在、tcp_rcv_dat()をポーリングで呼び出しているのですが、ケーブルを抜いて数十分待っても
>E_TMOUT(-50)しか返ってこないのです。

tcp_rcv_dat のタイムアウトの指定で、時間を指定しているのでしょうか?
このエラーは、受信ウィンドバッファにデータが、指定した時間内に到着しなかったことを
意味していますので、再送タイムアウトは検出できません。
試しに、tcp_rcv_dat のタイムアウトの指定に TMO_FEVR を指定してください。
これで、再送タイムアウトになると E_CLS が返ると思います。

>デフォルトの再送タイムアウト値は、512秒だったと認識していますが間違いないでしょうか?

こちらは間違いありません。

参考までに、TINET-1.3 で、TCP のトレース出力機能を使って再送タイムアウトを発生させた
結果を以下に示します。nserv の TCP エコークライアントを使いました。

et 172.25.129.245
[TEC:01 SND] start:              repeat: 1/1
=O=    7.7=c: 1 s:SS f:0000:-----S- s:1463397033 a:         0 w: 2048 l:   0=>
<I=    7.7=c: 1 s:SS f:0000:--A--S- a:1463397034 s: 282076925 w:65535 l:   0==
[TEC:01 SND] connecting:      7, to:   172.25.129.245.7
=O=    7.7=c: 1 s:ES f:6121:--AP--- s:         1 a:         1 w: 2048 l:1460=>
<I=    7.9=c: 1 s:ES f:6000:--AP--- a:      1461 s:         1 w:65535 l:1460==
=O=    7.9=c: 1 s:ES f:0002:--A---- s:      1461 a:      1461 w: 2048 l:   0=>
=O=    8.3=c: 1 s:ES f:6120:--AP--- s:      1461 a:      1461 w: 2048 l: 440=>
<I=    8.3=c: 1 s:ES f:6000:--AP--- a:      1901 s:      1461 w:65095 l: 440==
=O=    8.5=c: 1 s:ES f:0001:--A---- s:      1901 a:      1901 w: 2048 l:   0=>
=O=    9.1=c: 1 s:ES f:6120:--AP--- s:      1901 a:      1901 w: 2048 l:1460=>
<I=    9.1=c: 1 s:ES f:6000:--AP--- a:      3361 s:      1901 w:65535 l:1460==
=O=    9.1=c: 1 s:ES f:0002:--A---- s:      3361 a:      3361 w: 2048 l:   0=>
=O=   10.4=c: 1 s:ES f:6120:--AP--- s:      3361 a:      3361 w: 2048 l: 440=>
<I=   10.4=c: 1 s:ES f:6000:--AP--- a:      3801 s:      3361 w:65095 l: 440==
=O=   10.5=c: 1 s:ES f:0001:--A---- s:      3801 a:      3801 w: 1608 l:   0=> 
=O=   11.9=c: 1 s:ES f:6120:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=   13.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=   16.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=   22.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=   34.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=   58.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=   90.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=  154.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=  218.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=  282.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=  346.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=  410.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=  474.1=c: 1 s:ES f:6001:--AP--- s:      3801 a:      3801 w: 2048 l:1460=>
=O=  538.1=c: 1 s:CD f:6800:--A-R-- s:1463402294 a: 282080726 w: 2048 l:   0=>
[TEC:01 SND] send error: E_CLS
[TEC:01 SND] shutdown error: E_CLS
[TEC:01 RCV] recv error: E_CLS
[TEC:01 RCV] received:      538, snd:    5, rcv:    4, len: 3800
[TEC:01 SND] finished:           repeat: 1/1

以上です。

それでは、よろしくお願いします。

--
.\" 苫小牧工業高等専門学校 情報工学科 教授 阿部 司
.\" E-mail: abe @ jo.tomakomai-ct.ac.jp  TEL/FAX: 0144-67-8937