TCPのクローズには
・ハーフクローズ ・同時クローズ
があり、ハーフクローズのフローについては前回説明しました。 ハーフクローズ時にもTCPの状態が変化します。
図解すると Active--FINWAIT_1-----------FIN_WAIT_2-------TIME_WAIT-------------CLOSED
1.FIN↓ 2.FIN+ACK↑ 3.FIN↑ 4.FIN+ACK↓
Passive-----------CLOSE_WAIT-----------LAST_ACK--------CLOSED
0. ESTABLISHED ESTABLISHED
1. (クローズ) FIN-WAIT-1 -- > < SEQ=100 >< ACK=300 >< CTL=FIN,ACK > - -> CLOSE-WAIT
2. FIN-WAIT-2 <- - < SEQ=300 >< ACK=101 >< CTL=ACK > <- - CLOSE-WAIT
3. (クローズ) TIME-WAIT <- - < SEQ=300 >< ACK=101 >< CTL=FIN,ACK > <- - LAST-ACK
4. TIME-WAIT - -> < SEQ=101 >< ACK=301 >< CTL=ACK > - -> CLOSED
5. (2 MSL) CLOSED
1.アクティブさん:「もう送るデータおまへんさかい店閉めまっせ!」 2.パッシブさん:「そうでっか!よろしおす!」 3.パッシブさん:「ほなうちも買うもんないさかい財布の口閉めまっせ!」 4.アクティブさん:「おおきに、そうしてもらえますやろか!」 パッシブさん:「パッチン!!財布閉めました!」 5.アクティブさん:「もうパッシブはんも財布閉めて帰りはったかな、 シャッターおろしまひょ、バシャ!」
という感じでハーフクローズしていきます。
|