私は、TIME_WAITの暗殺についてRFC1337を見上げ、これはそれの一部です。TCP TIME_WAITの暗殺
今図1は、TIME-WAIT暗殺の一例を示しています。セグメント1-5
はノーマルクローズ
ハンドシェークを示し、RFC-793の図13から正確にコピーされます。パケット5.1,5.2、および5.3は、この
シーケンスの拡張であり、TWAを示しています。ここで5.1は古いセグメントであり、
はTCP Aには受け入れられません。
シーケンス番号または古いPAWSタイムスタンプのために受け入れられない可能性があります。どちらの場合も、 TCP Aは、現在のSND.NXTとRCV.NXTに対してACKセグメント5.2を送信します。
それは、この接続のための状態を有していないため、TCP BはRSTとしてこれを反映AでTIME-WAIT状態暗殺 セグメント5.3、!は、あるものを私に混乱し、TCP/IPイラスト音量の中で、何それは言うことは
RFC 1337 TCP TIME-WAIT Hazards May 1992 TCP A TCP B 1. ESTABLISHED ESTABLISHED (Close) 2. FIN-WAIT-1 --> <SEQ=100><ACK=300><CTL=FIN,ACK> --> CLOSE-WAIT 3. FIN-WAIT-2 <-- <SEQ=300><ACK=101><CTL=ACK> <-- CLOSE-WAIT (Close) 4. TIME-WAIT <-- <SEQ=300><ACK=101><CTL=FIN,ACK> <-- LAST-ACK 5. TIME-WAIT --> <SEQ=101><ACK=301><CTL=ACK> --> CLOSED - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5.1. TIME-WAIT <-- <SEQ=255><ACK=33> ... old duplicate 5.2 TIME-WAIT --> <SEQ=101><ACK=301><CTL=ACK> --> ???? 5.3 CLOSED <-- <SEQ=301><CTL=RST> <-- ???? (prematurely) **
です**:接続のために到着し
どれ遅れセグメント 2MSLウェイトは破棄されます。
なぜ、RFC 1337の図1のTCP Aは、古い重複セグメントをACKしましたか? '世代をリセット' で
遅延セグメントは、tcp制御データではなく、アプリケーションペイロードデータを意味しますか? TIME-WAIT状態に「ACK」していないのですが、その接続のステータスは何ですか? –
@SqlSurfer RFC: "ここで5.1はTCP Aに受け入れられない古いセグメントです"、セグメントタイプを指定していないようです。 – ryuu
そして、私は正確に "それはありません"というACKを出して "TIME-WAIT状態がその接続の状態を教えてくれますか?"私は貧しい英語のスキルを持っていたので意味します.... – ryuu