๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿš— Major Study (Bachelor)/๐ŸŸฆ Network

[๋„คํŠธ์›Œํฌ] Network | Addressing Process, Application-layer protocol, TCP & UDP, HTTP overview

by UKHYUN22 2022. 9. 17.
728x90

 

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

 ์ธํ„ฐ๋„ท์—์„œ ํ˜ธ์ŠคํŠธ๋Š” IP ์ฃผ์†Œ๋ฅด ์‹๋ณ„๋œ๋‹ค. ํ•˜์ง€๋งŒ ํ˜ธ์ŠคํŠธ์˜ ์ฃผ์†Œ๋ฅผ ์•„๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ์—์„œ ์ˆ˜ํ–‰๋˜๊ณ  ์žˆ๋Š” ์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค๋„ ์‹๋ณ„ํ•ด์•ผ ํ•œ๋‹ค. ๋ชฉ์ ์ง€ ํฌํŠธ ๋ฒˆํ˜ธ (Port Number) ๊ฐ€ ์ด ๋ชฉ์ ์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์›น ์„œ๋ฒ„๋Š” ํฌํŠธ ๋ฒˆํ˜ธ 80๋ฒˆ์œผ๋กœ ์‹๋ณ„๋œ๋‹ค. SMTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์ผ ์„œ๋ฒ„ ํฌํŠธ ๋ฒˆํ˜ธ๋Š” 25๋ฒˆ์œผ๋กœ ์‹๋ณ„๋œ๋‹ค. 

 

 

 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์€ ๋‹ค๋ฅธ ์ข…๋‹จ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ๋‹ค.

1. ๊ตํ™˜ ๋ฉ”์‹œ์ง€ ํƒ€์ž…

2. ์—ฌ๋Ÿฌ ๋ฉ”์‹œ์ง€ ํƒ€์ž…์˜ ๋ฌธ๋ฒ•

3. ํ•„๋“œ์˜ ์˜๋ฏธ (์ •๋ณด์˜ ์˜๋ฏธ)

4. ์–ธ์ œ, ์–ด๋–ป๊ฒŒ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ณ  ๋ฉ”์‹œ์ง€์— ์‘๋‹ตํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ทœ์น™

 

์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์€ RFC์— ๋ช…์‹œ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๊ณต์ค‘ ๋„๋ฉ”์ธ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. HTTP๋Š” RFC๋กœ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž๊ฐ€ HTTP RFC์˜ ๊ทœ์น™์„ ๋”ฐ๋ฅธ๋‹ค๋ฉด, ๋ธŒ๋ผ์šฐ์ €๋Š” HTTP RFC์˜ ๊ทœ์น™์„ ๋”ฐ๋ฅธ ์–ด๋– ํ•œ ์›น ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ๋„ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

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

 

 

Data integrity (์‹ ๋ขฐ์  ๋ฐ์ดํ„ฐ ์ „์†ก)

 

ํŒจํ‚ท์€ ๋ผ์šฐํ„ฐ์˜ ๋ฒ„ํผ์—์„œ Overflow๋˜๊ฑฐ๋‚˜ ํŒจํ‚ท์˜ ๋น„ํŠธ๊ฐ€ ์ž˜๋ชป๋˜๋ฉด ํ˜ธ์ŠคํŠธ์— ์˜ํ•ด์„œ ๋ฒ„๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ณ  ์™„์ „ํžˆ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ „๋‹ฌ๋˜๋„๋ก ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์กฐ์น˜๋ฅผ ์ทจํ•ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ํ”„๋กœํ† ์ฝœ์ด ๋ณด์žฅ๋œ ๋ฐ์ดํ„ฐ ์ „์†ก ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋ฉด ์ด๋ฅผ ์‹ ๋ขฐ์  ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์ œ๊ณตํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๋งŒ์•ฝ ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์ด ์‹ ๋ขฐ์  ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์ œ๊ณตํ•˜์ง€ ์•Š์„ ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค์— ์ „ํ˜€ ๋„์ฐฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์†์‹ค ํ—ˆ์šฉ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ (Loss-Tolerant Application) ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ด์˜ ์˜ˆ์‹œ๋กœ ์‹ค์‹œ๊ฐ„ ์˜ค๋””์˜ค, ๋น„๋””์˜ค๊ฐ€ ์žˆ๋‹ค.

 

Throughput (์ฒ˜๋ฆฌ๋Ÿ‰)

 

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

 ๋Œ€์š•ํญ ๋ฏผ๊ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์ด ํŠน์ • ์ฒ˜๋ฆฌ์œจ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐ˜๋ฉด์— ์œตํ‰์„ฑ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ฐ€์šฉํ•œ ์ฒ˜๋ฆฌ์œจ์„ ๋งŽ์œผ๋ฉด ๋งŽ์€ ๋Œ€๋กœ ์ ์œผ๋ฉด ์ ์€ ๋Œ€๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ์˜ˆ๋กœ ์ „์ž ๋ฉ”์ผ, ํŒŒ์ผ ์ „์†ก, ์›น ์ „์†ก์ด ์žˆ๋‹ค.

 

Timing (์‹œ๊ฐ„)

 

ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์€ ์‹œ๊ฐ„ ๋ณด์žฅ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฒ˜๋ฆฌ์œจ ๋ณด์žฅ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‹œ๊ฐ„ ๋ณด์ •์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค. ํ•œ ๊ฐ€์ง€ ์˜ˆ๋Š” ์†ก์‹ ์ž๊ฐ€ ์†Œ์ผ“์œผ๋กœ ๋‚ด๋ณด๋‚ด๋Š” ๋ชจ๋“  ๋น„ํŠธ๊ฐ€ ์ˆ˜์‹ ์ž์˜ ์†Œ์ผ“์— 100msec ๋‚ด์— ๋„์ฐฉํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋Š” ๊ฒŒ์ž„๊ณผ ๊ฐ™์€ ์ƒํ˜ธ ๋ฐ์ดํ„ฐ ์ „์†ก์— ์—„๊ฒฉํ•œ ์‹œ๊ฐ„ ์ œํ•œ ์กฐ๊ฑด์„ ์š”๊ตฌํ•œ๋‹ค.

 

Secuirty (๋ณด์•ˆ)

 

์†ก์‹  ํ˜ธ์ŠคํŠธ์—์„œ ํŠธ๋žœ์ŠคํฌํŠธ ํ”„๋กœํ† ์ฝœ์€ ์†ก์‹  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ „์†กํ•˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๊ณ  ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ์—์„œ ํŠธ๋žœ์ŠคํฌํŠธ ํ”„๋กœํ† ์ฝœ์€ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹  ํ”„๋กœ์„ธ์Šค๋กœ ์ „๋‹ฌํ•˜๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ์˜ ์•”ํ˜ธ๋ฅผ ํ•ด๋…ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์ธํ„ฐ๋„ท์ด ์ œ๊ณตํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ง€์› ์œ ํ˜•์„ ์‚ดํŽด๋ณด์ž. ์ธํ„ฐ๋„ท์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๊ฒŒ 2๊ฐœ์˜ ์ „์†ก ํ”„๋กœํ† ์ฝœ, UDP์™€ TCP๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ƒˆ๋กœ์šด ์ธํ„ฐ๋„ท ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋•Œ ์ฒซ ๋ฒˆ์งธ ๊ฒฐ์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ ์ค‘์˜ ํ•˜๋‚˜๋Š” UDP ํ˜น์€ TCP ์ค‘ ์–ด๋Š ๊ฒƒ์„ ์‚ฌ์šฉํ•  ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

TCP ์„œ๋น„์Šค ๋ชจ๋ธ

: ์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ์„œ๋น„์Šค์™€ ์‹ ๋ขฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก ์„œ๋น„์Šค๋ฅผ ํฌํ•จํ•œ๋‹ค.

 

- ์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ์„œ๋น„์Šค

: ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ธฐ ์ „์— TCP๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์„œ๋กœ ์ „์†ก ์ œ์–ด ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๋„๋ก ํ•œ๋‹ค. (Hand Shaking ๊ณผ์ •)

- ์‹ ๋ขฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก ์„œ๋น„์Šค

: ํ†ต์‹  ํ”„๋กœ์„ธ์Šค๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์˜ค๋ฅ˜ ์—†์ด ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋กœ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด TCP์— ์˜์กดํ•œ๋‹ค. ๋˜ํ•œ TCP ํ˜ผ์žก ์ œ์–ด ๋ฐฉ์‹์ด๋ž€ ๊ฒƒ์ด ์žˆ๋Š” ๋ฐ ์ด๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ํ˜ผ์žก ์ƒํƒœ์— ์ด๋ฅด๋ฉด ํ”„๋กœ์„ธ์Šค ์†๋„๋ฅผ ๋‚ฎ์ถ”๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค.

 

UDP ์„œ๋น„์Šค

: ์ตœ์†Œ์˜ ์„œ๋น„์Šค ๋ชจ๋ธ์„ ๊ฐ€์ง„ ๊ฐ„๋‹จํ•œ ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด๋‹ค. 

 

- ๋น„์—ฐ๊ฒฐํ˜•์ด๋ฏ€๋กœ ๋‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ†ต์‹ ํ•˜๊ธฐ ์ „์— Hand Shaking์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

- ๋น„์‹ ๋ขฐ์  ๋ฐ์ดํ„ฐ ์ „์†ก์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

- ํ˜ผ์žก ์ œ์–ด ๋ฐฉ์‹์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ UDP์˜ ์†ก์‹  ์ธก์€ ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ์†๋„๋กœ ํ•˜์œ„ ๊ณ„์ธต์œผ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์ „์ž ๋ฉ”์ผ, ์›๊ฒฉ ํ„ฐ๋ฏธ๋„ ์ ‘์†, ์›น, ํŒŒ์ผ ์ „์†ก ๋ชจ๋‘ TCP๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Œ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์€ TCP๊ฐ€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๊ถ๊ทน์ ์œผ๋กœ ๋ชฉ์ ์ง€์— ๋„์ฐฉํ•˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ์‹ ๋ขฐ์  ๋ฐ์ดํ„ฐ ์ „์†ก ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋กœ TCP๋ฅผ ์„ ํƒํ–ˆ๋‹ค. ์ธํ„ฐ๋„ท ์ „ํ™” ์‘์šฉ (Skype) ์€ ๋ณดํ†ต ํŒจํ‚ท ์†์‹ค์„ ํ—ˆ์šฉํ•˜์ง€๋งŒ ํšจ์œจ์„ฑ์„ ์œ„ํ•ด ์ตœ์†Œ์˜ ์ „์†ก์†๋„๋ฅผ ํ•„์š”๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ธํ„ฐ๋„ท ์ „ํ™” ์‘์šฉ ๊ฐœ๋ฐœ์ž๋“ค์€ UDP ์ƒ์—์„œ ์ž์‹ ๋“ค์˜ ์‘์šฉ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋ฅผ ์„ ํ˜ธํ•œ๋‹ค. ๋˜ํ•œ ํ‘œ์—์„œ Streaming audio/video๋Š” ๋ชจ๋‘ Real time ์ด ์•„๋‹Œ ์ด๋ฏธ ์—…๋กœ๋“œ๊ฐ€ ์™„๋ฃŒ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

 

www.someschool.edu๋Š”  ๋Š” ํ˜ธ์ŠคํŠธ ๋„ค์ž„์ด๊ณ  ๊ทธ ๋’ค๋Š” ๊ฒฝ๋กœ ์ด๋ฆ„์ด๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ € (ํฌ๋กฌ, ํŒŒ์ด์–ดํญ์Šค)๋Š” HTTP์˜ ํด๋ผ์ด์–ธํŠธ ์ธก์„ ๊ตฌํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›น์˜ ๊ด€์ ์—์„œ ๋ธŒ๋ผ์šฐ์ €์™€ ํด๋ผ์ด์–ธํŠธ๋ผ๋Š” ์šฉ์–ด๋ฅผ ํ˜ผ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. HTTP์˜ ์„œ๋ฒ„ ์ธก์„ ๊ตฌํ˜„ํ•˜๋Š” ์›น ์„œ๋ฒ„๋Š” URL๋กœ ๊ฐ๊ฐ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ๊ฐ์ฒด๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.

 

 

 

์›น์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ์ธ HTTP๋Š” ์›น์˜ ์ค‘์‹ฌ์ด๋‹ค. HTTP๋Š” ๋‘ ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๊ตฌํ˜„๋œ๋‹ค. ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ. ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋‹จ ์‹œ์Šคํ…œ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์€ ์„œ๋กœ HTTP ๋ฉ”์‹œ์ง€๋ฅผ ๊ตํ™˜ํ•˜์—ฌ ํ†ต์‹ ํ•œ๋‹ค.

 

 

 

HTTP ๋Š” TCP ์ „์†ก ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•œ๋‹ค. HTTP ํด๋ผ์ด์–ธํŠธ๋Š” ๋จผ์ € ์„œ๋ฒ„์— TCP ์—ฐ๊ฒฐ์„ ์‹œ์ž‘ํ•œ๋‹ค. ์ผ๋‹จ ์—ฐ๊ฒฐ์ด ์ด๋ฃจ์–ด์ง€๋ ค๋ฉด ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๋Š” ๊ทธ๋“ค์˜ ์†Œ์ผ“ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด TCP๋กœ ์ ‘์†ํ•œ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” HTTP์˜ ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ์†Œ์ผ“ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณด๋‚ด๊ณ  ์†Œ์ผ“ ์ธํ„ฐํŽ˜์ด์Šค๋กœ๋ถ€ํ„ฐ HTTP ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๋Š”๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ HTTP ์„œ๋ฒ„๋Š” ์†Œ์ผ“ ์ธํ„ฐํŽ˜์ด์Šค๋กœ๋ถ€ํ„ฐ ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ์†Œ์ผ“ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณด๋‚ธ๋‹ค.

 ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์š”์ฒญ ํŒŒ์ผ์„ ๋ณด๋‚ผ ๋•Œ, ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— ๊ด€ํ•œ ์–ด๋– ํ•œ ์ƒํƒœ ์ •๋ณด๋„ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ ํŠน์ • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ช‡ ์ดˆ ํ›„์— ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๋‘ ๋ฒˆ ์š”์ฒญํ•œ๋‹ค๋ฉด, ๊ธฐ์กด์˜ ๊ฐ์ฒด๋ฅผ ๊ธฐ์–ตํ•˜์ง€ ์•Š๊ณ  ๋™์ผํ•œ ๊ฒƒ์„ ๋‘ ๋ฒˆ ๋ณด๋‚ธ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ •๋ฆฌํ•˜์ž๋ฉด HTTP ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ HTTP๋ฅผ Stateless Protocol ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

 

 

 

ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์ƒํ˜ธ ์ž‘์šฉ์ด TCP ์ƒ์—์„œ ๋ฐœ์ƒํ•  ๋•Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋Š” ์ค‘์š”ํ•œ ๊ฒฐ์ •์„ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๋ถ„๋ฆฌ๋œ TCP ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ๋ณด๋‚ด์ ธ์•ผ ํ•˜๋Š”๊ฐ€? ํ˜น์€ ๋ชจ๋“  ์š”๊ตฌ์™€ ํ•ด๋‹นํ•˜๋Š” ์‘๋‹ต๋“ค์ด ๊ฐ™์€ TCP ์—ฐ๊ฒฐ์ƒ์œผ๋กœ ๋ณด๋‚ด์ ธ์•ผ ํ•˜๋Š”๊ฐ€? ์ „์ž์˜ ๊ฒฝ์šฐ ๋น„์ง€์†์„ฑ ์—ฐ๊ฒฐ(Non-persistent) ์ด๋ผ๊ณ  ํ•˜๊ณ  ํ›„์ž์˜ ๊ฒฝ์šฐ ์ง€์† ์—ฐ๊ฒฐ(Persistent) ๋ผ๊ณ  ํ•œ๋‹ค. 

 

 

 

 

1. HTTP ํด๋ผ์ด์–ธํŠธ๋Š” HTTP์˜ ๊ธฐ๋ณธ ํฌํŠธ ๋ฒˆํ˜ธ 80์„ ํ†ตํ•ด ์„œ๋ฒ„๋กœ TCP ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•œ๋‹ค. 

2. HTTP ํด๋ผ์ด์–ธํŠธ๋Š” 1๋‹จ๊ณ„์—์„œ ์„ค์ •๋œ TCP ์—ฐ๊ฒฐ ์†Œ์ผ“์„ ํ†ตํ•ด ์„œ๋ฒ„๋กœ HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค.

3. HTTP ์„œ๋ฒ„๋Š” 1๋‹จ๊ณ„์—์„œ ์„ค์ •๋œ ์†Œ์ผ“์„ ํ†ตํ•ด ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๋Š”๋‹ค. ๋˜ํ•œ ๊ฐ์ฒด๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์‘๋‹ต ๋ฉ”์‹œ์ง€์— ์บก์Šํ™”ํ•œ๋‹ค.

 

 

 

4. HTTP ์„œ๋ฒ„๋Š” TCP ์—ฐ๊ฒฐ์„ ๋Š๋Š”๋‹ค. (์‹ค์ œ๋กœ TCP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ์˜ฌ๋ฐ”๋กœ ๋ฐ›์„ ๋•Œ๊นŒ์ง€ ์—ฐ๊ฒฐ์„ ๋Š์ง€ ์•Š๋Š”๋‹ค)

5. HTTP ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์œผ๋ฉด, TCP ์—ฐ๊ฒฐ์ด ์ค‘๋‹จ๋œ๋‹ค.

6. ๊ทธ ์ดํ›„ ์ฐธ์กฐ๋˜๋Š” JPEG ๊ฐ์ฒด์— ๋Œ€ํ•˜์—ฌ ์ฒ˜์Œ 4 ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

 

 

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

 

 

๋น„์ง€์† ์—ฐ๊ฒฐ์€ ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋กœ ๊ฐ ์š”์ฒญ ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜๊ณ  ์œ ์ง€๋˜์–ด์•ผ ํ•œ๋‹ค. TCP ๋ณ€์ˆ˜๋“ค์ด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์–‘์ชฝ์— ์œ ์ง€๋˜์–ด์•ผ ํ•œ๋‹ค. ๋‘˜์งธ๋กœ ๊ฐ ๊ฐ์ฒด๋Š” 2 RTT๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค. TCP ์—ฐ๊ฒฐ ์„ค์ •์—์„œ 1RTT, ๊ฐ์ฒด๋ฅผ ์š”์ฒญํ•˜๊ณ  ๋ฐ›๋Š”๋ฐ 1RTT.

 

ํ•˜์ง€๋งŒ ์ง€์† ์—ฐ๊ฒฐ์—์„œ ์„œ๋ฒ„๋Š” ์‘๋‹ต์„ ๋ณด๋‚ธ ํ›„ TCP ์—ฐ๊ฒฐ์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ๋‹ค. ์ด๋“ค ๊ฐ์ฒด์— ๋Œ€ํ•œ ์š”๊ตฌ๋Š” ์ง„ํ–‰ ์ค‘์ธ ์š”๊ตฌ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์—ฐ์†ํ•ด์„œ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜  ์žˆ๋‹ค. (Pipelining ์ด๋ผ๊ณ  ํ•œ๋‹ค) HTTP์˜ ๋””ํดํŠธ ๋ชจ๋“œ๋Š” ํŒŒ์ดํ”„๋ผ์ด๋‹์„ ์ด์šฉํ•œ ์ง€์† ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

 

TCP ์—ฐ๊ฒฐ์„ ์œ„ํ•ด์„œ 2RTT๊ฐ€ ์†Œ์š”๋˜๊ณ  Object์„ ์š”์ฒญํ•˜๊ณ  ๋ฐ›๋Š”๋ฐ 2RTT๊ฐ€ ์†Œ์š”๋œ๋‹ค. ํ•˜์ง€๋งŒ Parallel ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— 8๊ฐœ์˜ Object์— ๋Œ€ํ•ด์„œ ๊ฐ๊ฐ 2RTT๊ฐ€ ์†Œ์š”๋˜๋ฏ€๋กœ ์ด Elapse๋Š” 18X๊ฐ€ ๋œ๋‹ค.

 

5๊ฐœ์˜ ์—ฐ๊ฒฐ์— ๋Œ€ํ•ด์„œ Parallel ํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋ฏ€๋กœ 10๊ฐœ์˜ Object์— ๋Œ€ํ•ด์„œ ์ด 2๋ฒˆ์˜ 2RTT๊ฐ€ ์†Œ์š”๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด Elapse๋Š” 6X๊ฐ€ ๋œ๋‹ค.

 

 

Pipeline ์ด๋ผ๋Š” ๊ฒƒ์€ ํ•œ ๋ฒˆ์˜ Request๋กœ ๋ชจ๋“  Object๋ฅผ responseํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.์ธก TCP ์—ฐ๊ฒฐ ์„ค์ •์„ ํ•˜๋Š”๋ฐ 2RTT๊ฐ€ ์†Œ์š”๋˜๊ณ  8๊ฐœ์˜ Object๋ฅผ ๋ฐ›๋Š”๋ฐ 1RTT๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด  3RTT๊ฐ€ ์†Œ์š”๋œ๋‹ค.

 

Pipelineํ•˜์ง€ ์•Š๋Š” Persistentํ•œ Connection์˜ ๊ฒฝ์šฐ, ํ•˜๋‚˜์˜ Object์— ๋Œ€ํ•ด 1RTT๊ฐ€ ์†Œ์š”๋˜๊ณ  ์ด 8๊ฐœ์˜ Object์— ๋Œ€ํ•ด์„œ๋Š” 8RTT๊ฐ€ ์†Œ์š”๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ด Elapsed Time์€ 10X๊ฐ€ ๋œ๋‹ค.

 

 

HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€์˜ ์ฒซ ์ค„์€ Request Line์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ณ  ๊ทธ ์ดํ›„์˜ ์ค„๋“ค์€ Header Line์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. Request Line์€ 3 ๊ฐœ์˜ ํ•„๋“œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. Method ํ•„๋“œ, URL ํ•„๋“œ,  HTTP ๋ฒ„์ „ ํ•„๋“œ๋ฅผ ๊ฐ–๋Š”๋‹ค. Method ํ•„๋“œ๋Š” GET, POST, HEAD, PUT ๋“ฑ ๋‹ค์–‘ํ•œ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ HTTP ๋ฉ”์‹œ์ง€์˜ ๋Œ€๋ถ€๋ถ„์€ GET ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. GET ๋ฐฉ์‹์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ URL ํ•„๋“œ๋กœ ์‹๋ณ„๋˜๋Š” ๊ฐ์ฒด๋ฅผ ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ์œ„ ์‚ฌ์ง„์—์„œ๋Š” /index.html Object๋ฅผ ์š”์ฒญํ•˜๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ HTTP/1.1 ๋ฒ„์ „์„ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

ํ—ค๋” ๋ผ์ธ Host:www.someschool.edu๋Š” ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•˜๋Š” ํ˜ธ์ŠคํŠธ๋ฅผ ๋ช…์‹œํ•˜๊ณ  ์žˆ๋‹ค. User-agent ๋ผ๋Š” ๊ฒƒ์€ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € ํƒ€์ž…์„ ๋ช…์‹œํ•˜๊ณ  ์žˆ๋‹ค.