144

アプリの TCP/IP 接続が 10 分ごと (正確には 1 ~ 2 秒以内) に中断し続ける理由を突き止めようとしています。Wireshark を実行したところ、非アクティブ状態が 10 分間続いた後、相手側がリセット (RST) フラグが設定されたパケットを送信していることがわかりました。Google検索では、「RESETフラグは、受信者が混乱しているため、接続を中止したいことを示しています」と表示されますが、それは私が必要とする詳細には少し足りない. 何が原因でしょうか? そして、途中のルーターがそれを担当している可能性はありますか?それとも、これは常に他のエンドポイントから来るのでしょうか?

編集:ルーター (具体的には Linksys WRT-54G) がコンピューターと他のエンドポイントの間にあります。ルーターの設定で探す必要があるものはありますか?

4

9 に答える 9

96

「ルーター」は何でも行うことができます-特にNATは、バグに悩まされているトラフィックの混乱を伴う可能性があります...

デバイスが RST を送信する理由の 1 つは、閉じられたソケットのパケットを受信したことに応答するためです。

断固たる一般的な答えを出すのは困難です。なぜなら、TCP の開始以来、考えられるあらゆる倒錯が TCP で見られており、あらゆる種類の人々がトラフィックをブロックしようとして RST を挿入している可能性があるからです。(たとえば、一部の「ナショナル ファイアウォール」はこのように機能します。)

于 2008-10-30T18:36:55.933 に答える
24

ピアでもパケットスニファ(Wiresharkなど)を実行して、RSTを送信しているのがピアなのか、途中の誰かなのかを確認します。

于 2008-10-30T20:01:01.663 に答える
16

この問題のトラブルシューティングにかなりの時間を費やしました。提案された解決策はどれも機能しませんでした。システム管理者が誤って同じ静的 IP を、異なるグループに属しているが同じネットワーク上にある 2 つの無関係なサーバーに割り当てたことが判明しました。最終的な結果として、vnc 接続が断続的に切断されたり、Web ページを取得するためにブラウザを何度も更新しなければならなかったり、その他の奇妙なことが起こりました。

于 2012-10-02T16:52:08.210 に答える
9

RST は、アクティブ クローズを行う側によって送信されます。これは、最後の ACK を送信する側であるためです。したがって、間違った状態でパッシブ クローズを実行している側から FIN を受信した場合、エラーが発生したことを相手側に示す RST パケットを送信します。

于 2010-07-11T14:52:28.830 に答える
8

NAT を実行しているルーター、特にリソースの少ないローエンド ルーターがある場合、最も古い TCP セッションが最初に期限切れになります。これを行うためRSTに、パケットにフラグを設定して、受信ステーションに (非常に不謹慎ながら) 接続を閉じるように効果的に伝えます。これは、リソースを節約するために行われます。

于 2009-07-23T14:21:48.680 に答える
7

一部のファイアウォールは、接続が x 分間アイドル状態の場合にこれを行います。一部の ISP は、さまざまな理由から、そのようにルーターを設定しています。

この時代では、その状態を適切に処理 (必要に応じて再確立) する必要があります。

于 2008-10-30T18:35:11.197 に答える
2

これは、ネットワークに RST を TCP 接続に送信する別のプロセスがあるためです。

通常、RST は次の場合に送信されます。

  • SO_LINGER オプションを使用するソケットが有効な場合、プロセスはソケットを閉じます
  • プロセスがソケットを閉じずに終了すると、OS はリソースのクリーンアップを行っています。

あなたの場合、プロセスが接続(IP +ポート)を接続しているように聞こえ、接続を確立した後もRSTを送信し続けます。

于 2020-04-16T12:28:08.350 に答える