TCPのクローズには
・ハーフクローズ ・同時クローズ
があり、ハーフクローズのフローや状態遷移については説明しました。 今回は同時クローズについて状態遷移もフラグのやり取りも 一気にまとめて図解します。
Active--FINWAIT_1-----------CLOSING--TIME_WAIT-------------CLOSED
1.FIN↓↑ 2.FIN+ACK↓↑
Passive--FINWAIT_1-----------CLOSING--TIME_WAIT-------------CLOSED
TCP A TCP B
0. ESTABLISHED ESTABLISHED
1. (Close) (Close) FIN-WAIT-1 --> < SEQ=100 >< ACK=300 >< CTL=FIN,ACK > ... FIN-WAIT-1 <-- < SEQ=300 >< ACK=100 >< CTL=FIN,ACK > <-- ... < SEQ=100 >< ACK=300 >< CTL=FIN,ACK > -->
2. CLOSING --> < SEQ=101 >< ACK=301 >< CTL=ACK > ... CLOSING <-- < SEQ=301 >< ACK=101 >< CTL=ACK > <-- ... < SEQ=101 >< ACK=30 1>< CTL=ACK > -->
3. TIME-WAIT TIME-WAIT (2 MSL) (2 MSL) CLOSED CLOSED
という感じで同時にクローズします。
ハーフクローズと少し状態遷移が違いますよね。
|