DNS 시스템 설계

ms-shin·2023년 3월 18일
0

network

목록 보기
1/2

DNS keyword 정리

  • 도메인 이름 시스템 (Domain Name System)
  • IP 주소 (Internet Protocol Address)
  • 도메인 이름 (Domain Name)
  • 네임서버 (Name Server)
  • 최상위 DNS 서버 (Top-Level DNS Server)
  • DNS 캐싱 (DNS Caching)

DNS란

DNS는 Domain Name System(도메인 이름 시스템)의 약자입니다. 이는 인터넷을 사용하는 모든 기기가 IP 주소를 사용하여 통신하게 되는데, 이를 사람이 기억하기 쉬운 도메인 이름으로 변환해주는 시스템입니다. 예를 들어, www.google.com이라는 도메인 이름을 입력하면 DNS는 해당 도메인 이름을 해당하는 IP 주소로 변환하여 사용자가 Google에 접속할 수 있게 합니다.

이것은 어떻게 작동하는 것인가?

DNS는 계층 구조를 가진 시스템으로, 먼저 사용자가 입력한 도메인 이름을 최상위 DNS 서버에 요청합니다. 그리고 최상위 DNS 서버는 해당 도메인 이름의 네임서버 주소를 알려주며, 다음으로 그 네임서버에 요청을 보내게 됩니다. 이러한 과정을 반복하여 해당 도메인 이름에 해당하는 IP 주소를 찾아내게 됩니다.

네임서버

네임서버(Name server)는 도메인 이름 시스템(DNS, Domain Name System)에서 사용되는 서버로, 도메인 이름을 IP 주소로 변환해주는 역할을 합니다. 인터넷에서는 사람이 읽을 수 있는 도메인 이름(예: www.example.com)을 사용하여 웹 사이트에 접속하지만, 컴퓨터와 네트워크 장치들은 IP 주소를 사용하여 서로 통신합니다. 네임서버는 이러한 도메인 이름을 실제로 사용되는 IP 주소로 매핑해 주는 중요한 역할을 담당합니다.

DNS 시스템은 계층적 구조를 가지고 있으며, 여러 종류의 네임서버가 존재합니다. 루트 네임서버, TLD (Top Level Domain) 네임서버, 그리고 각 도메인에 속한 영역을 관리하는 영역 네임서버 등이 그 예입니다. 이들 네임서버들이 협력하여 도메인 이름을 IP 주소로 변환하는 과정을 완료합니다.

![네임서버](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f90342c2-181b-45c3-b



  1. 루트 네임서버 (Root Name Server)

    👉🏻 TLD 네임서버의 위치를 가지고 있음. 그리고 전세계 13개만이 존재하고 있고, 루트 네임서버끼리는 정기적으로 동기화되어 각 루트 네임서버가 동일한 정보를 가지고 있도록 하여 DNS 시스템의 가용성과 안정성을 높인다.

아래와 같이 전세계 13개 루트 네임서버가 존재하고, 이에 매칭되는 하나의 IP주소를 가지고 있다.


실제 서버는 많이 존재하고 있고, 해당 사이트(https://root-servers.org/)에서 확인할 수 있다. DNS에 요청을 하면 가장 근접한 노드로 라우팅된다.

한국에도 13개의 Operator의 서버가 존재

  1. TLD 네임서버 (Top Level Domain Name Server)

    👉🏻 이 네임서버는 최상위 도메인(.com, .org, .net 등)을 관리합니다. 루트 네임서버가 TLD 네임서버로 요청을 전달하면, 해당 도메인의 영역 네임서버 정보를 반환합니다.
  2. 영역 네임서버 (Authoritative Name Server)

    👉🏻 특정 도메인의 모든 자원 레코드를 관리하며, 웹 사이트의 IP 주소와 같은 구체적인 정보를 제공합니다. 최종적으로 이 네임서버가 도메인 이름을 IP 주소로 변환해 주는 역할을 담당합니다.

그럼 조금 더 디테일하게 google.com의 ip주소를 얻는 과정을 살펴보자

  1. 브라우저에 캐시를 확인.

  2. 운영체제 시스템 콜에 캐시를 확인

  3. DNS Resolver 캐시를 확인

  1. DNS Resolver는 Root Nameservers에 TLD 네임서버 위치를 받는다.
  • 보통은 대부분 TLD 네임서버의 위치는 캐싱되어있다고 함
  1. DNS Resolver는 TLD 네임서버에게 google.com Authoritative Nameserver 의 IP 주소를 묻고, Authoritative nameserver에서 IP 주소를 받는다.

각 DNS 레코드에 TTL이 있어, DNS 전파가 느리다.

  • DNS 서버는 일반적으로 TTL(Time to Live) 값을 가지며, 이 값이 만료되면 새로운 DNS 요청이 발생합니다. 이 때문에 DNS 변경사항이 전파되는 데 시간이 걸리며, 이러한 이유로 일시적인 서비스 중단이 발생할 수 있습니다.

  • 그렇기 때문에 두가지 조치를 할 수 있습니다.
    • 업데이트가 실제로 발생하기 훨씬 전에 60초와 같이 매우 짧은 것으로 레코드의 TTL을 줄임.
    • 잠시동안 이전 IP주소에서 실행 중인 서버를 그대로 둔다.

아래 bytebyteGo에서 운영하는 유투브를 정리한 내용입니다.
https://www.youtube.com/watch?v=27r4Bzuj5NQ&ab_channel=ByteByteGo

profile
지식을 깊게 파고드는 개발자입니다.

0개의 댓글