TCP 3-way handshake, 4-way handshake

TCP ํ†ต์‹ ์€ ์•ˆ์ „ํ•˜๊ณ  ์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๋ชฉํ‘œ

  • ์—ฐ๊ฒฐ ์„ฑ๋ฆฝ์„ ์œ„ํ•ด 3 Way Handshake

  • ์—ฐ๊ฒฐ ํ•ด์ œ๋ฅผ ์œ„ํ•ด 4 Way Handshake

3 Way Handshake

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์—ฐ๊ฒฐ์„ ์œ„ํ•œ SYNํŒจํ‚ท ์ „์†ก โ†’ seq๊ฐ’์œผ๋กœ x์„ค์ •

  2. ์„œ๋ฒ„๊ฐ€ SYN ํŒจํ‚ท์„ ๋ฐ›๊ณ  ACK(x + 1) + SYN ํŒจํ‚ท์„ ์ „์†ก โ†’ seq๊ฐ’์œผ๋กœ y์„ค์ •

  3. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์‘๋‹ต ACK(x + 1)+ SYN(y)๋ฅผ ๋ฐ›์€ ํ›„ ํ™•์ธ ์‹ ํ˜ธ๋กœ ACK(y + 1) ์ „์†ก

4 Way Handshake

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ ํ•ด์ œ๋ฅผ ์œ„ํ•ด FIN ํŒจํ‚ท ์ „์†ก

  2. ์„œ๋ฒ„๊ฐ€ FIN ํŒจํ‚ท ๋ฐ›์€ ํ›„ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด CLOSE_WAIT ์ƒํƒœ ์œ ์ง€ํ•˜๋ฉฐ ACK ํŒจํ‚ท ์ „์†ก

  3. ์„œ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋ณด๋‚ธ ํ›„ FIN ํŒจํ‚ท์„ ์ „์†กํ•˜์—ฌ ์—ฐ๊ฒฐ ํ•ด์ œ ์•Œ๋ฆผ

  4. ํด๋ผ์ด์–ธํŠธ๋Š” FIN ํŒจํ‚ท ๋ฐ›๊ณ  TIME_WAIT ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋‹ค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ๋ฐ›์œผ๋ฉด ACK๋ฅผ ์„œ๋ฒ„์— ์ „์†ก

    โ†’ TIME_WAIT ๋๋‚˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” ์†Œ์ผ“ ๋‹ซ์Œ

Last updated