Sam Baek, The Dev's Corner

๐ŸŒ ์ฃผ๋ฌธ์„ ํ•˜๋ฉด ์ฃผ๋ฐฉ์—์„  ์–ด๋–ค ์ผ์ด ๋ฒŒ์–ด์งˆ๊นŒ?

11 Jun 2023

์ฃผ๋ฌธ์„ ํ•˜๋ฉด ์ฃผ๋ฐฉ์—์„  ์–ด๋–ค ์ผ์ด ๋ฒŒ์–ด์งˆ๊นŒ?


์•„๋ฌด๋Ÿฐ ์ƒ๊ฐ ์—†์ด ์š”๋ฆฌ๋ฅผ ํ•˜๋‹ค ๋ฌธ๋“ ์ƒ๊ฐ์ด ๋‚˜ ๋‹ค๊ธ‰ํžˆ ์ฑ…์ƒ์— ์•‰์•˜๋‹ค.
๋ง›์ง‘์— ๊ฐ€์„œ ์Œ์‹์„ ์ฃผ๋ฌธํ•˜๋ฉด
ํ•ด๋‹น ์Œ์‹์ด ๋‚˜์˜จ๋‹ค๋Š”๊ฑด ์—„์ฒญ ๋‹น์—ฐํ•œ ์ผ์ด๋‹ค.
๋ฌผ๋ก , ์ฃผ๋ฌธ ์‹ค์ˆ˜๊ฐ€ ์—†๋‹ค๋Š” ์ „์ œ์—์„œ๋ง์ด๋‹ค. ๐Ÿ˜“

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์ธํ„ฐ๋„ท์—์„œ ๋„ค์ด๋ฒ„๋ฅผ ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ
๋„ค์ด๋ฒ„์˜ ํ™”๋ฉด์ด ๋ณด์ธ๋‹ค๋Š” ๊ฑด ๊ณ ๊ฐ์œผ๋กœ์„œ๋Š”
์—„์ฒญ ๋‹น์—ฐํ•œ ์ผ์ผ์ง€๋„ ๋ชจ๋ฅธ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ, ๋Œ์ด์ผœ๋ณด๋ฉด ๋‚ด๊ฐ€ ์š”๋ฆฌ๋ฅผ ์—…์œผ๋กœ ์‚ผ์„ ๋•Œ
์ฃผ๋ฌธ ๋ฐ›์€ ์š”๋ฆฌ๋ฅผ ์กฐ๋ฆฌํ•ด ์„ ๋ณด์ธ๋‹ค๋Š” ๊ฑด
๊ทธ ์•ˆ์— ๊ต‰์žฅํžˆ ๋‹ค์–‘ํ•œ ๊ณผ์ •์ด ์ˆ˜๋ฐ˜๋๊ณ 
๋‹จ์ˆœํ•˜๋ฉด์„œ๋„ ๋•Œ๋กœ๋Š” ๋ณต์žกํ•œ ๋™์ž‘์ด ๋”ฐ๋ฅด๊ธฐ๋„ ํ–ˆ๋‹ค.

์†๋‹˜์ด ๊ทธ ๊ณผ์ •์„ ๋‹ค ์•Œ ํ•„์š”๋Š” ๊ฒฐ๋‹จ์ฝ” ์—†์ง€๋งŒ
์š”๋ฆฌ์‚ฌ๊ฐ€ ํ•ด๋‹น ์š”๋ฆฌ์˜ ๋ ˆ์‹œํ”ผ๋‚˜ ๊ณผ์ •์„ ๋ชจ๋ฅธ๋‹ค๋Š”๊ฑด
๋ง๋„ ์•ˆ ๋˜๋Š” ์ผ์ด๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ํ”„๋ก ํŠธ์—”๋“œ๋‚˜ ๋ฐฑ์—”๋“œ๋‚˜ ์ƒ๊ด€ ์—†์ด
์›น ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ๋Š” ์ง€๊ธˆ
์›น์ด ๋™์ž‘ํ•˜๋Š” ๊ณผ์ •์„ ๋ชจ๋ฅด๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์€
์ •๋ง์ด์ง€ ๋ง๋„ ์•ˆ ๋˜๋Š” ์ผ์ด๋‹ค.

๊ทธ๋ž˜์„œ ์•ž์น˜๋งˆ๋ฅผ ๋‚ด๋ ค๋†“๊ณ 
๋‹ค๊ธ‰ํžˆ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.

์ฃผ๋ฌธ ํ›„ ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •


์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๋ฉด
HTTP๋Š” URL ์ฃผ์†Œ ์ค‘ ๋„๋ฉ”์ธ์ด๋ฆ„๋งŒ DNS ์„œ๋ฒ„๋กœ ๊ฒ€์ƒ‰ํ•œ๋‹ค.
DNS ์„œ๋ฒ„๋Š” ํ•ด๋‹น ๋„๋ฉ”์ธ ์ด๋ฆ„์— ํ•ด๋‹นํ•˜๋Š” IP์™€ URL์„ HTTP์—๊ฒŒ ๊ฑด๋‚ด์ค€๋‹ค.
HTTP๋Š” ๋ฐ›์€ IP์™€ URL์ •๋ณด๋กœ HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๋งŒ๋“ค๊ณ 
TCP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ์ธํ„ฐ๋„ท์„ ๊ฑฐ์ณ ํ•ด๋‹น IP์ฃผ์†Œ์˜ ์ปดํ“จํ„ฐ๋กœ ๋ณด๋‚ธ๋‹ค.

HTTP ์š”์ฒญ์€ ํ•ด๋‹น IP ์ฃผ์†Œ์˜ ์ปดํ“จํ„ฐ HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด
URL ์ •๋ณด๋กœ ๋ณ€ํ™˜๋ผ ์›น ์„œ๋ฒ„์—์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š”๋‹ค.
์ฐพ์€ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์‹œ HTTPํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด HTTP ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ 
TCP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ์ธํ„ฐ๋„ท์„ ๊ฑฐ์ณ ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ์— ๋„์ฐฉํ•œ๋‹ค.
๋„์ฐฉํ•œ HTTP ์‘๋‹ต ๋ฉ”์‹œ์ง€๋Š” HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜๋˜๊ณ 
์›น ๋ธŒ๋ผ์šฐ์ €์— ์งœ์ž”ํ•˜๊ณ  ๋‚˜ํƒ€๋‚œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.


๋งŒ์•ฝ DHCP๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ?


DHCP ์ฆ‰, Dynamic Host Configuration Protocol์„ ์‚ฌ์šฉํ•˜๋ฉด
์‚ฌ์šฉ์ž์˜ PC๋Š” DHCP ์„œ๋ฒ„์—์„œ ์ž์‹ ์˜ IP, ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ผ์šฐํ„ฐ์˜ IP,
๊ฐ€์žฅ ๊ฐ€๊นŒ์šด DNS ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋ฅผ ๋ฐ›๋Š”๋‹ค.
ARP ํ”„๋กœํ†จ์„ ์‚ฌ์šฉํ•ด IP ์ฃผ์†Œ ๊ธฐ๋ฐ˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ผ์šฐํ„ฐ์˜ MAC์ฃผ์†Œ
๊นŒ์ง€ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์™ธ๋ถ€์™€ ํ†ต์‹ ํ•  ์ค€๋น„๊ฐ€ ๋๋‚œ๋‹ค.

์ดํ›„, ์‚ฌ์šฉ์ž์˜ PC๋Š” DNS ์„œ๋ฒ„์— DNS Query๋ฅผ ์ „๋‹ฌํ•˜๊ณ 
DNS์„œ๋ฒ„๋Š” Root๋„ค์ž„์„œ๋ฒ„์— ์š”์ฒญ(์‚ฌ์šฉ์ž ์ž…๋ ฅ URL)์„ ์งˆ์˜ํ•œ๋‹ค.
Root๋„ค์ž„์„œ๋ฒ„๋Š” ์š”์ฒญ์— ํ•ด๋‹นํ•˜๋Š” ip๋ฅผ ์‘๋‹ตํ•˜๊ณ 
DNS์„œ๋ฒ„๋Š” ๋‹ค์‹œ ํ•ด๋‹น ip๋กœ Root๋„ค์ž„์„œ๋ฒ„์— ์งˆ์˜ํ•œ๋‹ค.
๊ทธ๋Ÿผ Root๋„ค์ž„์„œ๋ฒ„๋Š” ๋‹ค์‹œ ip์— ํ•ด๋‹นํ•˜๋Š” IP๋ฅผ ์‘๋‹ตํ•œ๋‹ค.
ํ•ด๋‹น IP๋ฅผ ์•Œ๊ฒŒ๋˜๋ฉด TCP Socket์„ ๊ฐœ๋ฐฉํ•˜๊ฒŒ ๋˜๊ณ  ์—ฐ๊ฒฐํ•œ๋‹ค.
TCP ์—ฐ๊ฒฐ์ด ์„ฑ๊ณตํ•˜๋ฉด, HTTP Request๋Š” TCP Socket์„ ํ†ตํ•ด ๋ณด๋‚ด์ง€๊ณ 
์‘๋‹ต ๋ฐ์ดํ„ฐ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์— ์งœ์ž”ํ•˜๊ณ  ๋‚˜ํƒ€๋‚œ๋‹ค.