๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Front-end/Browser

์ฃผ์†Œ์ฐฝ์— URL (www.google.co.kr) ์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๋‚˜์š” ?

by ciocio 2022. 3. 4.

๐Ÿ“Œ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— www.google.co.kr์„ ์ž…๋ ฅํ•˜๋ฉด ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์งˆ๊นŒ ?

 

1. ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— www.google.co.kr์„ ์ž…๋ ฅ.
2. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด 4๊ฐœ์˜ cache์—์„œ DNS๊ธฐ๋ก ํ™•์ธ.
3. ์š”์ฒญํ•œ URL์ด cache์— ์—†์œผ๋ฉด ISP์˜ DNS server๋Š” ์žฌ๊ท€์ ์œผ๋กœ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ฐพ์Œ.
4. ์•Œ๋งž์€ IP์ฃผ์†Œ๋ฅผ ์ฐพ์œผ๋ฉด, ๋ธŒ๋ผ์šฐ์ €๋Š” ํ•ด๋‹น ์„œ๋ฒ„์™€ TCP์—ฐ๊ฒฐ์„ ์‹œ๋„.
5. TCP์—ฐ๊ฒฐ์— ์„ฑ๊ณตํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ์„œ๋ฒ„์— HTTP์š”์ฒญ ๋ณด๋ƒ„.
6. ์›น ์„œ๋ฒ„๋Š” ์ฒ˜๋ฆฌํ•œ HTTP์‘๋‹ต์„ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๋ณด๋ƒ„.
7. ๋ธŒ๋ผ์šฐ์ €๋Š” ์‘๋‹ต์— ๊ธฐ๋ฐ˜, HTML ์ปจํ…์ธ ๋ฅผ ๋žœ๋”๋งํ•ด์„œ ์šฐ๋ฆฌ ๋ˆˆ์— ๋ณด์—ฌ์คŒ.

 

 

๐Ÿ“ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— www.google.co.kr ์ด๋ผ๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค. 

 

 

๐Ÿ“ ํ•ด๋‹น ๋„๋ฉ”์ธ ์ฃผ์†Œ์˜ IP์ฃผ์†Œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด 4๊ฐœ์˜ ์บ์‹œ์—์„œ DNS๊ธฐ๋ก์„ ํ™•์ธํ•œ๋‹ค. 

 

๐Ÿ“Ž DNS (Domain Name System) ?  

์›น์‚ฌ์ดํŠธ(URL)์˜ ์ด๋ฆ„(๋„๋ฉ”์ธ ์ฃผ์†Œ)๊ณผ IP์ฃผ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” DB ์‹œ์Šคํ…œ์ด๋‹ค.

'์ธํ„ฐ๋„ท์˜ ์ „ํ™”๋ฒˆํ˜ธ๋ถ€' ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•˜๋‹ค.

DNS๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์›น ์‚ฌ์ดํŠธ์— ํŽธํ•˜๊ฒŒ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค€๋‹ค.

๋งˆ์น˜ ์šฐ๋ฆฌ๊ฐ€ 101011 ์„ ์น˜์ง€ ์•Š๊ณ  ํ‚ค๋ณด๋“œ๋ฅผ ๋‘๋“ค๊ฒจ ํ™”๋ฉด์— ๋ฌธ์ž๋ฅผ ์‰ฝ๊ฒŒ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ,

์ˆซ์ž๋กœ๋œ IP์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ…์ŠคํŠธ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๋Š” ๊ฒŒ ๋” ํŽธ๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

• 1. ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ ํ™•์ธ

๋ธŒ๋ผ์šฐ์ €๋Š” ๋‚ด๊ฐ€ ๋ฐฉ๋ฌธํ•œ ์›น์‚ฌ์ดํŠธ์˜ DNS๊ธฐ๋ก์„ ์ผ์ • ๊ธฐ๊ฐ„๋™์•ˆ ์บ์‹œ์— ๋ณด๊ด€ํ•œ๋‹ค.

 

• 2. OS ์บ์‹œ ํ™•์ธ

(๋ธŒ๋ผ์šฐ์ € ์บ์‹œ์— ์ผ์น˜ํ•˜๋Š” DNS๊ธฐ๋ก์ด ์—†๋‹ค๋ฉด)

OS์—๋„ DNS๊ธฐ๋ก์„ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ณณ์ด ์กด์žฌํ•œ๋‹ค.

 

• 3. ๋ผ์šฐํ„ฐ ์บ์‹œ ํ™•์ธ

(OS ์บ์‹œ์— ์ผ์น˜ํ•˜๋Š” DNS๊ธฐ๋ก์ด ์—†๋‹ค๋ฉด)

๋ผ์šฐํ„ฐ๋„ DNS๊ธฐ๋ก์„ ์ผ์‹œ์ ์œผ๋กœ ๋ณด๊ด€ํ•œ๋‹ค.

 

• 4. ISP ์บ์‹œ ํ™•์ธ

ISP๋Š” DNS server๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

ํ•ด๋‹น ์„œ๋ฒ„์—์„œ DNS๊ธฐ๋ก ์บ์‹œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“Ž ISP (Internet Service Provider) ?

์ธํ„ฐ๋„ท ์„œ๋น„์Šค ์ œ๊ณต์ž, ์ฆ‰ ์ธํ„ฐ๋„ท ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ฃผ์ฒด๋ฅผ ๋งํ•œ๋‹ค. ex. KT, LG U+ (Tier 3) etc.

ISP๋Š” 3๊ฐœ์˜  ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

• 3๋‹จ๊ณ„ ISP (๊ณ„์ธต3 ์ธํ„ฐ๋„ท ๊ณต๊ธ‰์ž : Tier-3)

3๋‹จ๊ณ„ ISP๋Š” ์ธํ„ฐ๋„ท ์ „์†ก์„ ๊ตฌ๋งคํ•˜๋Š” ์ œ๊ณต ์—…์ฒด์ด๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•Œ๊ณ  ์žˆ๋Š”, ์ธํ„ฐ๋„ท์„ ์ œ๊ณตํ•ด์ฃผ๋Š” ISP์ด๋ฉฐ, ์ ‘์† ISP ๋ผ๊ณ ๋„ ํ•œ๋‹ค. ex. KT, LG U+ ...

 

• 2๋‹จ๊ณ„ ISP (๊ณ„์ธต2 ์ธํ„ฐ๋„ท ๊ณต๊ธ‰์ž : Tier-2)

1๋‹จ๊ณ„ ISP์™€ 3๋‹จ๊ณ„ ISP๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณต๊ธ‰์ž์ด๋‹ค.

์ธํ„ฐ๋„ท ์ „์†ก์„ ๊ตฌ๋งคํ•˜๊ธฐ๋„ ํ•˜๊ณ , ํ”ผ์–ด๋ง ๊ณ„์•ฝ์„ ํ†ตํ•ด ์ธํ„ฐ๋„ท ํŠธ๋ž˜ํ”ฝ์„ ๊ตํ™˜ํ•œ๋‹ค.

 

• 1๋‹จ๊ณ„ ISP (๊ณ„์ธต1 ์ธํ„ฐ๋„ท ๊ณต๊ธ‰์ž : Tier-1)

๋‹ค๋ฅธ 1๋‹จ๊ณ„ ISP์™€ ์ธํ„ฐ๋„ท ํŠธ๋ž˜ํ”ฝ์„ ๊ตํ™˜ํ•˜๋Š” ์ธํ„ฐ๋„ท ์ œ๊ณต ์—…์ฒด๋“ค์„ ๋งํ•œ๋‹ค. ๋ฐฑ๋ณธ ์ธํ„ฐ๋„ท ๊ณต๊ธ‰์ž๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.

์ด ์—…์ฒด๋“ค์€ ๋Œ€์„œ์–‘ ์ธํ„ฐ๋„ท, ํ•ด์ € ์ผ€์ด๋ธ”๊ณผ ๊ฐ™์€ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ ,

์ตœ์ข… ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹Œ '๋ชจ๋“  ์ธํ„ฐ๋„ท ๊ณต๊ธ‰์ž'์—๊ฒŒ ํŠธ๋ž˜ํ”ฝ์„ ์ œ๊ณตํ•œ๋‹ค.

๊ณ„์ธต1 ์ธํ„ฐ๋„ท ๊ณต๊ธ‰์ž๊ฐ€ ์—†์œผ๋ฉด ๋Œ€๋ฅ™๊ณผ ๊ตญ๊ฐ€ ๊ฐ„์— ์ธํ„ฐ๋„ท ํŠธ๋ž˜ํ”ฝ์„ ๊ตํ™˜ํ•  ์ˆ˜ ์—†๋‹ค.

 

 

๐Ÿ“ ์š”์ฒญํ•œ URL์ด cache์— ์—†์œผ๋ฉด ISP์˜ DNS server๋Š” ์žฌ๊ท€์ ์œผ๋กœ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ฐพ๋Š”๋‹ค. 

 

 

 

๐Ÿ“Ž DNS server (Domain Name System Server) ?

ํ• ๋‹น๋œ ๋„๋ฉ”์ธ ์˜์—ญ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์„œ๋ฒ„๋กœ, ์ฃผ๋กœ ๋„๋ฉ”์ธ์„ IP์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

DNS server๋Š” DNS Recursor๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.

 

๐Ÿ“Ž DNS Recursor ?

์—ฌ๋Ÿฌ ๋‹ค๋ฅธ DNS server์— ์š”์ฒญ์„ ๋ณด๋‚ด ์ง€์ •๋œ ๋„๋ฉ”์ธ์˜ ์ ์ ˆํ•œ IP์ฃผ์†Œ๋ฅผ ์ฐพ๋Š” ์ผ์„ ๋‹ด๋‹นํ•œ๋‹ค. (DNS lookup ๋‹ด๋‹น)

recursor(์žฌ๊ท€)์ด๋ฆ„์ด ๋ถ™๊ฒŒ ๋œ ์ด์œ ๋„, ์•Œ๋งž๋Š” IP์ฃผ์†Œ๋ฅผ ์ฐพ์„ ๋•Œ๊นŒ์ง€ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๋ฐ˜๋ณต์ ์ธ ํŠน์„ฑ๋•Œ๋ฌธ์ด๋‹ค.

๋‹ค๋ฅธ DNS server๋Š” Name server๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์™œ? ๋„๋ฉ”์ธ ์ด๋ฆ„์˜ ๋„๋ฉ”์ธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ DNS ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๐Ÿ“Ž ๋„๋ฉ”์ธ ์•„ํ‚คํ…์ณ (Domain Architecture)

• ๋ฃจํŠธ ๋„๋ฉ”์ธ (Root Domain)   ex. "." 
• ์ตœ์ƒ์œ„ ๋„๋ฉ”์ธ (TLD : Top Level Domain)   ex. "edu", "org", "gov", "com", "au"
• 2์ฐจ ๋„๋ฉ”์ธ (Second Level Domain)   ex. "openoffice.org", "expedia.gov", "microsoft.com"
• 3์ฐจ ๋„๋ฉ”์ธ (Third Level Domain)   ex. "www.openoffice.org", "download.microsoft.com"

 

๊ฐ ๋‹จ๊ณ„์—๋Š” DNS lookup ๋„์ค‘์— ์ฟผ๋ฆฌ๋˜๋Š” ๊ณ ์œ ํ•œ Name server๊ฐ€ ์žˆ๋‹ค.

 

** ๋™์ž‘๊ณผ์ • ์˜ˆ์‹œ [www.google.co.kr]

DNS Recursor๋Š” ๋ฃจํŠธ ๋„ค์ž„ ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•œ๋‹ค. 

๋ฃจํŠธ ๋„ค์ž„ ์„œ๋ฒ„๋Š” .kr (์ตœ์ƒ์œ„) ๋„ค์ž„ ์„œ๋ฒ„๋กœ redirectionํ•œ๋‹ค.

.kr ๋„ค์ž„ ์„œ๋ฒ„๋Š” .co.kr (2์ฐจ) ๋„ค์ž„ ์„œ๋ฒ„๋กœ redirectionํ•œ๋‹ค.

.co.kr ๋„ค์ž„ ์„œ๋ฒ„๋Š” www.google.co.kr (3์ฐจ) ๋„ค์ž„ ์„œ๋ฒ„๋กœ redirectionํ•œ๋‹ค.

์ผ์น˜ํ•˜๋Š” ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์ฐพ์œผ๋ฉด, ํ•ด๋‹น IP์ฃผ์†Œ๋ฅผ DNS Recursor๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

DNS Recursor๋Š” ์ด๋ฅผ ๋ธŒ๋ผ์šฐ์ €๋กœ ๋‹ค์‹œ ๋ณด๋‚ธ๋‹ค.

 

 

๐Ÿ“ ์ผ์น˜ํ•˜๋Š” IP์ฃผ์†Œ๋ฅผ ์ฐพ์œผ๋ฉด, ๋ธŒ๋ผ์šฐ์ €๋Š” ํ•ด๋‹น ์„œ๋ฒ„์™€ TCP์—ฐ๊ฒฐ์„ ์‹œ์ž‘ํ•œ๋‹ค. 

 

HTTP ์š”์ฒญ์—๋Š” TCP(Transmission Control Protocol)์ด๋ผ๋Š” ์ „์†ก ์ œ์–ด ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

โœ๐Ÿป TCP/IP 3-way handshake ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•

: client์™€ server๊ฐ€ SYN(SYNchronize : ์—ฐ๊ฒฐ ์š”์ฒญ) ๋ฐ ACK(ACKnowledgement : ์Šน์ธ) ๋ฉ”์„ธ์ง€๋ฅผ ๊ตํ™˜ํ•˜๋ฉฐ

์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๋Š” 3๋‹จ๊ณ„์˜ ํ”„๋กœ์„ธ์Šค.

1. client๋Š” server์— SYN ํŒจํ‚ท์„ ๋ณด๋‚ด ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฌป๋Š”๋‹ค.

2. server์— ์ƒˆ ์—ฐ๊ฒฐ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์—ด๋ฆฐ ํฌํŠธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, SYN/ACK ํŒจํ‚ท์„ ๋ณด๋‚ด ACK(์Šน์ธ)๋กœ ์‘๋‹ตํ•œ๋‹ค.

3. client๋Š” server๋กœ ๋ถ€ํ„ฐ SYN/ACK ํŒจํ‚ท์„ ์ˆ˜์‹ ํ•˜๊ณ  ACK ํŒจํ‚ท์„ ์ „์†กํ•˜์—ฌ ์Šน์ธํ•œ๋‹ค.

 

 

๐Ÿ“ TCP์—ฐ๊ฒฐ์— ์„ฑ๊ณตํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ์„œ๋ฒ„์— HTTP ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค. 

 

 

๐Ÿ“ ์›น ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ HTTP์‘๋‹ต์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์— ์ „์†กํ•œ๋‹ค. 

 

 

๐Ÿ“ ๋ธŒ๋ผ์šฐ์ €๋Š” HTML์„ ๋ Œ๋”๋งํ•œ ํ˜•ํƒœ๋ฅผ ํ™”๋ฉด์— ๋ณด์—ฌ์ค€๋‹ค. 

 

 

 

 

• ์ฐธ๊ณ  ์ž๋ฃŒ

 

https://medium.com/@maneesha.wijesinghe1/what-happens-when-you-type-an-url-in-the-browser-and-press-enter-bb0aa2449c1a

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€