3 ๐™ฌ๐™–๐™ฎ ๐™๐™–๐™ฃ๐™™๐™จ๐™๐™–๐™ ๐™š & 4 ๐™ฌ๐™–๐™ฎ ๐™๐™–๐™ฃ๐™™๐™จ๐™๐™–๐™ ๐™š

uuuouuoยท2022๋…„ 7์›” 28์ผ
0
post-thumbnail

๐Ÿ“– 3 way handshake & 4 way handshake


handshake: ์—ฐ๊ฒฐ์„ ์„ฑ๋ฆฝํ•˜๊ณ  ํ•ด์ œํ•˜๋Š” ๊ณผ์ •

๐Ÿ’ฌ 3 way handshake - ์—ฐ๊ฒฐ ์„ฑ๋ฆฝ


  • TCP๋Š” ์ •ํ™•ํ•œ ์ „์†ก ๋ณด์žฅ
  • ํ†ต์‹ ํ•˜๊ธฐ์— ์•ž์„œ, ๋…ผ๋ฆฌ์ ์ธ ์ ‘์†์„ ์„ฑ๋ฆฝํ•˜๊ธฐ ์œ„ํ•ด 3 way handshake ๊ณผ์ • ์ง„ํ–‰

1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ SYN ํŒจํ‚ท ๋ณด๋ƒ„ (sequence : x)

2. ์„œ๋ฒ„๊ฐ€ SYN(x)์„ ๋ฐ›๊ณ , ํด๋ผ์ด์–ธํŠธ๋กœ ๋ฐ›์•˜๋‹ค๋Š” ์‹ ํ˜ธ์ธ ACK์™€ SYN ํŒจํ‚ท ๋ณด๋ƒ„ (sequence : y, ACK : x + 1)

3. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์‘๋‹ต์€ ACK(x+1)์™€ SYN(y) ํŒจํ‚ท ๋ฐ›๊ณ , ACK(y+1)๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋ƒ„

์ด๋ ‡๊ฒŒ 3๋ฒˆ์˜ ํ†ต์‹ ์ด ์™„๋ฃŒ๋˜๋ฉด ์—ฐ๊ฒฐ์ด ์„ฑ๋ฆฝ

๐Ÿ’ฌ 4 way handshake - ์—ฐ๊ฒฐ ํ•ด์ œ


  • ์—ฐ๊ฒฐ ์„ฑ๋ฆฝ ํ›„, ๋ชจ๋“  ํ†ต์‹ ์ด ๋๋‚ฌ๋‹ค๋ฉด ํ•ด์ œํ•ด์•ผ ํ•จ

1. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์—๊ฒŒ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•œ๋‹ค๋Š” FIN ํ”Œ๋ž˜๊ทธ ๋ณด๋ƒ„

2. ์„œ๋ฒ„๋Š” FIN์„ ๋ฐ›๊ณ , ํ™•์ธํ–ˆ๋‹ค๋Š” ACK๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ธ๋‹ค. (์ด๋•Œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด CLOSE_WAIT ์ƒํƒœ๊ฐ€ ๋œ๋‹ค)

3. ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋ณด๋ƒˆ๋‹ค๋ฉด, ์—ฐ๊ฒฐ์ด ์ข…๋ฃŒ๋˜์—ˆ๋‹ค๋Š” FIN ํ”Œ๋ž˜๊ทธ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.

4. ํด๋ผ์ด์–ธํŠธ๋Š” FIN์„ ๋ฐ›๊ณ , ํ™•์ธํ–ˆ๋‹ค๋Š” ACK๋ฅผ ์„œ๋ฒ„์—๊ฒŒ ๋ณด๋‚ธ๋‹ค. (์•„์ง ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์ง€ ๋ชปํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ TIME_WAIT์„ ํ†ตํ•ด ๊ธฐ๋‹ค๋ฆฐ๋‹ค.)

  • ์„œ๋ฒ„๋Š” ACK๋ฅผ ๋ฐ›์€ ์ดํ›„ ์†Œ์ผ“์„ ๋‹ซ๋Š”๋‹ค (Closed)
  • TIME_WAIT ์‹œ๊ฐ„์ด ๋๋‚˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋„ ๋‹ซ๋Š”๋‹ค (Closed)

์ด๋ ‡๊ฒŒ 4๋ฒˆ์˜ ํ†ต์‹ ์ด ์™„๋ฃŒ๋˜๋ฉด ์—ฐ๊ฒฐ ํ•ด์ œ

0๊ฐœ์˜ ๋Œ“๊ธ€