๐ก ํฌํธ์ ์ํ ์ ๋ณด
CLOSED: ํฌํธ๊ฐ ๋ซํ ์ํLISTEN: ํฌํธ๊ฐ ์ด๋ฆฐ ์ํ๋ก ์ฐ๊ฒฐ ์์ฒญ ๋๊ธฐ ์คSYN_RCV: SYNC ์์ฒญ์ ๋ฐ๊ณ ์๋๋ฐฉ์ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ ์คESTABLISHED: ํฌํธ ์ฐ๊ฒฐ ์ํFIN_WAIT_1: close()๋ฅผ ์งํํ ์์ผ์ด ์ง์ ํ๋ ์ํFIN_WAIT_2:ACK์ ํธ๋ฅผ ๋ฐ์FIN_WAIT_1์์ผ์ดFIN_WAIT_2๋ก๋ณ๊ฒฝCLOSE_WAIT: ์๋๋ฐฉ์FIN์ ๋ฐ์ ์ํ. ์๋๋ฐฉFIN์ ๋ํACK๋ฅผ ๋ณด๋ด๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ข ๋ฃ๋ฅผ ์๋ฆฐ๋คTIME_WAIT: FIN์ ๋ํ ACK๋ฅผ ๋ฐ๊ณ ์ฐ๊ฒฐ ์ข ๋ฃ๊ฐ ์๋ฃ๋ ์ํ. ์ผ์ ์๊ฐ ๊ธฐ๋ค๋ฆฐ ํCLOSED๋ก ์ ์ด๋๋ค.LAST_ACK:CLOSE-WAIT์ํ๋ฅผ ์ฒ๋ฆฌ ํ ์์ ์FIN์์ฒญ์ ๋ณด๋ธ ํFIN์ ๋ํACK๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์ํ
๐ก ํ๋๊ทธ ์ ๋ณด
- TCPํค๋๋ ๊ฐ 1 bit์ฉ ์ฐจ์งํ๋ 6๊ฐ์ ํ๋๊ทธ๊ฐ ์๊ณ , ๊ฐ ํ๋๊ทธ๋ ์ด๊ธฐ๊ฐ 0์ ๊ฐ์ง๋ค.
- ํจํท์ ํด๋น ํ๋๊ทธ์ ๋นํธ๋ฅผ ์กฐ์ ํ์ฌ ํด๋น ํจํท์ด ์ด๋ค ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋์ง ์๋ ค์ค๋ค.
SYN- Synchronize sequence numbers
์ฐ๊ฒฐ ์ค์ , ์ฐ๊ฒฐ์ ์ํด ๋๋ค์ผ๋ก ์ค์ ํ์ฌ ์ธ์ ์ ์ฐ๊ฒฐํ๋๋ฐ ์ฌ์ฉ. Client์ Server์ Connection์ ์์ฑํ ๋ ์ฌ์ฉํ๋ FlagACK- Acknowledgment
์๋ต ํ์ธ. ์๋ต์ ํ์ธํ์์ ์๋ ค์ค๋ค.FIN- Finish
์ฐ๊ฒฐ ํด์ . Client/Server๊ฐ ์ฐ๊ฒฐ์ ์ข ๋ฃํ๊ธฐ ์ํด ์ฌ์ฉ. ๋ ์ด์ ์ ๋ฌํ ์๋ฏธ๊ฐ ์์์ ์๋ฏธํ๋ค.

Client๋ Server์ ์ ์์ ์์ฒญํ๋ SYN์ ๋ณด๋ธ๋ค.
Client โ SYN-SENT / Server โ Wait For Client
Server๋ Client๋ก ๋ถํฐ SYN์ ๋ฐ๊ณ , ์์ฒญ์ ์๋ฝํ๋ ACK์ SYN Flag๊ฐ ์ค์ ๋ ํจํท์ ๋ฐ์กํ๋ค.
Client โ SYN-SENT / Server โ SYN-RECEIVED
Client๋ Server์๊ฒ ACK๋ณด๋ด๊ณ , ์ดํ Client์ Server๋ ๋ฐ์ดํฐ ์ ์ก์ด ๊ฐ๋ฅํด์ง๋ค.
Client โ ESTABLISHED / Server โ ESTABLISHED
FIN ํ๋๊ทธ๊ฐ ์ฌ์ฉ๋๋ค.
Client๊ฐ ์ฐ๊ฒฐ์ ๋๋๋ค. ์ด๋ ์๋ฒ์ FIN ํ๋๊ทธ๋ฅผ ๋ณด๋ธ๋ค.
Client โ FIN_WAIT_1 / Server โ ESTABLISHED
Server๋ FIN ํ๋๊ทธ๋ฅผ ๋ฐ๊ณ , ํ์ธํ๋ค๋ ์๋ฏธ๋ก ACK๋ฅผ ๋ณด๋ด๊ณ Client์๊ฒ ๋ณด๋ด๊ณ , ์๋ฒ์ ์ํ๋ฅผ CLOSE_WAIT์ํ๋ก ๋ณ๊ฒฝํ๊ณ , ๋ฏธ์ฒ ๋ณด๋ด์ง ๋ชปํ ๋ฐ์ดํฐ๋ฅผ ๋ง์ ๋ณด๋ด๊ณ , ์๋ฒ์์ close()๋ฅผ ํธ์ถํ๋ค.
Client โ FIN_WAIT_2 / Server โ CLOSE_WAIT
๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ ์กํ ํ์ Server๋ Client์ ์ฐ๊ฒฐ ์ข
๋ฃ์ ํฉ์ํ๋ค๋ ์๋ฏธ์ FIN ํจํท์ Client์๊ฒ ์ ๋ฌํ๋ค. ์ด๋ Client๊ฐ ํ์ธํ๋ค๋ ACK ํจํท์ ๋ณด๋ด์ฃผ๊ธฐ ์ ๊น์ง LAST_ACK ์ํ๋ก ๋ค์ด๊ฐ๋ค.
Client โ TIME_WAIT / Server โ LAST_ACK
Client๋ ํ์ธ์ ์๋ฏธ๋ก Server์๊ฒ ACK ํจํท์ ๋ณด๋ด์ฃผ๊ณ CLOSED ์ํ๋ก ๋ค์ด๊ฐ๋ฉฐ, ACK ํจํท์ ์ ๋ฌ๋ฐ์ Server ๋ํ CLOSED ์ํ๋ก ๋ค์ด๊ฐ๋ค.
Client โ CLOSED / Server โ CLOSED
3 way handshake ์ 4 way handshake์์ ๋จ๊ฒ์ ์ฐจ์ด๊ฐ ๋ฐ์ํ๋ ์ด์
Client๊ฐ ์ข
๋ฃ๋ฅผ ํฌ๋งํด๋, Server ์ชฝ์์ ์ ๋ฌํ ํ์๊ฐ ์๋ ๋ฐ์ดํฐ๊ฐ ๋จ์์์ ๊ฒฝ์ฐ, Client์ Server์ ์ข
๋ฃ ์์ ์ด ๋ค๋ฅผ ์ ์๋ค. ๊ทธ๋์ Client์์ FIN ํจํท์ ๋ณด๋์ ๋, Server์์ ์ผ๋จ ํ์ธํ์์ ์๋ ค์ฃผ๊ธฐ ์ํด ACK ํจํท์ ์ ๋ฌํ๊ณ , ์ดํ Server๊ฐ ์ฐ๊ฒฐ ์ข
๋ฃ๋ฅผ ํฌ๋งํ ๋ FIN ํจํท์ ๋ณด๋ด๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐํ ๋์ ์ฐ๊ฒฐ์ ์ข
๋ฃํ ๋ ๋จ๊ณ์ ์ฐจ์ด๊ฐ ๋ฐ์ํ๋ค.
์ด๊ธฐ Sequence Number์ธ ISN์ 0 ๋ถํฐ ์์ํด์ ์ฐ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์๋ ๋์๋ฅผ ์์ฑํด์ ์ค์ ํ๋ ์ด์ ๋ ?
์ฐ๊ฒฐ์ ์ฌ์ฉ๋๋ ํฌํธ๋ฒํธ๋ ์ ํํ ๋ฒ์ ๋ด์ ์ ์ฌ์ฉ๋๊ณ , ์ฌ์ฌ์ฉ๋๋ค. ๋ฐ๋ผ์ Client์ Server๊ฐ ๊ณผ๊ฑฐ์ ์ฌ์ฉํ ํฌํธ๋ฒํธ๋ ์์ผ๋ก ์กด์ฌํ ๊ฐ๋ฅ์ฑ์ด ์๋ค. Server ์ชฝ์์๋ ์ฐ๊ฒฐ์ ์ํด ์ ๋ฌ๋ฐ๋ SYN์ ๋ณด๊ณ ํจํท์ ๊ตฌ๋ถํ๋ ๋ฐ ๊ณผ๊ฑฐ์ ์ฌ์ฌ์ฉ๋ ํฌํธ๋ฒํธ๋ก ์ธ์งํ ๊ฐ๋ฅ์ฑ์ด ์๋ค. ์ด๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ์ค์ด๊ธฐ ์ํด ๋์๋ก ์ค์ ํ๋ค.