DevLog ๐Ÿ˜ถ

[Network] ํ”„๋กœํ† ์ฝœ ์Šคํƒ์˜ ๋ฐ์ดํ„ฐ ์†ก/์ˆ˜์‹ , ๋ง์†Œ ๊ณผ์ • ์•Œ์•„๋ณด๊ธฐ ๋ณธ๋ฌธ

โœ๏ธ/Network

[Network] ํ”„๋กœํ† ์ฝœ ์Šคํƒ์˜ ๋ฐ์ดํ„ฐ ์†ก/์ˆ˜์‹ , ๋ง์†Œ ๊ณผ์ • ์•Œ์•„๋ณด๊ธฐ

dolmeng2 2023. 4. 27. 22:32

์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ํ”„๋กœํ† ์ฝœ ์Šคํƒ ๋ฐ, ์œ„์—์„œ ์†Œ์ผ“ ์ž‘์„ฑ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์„ ์•Œ์•„๋ณด์•˜์—ˆ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ตฌ์ฒด์ ์œผ๋กœ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์˜ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹  ๋ฐ ๋ง์†Œ ๊ณผ์ •์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค.

 


โœ”๏ธ ์†Œ์ผ“์— ์ ‘์†ํ•˜๊ธฐ

์†Œ์ผ“์„ ๋งŒ๋“ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (๋ธŒ๋ผ์šฐ์ €)๋Š” connect()๋ฅผ ํ˜ธ์ถœํ•˜๊ณ , ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ๋ณธ์ธ ์ชฝ์˜ ์†Œ์ผ“์„ ์„œ๋ฒ„ ์ธก์— ์ ‘์†ํ•œ๋‹ค.

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

 

์šฐ์„ , ๊ธฐ๋ณธ์ ์œผ๋กœ ์†Œ์ผ“์„ ์ƒ์„ฑํ•œ ๋‹ค์Œ์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ†ต์‹  ์ƒ๋Œ€๋„ ๋ชจ๋ฅธ๋‹ค.

๊ทธ๋ž˜์„œ ์˜๋ขฐ๊ฐ€ ์˜จ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋””๋กœ ๋ณด๋‚ด๋ฉด ์ข‹์„์ง€๋„ ์•Œ ์ˆ˜ ์—†๋‹ค.

 

๋ธŒ๋ผ์šฐ์ €๋Š” URL์„ ๋ฐ”ํƒ•์œผ๋กœ ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋ฅผ ์กฐ์‚ฌํ•˜๊ณ , ํฌํŠธ๋Š” ๋ณดํ†ต 80๋ฒˆ์œผ๋กœ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค๋Š” ์ •๋ณด๋Š” ์•Œ๊ณ  ์žˆ์ง€๋งŒ, ์ด๊ฑธ๋กœ๋Š” socket() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋”๋ผ๋„ ์•„๋ฌด ์ผ๋„ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ์„œ๋ฒ„์˜ IP๋‚˜ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์— ์•Œ๋ฆฌ๋Š” ๋™์ž‘์ด ์šฐ์„ ์œผ๋กœ ํ•„์š”ํ•˜๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์„œ๋ฒ„ ์—ญ์‹œ ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ๋ธŒ๋ผ์šฐ์ €์— ๋Œ€ํ•ด ์•„๋ฌด ์ •๋ณด๋„ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ํด๋ผ์ด์–ธํŠธ๋Š” ๋ณดํ†ต ๋ณธ์ธ์˜ IP์™€ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ”ํƒ•์„ ์•Œ๋ ค์„œ ํ†ต์‹ ํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ๊ฒƒ์„ ์ „๋‹ฌํ•œ๋‹ค.

 

์ฆ‰, ์ฒ˜์Œ์—๋Š”  ํ†ต์‹  ์ƒ๋Œ€์™€ ์ œ์–ด ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์•„ ์†Œ์ผ“์— ํ•„์š”ํ•œ ์ •๋ณด ๊ธฐ๋กํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์†ก/์ˆ˜์‹ ์ด ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ ํด๋ผ์ด์–ธํŠธ ์ธก์˜ IP ์ฃผ์†Œ๋‚˜ ํฌํŠธ ๋ฒˆํ˜ธ ๋“ฑ์„ ์„œ๋ฒ„ ์ธก์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค. ์ดํ›„, ๋ฐ์ดํ„ฐ ์†ก/์ˆ˜์‹  ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋ฒ„ํผ๊ฐ€ ํ•„์š”ํ•œ๋ฐ, ์ด๋ฅผ '๋ฒ„ํผ ๋ฉ”๋ชจ๋ฆฌ'๋ผ๊ณ  ํ•˜๋ฉฐ ์ด์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์—ญ์‹œ ์ ‘์† ๋‹จ๊ณ„์—์„œ ์ผ์–ด๋‚œ๋‹ค.

 

์—ฌ๊ธฐ์„œ ๋ฐ์ดํ„ฐ ์†ก/์ˆ˜์‹ ์„ ์œ„ํ•ด ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ• ๊นŒ?

์•„๋ž˜๋Š” TCP ํ—ค๋”์— ๋“ค์–ด๊ฐ€๋Š” ํ•„๋“œ ์ •๋ณด์ด๋‹ค.

ํ•„๋“œ ๋ช…์นญ  ๊ธธ์ด(๋น„ํŠธ) ์„ค๋ช…
์†ก์‹ ์ฒ˜ ํฌํŠธ ๋ฒˆํ˜ธ 16 ์ด ํŒจํ‚ท์„ ์†ก์‹ ํ•œ ์ธก์˜ ํ”„๋กœ๊ทธ๋žจ์˜ ํฌํŠธ ๋ฒˆํ˜ธ
์ˆ˜์‹ ์ฒ˜ ํฌํŠธ ๋ฒˆํ˜ธ 16 ์ด ํŒจํ‚ท์„ ๋ฐ›๋Š” ์ƒ๋Œ€ ํ”„๋กœ๊ทธ๋žจ์˜ ํฌํŠธ ๋ฒˆํ˜ธ
์‹œํ€€์Šค ๋ฒˆํ˜ธ (์†ก์‹  ๋ฐ์ดํ„ฐ์˜ ์ผ๋ จ ๋ฒˆํ˜ธ) 32 ์ด ํŒจํ‚ท์˜ ๋งจ ์•ž ์œ„์น˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์†ก์‹  ๋ฐ์ดํ„ฐ์˜ ๋ช‡ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ์— ํ•ด๋‹นํ•˜๋Š”์ง€ ์†ก์‹ ์ธก์—์„œ ์ˆ˜์‹ ์ธก์— ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ
ACK ๋ฒˆํ˜ธ (์ˆ˜์‹  ๋ฐ์ดํ„ฐ์˜ ์ผ๋ จ ๋ฒˆํ˜ธ) 32 ๋ฐ์ดํ„ฐ๊ฐ€ ๋ช‡ ๋ฐ”์ดํŠธ๊นŒ์ง€ ์ˆ˜์‹ ์ธก์— ๋„์ฐฉํ–ˆ๋Š”์ง€๋ฅผ ์ˆ˜์‹ ์ธก์—์„œ ์†ก์‹ ์ธก์— ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ. 
ACK๋Š” acknowledge์˜ ์•ฝ์ž๋กœ, '์•„ํฌ'๋ผ๊ณ  ์ฝ์Šต๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ ์˜คํ”„์…‹ 4 ๋ฐ์ดํ„ฐ ๋ถ€๋ถ„์ด ์–ด๋””๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
ํ—ค๋”์˜ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ 6 ํ˜„์žฌ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ—ค๋”
์ปจํŠธ๋กค ๋น„ํŠธ 6 ๊ฐ ๋น„ํŠธ๊ฐ€ ๊ฐ๊ฐ ํ†ต์‹  ์ œ์–ด์ƒ์˜ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค.
- URG: ๊ธด๊ธ‰ ํฌ์ธํ„ฐ์˜ ํ•„๋“œ๊ฐ€ ์œ ํšจํ•˜๋‹ค๋Š” ๊ฒƒ.
- ACK : ์ˆ˜์‹  ๋ฐ์ดํ„ฐ์˜ ์ผ๋ จ๋ฒˆํ˜ธ ํ•„๋“œ๊ฐ€ ์œ ํšจํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋ณดํ†ต ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜์‹ ์ธก์— ๋„์ฐฉํ•œ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
- PSH: flush ๋™์ž‘์— ์˜ํ•ด ์†ก์‹ ๋œ ๋ฐ์ดํ„ฐ
- RST: ์ ‘์†์„ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•˜๊ณ  ์ด์ƒ ์ข…๋ฃŒ ์‹œ ์‚ฌ์šฉํ•œ๋‹ค.
- SYN: ์†ก์‹ ์ธก๊ณผ ์ˆ˜์‹ ์ธก์—์„œ ์ผ๋ จ๋ฒˆํ˜ธ๋ฅผ ์„œ๋กœ ํ™•์ธํ•œ๋‹ค. ์ด๊ฑธ๋กœ ์ ‘์† ๋™์ž‘์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
- FIN: ์—ฐ๊ฒฐ ๋ˆํž‰๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
์œˆ๋„์šฐ 16 ์ˆ˜์‹ ์ธก์—์„œ ์†ก์‹ ์ธก์— ์œˆ๋„์šฐ ์‚ฌ์ด์ฆˆ (์ˆ˜์‹  ํ™•์ธ์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋ฌถ์–ด์„œ ์†ก์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์–‘)๋ฅผ ํ†ต์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
์ฒดํฌ์„ฌ 16 ์˜ค๋ฅ˜ ์œ ๋ฌด ๊ฒ€์‚ฌ
๊ธด๊ธ‰ ํฌ์ธํ„ฐ 16 ๊ธด๊ธ‰ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜
์˜ต์…˜ ๊ฐ€๋ณ€ ๊ธธ์ด ์œ„์˜ ํ—ค๋” ํ•„๋“œ ์ด์™ธ์˜ ์ œ์–ด ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•ด, ํ—ค๋”์— ์˜ต์…˜ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ ‘์† ๋™์ž‘์„ ์ œ์™ธํ•˜๋ฉด ์˜ต์…˜ ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ๊ฐ€ ์ ๋‹ค.

 

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

์•„์ง์€ ์ ‘์†์„ ํ•˜๋Š” ๋‹จ๊ณ„์ด๊ธฐ ๋•Œ๋ฌธ์— ํŒจํ‚ท ๋‚ด์šฉ์—๋Š” ์ œ์–ด ์ •๋ณด๋งŒ ์žˆ์œผ๋ฉฐ, ์ด ์ œ์–ด ์ •๋ณด๋ฅผ ๋งจ ์•ž๋ถ€๋ถ„์— ๋ฐฐ์น˜ํ•˜๋Š” ๊ณณ๋ถ€ํ„ฐ 'ํ—ค๋”'๋ผ๊ณ  ๋งํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•˜๋Š” ํ—ค๋”์˜ ๊ฒฝ์šฐ TCP ํ—ค๋”๋ผ๊ณ  ๋งํ•œ๋‹ค.

 

์ฐธ๊ณ ๋กœ ํŒจํ‚ท ์ „์ฒด๋Š” 'ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ'์˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์˜๋ฏธํ•œ ๊ฒƒ์ด๋‹ค.

 

์œ„์˜ ๋ชจ์Šต์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ์ฃผ๊ณ ๋ฐ›๋Š” ์ œ์–ด ์ •๋ณด์ด๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ ํŒจํ‚ท์˜ ๋ชจ์Šต์ด๋‹ค. 

๋งŒ์•ฝ ์ œ์–ด ๋™์ž‘์ด๋‚˜ ์—ฐ๊ฒฐ ๋Š๊ธฐ ๋™์ž‘์—์„œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋‹ค๋ฉด ์ œ์–ด ์ •๋ณด๋งŒ ์ฃผ๊ณ ๋ฐ›์•˜์„ ํ…๋ฐ, ์ด๋•Œ๋Š” ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์ด ๋น ์ง„๋‹ค.

ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ๋‚ด๋ถ€์— ์ €์žฅ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ†ต์ง€๋œ ์ •๋ณด๋‚˜ ํ†ต์‹  ์ƒ๋Œ€๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ์ •๋ณด, ์ง„ํ–‰ ์ƒํ™ฉ ๋“ฑ์„ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ์›€์ง์ธ๋‹ค. ๊ทธ๋ž˜์„œ ์†Œ์ผ“์˜ ์ œ์–ด ์ •๋ณด๋Š” ํ”„๋กœํ† ์ฝœ ์Šคํƒ์˜ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ผ์ฒดํ™” ๋˜์–ด ์žˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜๋„ ์žˆ๋‹ค. (์‚ฌ์‹ค ํ”„๋กœํ† ์ฝœ์„ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ๋‹ฌ๋ ค์žˆ๋‹ค)

๋˜ํ•œ, ์†Œ์ผ“์— ๊ธฐ๋กํ•œ ์ œ์–ด ์ •๋ณด๋Š” ์ƒ๋Œ€์ธก์—์„œ ๋ณผ ์ˆ˜ ์—†๋‹ค. ๊ทœ์น™์— ๋”ฐ๋ผ ํ—ค๋”์— ๊ธฐ๋ก๋œ ์ œ์–ด ์ •๋ณด๋กœ๋„ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์„œ๋กœ ์—ฐ๋ฝ์„ ์ทจํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ†ต์‹  ๋™์ž‘์— ์ด์šฉ๋˜๋Š” ์ œ์–ด ์ •๋ณด
- ํ—ค๋”์— ๊ธฐ์ž…๋˜๋Š” ์ •๋ณด
- ์†Œ์ผ“ (ํ”„๋กœํ† ์ฝœ ์Šคํƒ์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ)์— ๊ธฐ๋ก๋˜๋Š” ์ •๋ณด

 

์ž, ๋‹ค์‹œ ๋Œ์•„๊ฐ€์„œ connect() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์‹œ์ ์„ ์ƒ๊ฐํ•ด๋ณด์ž.

์ด๋•Œ ์„œ๋ฒ„์ธก์˜ IP ์ฃผ์†Œ์™€ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์“ฐ๋ฉด ๋ช…๋ น์ด ํ”„๋กœํ† ์ฝœ ์Šคํƒ์˜ TCP ์ชฝ์œผ๋กœ ์ „๋‹ฌ๋œ๋‹ค.

์ „๋‹ฌ๋œ TCP๋Š” ์„œ๋ฒ„์˜ TCP์™€ ์ œ์–ด ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋ฐ, ๋จผ์ € ์ œ์–ด ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•œ ํ—ค๋”๋ฅผ ๋งŒ๋“ ๋‹ค.

 

์•„๊นŒ ์œ„์—์„œ ์ž‘์„ฑํ•œ ํ‘œ ์ค‘์—์„œ '์†ก์‹ ์ฒ˜'์™€ '์ˆ˜์‹ ์ฒ˜'์˜ 'ํฌํŠธ๋ฒˆํ˜ธ' ์ •๋ณด๊ฐ€ ํ—ค๋”์— ์žˆ๋˜ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด 2๊ฐ€์ง€์˜ ์ •๋ณด๋ฅผ ํ†ตํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์ธก์˜ ์†Œ์ผ“์„ ์ง€์ •ํ•˜์—ฌ ์–ด๋–ค ์†Œ์ผ“์œผ๋กœ ์ ‘์†ํ•ด์•ผ ํ• ์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.

ํŒ๋‹จํ•œ ์ดํ›„์—๋Š” ์ปจํŠธ๋กค ๋น„ํŠธ์ธ 'SYN' ๋น„ํŠธ๋ฅผ 1๋กœ ๋งŒ๋“œ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ๋งŒ๋“  ํ—ค๋”๋ฅผ IP์—๊ฒŒ ๊ฑด๋„ค์ค€๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ IP์—์„œ๋„ ์–ด๋– ํ•œ ๋™์ž‘์„ ํ•˜๊ณ , ์„œ๋ฒ„์— ๋„์ฐฉํ•˜๋ฉด ์„œ๋ฒ„ ์ธก์˜ IP๊ฐ€ ์ด๋ฅผ ๋ฐ›๊ณ , ๋‹ค์‹œ ์„œ๋ฒ„ ์ธก์˜ TCP๊ฐ€ ๋ฐ›๋Š”๋‹ค.

์„œ๋ฒ„ ์ธก์˜ TCP๋Š” ํ—ค๋” ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ˆ˜์‹ ์ฒ˜์˜ ์†Œ์ผ“์„ ์ฐพ์•„๋‚ด๊ณ , ํ•ด๋‹น ์†Œ์ผ“์—๊ฒŒ ์ง„ํ–‰ ์ค‘์ด๋ผ๊ณ  ์‘๋‹ตํ•œ๋‹ค.

์„œ๋ฒ„์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ์†ก/์ˆ˜์‹ ์ฒ˜์˜ ํฌํŠธ ๋ฒˆํ˜ธ์™€ SYN=1์ธ ํ—ค๋”๋ฅผ ๋งŒ๋“ค๊ณ , ์ถ”๊ฐ€์ ์œผ๋กœ 'ACK'๋ผ๋Š” ๋น„ํŠธ๋„ 1๋กœ ๋งŒ๋“ ๋‹ค. (ํด๋ผ์ด์–ธํŠธ์—์„œ๋Š” 0์ด์—ˆ์Œ) ์ด๋ ‡๊ฒŒ ๋งŒ๋“  ํ—ค๋”๋ฅผ IP์—๊ฒŒ ์ฃผ๊ณ , ๋˜ ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ์˜ IP -> TCP๋กœ ๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค.

 

ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹ค์‹œ TCP ํ—ค๋”๋ฅผ ์กฐ์‚ฌํ•˜์—ฌ ์ ‘์† ๋™์ž‘์ด ์„ฑ๊ณตํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , SYN์ด 1์ด๋ฉด ์†Œ์ผ“์— ์ ‘์† ์™„๋ฃŒ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•˜๊ณ , ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํŒจํ‚ท์ด ๋„์ฐฉํ•œ ๊ฒƒ์„ ์„œ๋ฒ„์—๊ฒŒ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ ACK ๋น„ํŠธ๋ฅผ 1๋กœ ๋งŒ๋“  TCP ํ—ค๋”๋ฅผ ๋ฐ˜์†กํ•œ๋‹ค.

์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์กŒ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ '์ปค๋„ฅ์…˜'์„ ์œ ์ง€ํ•˜๋ฉด์„œ close๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ๋Š์„ ๋•Œ๊นŒ์ง€ ๊ณ„์† ์œ ์ง€๋˜๋ฉฐ, ์ปค๋„ฅ์…˜์ด ์™„๋ฃŒ๋˜๋ฉด ํ”„๋กœํ† ์ฝœ ์Šคํƒ์˜ ์ ‘์† ๋™์ž‘์ด ๋๋‚˜๊ธฐ ๋•Œ๋ฌธ์— connect์˜ ์‹คํ–‰์ด ๋๋‚˜๋ฉด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 


โœ”๏ธ ๋ฐ์ดํ„ฐ ์†ก/์ˆ˜์‹ ํ•˜๊ธฐ

์ด์ œ ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ํ•œ ๋ฒˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

write๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์†ก์‹  ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ํ”„๋กœํ† ์ฝœ ์Šคํƒ์— ๊ฑด๋„ค์ค€๋‹ค. 

์ด๋ฅผ ๋ฐ›์€ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค.

 

 

๐ŸŒฑ 1. ๋ฐ›์€ ๋ฐ์ดํ„ฐ ๋‚ด์šฉ์„ ์•Œ ์ˆ˜ ์—†๋‹ค.

write๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์†ก์‹  ๋ฐ์ดํ„ฐ์˜ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•˜์ง€๋งŒ, ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ํ•ด๋‹น ๊ธธ์ด๋งŒํผ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ 1๋ฐ”์ดํŠธ์”ฉ ๋‚˜์—ด๋˜์–ด ์žˆ๋‹ค๊ณ ๋งŒ ์ธ์‹ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ”„๋กœํ† ์ฝœ์€ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ '์†ก์‹ ์šฉ ๋ฒ„ํผ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ'์— ์ €์žฅํ•œ๋‹ค.

 

์™œ๋ƒํ•˜๋ฉด, ์†ก์‹ ์„ ์˜๋ขฐํ•  ๋•Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์— ๊ฑด๋„ค์ฃผ๋Š” ๋ฐ์ดํ„ฐ ๊ธธ์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ”„๋กœํ† ์ฝœ์—์„œ ์ œ์–ดํ•  ์ˆ˜ ์—†์œผ๋‹ˆ ๋ฐ์ดํ„ฐ๋ฅผ ์šฐ์„  ์ €์žฅํ•˜๊ณ  ๋‚˜์„œ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋”ฐ๋ผ ๋™์ž‘์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ค€์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰˜๋Š”๋ฐ, ํ•˜๋‚˜๋Š” 'ํ•œ ํŒจํ‚ท์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ', ํ•˜๋‚˜๋Š” 'ํƒ€์ด๋ฐ' ์ด๋‹ค.

 

fํ”„๋กœํ† ์ฝœ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ MTU (Maximum Transmission Unit)๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํŒ๋‹จํ•˜๋Š”๋ฐ, ํŒจํ‚ท์˜ ๋งจ ์•ž ๋ถ€๋ถ„์— ํ—ค๋”๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ—ค๋” ์ •๋ณด๋ฅผ ์ œ์™ธํ•œ ๊ฒƒ์„ MSS (Maximum Segment Size)๋ผ๊ณ  ํ•œ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๊ฐ€ MSS์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์†ก์‹  ๋™์ž‘์„ ํ•˜๋ฉด ํŒจํ‚ท์ด ๋‚˜๋ˆ„์–ด์งˆ ๊ฑฑ์ •์„ ํ•  ํ•„์š”๋Š” ์—†๋‹ค. ๋งŒ์•ฝ, ์†ก์‹  ์†๋„๊ฐ€ ๋Š๋ ค์ง€๋Š” ๊ฒฝ์šฐ MSS์— ๊ฐ€๊น๊ฒŒ ์ €์žฅํ•˜๋ฉด ์ €์žฅํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์œผ๋กœ ์ธํ•ด ์†ก์‹  ๋™์ž‘์ด ์ง€์—ฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๋ถ€์˜ ํƒ€์ด๋จธ๋ฅผ ํ†ตํ•ด ์ผ์ • ์‹œ๊ฐ„์ด ๊ฒฝ๊ณผํ•˜๋ฉด ํŒจํ‚ท์„ ์†ก์‹ ํ•œ๋‹ค.

 

๐Ÿ’ฌ MSS๋ฅผ ์ค‘์‹œํ•˜๋ฉด ํŒจํ‚ท ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ํšจ์œจ์ด ๋†’์•„์ง€์ง€๋งŒ, ๋ฒ„ํผ์— ๋จธ๋ฌด๋Š” ์‹œ๊ฐ„๋งŒํผ ์†ก์‹  ๋™์ž‘์ด ์ง€์—ฐ๋œ๋‹ค.
๋ฐ˜๋Œ€๋กœ ํƒ€์ด๋ฐ์„ ์ค‘์‹œํ•˜๊ฒŒ ๋˜๋ฉด ์ง€์—ฐ์€ ์ค„์–ด๋“ค์ง€๋งŒ, ํšจ์œจ์ด ๋–จ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœํ† ์ฝœ ์Šคํƒ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž˜ ์ ˆ์ถฉํ•ด์•ผ ํ•œ๋‹ค.

- ๋ฌผ๋ก , ์ด๋ ‡๊ฒŒ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์—๋งŒ ์ „๋ถ€ ๋งก๊ธธ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธก์—์„œ ์†ก์‹ ์˜ ํƒ€์ด๋ฐ์„ ์ œ์–ดํ•˜๋Š” ์—ฌ์ง€๋„ ๋‚จ๊ฒจ๋‘์—ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์†ก์‹ ์„ ์˜๋ขฐํ•  ๋•Œ ์˜ต์…˜์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฒ„ํผ์— ์ €์žฅ ์—†์ด ๋ฐ”๋กœ ์†ก์‹ ํ•˜๋„๋ก ํ•˜๋ฉด ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ๋ฐ”๋กœ ์†ก์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 


๐ŸŒฑ 2. ๋ฐ์ดํ„ฐ๊ฐ€ ํฌ๋ฉด ๋ถ„ํ• ํ•œ๋‹ค.

HTTP ๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”์‹œ์ง€๋Š” ๋ณ„๋กœ ์•ˆ ๊ธธ์ง€๋งŒ, ํผ๋ฐ์ดํ„ฐ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ๋˜๊ฒŒ ๊ธธ๋‹ค.

์ด๋Ÿฌ๋ฉด MSS์˜ ๊ธธ์ด๋ฅผ ์ดˆ๊ณผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ธฐ์— ๋งž๊ฒŒ ๋ถ„ํ• ํ•˜๊ณ , ๋ถ„ํ• ํ•œ ์กฐ๊ฐ์„ ํ•œ ๊ฐœ์”ฉ ํŒจํ‚ท์— ๋„ฃ์–ด ์†ก์‹ ํ•ด์•ผ ํ•œ๋‹ค.

์š”๋Ÿฐ ์‹์œผ๋กœ ์ชผ๊ฐœ์–ด์„œ ๋„ฃ๋Š”๋‹ค

์†ก์‹  ๋ฒ„ํผ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” MSS ๊ธธ์ด๋ฅผ ์ดˆ๊ณผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋‹ค๋ฆด ํ•„์š”๊ฐ€ ์—†๋‹ค.

๊ทธ๋ƒฅ ์†ก์‹  ๋ฒ„ํผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋งจ ์•ž๋ถ€ํ„ฐ MSS์— ๋งž๊ฒŒ ๋ถ„ํ• ํ•˜๊ณ , ๋ถ„ํ• ๋œ ์กฐ๊ฐ์„ ํ•œ ๊ฐœ์”ฉ ํŒจํ‚ท์— ๋„ฃ์–ด ์†ก์‹ ํ•œ๋‹ค.

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

 


 

๐ŸŒฑ 3. ACK ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ท์ด ๋„์ฐฉํ–ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค

TCP์˜ ๊ฒฝ์šฐ ์†ก์‹ ํ•œ ํŒจํ‚ท์ด ์ƒ๋Œ€์—๊ฒŒ ๋„์ฐฉํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๋„์ฐฉํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋‹ค์‹œ ์†ก์‹ ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

 

์šฐ์„ , ๊ธฐ๋ณธ์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ํ™•์ธํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.

TCP๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ๊ฐ์œผ๋กœ ๋ถ„ํ• ํ•  ๋•Œ ๊ฐ ์กฐ๊ฐ์ด ๋ช‡ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ์— ํ•ด๋‹นํ•˜๋Š”์ง€ ์„ธ์–ด๋‘”๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์„ ์†ก์‹ ํ•  ๋•Œ ์„ธ์–ด๋‘” ๊ฐ’์„ TCP ํ—ค๋”์— ๊ธฐ๋กํ•˜๋Š”๋ฐ, '์‹œํ€€์Šค ๋ฒˆํ˜ธ'๋ผ๋Š” ํ•ญ๋ชฉ์ด ํ•ด๋‹น๋œ๋‹ค.

์†ก์‹ ํ•˜๋Š” ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋„ ์ˆ˜์‹ ์ธก์— ์ „๋‹ฌํ•˜์ง€๋งŒ, ํŒจํ‚ท์˜ ์ „์ฒด ๊ธธ์ด์—์„œ ํ—ค๋” ๊ธธ์ด๋ฅผ ๋นผ๋ฉด ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ํ—ค๋”์ด ๊ธฐ๋กํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. 

 

ํŠนํžˆ, ์ด๋ ‡๊ฒŒ ๊ณ„์‚ฐํ•˜๋Š” ๊ณผ์ •์—์„œ ์ˆ˜์‹ ์ธก์€ ํŒจํ‚ท์˜ ๋ˆ„๋ฝ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

๋งŒ์•ฝ 1460 ๋ฐ”์ดํŠธ๊นŒ์ง€ ์ˆ˜์‹ ์„ ์™„๋ฃŒํ•œ ์ƒํƒœ์—์„œ, ์‹œํ€€์Šค ๋ฒˆํ˜ธ๊ฐ€ 1461์ด๋ผ๋ฉด ํŒจํ‚ท ๋ˆ„๋ฝ์ด ์—†๋Š” ๊ฒƒ์ด๊ฒ ์ง€๋งŒ, ์‹œํ€€์Šค ๋ฒˆํ™” 1461์ด ๋„์ฐฉ๋„ ์•ˆ ํ–ˆ๋Š”๋ฐ 2921์ธ ํŒจํ‚ค์‹ฑ ๋„์ฐฉํ–ˆ๋‹ค๋ฉด ๋ˆ„๋ฝ๋œ ๊ฒƒ์„ ์œ ์ถ”ํ•ด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

๋งŒ์•ฝ, ๋ˆ„๋ฝ์ด ์—†๋‹ค๋ฉด ์ˆ˜์‹ ์ธก์€ ๊ทธ ์ด์ „์— ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ์™€ ํ•ฉ์ณ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ช‡ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ๊นŒ์ง€ ์ˆ˜์‹ ํ•œ ๊ฒƒ์ธ์ง€ ๊ณ„์‚ฐํ•˜๊ณ , ๊ทธ ๊ฐ’์„ TCP ํ—ค๋”์˜ ACK ๋ฒˆํ˜ธ์— ๊ธฐ๋กํ•˜์—ฌ ์†ก์‹ ์ธก์—๊ฒŒ ์•Œ๋ ค์ค€๋‹ค.

 

์‹œํ€€์Šค ๋ฒˆํ˜ธ๋Š” 1์ด ์•„๋‹Œ ๋‚œ์ˆ˜๋ฅผ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์‚ผ๋Š”๋‹ค. 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค๊ณ  ์ •ํ•ด์กŒ๋‹ค๋ฉด ์•…์˜์ ์ธ ๊ณต๊ฒฉ์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ•˜์ง€๋งŒ ๋ช‡ ๋ฒˆ์งธ ์ดˆ๊ธฐ๊ฐ’์ธ์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ๊ฐ’์€ ์†ก/์ˆ˜์‹  ์ „์— ๋ฏธ๋ฆฌ ์•Œ๋ ค์ค€๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ์—์„œ SYN=1์„ ์ „์†กํ–ˆ๋˜ ๊ทธ๋ฆผ์ด ๋– ์˜ค๋ฅผ ๊ฒƒ์ด๋‹ค. ๊ฑฐ๊ธฐ์„œ SYN=1๋กœ ์„œ๋ฒ„์—๊ฒŒ ๋ณด๋‚ผ ๋•Œ ์ดˆ๊ธฐ๊ฐ’์„ ํ†ต์ง€ํ•œ๋‹ค.

 

 

๐Ÿ’ฌ ๊ทธ๋ ‡๋‹ค๋ฉด, ๋งŒ์•ฝ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ํ†ต์‹ ํ•  ๋•Œ๋Š” ๊ดœ์ฐฎ์„๊นŒ?

์ง€๊ธˆ๊นŒ์ง€ ๋‹จ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๋•Œ๋งŒ ๊ณ ๋ คํ–ˆ์—ˆ๋‹ค. 

ํ•˜์ง€๋งŒ, TCP์˜ ๋ฐ์ดํ„ฐ ์†ก/์ˆ˜์‹ ์€ ์–‘๋ฐฉํ–ฅ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด์— ๋Œ€ํ•ด์„œ๋„ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.

 

๋„ค๋ชจ๋Š” ์ ‘์† ๋™์ž‘๊ณผ ์†ก/์ˆ˜์‹  ๋™์ž‘์˜ ๊ตฌ๋ถ„์ด๋‹ค.

 

๋จผ์ €, ํด๋ผ์ด์–ธํŠธ -> ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋Š” ์‹œํ€€์Šค ๋ฒˆํ˜ธ๋Š” ํด๋ผ์ด์–ธํŠธ์—์„œ ์‚ฐ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ์„œ๋ฒ„์—๊ฒŒ ํ†ต์ง€ํ•œ๋‹ค.

์ด๊ฒƒ์ด ํ†ต๊ณผํ•˜๋ฉด ์„œ๋ฒ„์ธก์—์„œ๋Š” ACK ๋ฒˆํ˜ธ๋ฅผ ์‚ฐ์ถœํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜์†กํ•œ๋‹ค.

๋ฐ˜๋Œ€๋กœ, ์„œ๋ฒ„ -> ํด๋ผ์ด์–ธํŠธ์— ๋ณด๋‚ด๋Š” ์‹œํ€€์Šค ๋ฒˆํ˜ธ๋Š” ์„œ๋ฒ„์ธก์—์„œ ์‚ฐ์ถœํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์— ํ†ต์ง€ํ•˜๊ณ , ์ด๊ฒƒ์ด ๋„์ฐฉํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ์ธก์€ ์ด๋ฅผ ๋ฐ›์•„ ACK ๋ฒˆํ˜ธ๋ฅผ ์‚ฐ์ถœํ•˜์—ฌ ์„œ๋ฒ„์— ๋ฐ˜์†กํ•œ๋‹ค. 

์ด๋ ‡๊ฒŒ ์ดˆ๊ธฐ๊ฐ’๋„ ์–‘์ชฝ์—์„œ, ์ ‘์† ๋™์ž‘์„ ํ•  ๋•Œ๋„ ์„œ๋กœ ํ†ต์ง€ํ•˜๊ฒŒ ๋œ๋‹ค.

 

์ž, ๊ทธ๋Ÿฌ๋ฉด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ์›€์ง์ด๋Š”์ง€ ์‚ดํŽด๋ณด์ž.

1. ํด๋ผ์ด์–ธํŠธ -> ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์‹œํ€€์Šค ๋ฒˆํ˜ธ์˜ ์ดˆ๊ธฐ๊ฐ’์„ ํด๋ผ์ด์–ธํŠธ์—์„œ ์‚ฐ์ถœ ํ›„, ์„œ๋ฒ„์— ํ†ต์ง€
2. ์„œ๋ฒ„๋Š” ๋ฐ›์€ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ๋ถ€ํ„ฐ ACK ๋ฒˆํ˜ธ๋ฅผ ์‚ฐ์ถœ ํ›„ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ˜์†ก
3. ์„œ๋ฒ„ ์—ญ์‹œ ํด๋ผ์ด์–ธํŠธ์— ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ์— ๊ด€ํ•œ ์‹œํ€€์Šค ๋ฒˆํ˜ธ์˜ ์ดˆ๊ธฐ๊ฐ’์„ ์‚ฐ์ถœํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ํ•จ๊ป˜ ํ†ต์ง€
4. ํด๋ผ์ด์–ธํŠธ๋„ ๋ฐ›์€ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ๋ถ€ํ„ฐ ACK ๋ฒˆํ˜ธ ์‚ฐ์ถœ ํ›„ ์„œ๋ฒ„์—๊ฒŒ ๋ฐ˜์†ก
5. (๊ธฐ์กด์€ ์–‘๋ฐฉํ–ฅ์ด์ง€๋งŒ ์›น์˜ ๊ฒฝ์šฐ) ์ตœ์ดˆ๋กœ ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ , ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ์‹œํ€€์Šค ๋ฒˆํ˜ธ ์ „์†ก
6. ์„œ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ACK ๋ฒˆํ˜ธ ๋ฐ˜์†ก (๋งŒ์•ฝ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ธ๋‹ค๋ฉด 5, 6์˜ ํ™”์‚ดํ‘œ ๋ฐฉํ–ฅ ๋ณ€๊ฒฝ)

TCP ์—ญ์‹œ ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ๋Œ€๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์€ ๊ฒƒ์„ ํ™•์ธํ•˜๋ฉฐ, ํ™•์ธํ•  ๋•Œ๊นŒ์ง€ ์†ก์‹ ํ•œ ํŒจํ‚ท์„ ์†ก์‹ ์šฉ ๋ฒ„ํผ ๋ฉ”๋ชจ๋ฆฌ์— ๋ณด๊ด€ํ•œ๋‹ค.

๋งŒ์•ฝ ์†ก์‹ ํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ACK ๋ฒˆํ˜ธ๊ฐ€ ์ƒ๋Œ€๋กœ๋ถ€ํ„ฐ ์˜ค์ง€ ์•Š์œผ๋ฉด ํŒจํ‚ท์„ ์žฌ์ „์†กํ•œ๋‹ค.

 

โญ๏ธ ์œ„์˜ ๊ตฌ์กฐ๋Š” ํŒจํ‚ท์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋„์ฐฉํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ๋‹ค์‹œ ๋ณด๋‚ด๊ธฐ ๋•Œ๋ฌธ์—, ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ํšŒ๋ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋˜ํ•œ, ์ด๊ณณ์—์„œ ํšŒ๋ณต ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— LAN ์–ด๋Œ‘ํ„ฐ๋‚˜ ๋ฒ„ํผ, ๋ผ์šฐํ„ฐ ๋ชจ๋‘ ํšŒ๋ณต ์กฐ์น˜๋ฅผ ์ทจํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

๊ทธ์ € ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๋ฉด ํŒจํ‚ท์„ ๋ฒ„๋ฆฌ๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค.

- ์ฐธ๊ณ ๋กœ, ์ผ€์ด๋ธ” ๋ถ„๋ฆฌ๋‚˜ ์„œ๋ฒ„ ๋‹ค์šด ๊ฐ™์€ ๊ฒฝ์šฐ ๋ช‡ ๋ฒˆ์ด๋‚˜ ์žฌ์ „์†ก์„ ํ•˜๋”๋ผ๋„ ์œ ์‹ค๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋•Œ๋Š” ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์˜ค๋ฅ˜๋ฅผ ํ†ต์ง€ํ•œ๋‹ค.

 


 

๐ŸŒฑ 4. ํŒจํ‚ท ํ‰๊ท  ์™•๋ณต ์‹œ๊ฐ„์œผ๋กœ ACK ๋ฒˆํ˜ธ์˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์กฐ์ •ํ•œ๋‹ค.

๐Ÿ’ฌ ํƒ€์ž„์•„์›ƒ: ACK ๋ฒˆํ˜ธ๊ฐ€ ๋Œ์•„์˜ค๊ธธ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„.

 

๋ณดํ†ต ACK ๋ฒˆํ˜ธ๊ฐ€ ์ง€์—ฐ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ํ˜ผ์žกํ•  ๋•Œ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์—, ๋ฒˆํ˜ธ๊ฐ€ ์˜ค์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋ฌด์ž‘์ • ํŒจํ‚ท์„ ์ „์†กํ•˜๋ฉด ์˜คํžˆ๋ ค ์ƒํ™ฉ์„ ์•…ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ํƒ€์ž„์•„์›ƒ ์‹œ๊ฐ„์€ ์ ์ ˆํ•œ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

TCP์˜ ๊ฒฝ์šฐ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ACK ๋ฒˆํ˜ธ๊ฐ€ ๋Œ์•„์˜ค๋Š” ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ํŒ๋‹จํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ์†ก์‹  ์‹œ ACK ๋ฒˆํ˜ธ๊ฐ€ ๋Œ์•„์˜ค๋Š” ์‹œ๊ฐ„์„ ํ•ญ์ƒ ์ธก์ •ํ•ด๋‘๊ณ , ๊ทธ์— ๋”ฐ๋ผ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ๋ณ€ํ™”์‹œํ‚ค๊ณ  ์žˆ๋‹ค. (์ตœ์†Œ๋Š” 0.5~1์ดˆ)

 


 

๐ŸŒฑ 5. ์œˆ๋„์šฐ ์ œ์–ด ๋ฐฉ์‹์„ ํ†ตํ•ด ํšจ์œจ์ ์œผ๋กœ ACK ๋ฒˆํ˜ธ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.

๐Ÿ’ฌ ์œˆ๋„์šฐ ์ œ์–ด: ํ•œ ๊ฐœ์˜ ํŒจํ‚ท์„ ๋ณด๋‚ธ ํ›„, ACK ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์ฐจ๋ก€๋กœ ์—ฐ์†๋œ ํŒจํ‚ท์„ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•

 

ACK ๋ฒˆํ˜ธ๊ฐ€ ๋Œ์•„์˜ฌ ๋•Œ๊นŒ์ง€ ์•„๋ฌด ์ผ๋„ ์•ˆ ํ•˜๋Š” ๊ฑฐ๋Š” ๋งค์šฐ ๋‚ญ๋น„๋‹ค.

TCP๋Š” ACK ๋ฒˆํ˜ธ๊ฐ€ ๋Œ์•„์˜ฌ ๋•Œ๊นŒ์ง€ '์œˆ๋„์šฐ ์ œ์–ด'๋ผ๋Š” ๋ฐฉ์‹์„ ํ†ตํ•ด ์†ก์‹ ๋„ ํ•จ๊ป˜ ์ง„ํ–‰ํ•œ๋‹ค.

 

ํ•˜์ง€๋งŒ, ์ด ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

์ˆ˜์‹ ์ธก์˜ TCP์˜ ๊ฒฝ์šฐ ์ผ๋‹จ ํŒจํ‚ท์„ ๋ฐ›์œผ๋ฉด ์ด๋ฅผ ์ˆ˜์‹ ์šฉ ๋ฒ„ํผ ๋ฉ”๋ชจ๋ฆฌ์— ๋ณด๊ด€ํ•œ๋‹ค.

๊ธฐ์กด ๊ฐ™์•˜์œผ๋ฉด ์ˆ˜์‹ ์ธก์€ ACK ๋ฒˆํ˜ธ๋ฅผ ๊ณ„์‚ฐํ•˜๊ฑฐ๋‚˜ ์กฐ๊ฐ์„ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•œ ๋‹ค์Œ! ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๊ฒŒ ๊ฑด๋„ค์ฃผ์–ด์•ผ ํ•˜๋‹ˆ๊นŒ ๋‹ค์Œ ํŒจํ‚ท์ด ์™€๋„ ์ˆ˜์‹  ๋ฒ„ํผ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋ณด๊ด€ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ฑด๋„ค์ฃผ๋Š” ์†๋„๋ณด๋‹ค ๋น ๋ฅธ ์†๋„๋กœ ํŒจํ‚ท์ด ์˜ค๊ฒŒ ๋˜๋ฉด ์ˆ˜์‹  ๋ฒ„ํผ๋Š” ๋„˜์น˜๊ณ  ๋งŒ๋‹ค. 

๊ทธ๋ž˜์„œ ์ˆ˜์‹ ์ธก์—์„œ ์†ก์‹ ์ธก์— ์ˆ˜์‹  ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ์–‘์„ ํ†ต์ง€ํ•˜๊ณ , ์ˆ˜์‹ ์ธก์€ ์ด ์–‘์„ ํ†ต์ง€ํ•˜์ง€ ์•Š๋„๋ก ์†ก์‹  ๋™์ž‘์„ ์‹คํ–‰ํ•œ๋‹ค.

 

โญ๏ธ ์ˆ˜์‹ ์ธก์€ ์ˆ˜์‹  ๋ฒ„ํผ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ ๋ณด๊ด€ํ•˜๊ณ , ์ˆ˜์‹  ์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
- ์ˆ˜์‹  ์ฒ˜๋ฆฌ๊ฐ€ ๋๋‚˜๊ณ  ๋ฒ„ํผ์— ๋นˆ ๊ณต๊ฐ„์ด ์ƒ๊ธฐ๋ฉด ๊ทธ ๋ถ„๋Ÿ‰๋งŒํผ ์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์–‘์„ ๋Š˜๋ฆฐ๋‹ค!
๊ทธ๋ฆฌ๊ณ , ์ด๋ฅผ TCP ํ—ค๋”์˜ '์œˆ๋„์šฐ ํ•„๋“œ'์—์„œ ์†ก์‹ ์ธก์— ์•Œ๋ฆฐ๋‹ค.

์ˆ˜์‹  ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ์–‘์˜ ์ตœ๋Œ€๊ฐ’์„ '์œˆ๋„์šฐ ์‚ฌ์ด์ฆˆ'๋ผ๊ณ  ํ•˜๋ฉฐ, TCP๋ฅผ ์ •๋ฐ€ ์กฐ์ •ํ•˜๋Š” ๋งค๊ฐœ ๋ณ€์ˆ˜ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

 


 

๐ŸŒฑ 6. ACK ๋ฒˆํ˜ธ์™€ ์œˆ๋„์šฐ๋ฅผ ํ•ฉ์Šนํ•œ๋‹ค.

์ˆ˜์‹  ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์‹  ๋ฒ„ํผ์— ํ†ต์ง€๋œ๋‹ค๋ฉด, ์œˆ๋„์šฐ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์ˆ˜์‹ ์ธก์— ํ†ต์ง€ํ•  ํ•„์š”๋Š” ์—†๋‹ค.

์œˆ๋„์šฐ ๊ฐ’์€ ์†ก์‹ ์ธก์ด ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์‹ ํ•  ๋•Œ๋งˆ๋‹ค ๋ณธ์ธ์ด ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋งŒํผ ๊ฐ์‚ฐํ•˜์—ฌ ์Šค์Šค๋กœ ์‚ฐ์ถœํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

์œˆ๋„์šฐ ํ†ต์ง€๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์€, ์ˆ˜์‹ ์ธก์ด ์ˆ˜์‹  ๋ฒ„ํผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๊ฒŒ ๊ฑด๋„ค์ฃผ์—ˆ์„ ๋•Œ์ด๋‹ค.

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

ACK ๋ฒˆํ˜ธ ์—ญ์‹œ ์ˆ˜์‹  ์ธก์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ณ  ๋‚˜์„œ, ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์‹ ์ด ๊ฐ€๋Šฅํ•˜๋ฉด ๋ณด๋‚ธ๋‹ค.

 

๊ฒฐ๊ณผ์ ์œผ๋กœ, ์†ก์‹ ์ธก์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ , ๊ทธ๊ฒŒ '์ •์ƒ์ ์œผ๋กœ ๋„์ฐฉํ–ˆ์„ ๋•Œ' ACK ๋ฒˆํ˜ธ๋ฅผ ์†ก์‹ ์ธก์— ํ†ต์ง€ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ฑด๋„ค์ฃผ์—ˆ์„ ๋•Œ ์œˆ๋„์šฐ๋ฅผ ์†ก์‹ ์ธก์— ํ†ต์ง€ํ•˜๊ฒŒ ๋œ๋‹ค.

= ๋ฐ์ดํ„ฐ์˜ ํŒจํ‚ท์„ ๋ฐ›์„ ๋•Œ๋งˆ๋‹ค ACK ๋ฒˆํ˜ธ๋„ ๋ณด๋‚ด๊ณ , ์œˆ๋„์šฐ ํ†ต์ง€๋„ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.

= ํšจ์œจ์„ฑ์ด ๋งค์šฐ ๋‚ฎ๋‹ค.

 

๊ทธ๋ž˜์„œ ์†Œ์ผ“์„ ๋ฐ”๋กœ ๋ณด๋‚ด์ง€ ์•Š๊ณ  ์ž ์‹œ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€, ๊ทธ ์‚ฌ์ด ํ†ต์ง€ ๋™์ž‘์ด ์ผ์–ด๋‚˜๋ฉด ํ•œ ๊ฐœ์˜ ํŒจํ‚ท์œผ๋กœ ๋ฌถ์–ด์„œ ๋ณด๋‚ธ๋‹ค.

ํ˜น์€, ACK ๋ฒˆํ˜ธ๋‚˜ ์œˆ๋„์šฐ ํ†ต์ง€๊ฐ€ ์—ฐ์†ํ•ด์„œ ์ผ์–ด๋‚œ๋‹ค๋ฉด ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ํ†ต์ง€๋งŒ ๋ณด๋‚ด์„œ ๋ณด๋‚ด๋Š” ํŒจํ‚ท์˜ ์–‘์„ ์ค„์ธ๋‹ค.

 


 

๐ŸŒฑ 7. HTTP ์‘๋‹ต ๋ฉ”์‹œ์ง€ ์ˆ˜์‹ ํ•˜๊ธฐ

์ด์ œ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์ด HTTP ๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๋™์ž‘์€ ๋๋‚ฌ๋‹ค.

ํ•˜์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ฉด ์›น ์„œ๋ฒ„์—์„œ ์‘๋‹ต ๋ฉ”์‹œ์ง€๊ฐ€ ์˜ค๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ์˜ค๋ฉด ์ด๋ฅผ ๋ฐ›๋Š”๋‹ค.

 

์—ฌ๊ธฐ์„œ๋Š” ์งง๊ฒŒ ๋งํ•˜์ž๋ฉด, ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ์†ก์‹ ํ•ด๋‹ฌ๋ผ๊ณ  ์˜๋ขฐํ•˜๊ณ , ์„œ๋ฒ„์—์„œ ๋Œ์•„์˜ค๋Š” ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ธฐ ์œ„ํ•ด read()๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ”„๋กœํ† ์ฝœ ์Šคํƒ์œผ๋กœ ๋‹ค์‹œ ์ œ์–ด๊ฐ€ ๋„˜์–ด๊ฐ„๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์ˆ˜์‹  ๋ฒ„ํผ์—์„œ ์ˆ˜์‹  ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ฑด๋„ค์ค€๋‹ค.

๋งŒ์•ฝ ์‘๋‹ต ๋ฉ”์‹œ์ง€๊ฐ€ ์•„์ง ๋Œ์•„์˜ค์ง€ ์•Š์•˜๋‹ค๋ฉด ์ˆ˜์‹  ๋ฒ„ํผ์—์„œ ์ˆ˜์‹  ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ์ผ์„ ์ž ์‹œ ๋ณด๋ฅ˜ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ , ์„œ๋ฒ„์—์„œ ์‘๋‹ต ๋ฉ”์‹œ์ง€์˜ ํŒจํ‚ท์ด ๋„์ฐฉํ–ˆ์„ ๋•Œ ์ด๋ฅผ ์ˆ˜์‹ ํ•˜์—ฌ ๋‹ค์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ฑด๋„ค์ค€๋‹ค.

 

์‚ฌ์‹ค ์†ก์‹ ์ด๋ž‘ ๊ฑฐ์˜ ๋น„์Šทํ•˜๋‹ค. ๊ฐ„๋‹จํžˆ ์ฝ์–ด๋ณด๊ณ  ๋งˆ๋ฌด๋ฆฌํ•˜์ž.

์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ + TCP ํ—ค๋”๋ฅผ ๋ณด๊ณ  ๋ฐ์ดํ„ฐ ๋ˆ„๋ฝ ๊ฒ€์‚ฌ > ์™„์ „ํ•˜๋ฉด ACK ๋ฐ˜์†ก > ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์„ ์ˆ˜์‹  ๋ฒ„ํผ์— ์ผ์‹œ์ ์œผ๋กœ ๋ณด๊ด€ > ์กฐ๊ฐ์„ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ณต์› > ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ง€์ •ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์œผ๋กœ ๊ธฐ๋กํ•ด์ฃผ๊ณ  > ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๊ฒŒ ์ œ์–ด ๊ฑด๋„ค์ฃผ๊ธฐ > ๊ทธ๋ฆฌ๊ณ  ํƒ€์ด๋ฐ์„ ๊ฐ€๋Š ํ•˜์—ฌ ์œˆ๋„์šฐ๋ฅผ ์†ก์‹ ์ธก์— ํ†ต์ง€!

 


โœ”๏ธ ๋ฐ์ดํ„ฐ ์ „์†ก ํ›„ ์—ฐ๊ฒฐ ๋Š๊ธฐ

๋งˆ์ง€๋ง‰์œผ๋กœ ์–ด๋–ป๊ฒŒ ์†Œ์ผ“์„ ๋ง์†Œํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.

์†ก/์ˆ˜์‹  ๋™์ž‘์ด ์ข…๋ฃŒ๋˜์–ด์•ผ ์—ฐ๊ฒฐ ๋Š๊ธฐ ๊ณผ์ •์œผ๋กœ ๋“ค์–ด๊ฐ€๋Š”๋ฐ, ๋งŒ์•ฝ ์›น ๋ธŒ๋ผ์šฐ์ €๋ผ๋ฉด ์›น ์„œ๋ฒ„์— ๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„์— ์ด์— ๋Œ€ํ•ด ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋ฉด ๋ฐ์ดํ„ฐ ๋ณด๋‚ด๊ธฐ๊ฐ€ ์™„๋ฃŒ๋˜์–ด ์—ฐ๊ฒฐ ๋Š๊ธฐ ๋‹จ๊ณ„์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋จผ์ € ์—ฐ๊ฒฐ ๋Š๊ธฐ๋ฅผ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ๋ฉด, ๋ฐ˜๋Œ€๋กœ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋จผ์ € ์ข…๋ฃŒํ•  ๊ฒƒ์ด๋‹ค.

 

์„œ๋ฒ„ ์ธก์—์„œ ๋จผ์ € ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

7. ์„œ๋ฒ„์—์„œ ์ปจํŠธ๋กค ๋น„ํŠธ์ธ FIN ๋น„ํŠธ์— 1์„ ์„ค์ •ํ•˜์—ฌ IP์—๊ฒŒ ์˜๋ขฐํ•œ๋‹ค.
8. ํด๋ผ์ด์–ธํŠธ์ธก์˜ ํ”„๋กœํ† ์ฝœ ์Šคํƒ์€ ์ด๋ฅผ ๋ฐ›์•„ ์—ฐ๊ฒฐ ๋Š๊ธฐ ๋„์ž‘์— ๋“ค์–ด๊ฐ”๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ๋กํ•˜๊ณ , ACK ๋ฒˆํ˜ธ๋ฅผ ์„œ๋ฒ„์ธก์— ๋ฐ˜์†กํ•œ๋‹ค.
์ด๊ฒƒ์ด ๋๋‚˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋Ÿฌ ์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. (๋งŒ์•ฝ ํด๋ผ์ด์–ธํŠธ ์ธก์ด ๋จผ์ € ๋Š๋Š”๋‹ค๋ฉด 7, 8๋ฒˆ์˜ ํ™”์‚ดํ‘œ ๋ฐฉํ–ฅ์€ ๋ฐ˜๋Œ€๊ฐ€ ๋œ๋‹ค)
9. ํด๋ผ์ด์–ธํŠธ ์—ญ์‹œ FIN = 1์„ ์„ค์ •ํ•˜์—ฌ IP๋ฅผ ์˜๋ขฐํ•œ๋‹ค.
10. ์„œ๋ฒ„์—์„œ๋Š” ์ด๋ฅผ ๋ฐ›์•„ ๊ธฐ๋ก ํ›„ ACK ๋ฒˆํ˜ธ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜์†กํ•œ๋‹ค.

 

์ดํ›„, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด read๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋Ÿฌ ์˜จ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ ๋Œ€์‹ ์— ์„œ๋ฒ„์—์„œ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋ถ€ ์ˆ˜์‹  ์™„๋ฃŒํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (=๋ธŒ๋ผ์šฐ์ €)์—๊ฒŒ ์•Œ๋ฆฐ๋‹ค. ์„œ๋ฒ„์—์„œ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋ถ€ ์ˆ˜์‹  ์™„๋ฃŒํ–ˆ์„ ๋•Œ ํด๋ผ์ด์–ธํŠธ๋„ ์ข…๋ฃŒ๋œ๋‹ค.

 

๐Ÿ’ฌ FIN=1๋กœ ์„ค์ •ํ•œ ํŒจํ‚ท์ด ๋„์ฐฉํ•˜๊ธฐ ์ „์—, ์†ก์‹  ์ธก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์†ก์‹  ๋ฒ„ํผ์— ์ €์žฅํ•ด๋‘˜ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋•Œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฑด๋‚ด์ฃผ๋Š” ์ž‘์—…์ด ๋ณด๋ฅ˜๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— read๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๋Ÿฌ ์™”์„ ๋•Œ ๋‚จ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ๊ฑด๋„ค์ค€๋‹ค.

 

์ดํ›„, ํด๋ผ์ด์–ธํŠธ์ธก์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—ญ์‹œ close๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์†ก/์ˆ˜์‹ ์˜ ๋™์ž‘์„ ์ข…๋ฃŒํ•˜๊ณ , ํ”„๋กœํ† ์ฝœ ์Šคํƒ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ FIN=1์„ ์„ค์ •ํ•œ TCP ํ—ค๋”๋ฅผ ๋งŒ๋“ค๊ณ  IP์— ์˜๋ขฐํ•˜์—ฌ ์„œ๋ฒ„์— ์†ก์‹ ํ•œ ๋‹ค์Œ, ACK ๋ฒˆํ˜ธ๊ฐ€ ๋Œ์•„์˜ค๋ฉด ์ข…๋ฃŒํ•œ๋‹ค.

 


โœ”๏ธ ์†Œ์ผ“ ๋ง์†Œํ•˜๊ธฐ

์ •๋ง ๋งˆ์ง€๋ง‰ ๋‹จ๊ณ„์ด๋‹ค. ์†Œ์ผ“์„ ๋ง์†Œํ•˜๋Š” ๋‹จ๊ณ„์ง€๋งŒ, ์ค‘์š”ํ•œ ๊ฑด ๋ฐ”๋กœ ๋ง์†Œ์‹œํ‚ค๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์ž ์‹œ ๋Œ€๊ธฐํ–ˆ๋‹ค๊ฐ€ ๋ง์†Œํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋Š” ์˜ค๋™์ž‘์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ์ธ๋ฐ, ๋Œ€ํ‘œ์ ์ธ ์˜ค๋™์ž‘ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ดํŽด๋ณด์ž.

์ด๋ฒˆ์—๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋จผ์ € ์—ฐ๊ฒฐ ๋Š๊ธฐ๋ฅผ ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

 

1. ํด๋ผ์ด์–ธํŠธ๋Š” FIN=1 ์†ก์‹ 
2. ์„œ๋ฒ„๋Š” ์ด๋ฅผ ๋ฐ›์•„ ACK ๋ฒˆํ˜ธ ์†ก์‹ 
3. ์„œ๋ฒ„๋Š” FIN=1 ์†ก์‹ 
4. ํด๋ผ์ด์–ธํŠธ๋Š” ์ด๋ฅผ ๋ฐ›์•„ ACK ๋ฒˆํ˜ธ ์†ก์‹ 

์ด๋•Œ, ๋งŒ์•ฝ ๋งˆ์ง€๋ง‰์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ ACK ๋ฒˆํ˜ธ๊ฐ€ ๋Œ์•„์˜ค์ง€ ์•Š์•„์„œ ๋‹ค์‹œ FIN์„ ๋ณด๋‚ด๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ํด๋ผ์ด์–ธํŠธ์˜ ์†Œ์ผ“์ด ์—†์–ด์กŒ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? ์†Œ์ผ“์ด ์—†์–ด์ง€๋ฉด ๋‚ด๋ถ€์— ์žˆ๋Š” ์ œ์–ด ์ •๋ณด (์†ก/์ˆ˜์‹ ์ธก์˜ ํฌํŠธ๋ฒˆํ˜ธ ๋“ฑ๋“ฑ)๋„ ์‚ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์–ด๋–ค ๊ฒƒ์œผ๋กœ ๋ณด๋‚ด์•ผ ํ• ์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค.

๋˜ํ•œ, ๋งŒ์•ฝ ์ƒˆ๋กœ์šด ์†Œ์ผ“์ด ๊ทธ ์‚ฌ์ด์— ์ƒ์„ฑ๋˜์–ด ๊ทธ์ „์— ํด๋ผ์ด์–ธํŠธ์™€ ์‚ฌ์šฉํ–ˆ๋˜ ์†Œ์ผ“๊ณผ ๋™์ผํ•œ ํฌํŠธ ๋ฒˆํ˜ธ๊ฐ€ ํ• ๋‹น๋œ๋‹ค๋ฉด?

๊ทธ๋Ÿฌ๋ฉด ์ƒˆ๋กœ์šด ์†Œ์ผ“์˜ ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ FIN์„ ๋ฐ›์•„์„œ ๋ฐ”๋กœ ์—ฐ๊ฒฐ์ด ๋Š์–ด์งˆ ์ˆ˜๋„ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

ํŒจํ‚ท์ด ์—†์–ด์กŒ์„ ๋•Œ ๋‹ค์‹œ ๋ณด๋‚ด๋Š” ๋™์ž‘์€ ๋ณดํ†ต ๋ช‡ ๋ถ„์ฏค ๊ณ„์†๋˜๊ณ , ์–ด๋Š ์ •๋„ ์ง€๋‚ฌ์„ ๋•Œ ํšŒ๋ณต ์ „๋ง์ด ์—†๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ  ๋ณด๋‚ด๋Š” ๊ฑธ ๋ฉˆ์ถ˜๋‹ค.

๋ช…ํ™•ํ•œ ๊ทœ์ •์€ ์—†์ง€๋งŒ, ๋ณดํ†ต ๋ช‡ ๋ถ„... ์ •๋„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ๋‚˜์„œ ์†Œ์ผ“์„ ๋ง์†Œํ•œ๋‹ค.

 

Comments