[Network] DNS κ°μμ λμ λ°©μ
β¨ DNS κ°μ
DNS λ Domain Name System μ μ½μμ΄λ€. λͺ¨λ μλ²μλ κ³ μ μ IP μ£Όμκ° ν λΉλλλ°, μ¬μ©μλ€μ΄ νΉμ μ¬μ΄νΈμ μ μν λλ§λ€ μ΄ μ£Όμλ₯Ό μΈμμ λ€μ΄κ°λ κ²μ νλ μΌμ΄λ€. λλ¬Έμ κ° IP μ£Όμμ λ¬Έμμ΄λ‘ ꡬμ±λ λλ©μΈ (domain) μ μ°κ²°μ§μ΄ νμ©νλ€.
μλ₯Ό λ€μ΄ μ¬μ©μμ λ‘컬 IP μ£Όμλ 127.0.0.1 μΈλ°, λ§€λ² μ΄ μΌλ ¨μ μ«μλ₯Ό λΈλΌμ°μ μ μΉκ³ λ€μ΄κ°λ κ²λ³΄λ€ localhost.com μ΄λΌλ μ§κ΄μ μΈ λλ©μΈ μ£Όμλ₯Ό μ°Ύμ λ€μ΄κ°λ κ²μ΄ ν¨μ¬ νΈν κ²μ΄λ€. μ΄κ²μ΄ λλ©μΈμ΄ νμν μ΄μ μ΄λ€.
DNS λ μ΄μ²λΌ μ»΄ν¨ν°λ€μ΄ λ¬Έμμ΄ λλ©μΈμ ν΅ν΄μλ μ΅μ’
λͺ©μ μ§κΉμ§ λλ¬ν μ μλλ‘ IP μ£Όμμ λλ©μΈμ 맀νν΄λμ μ£Όμ 체κ³μ΄λ€.
λ³΄ν΅ 'url' μ νλ©΄ http://www.google.com μ κ°μ νμμ λ§ν¬λ₯Ό λ μ¬λ¦¬λλ°, μ¬μ€ μ΄ url μ μΈλΆ λΆλΆμΌλ‘ ꡬμ±λμ΄ μλ€.
- scheme: http:// λλ https:// κ³Ό κ°μ΄ 맨 μμ λΆλ λΆλΆμΌλ‘, ν΅μ ν λ μ¬μ©λλ ν΅μ νλ‘ν μ½μ΄λ€.
- subdomain (third-level domain) : www μ ν΄λΉνλ λΆλΆμ΄λ€.
- domain name (second-level domain): google κ³Ό κ°μ΄, λλ©μΈ μ£Όμλ₯Ό ꡬμ±νλ μ΄λ¦μ΄λ€.
- top-level domain (TLD): com κ³Ό κ°μ΄ μ΅μμ κ³μΈ΅μ ꡬμ±νλ λΆλΆμ΄λ€.
π‘ λλ©μΈμ domain name κ³Ό subdomain, TLDλ‘ κ΅¬μ±λ host λ₯Ό μλ―Ένλ€.
www (subdomain) + google (domain name) + com (TLD) = www.google.com
π TLD λ μΌλ°μ μΌλ‘ 6κ°μ§ μ’ λ₯λ‘ λΆλ₯λ μ μλ€.
Generic(gTLD) : μΌλ°μ μΈ TLD (ex .com, .edu, .gov), 3κΈμ μ΄μμΌλ‘ ꡬμ±
country-code(ccTLD) : λ κΈμμ κ΅κ° μ½λ μ¬μ© (ex .kr)
sponsored(sTLD) : μ λ¬Έκ° μ§λ¨, μμΉ λ± νΉμ λͺ©μ μ μν μ€ν°μλ₯Ό λ (ex .asia, .edu)
infrastructure : μ€μν μΈνλΌ μλ³μ κ³΅κ° μ§μμ μν μ μ© λλ©μΈ (ex .arpa)
generic-restricted(grTLD) : νΉμ κΈ°μ€μ μΆ©μ‘±νλ μ¬λμ΄λ λ¨μ²΄ μ¬μ© κ°λ₯ (ex .biz, .name)
test(tTLD) : κ°λ° νλ‘μΈμ€μμ ν
μ€νΈ λͺ©μ μΌλ‘ μ¬μ© (ex .test)
β¨ DNS λμ λ°©μ
μ¬μ©μκ° λλ©μΈ μ£Όμλ₯Ό λΈλΌμ°μ μ°½μ μ λ ₯νμ¬ μμ²μ λ³΄λΌ λ, μ¬μ€ λ°λ‘ ν΄λΉ μ£Όμλ‘ μ΄λνλ κ²μ΄ μλλ€. μ΄ μμ²μ λ¨Όμ μ¬λ¬ domain μ£Όμμ IP μ£Όμλ₯Ό 맀μΉμμΌ λμ DNS μλ²μ μ λ¬λμ΄, μνλ domain μ IP μ£Όμκ° μ‘΄μ¬νλμ§ λ¬»λ 쿼리λ₯Ό 보λΈλ€. μλ΅κ°μΌλ‘ μμ²ν IP μ£Όμλ₯Ό λ°κ² λλ©΄, κ·Έ μ΄νμμΌ ν΄λΉ IP μ£Όμλ‘ ν¨ν·μ 보λΈλ€.
π λλ©μΈμ κ³μΈ΅ ꡬ쑰μ΄κΈ° λλ¬Έμ μμ λλ©μΈλΆν° νμ λ¨κ³μ μμλλ‘ μ£Όμλ₯Ό μ°Ύμκ°λ€. μ¦ .com -> .google -> www μμΌλ‘ μ£Όμ κ²μμ΄ μ§νλλ©°, μ΄ μμλλ‘ λλ©μΈ μ°κ²° λΆλΆμ΄ νλμ© λμ΄λλ©° μ΅μ’
λλ©μΈ μ£Όμλ₯Ό ꡬμ±νκ² λλ€. λλ©μΈ κ³μΈ΅μ μ΅λ 128 κ³μΈ΅κΉμ§ κ΅¬μ± κ°λ₯νλ©° κ³μΈ΅λ³ κΈΈμ΄λ μ΅λ 63λ°μ΄νΈκΉμ§ μ¬μ©ν μ μλ€. λ¬Έμλ μνλ²³, μ«μ, κ·Έλ¦¬κ³ - λ§ μ¬μ©ν μ μλ€.
1. "." : zero-level domain
2. ".com" : first-level domain (TLD)
3. "google.com" : second-level domain
4. "www.google.com": third-level domain
1λ²μ 보면 λ§μΉ¨νλ λλ©μΈ μ£Όμλ₯Ό ꡬμ±νλ λΆλΆμμ μ μ μλ€. μλλ μ΅μμ λλ©μΈ λμ . μ΄ νλ λ λΆλλ°, μ΄λ₯Ό root domain μ΄λΌκ³ νλ€. μΈν°λ· λλ©μΈμ 체κ³μμ μ΅μμλ 루νΈ(root)λ‘μ¨ μΈν°λ· λλ©μΈμ μμμ μ΄ λλ€.
β root domain μ subdomain μ΄ μλ domain μ μλ―ΈνκΈ°λ νλ€. Ex) google.com
DNS 체κ³λ₯Ό ν΅ν΄ IP μ£Όμλ₯Ό μ°Ύμμ€λ κ³Όμ μ λ€μκ³Ό κ°λ€.
1. μΉ λΈλΌμ°μ μ°½μ λλ©μΈ μ£Όμ μ λ ₯ -> λ‘컬 μ»΄ν¨ν°μ μΊμμ ν΄λΉ λλ©μΈμ IP κ° μ μ₯λμ΄ μλμ§ νμΈ
1-1. μλ κ²½μ° λ°λ‘ ν΄λΉ IP μ£Όμλ‘ ν¨ν· μ μ‘, μλ κ²½μ° λ‘컬 DNS μλ²λ‘ 쿼리
2. DNS μλ²μ μΊμ λ° μ£Όμλ‘μμ IP μ£Όμ κ²μ
2-1. μλ κ²½μ° λ°λ‘ ν΄λΉ IP μ£Όμλ‘ ν¨ν· μ μ‘, μλ κ²½μ° μ°κ²°λ Root DNS μλ²λ‘ 쿼리
3. Root DNS μλ² (μ΅μμ λλ©μΈμ λν κΆνμ΄ μλ λ€μ μλ² λͺ©λ‘μ λ°ννλ λλ©μΈ λ€μ μλ²μ΄λ©°, μ μΈκ³μ 13λλ°μ μλ€.) μμ λλ©μΈμ TLD μ 보λ₯Ό κ°μ§κ³ μλ νμ DNS μλ² IP μμ² (".com" )
4. νμ DNS μλ²μμ λ€μ κ³μΈ΅μ μ£Όμλ₯Ό ν¬ν¨νλ λλ©μΈ μ£Όμμ μ 보λ₯Ό κ°μ§κ³ μλ νμ DNS μλ² IP μμ² ("google.com")
5. κ°μ λ°©μμΌλ‘ κ³μΈ΅ νλμ© μ΄λνλ©° μ΅μ’ domain μ IP μ£Όμλ₯Ό λ°μ λκΉμ§ 쿼리 λ°λ³΅
6. λ§μ§λ§μΌλ‘ IP μ£Όμλ₯Ό λ‘컬 DNS μ λΈλΌμ°μ PC μ μΊμ±ν λ€ ν¨ν· μ μ‘
π‘ ν΄λΌμ΄μΈνΈμμ λ‘컬 DNS μλ²λ‘ 보λ΄λ μμ²μ μ¬κ·μ (recursive) 쿼리 λΌκ³ νλ€.
π‘ λ‘컬 DNS μμ root DNS μλ² & νμ DNS μλ²μ 보λ΄λ μμ²μ λ°λ³΅μ (iterative) 쿼리 λΌκ³ νλ€.
β¨ μ°Έκ³ μλ£
- What is a root domain?
- IT μμ§λμ΄λ₯Ό μν λ€νΈμν¬ μ λ¬Έ (κΈΈλ²)