CS 54

[์šด์˜์ฒด์ œ] ํ”„๋กœ์„ธ์Šค์™€ ์ปดํŒŒ์ผ ๊ณผ์ •

ํ”„๋กœ์„ธ์Šค(process)๋Š” ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งํ•˜๋ฉฐ, CPU ์Šค์ผ€์ค„๋ง์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ์ž‘์—…(task)๋ผ๋Š” ์šฉ์–ด์™€ ๊ฑฐ์˜ ๊ฐ™์€ ์˜๋ฏธ๋กœ ์“ฐ์ธ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๋ฉด, ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜๋Š” ์ธ์Šคํ„ด์Šคํ™”๊ฐ€ ์ผ์–ด๋‚˜๊ณ , ์ดํ›„ ์šด์˜์ฒด์ œ์˜ CPU ์Šค์ผ€์ค„๋Ÿฌ์— ๋”ฐ๋ผ CPU๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ธ์Šคํ„ด์Šคํ™”๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฐ ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฉ”๋ชจ์žฅ์„ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ”๋ชจ์žฅ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€์„œ, ์ธ์Šคํ„ด์Šคํ™” ๋˜์–ด ๋ฉ”๋ชจ์žฅ์ด ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ํ”„๋กœ์„ธ์Šค์™€ ์ปดํŒŒ์ผ ๊ณผ์ • ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์€ ์–ธ์–ด๋งˆ๋‹ค ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์ปดํŒŒ์ผ ์–ธ์–ด์ธ C ์–ธ์–ด ๊ธฐ๋ฐ˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๊ธฐ์ค€์œผ๋กœ ์„ค๋ช…ํ•˜๋ฉด, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ปดํŒŒ์ผ ๊ณผ์ •์„ ํ†ตํ•ด ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ์„ ..

[์šด์˜์ฒด์ œ] ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ(ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜)

๋ฉ”๋ชจ๋ฆฌ๋Š” ํ•œ์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์Šค์™€ํ•‘์ด ๋งŽ์ด ์ผ์–ด๋‚˜๋ฉฐ, ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šค์™€ํ•‘์ด ์ผ์–ด๋‚œ๋‹ค. ํ•„์š”ํ•œ ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์—†์„ ๋•Œ ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ , ์ €์žฅ ๋งค์ฒด์—์„œ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ์ฐพ์•„ ๋นˆ ํ”„๋ ˆ์ž„์— ๋กœ๋”ฉํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋•Œ ๋นˆ ํ”„๋ ˆ์ž„์ด ์—†์„ ๊ฒฝ์šฐ, ํฌ์ƒ ๋‹นํ•  ํ”„๋ ˆ์ž„(victim frame)์„ ๊ณ ๋ฅด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํšจ์œจ์ ์ธ ์Šค์™€ํ•‘์„ ํ†ตํ•ด ํŽ˜์ด์ง€ ํดํŠธ๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. FIFO(First In First Out) ๊ฐ€์žฅ ๋จผ์ € ์˜จ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒด ์˜์—ญ์— ๊ฐ€์žฅ ๋จผ์ € ๋†“๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๊ตฌํ˜„์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์„ฑ๋Šฅ์ด ์ข‹์ง„ ์•Š๋‹ค. ํŽ˜์ด์ง€๊ฐ€ ์˜ฌ๋ผ์˜จ ์ˆœ์„œ๋ฅผ ๋”ฐ๋กœ ์ €์žฅํ•˜๊ฑฐ๋‚˜, ํ๋ฅผ ์ด์šฉํ•ด์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. LRU(Least Recently Used) ์ฐธ์กฐ๊ฐ€ ๊ฐ€์žฅ..

[์šด์˜์ฒด์ œ] ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ(๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น)

๋ฉ”๋ชจ๋ฆฌ์— ํ”„๋กœ๊ทธ๋žจ์„ ํ• ๋‹นํ•  ๋•Œ๋Š” ์‹œ์ž‘ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜, ๋ฉ”๋ชจ๋ฆฌ์˜ ํ• ๋‹น ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ• ๋‹นํ•˜๋Š”๋ฐ, ์—ฐ์† ํ• ๋‹น๊ณผ ๋ถˆ์—ฐ์† ํ• ๋‹น์œผ๋กœ ๋‚˜๋‰œ๋‹ค. ์—ฐ์† ํ• ๋‹น ์—ฐ์† ํ• ๋‹น์€ ๋ฉ”๋ชจ๋ฆฌ์— '์—ฐ์†์ ์œผ๋กœ' ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์•ž์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํ”„๋กœ์„ธ์Šค A, ํ”„๋กœ์„ธ์Šค B, ํ”„๋กœ์„ธ์Šค C๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•˜๋Š” ๊ณ ์ • ๋ถ„ํ•  ๋ฐฉ์‹๊ณผ ๋งค ์‹œ์ ๋งˆ๋‹ค ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ์— ๋งž๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ถ„ํ• ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹์ด ์žˆ๋‹ค. ๊ณ ์ • ๋ถ„ํ•  ๋ฐฉ์‹(fixed partition allocation) ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ •ํ•ด์ง„ ๊ฐœ์ˆ˜๋งŒํผ ๋ฏธ๋ฆฌ ๋ถ„ํ• ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋ถ„ํ• ํ•œ ์˜์—ญ๋“ค์˜ ํฌ๊ธฐ๋Š” ๊ฐ๊ฐ ๋‹ค๋ฅผ ์ˆ˜๋„ ์žˆ๊ณ  ํด ์ˆ˜๋„ ์žˆ๋‹ค. ๋ถ„ํ• ํ•œ ์˜์—ญ๋‹น ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ์—..

[์šด์˜์ฒด์ œ] ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ(๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ)

์šด์˜์ฒด์ œ์˜ ๋Œ€ํ‘œ์ ์ธ ํ•  ์ผ ์ค‘ ํ•˜๋‚˜์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ๊ด€๋ จํ•ด์„œ ํฌ์ŠคํŒ…ํ•ด๋ณด๋ ค ํ•œ๋‹ค! ์šด์˜์ฒด์ œ๋Š” ์ปดํ“จํ„ฐ ๋‚ด์˜ ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory) ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์˜ ํ•˜๋‚˜๋กœ, ์ปดํ“จํ„ฐ๊ฐ€ ์‹ค์ œ๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ž์›์„ ์ถ”์ƒํ™”ํ•ด์„œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋งค์šฐ ํฐ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ณด์ด๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์ฆ‰, ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ๋งŽ์•„ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ๋‹ค. ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ์— ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค ์ „์ฒด๊ฐ€ ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š๋”๋ผ๋„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์—์„œ ๊ณ ์•ˆ๋˜์—ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์‹คํ–‰์— ํ•„์š”ํ•œ ์ผ๋ถ€๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋””์Šคํฌ์— ๋‘๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋•Œ ๊ฐ€์ƒ์ ์œผ๋กœ ์ฃผ์–ด์ง„ ์ฃผ์†Œ๋ฅผ '๊ฐ€์ƒ ์ฃผ์†Œ(Logical address)'๋ผ ํ•˜๋ฉฐ, ..

[๋„คํŠธ์›Œํฌ] HTTP/3

HTTP/1, HTTP/2์™€ ํ•จ๊ป˜ ์›น์—์„œ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” HTTP์˜ ์„ธ ๋ฒˆ์งธ ๋ฒ„์ „์ด๋‹ค. TCP ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” HTTP/2์™€ ๋‹ฌ๋ฆฌ HTTP/3๋Š” QUIC๋ผ๋Š” ๊ณ„์ธต ์œ„์—์„œ ๋Œ์•„๊ฐ€๋ฉฐ, TCP ๊ธฐ๋ฐ˜์ด ์•„๋‹Œ UDP ๊ธฐ๋ฐ˜์ด๋‹ค. ๋˜, HTTP/2์˜ ์žฅ์ ์ด์—ˆ๋˜ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ์ดˆ๊ธฐ ์—ฐ๊ฒฐ ์„ค์ • ์‹œ ์ง€์—ฐ ์‹œ๊ฐ„์ด ์งง๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์ดˆ๊ธฐ ์—ฐ๊ฒฐ ์„ค์ • ์‹œ ์ง€์—ฐ ์‹œ๊ฐ„ ๊ฐ์†Œ QUIC๋Š” TCP๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ํ†ต์‹ ์„ ์‹œ์ž‘ํ•  ๋•Œ 3 way handshake ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€ ์•Š๋Š”๋‹ค. QUIC์€ ์ฒซ ์—ฐ๊ฒฐ ์„ค์ •์— 1-RTT๋งŒ ์†Œ์š”๋˜๊ณ , ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์–ด๋–ค ์‹ ํ˜ธ๋ฅผ ํ•œ ๋ฒˆ ์ฃผ๊ณ  ์„œ๋ฒ„๊ฐ€ ๊ทธ ์‹ ํ˜ธ์— ์‘๋‹ตํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฐ”๋กœ ๋ณธ ํ†ต์‹ ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. QUIC์€ ์ˆœ๋ฐฉํ–ฅ ์˜ค๋ฅ˜ ์ˆ˜์ • ๋ฉ”์ปค๋‹ˆ์ฆ˜(FEC, Forward ..

[๋„คํŠธ์›Œํฌ] HTTPS

HTTP/2๋Š” HTTPS ์œ„์—์„œ ๋™์ž‘ํ•œ๋‹ค. HTTPS๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต๊ณผ ์ „์†ก ๊ณ„์ธต ์‚ฌ์ด์— ์‹ ๋ขฐ ๊ณ„์ธต์ธ SSL/TLS ๊ณ„์ธต์„ ๋„ฃ์€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” HTTP ์š”์ฒญ์„ ๋งํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ†ต์‹ ์„ '์•”ํ˜ธํ™”'ํ•œ๋‹ค. SSL(Secure Socket Layer) / TLS(Transport Layer Security protocol) SSL์€ SSL 1.0 -> SSL 2.0 -> SSL 3.0 -> TLS 1.0 -> TLS 1.3๊นŒ์ง€ ๋ฒ„์ „์ด ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ๋งˆ์ง€๋ง‰์œผ๋กœ TLS๋กœ ๋ช…์นญ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์ง€๋งŒ, ๋ณดํ†ต ์ด๋ฅผ ํ•ฉ์ณ์„œ SSL/TLS๋กœ ๋ถ€๋ฅธ๋‹ค. ์ด ํฌ์ŠคํŒ…์—์„  ์ตœ์‹  ๋ฒ„์ „์ธ TLS 1.3์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. SSL/TLS๋Š” ์ „์†ก ๊ณ„์ธต์—์„œ ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ํ•  ๋•Œ SSL/TLS๋ฅผ ํ†ต..

[๋„คํŠธ์›Œํฌ] HTTP/2

HTTP/2๋Š” SPDY ํ”„๋กœํ† ์ฝœ์—์„œ ํŒŒ์ƒ๋œ HTTP/1.x๋ณด๋‹ค ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ด๊ณ , ์‘๋‹ต ์‹œ๊ฐ„์„ ๋” ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ, ํ—ค๋” ์••์ถ•, ์„œ๋ฒ„ ํ‘ธ์‹œ, ์š”์ฒญ์˜ ์šฐ์„ ์ˆœ์œ„ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. * SPDY ํ”„๋กœํ† ์ฝœ : HTTP 1.1์˜ ์—ฌ๋Ÿฌ ๋ฌธ์ œ์ ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ตฌ๊ธ€์ด ๊ฐœ๋ฐœํ•œ ๋น„ํ‘œ์ค€ ๊ฐœ๋ฐฉํ˜• ํ”„๋กœํ† ์ฝœ https://ko.wikipedia.org/wiki/SPDY SPDY - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „ ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „. SPDY(์Šคํ”ผ๋””/speedy/๋กœ ๋ฐœ์Œ)[1]๋Š” ์›น ์ฝ˜ํ…์ธ ๋ฅผ ์ „์†กํ•  ๋ชฉ์ ์œผ๋กœ ๊ตฌ๊ธ€์ด ๊ฐœ๋ฐœํ•œ ๋น„ํ‘œ์ค€ ๊ฐœ๋ฐฉํ˜• ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. SPDY๋Š” ์›น ํŽ˜์ด์ง€ ๋ถ€ํ•˜ ๋ ˆ์ดํ„ด์‹œ๋ฅผ ์ค„์ด๊ณ  ์›น ko.wikipedia.org ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ์ด๋ž€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ŠคํŠธ๋ฆผ์„ ์‚ฌ์šฉ..

[๋„คํŠธ์›Œํฌ] HTTP/1.1

HTTP/1.0์—์„œ ๋ฐœ์ „ํ•œ ๊ฒƒ์ด HTTP/1.1์ด๋‹ค. HTTP/1.0์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ๋งˆ๋‹ค TCP ์—ฐ๊ฒฐ์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ•œ ๋ฒˆ TCP๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ ํ›„์— 'keep-alive'๋ผ๋Š” ์˜ต์…˜์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒ์ผ์„ ์†ก์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฐ”๋€Œ์—ˆ๋‹ค. ์ด๋ฅผ 'ํŒŒ์ดํ”„๋ผ์ด๋‹'์ด๋ผ ํ•œ๋‹ค. ํŒŒ์ดํ”„๋ผ์ด๋‹์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ์„œ๋ฒ„์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ์š”์ฒญํ–ˆ์„ ๋•Œ, ์ด์ „ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์™„์ „ํ•˜๊ฒŒ ๋ฐ›์ง€ ์•Š๋”๋ผ๋„ ์ง€์†์  ์—ฐ๊ฒฐ๋กœ ํ™•๋ณดํ•œ ํ•˜๋‚˜์˜ TCP ์—ฐ๊ฒฐ ๋‚ด์—์„œ ๋ฏธ๋ฆฌ ๋‹ค์Œ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์ „์ฒด์ ์ธ ์ „๋‹ฌ ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฐธ๊ณ ๋กœ, HTTP/1.0์—๋„ keep-alive ์˜ต์…˜์€ ์žˆ์—ˆ์ง€๋งŒ ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ์ง€ ์•Š์•˜๊ณ , HTTP/1.1๋ถ€ํ„ฐ ํ‘œ์ค€ํ™”๋˜์–ด ๊ธฐ๋ณธ ์˜ต์…˜์œผ๋กœ ์„ค์ •๋˜์—ˆ๋‹ค. ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ, TCP ์ดˆ๊ธฐํ™”๊ฐ€ ๋œ ์ดํ›„์—” ..

[๋„คํŠธ์›Œํฌ] HTTP/1.0

๊ธฐ๋ณธ์ ์œผ๋กœ HTTP๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์œผ๋กœ์„œ ์›น ์„œ๋น„์Šค ํ†ต์‹ ์— ์‚ฌ์šฉ๋œ๋‹ค. HTTP/1.0์—์„œ HTTP/3๊นŒ์ง€ ๋ฐœ์ „ํ–ˆ๋Š”๋ฐ, HTTP/1.0๋ถ€ํ„ฐ HTTP/3๊นŒ์ง€ ํ•˜๋‚˜์”ฉ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. HTTP / 1.0 HTTP/1.0์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•œ ์—ฐ๊ฒฐ๋‹น ํ•˜๋‚˜์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ค๊ณ„ ๋•Œ๋ฌธ์— RTT์˜ ์ฆ๊ฐ€๋ฅผ ๋ถˆ๋Ÿฌ์™”๋‹ค. * RTT : ํŒจํ‚ท์ด ๋ชฉ์ ์ง€์— ๋„๋‹ฌํ•˜๊ณ  ๋‚˜์„œ ๋‹ค์‹œ ์ถœ๋ฐœ์ง€๋กœ ๋Œ์•„์˜ค๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„. ์ฆ‰, ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๊ณผ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์˜ ์ˆ˜์‹  ํ™•์ธ์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์„ ๋”ํ•œ ๊ฐ’์ด๋‹ค. ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ๋งˆ๋‹ค TCP์˜ 3-way handshake๋ฅผ ๊ณ„์†ํ•ด์„œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— RTT๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. RTT์˜ ์ฆ๊ฐ€๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• ๋งค๋ฒˆ ์—ฐ๊ฒฐํ•  ๋•Œ๋งˆ๋‹ค RTT๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ์„œ..

[๋„คํŠธ์›Œํฌ] IP ์ฃผ์†Œ ์ฒด๊ณ„(DHCP, NAT)

DHCP(Dynamic Host Configuration Protocol) IP ์ฃผ์†Œ ๋ฐ ๊ธฐํƒ€ ํ†ต์‹  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•œ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ด ๊ธฐ์ˆ ์„ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ์žฅ์น˜์˜ IP ์ฃผ์†Œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ•  ํ•„์š”์—†์ด ์ธํ„ฐ๋„ท์— ์ ‘์†ํ•  ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŽ์€ ๋ผ์šฐํ„ฐ์™€ ๊ฒŒ์ดํŠธ์›จ์ด ์žฅ๋น„์— DHCP ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ํ†ตํ•ด ๋Œ€๋ถ€๋ถ„์˜ ๊ฐ€์ •์šฉ ๋„คํŠธ์›Œํฌ์—์„œ IP ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•œ๋‹ค. NAT(Network Address Translation) ํŒจํ‚ท์ด ๋ผ์šฐํŒ… ์žฅ์น˜๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋™์•ˆ, ํŒจํ‚ท์˜ IP ์ฃผ์†Œ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ IP ์ฃผ์†Œ๋ฅผ ๋‹ค๋ฅธ ์ฃผ์†Œ๋กœ ๋งคํ•‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. IPv4 ์ฃผ์†Œ ์ฒด๊ณ„๋งŒ์œผ๋กœ๋Š” ๋งŽ์€ ์ฃผ์†Œ๋ฅผ ๋ชจ๋‘ ๊ฐ๋‹นํ•˜์ง€ ๋ชปํ•˜๋Š” ๋‹จ์ ์ด ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด NAT๋กœ ๊ณต์ธ IP์™€ ..