Post

๐Ÿ’› ๋„คํŠธ์›Œํฌ - TCP 3 way handshake๋ž€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.

3) ๋„คํŠธ์›Œํฌ - TCP 3 way handshake๋ž€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค.

  • IP
    • IP๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋””๋กœ ๋ณด๋‚ผ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์€ ์กฐ๊ฐ(ํŒจํ‚ท)์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ํŒจํ‚ท์ด ๋ชฉ์ ์ง€์— ๋„์ฐฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•œ๋‹ค. ํ•˜์ง€๋งŒ IP๋Š” ํŒจํ‚ท์ด ์ œ๋Œ€๋กœ ๋„์ฐฉํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ๋„์ฐฉ ์ˆœ์„œ๋„ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๊ณ  ํŒจํ‚ท์ด ์†์‹ค ๋  ์ˆ˜ ์žˆ๋‹ค.

    • ์ฆ‰, IP๋Š” ๊ทธ๋ƒฅ โ€œํŒจํ‚ท์„ ๋ณด๋‚ด๋Š”โ€ ์—ญํ• ์„ ํ•œ๋‹ค.

  • TCP
    • TCP๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ๋ณด๋‚ผ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. TCP๋Š” IP ์œ„์—์„œ ๋™์ž‘ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†์ ์ธ ๋ฉ”์‹œ์ง€๋กœ ๋ฐ›์•„ ํŒจํ‚ท์œผ๋กœ ๋‚˜๋ˆ„์–ด IP๋กœ ๋ณด๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŒจํ‚ท์ด ๋ชฉ์ ์ง€์— ์ž˜ ๋„์ฐฉํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๋ˆ„๋ฝ๋˜๊ฑฐ๋‚˜ ์†์ƒ๋œ ํŒจํ‚ท์ด ์žˆ์œผ๋ฉด ๋‹ค์‹œ ์š”์ฒญํ•ด ๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.

    • 3-way handshake๋ผ๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ์žฅ์น˜ ๊ฐ„ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•œ ํ›„, ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

IP๋Š” ์šฐํŽธ์„ ๋ณด๋‚ผ ๋•Œ ์ฃผ์†Œ๋ฅผ ๋ถ™์—ฌ์„œ ํŽธ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ฃผ์†Œ๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์ง€๋งŒ, ํŽธ์ง€๊ฐ€ ์ œ๋Œ€๋กœ ๋„์ฐฉํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. TCP๋Š” ํŽธ์ง€๋ฅผ ํ™•์‹คํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๊ณ  ์ž˜ ๋ฐ›์•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์šฐ์ฒด๋ถ€์ด๋‹ค. ๋„์ฐฉํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์ œ๋Œ€๋กœ ๋„์ฐฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋‹ค์‹œ ๋ณด๋‚ด๋„๋ก ํ•œ๋‹ค.

  • 3-Way handshake๋ž€
    • TCP/IP ํ”„๋กœํ† ์ฝœ๋กœ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์ „์†ก ์ „์— ์ƒํ˜ธ ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฆฝํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ์ƒ๋Œ€๋ฐฉ๊ณผ ๋…ผ๋ฆฌ์  ์„ธ์…˜์„ ๋งบ๋Š” ์‹œ์ž‘์ ์œผ๋กœ ํ•ด๋‹น ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„์— ๋ฐ์ดํ„ฐ๋“ค์ด ์ •์ƒ์ ์œผ๋กœ ์†ก์ˆ˜์‹ ํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ๊ฐ€์ง„๋‹ค.

    • ์ฆ‰, ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์žฅ ๋ฐ ๋ฐ์ดํ„ฐ ์ „์†ก ์ค€๋น„๋ฅผ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด๋ฉฐ 3-Way handshake ๊ณผ์ •์—์„œ ์ •์ƒ์ ์œผ๋กœ ์„ธ์…˜์ด ๋งบ์–ด์ง€์ง€ ์•Š์œผ๋ฉด ํ†ต์‹ ์„ ์ค‘๋‹จํ•œ๋‹ค.

1

  • State ์ •๋ณด
    • CLOSED : ํฌํŠธ๊ฐ€ ๋‹ซํžŒ ์ƒํƒœ

    • LISTEN : ํฌํŠธ๊ฐ€ ์—ด๋ฆฐ ์ƒํƒœ๋กœ ์—ฐ๊ฒฐ ์š”์ฒญ ๋Œ€๊ธฐ์ค‘

    • SYN_RECEIVED : SYN+ACK ์š”์ฒญ์„ ๋ฐ›๊ณ  ์ƒ๋Œ€๋ฐฉ์˜ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘

    • ESTABLISHED : ํฌํŠธ ์—ฐ๊ฒฐ ์ƒํƒœ

    • TIME-WAIT : ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ FIN์„ ์ˆ˜์‹ ํ•˜๋”๋ผ๋„ ์ผ์ •์‹œ๊ฐ„(default : 240์ดˆ)๋™์•ˆ ์„ธ์…˜์„ ๋‚จ๊ฒจ๋†“๊ณ  ์ž‰์—ฌ ํŒจํ‚ท์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ณผ์ •์„ ๋งํ•จ.

  • 3-way handshake ๋™์ž‘๋ฐฉ์‹

    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์ ‘์†์„ ์š”์ฒญํ•˜๋Š” SYN ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ณด๋‚ธ๋‹ค.

    • ์„œ๋ฒ„๋Š” Listen ์ƒํƒœ์—์„œ SYN์ด ๋“ค์–ด์˜จ ๊ฒƒ์„ ํ™•์ธํ•˜๊ณ  SYN-RECEIVED ์ƒํƒœ๋กœ ๋ฐ”๋€Œ์–ด SYN+ACK ํ”Œ๋ž˜๊ทธ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†กํ•œ๋‹ค. ๊ทธ ํ›„ ์„œ๋ฒ„๋Š” ๋‹ค์‹œ ACK ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.

    • SYN+ACK ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์—๊ฒŒ ACK๋ฅผ ๋ณด๋‚ด๊ณ  ์—ฐ๊ฒฐ ์„ฑ๋ฆฝ(Established)์ด ๋œ๋‹ค.

    • ์œ„์™€ ๊ฐ™์ด ์‹ ๋ขฐ์„ฑ์„ ์œ„ํ•ด 3๋ฒˆ์˜ ํ•ธ๋“œ์‰์ดํ‚น์„ ๊ฑฐ์ณ ์—ฐ๊ฒฐ์„ ๋งบ๋Š” ๊ฒƒ์„ 3-Way Handshake๋ผ๊ณ  ํ•œ๋‹ค.

This post is licensed under CC BY 4.0 by the author.