DNS(Domain Name System)

이재윤·2021년 2월 11일
0

네트워크

목록 보기
4/9
post-thumbnail

Host name을 Ip address로 mapping하거나 그 반대의 작업을 위한 service를 의미한다.
ex) www.naver.com(host name)을 125.209.222.141(IP 주소)로 변환한다.

  • 특징
    1. 계층화된 Distributed Database를 사용한다.

      • 유지보수가 쉽다.
      • 한 서버가 고장나도, service가 중지되지 않는다. (single point failure)
      • 중앙화가 되면, traffic volum이 커지게 되며 지역에 따라서 response/request가 길어질 수도 있다.
    2. Application Layer에 구현되어 있다.

  • DNS Service
    1. Translation
      Host name과 IP Address사이를 변환한다.
    2. Host Aliasing
      Aliasing된 Host name을 실제(Canonical) host name으로 변환한다.
    3. Mail Server Aliasing
      도메인을 담당하고 있는 메일서버를 알려준다.
    4. Load Distribution
      복제된 web server들이 하나의 canonical한 host name과 연결되어 부하를 분산 시킨다.
  • DNS: hierarchical Database
    1. Root Name Server
      Domain에 해당하는 Top Level Domain(TLD)서버의 이름을 알고있다.
      Local Name server가 주소를 찾지 못했을 경우 연결해 요청을 보낸다.
    2. Top Level DNS(TLD) Server
      .com, .edu, .net, .museum, .uk, .kr....을 담당한다.
      Authoritatvie 서버의 이름을 알고있다.
    3. Authoritative Server
      기관내에 존재하는 모든 host name, ip address mapping 정보를 가지고 있다.
    • Local DNS Name Server

      • 최근의 Host name - IP address 정보가 들어있다.
      • Default Name Server, Proxy Name Server로 불리기도 한다.
      • residential ISP나, 회사, 학교에서 설치하는 DNS server 이다.
      • Client가 보내는 요청은 1차적으로 Local DNS Server로 direct가 되며, 정보가 없을 경우에 hierarchical database를 이용한다.
  • DNS Name Resolution
    • Iterated Query
      query 받은 서버가 mapping 정보를 모르는 경우 다음에 참조해야할 주소를 알려준다.
      1. cis.poly.edu의 local DNS server에 gaia.cs.umass.edu의 IP 주소를 요청한다.
      2. local DNS server에 정보가 없을 경우 Root Name Server에 해당하는 TLD Server의 주소를 요청한다.
      3. TLD Server의 주소를 반환한다.
      4. 해당하는 Authoritative Server 주소를 요청한다.
      5. Authoritative Server 주소를 반환한다.
      6. 실제 gaia.cs.umass.edu에 해당하는 IP Address를 요청한다.
      7. IP Address를 반환한다.
      8. 클라이언트가 IP Address를 받는다.
    • Recursive Query
      query를 받은 서버가 답을 구해온다.
    • Iterated vs Recursive
      Recursive의 경우 Root Name Server와 TLD Server에 더 많은 부하가 걸리게 된다.
  • DNS: caching, updating records
    한번 조회된 mapping 정보는 캐싱 된다.
    TLD Server의 주소는 보통 Local DNS Name Server에 캐싱되므로 Root Name Server로의 접근이 필요없다.
    OUT-OF-DATE의 문제가 있다.

    해결책
    TTL을 이용해 유효기간이 지난 데이터는 삭제한다.
    -> 만약 TTL이내에 정보가 업데이트 된다면?
    update/notify mechanism이 추가되었다.

  • DNS records
    Distributed Database는 아래와 같은 형식의 resource record를 저장한다. 1. Type A
    name: Host Name
    value: IP Address
    2. Type CName
    name: Aliasing Host Name
    value: Canonical Name
    3. Type NS
    name: Domain Name
    value: Authoritative Name Server
    4. Type MX
    name: Domain Name
    value: Mail Server
  • Inserting Records into DNS

    1. Web server와 Mail Server등 필요한 서버 컴퓨터들의 IP Address와 host name들을 type에 맞게 Authoritative DNS server에 등록한다.
    2, 3. Authoritative DNS server의 host name과 IP Address를 TLD DNS server에 등록한다.
    4. Client가 Client의 Local name server에 www.networkutopia.com의 IP Address를 요청한다.
    5, 6, 7, 8, 9. Iterater Query 방식으로 IP Address을 요청한다.
    10. 받은 IP Address로 TCP Connection을 연결한다.

0개의 댓글