0

現在、イーサネット リンク経由で Wi​​ndows 7 オペレーティング システムと通信している 2 つのセンサー (それぞれのデータ レートは 1Khz) で構成されるシステムでネットワークの問題が発生しています。Windows システム上で動作するプログラムは Java で書かれています。

問題: TCP ネイティブ バッファ オーバーフローが原因で停止する前に、プログラムが未定義の期間、通常どおり実行されます。

私の直感では、これは TCP RWIN が原因であると信じています。コンシューマがスタックからパケットを取り込むのが遅すぎて、最終的にバッファ オーバーフローにつながるからです。

NIC からキャプチャされたパケットを見ると、クラッシュ前の最終的なシーケンスは常に次のようになります。接続をシャットダウンする前に、大きな ACK ブロックとそれに続く各センサーからの RST です。各 RST で WIM サイズが 200 に設定されていることがわかりますが、以前は 1000 を超えていました。

ここに画像の説明を入力

この問題の解決を開始する方法について、誰か提案をいただけますか? この時点で行われたすべての調査では、これを解決する方法についてはまだ途方に暮れています。

4

1 に答える 1

1

センサーが RST を送信している場合は、センサーで接続が閉じられています。なぜそれが起こったのかを調査する必要がありますか?理由の 1 つは、接続がタイムアウトになった可能性があります。おそらく、TCP@sensors が何かを送信しようとして、通過できませんでした。センサーでトレース ツール (tcpdump/windump など) を実行できますか?

于 2013-09-04T17:43:14.267 に答える