TCP

2024. 8. 12.

cloudflare๋ฌธ์„œ๋ฅผ ์˜ฎ๊ธด ๊ธ€์ž…๋‹ˆ๋‹ค.

[[IP]]๋Š” ํŒจํ‚ท ์ˆœ์„œ ์ง€์ • ๋˜๋Š” ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ๋‹ค๋ฅธ ๋˜ ํ•˜๋‚˜์˜ ํ”„๋กœํ† ์ฝœ์„ ํ•„์š”๋กœ ํ•˜๋ฉฐ ๋Œ€๊ฐœ์˜ ๊ฒฝ์šฐ ์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ(TCP)์ด ๊ทธ ์—ญํ• ์„ ํ•œ๋‹ค.

TCP/IP

TCP/IP ๊ด€๊ณ„๋Š” ํผ์ฆ์— ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์šฐํŽธ์œผ๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๋‹ค. ํผ์ฆ์— ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ํผ์ฆ์€ ์—ฌ๋Ÿฌ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋‰˜์–ด์ง„๋‹ค. ํผ์ฆ์˜ ์กฐ๊ฐ๋“ค์€ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์šฐํŽธ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š”๋ฐ, ์กฐ๊ฐ๋งˆ๋‹ค ์—ฌ๊ธฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋‹ค๋ฅด๋‹ค. ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋œ ํผ์ฆ์˜ ์กฐ๊ฐ๋“ค์€ ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค. IP๋Š” ๊ฐ ์กฐ๊ฐ์ด ๋ชฉ์ ์ง€ ์ฃผ์†Œ์— ๋„์ฐฉํ•˜๋„๋ก ํ•œ๋‹ค. TCP ํ”„๋กœํ† ์ฝœ์€ ๋ฐ˜๋Œ€์ชฝ์—์„œ ์กฐ๊ฐ๋“ค์„ ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋กœ ๋งž์ถ”๊ณ , ๋ˆ„๋ฝ๋œ ์กฐ๊ฐ์„ ๋‹ค์‹œ ๋ณด๋‚ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๊ณ , ๋ฐœ์‹ ์ž์—๊ฒŒ ์กฐ๊ฐ์„ ๋ฐ›์•˜์Œ์„ ์•Œ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. TCP๋Š” ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฐ์„ ๋ณด๋‚ด๊ธฐ ์ „๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์กฐ๊ฐ์„ ๋ณด๋‚ธ ํ›„๊นŒ์ง€ ๋ฐœ์‹ ์ž์™€์˜ ์ ‘์†์„ ์œ ์ง€ํ•œ๋‹ค.

IP๋Š” ์—ฐ๊ฒฐ์ด ์—†๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ฆ‰, ๋ฐ์ดํ„ฐ์˜ ๊ฐ ๋‹จ์œ„๋Š” ๊ฐœ๋ณ„์ ์œผ๋กœ ์ฃผ์†Œ๊ฐ€ ์ง€์ •๋˜๊ณ  ์†Œ์Šค ์žฅ์น˜๋กœ๋ถ€ํ„ฐ ๋Œ€์ƒ ์žฅ์น˜๋กœ ๋ผ์šฐํŒ…๋˜๋ฉฐ, ๋Œ€์ƒ ์žฅ์น˜๋Š” ์ด๋ฅผ ์ˆ˜์‹ ํ–ˆ๋‹ค๋Š” ํ™•์ธ์„ ์†Œ์Šค์— ๋ณด๋‚ด์ง€ ์•Š๋Š”๋‹ค. ์—ฌ๊ธฐ์— TCP์™€ ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์ด ํ•„์š”ํ•ด์ง„๋‹ค. TCP๋Š” IP์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐœ์‹ ์ž์™€ ๋Œ€์ƒ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋ฉฐ ํŒจํ‚ท ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, TCP๋ฅผ ํ†ตํ•ดย ์ด๋ฉ”์ผ์„ ์ „์†กํ•˜๋ฉด ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜๊ณ  3๋ฐฉํ–ฅ ํ•ธ๋“œ์…ฐ์ดํฌ๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค. ์ฒซ์งธ, ๋Œ€ํ™”๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์†Œ์Šค๊ฐ€ SYN โ€œ์ตœ์ดˆ ์š”์ฒญโ€ ํŒจํ‚ท์„ ๋Œ€์ƒ ์„œ๋ฒ„๋กœ ๋ณด๋‚ธ๋‹ค. ๋‹ค์Œ์œผ๋กœ, ๋Œ€์ƒ ์„œ๋ฒ„๊ฐ€ SYN-ACK ํŒจํ‚ท์„ ๋ณด๋‚ด ์ด ๊ณผ์ •์— ๋™์˜ํ•œ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ, ์†Œ์Šค๊ฐ€ ๋Œ€์ƒ์— ACK ํŒจํ‚ท์„ ๋ณด๋‚ด ์ด ๊ณผ์ •์„ ํ™•์ธํ•˜๋ฉฐ, ์ดํ›„ ๋ฉ”์‹œ์ง€ ์ฝ˜ํ…์ธ ๋ฅผ ์ „์†กํ•œ๋‹ค. ์ด๋ฉ”์ผ ๋ฉ”์‹œ์ง€๋Š” ๊ถ๊ทน์ ์œผ๋กœ ํŒจํ‚ท์œผ๋กœ ๋ถ„ํ• ๋œ ํ›„ ์ธํ„ฐ๋„ท์œผ๋กœ ๋ณด๋‚ด์ง€๋ฉฐ, ์ธํ„ฐ๋„ท์—์„œ๋Š” ์ผ๋ จ์˜ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๊ฑฐ์ณ ๋Œ€์ƒ ์žฅ์น˜์— ๋„์ฐฉํ•˜๋Š”๋ฐ, ์—ฌ๊ธฐ์—์„œ ์ด ํŒจํ‚ท๋“ค์ด ๋‹ค์‹œ TCP์— ์˜ํ•ด ์กฐ๋ฆฝ๋˜์–ด ์ด๋ฉ”์ผ์˜ ์›๋ž˜ ๋ฉ”์‹œ์ง€๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

Three - Way Handshake

๋ณธ๊ฒฉ์ ์œผ๋กœ ์ƒ๋Œ€ ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ๋˜๊ธฐ ์ „์— ๊ฐ€์ƒ ์—ฐ๊ฒฐ์„ ํ•ด์„œ ํŒจํ‚ท์œผ๋กœ ๋ณด๋‚ด์„œ ํ™•์ธํ•˜๋Š” ๋™์ž‘์ด๋‹ค.

์ด๋ฆ„์˜๋ฏธ
SYN์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•  ๋•Œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์‹œํ€€์Šค ๋ฒˆํ˜ธ๋ฅผ ๋ณด๋‚ด๋Š” ํŒจํ‚ท
SYN-ACK์‹œํ€€์Šค ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›์€ ์„œ๋ฒ„๊ฐ€ ACK ๊ฐ’์„ ์ƒ์„ฑํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ตํ•˜๋Š” ํŒจํ‚ท
ACKACK ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ์‘๋‹ตํ•˜๋Š” ํŒจํ‚ท

TCP 4๊ณ„์ธต