(toppers-users 2916) Re: TINET による PPP 接続時の切断について

Manabu Tanabe m_tanabe @ na.rim.or.jp
2009年 4月 3日 (金) 14:13:29 JST


 阿部 様

 田辺@名古屋です。

 いつもお世話になっております。

 何度もお手数をお掛けしてしまい、申し訳ありません。

> > 1.再接続すると TCP の通信が出来ない

 より致命的な2が優先のため、1は置いておいて・・・

> > 2.パケットの喪失・順番の相違が発生する
> > 
> >  PPP で SMTP サーバに接続し、メールを送っているのですが、
> > 一部、送ったデータの順番が代わっていたり、データが喪失してしまっているようです。
> > 同じプログラムを数回繰り返してもサーバ側での受信結果が同じ内容になるので、
> > 私の使い方に問題がありそうなのですが、見落としがちな点などは無いでしょうか?
> > 送受信バッファのサイズを変更すると、受信側の様子がわかるので、
> > バッファの内容を壊してしまっているようにも見えなくも無いのですが・・・。
> 
> こちらについては、toppers-users 2891 でも書かせていただきましたが、
> 
> 私が把握している範囲では、H8/3069F のシリアル関係の
> 割り込み応答があまり早くなく、取りこぼしが発生するようです。
> 完全な解決はできませんが、通信速度を落とすか、
> tinet/net/ppp_lcp.h のDEF_PPP_MTU の値を小さくしてみてください。
> 多少緩和されると思います。
> 
> いずれにしても、現在 PPP 周りの検証を行うことが困難なため、
> TINET リリース 1.5 から、一時的に PPP を外す予定です。

 試してみました。通信速度は落としても変化ありませんでした。
DEF_PPP_MTU を小さくしてみたところ、毎回誤って受信される
データの状況は代わりましたが、依然として正しく受信できていません。

 僕の感じた感想ですが、
「データは毎回同じように間違って届く」ことからも、
通信速度や MTU が絡んで取りこぼしが発生していることが原因では
無いような気もします。もし、物理層やデータリンク層で問題が起きたとしても、
トランスポート層で TCP を使う限り、シーケンス番号・チェックサムで
データの順番ミスの訂正、データ欠落パケットの発見が受信側で出来るはずなので。

 自分でソースを追える時間的余裕があればいいのですが・・・。
もし、何か分かったら、また連絡させていただきます・・・。

 以上、よろしくお願いいたします。

-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-
 E-mail  : m_tanabe @ na.rim.or.jp
-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-