[Network] 10. DNS

dnjstjt12·2024년 11월 9일

Domain Name System(DNS)

  • Internet hosts, routers가 서로 통신하기 위해서는 IP주소를 알아야한다. 하지만 사람은 IP주소가 32-bit로 구성되어서 기억하기가 쉽지않다.
    그래서 IP를 쉬운 이름으로 매핑한 것이 Domain name이다. 그리고 Domain name을 가지고 IP로 변환(resolve)해주는 시스템을 DNS라한다.

  • DNS는 분산 데이터베이스에서 name server들의 계층 구조를 가진다.

  • application layer에서 작동하여 Domain name을 IP 주소로 변환해준다.

a distributed, hierarchical database

Root name server

  • TLD DNS server IP주소들을 제공하는 역할을 한다.

Top-level domain(TLD) server

  • Athoritative DNS server IP주소들을 저장해두고 제공해준다.

Authoritative DNS server

  • DNS에서 특정 도메인에 대한 최종 권한을 가진 서버다.
  • 다른 DNS 서버의 질의에 응답하여 정확한 IP주소를 제공한다.

local DNS Sever

  • 계층에 속하지 않는다.
  • 각 ISP가 가지고 있다.
  • Host는 DNS query를 만들고 이 query를 local DNS server에 보낸다.

Resolution example

  • iterated query 방법
  • recursive query 방법

DNS chaching

  • DNS Chache: Domain name에 대한 IP 변환 주소를 임시로 저장해두는 공간이다.
  • DNS Chahe를 사용하면 같은 도메인에 접근 할 때 마다 다시 DNS 질의를 보내지 않고 캐시에 저장된 IP 주소 정보를 가져올 수 있다.
  • TTL: 네크워크에서 데이터의 유효 기간을 저장하는 값이다.
    DNS에서 TTL은 특정 DNS 정보가 Cahche에 얼마나 오래 저장되는지 나타내는 시간을 의미한다.
    이 시간이 지나면 Cache는 Flush된다.

DNS records

  • RR format = name,value,type,ttl

    Type A
    name: host name
    value: IP address
    Type NS
    name: domain(e.g foo.com)
    value: 도메인에 대한 authoritative name server의 hostname
    Type CNAME
    name: canonical(real) name에 대한 alias name
    valu: canonical name
    Type MX
    value: mail server의 이름

DNS Protocol, messages

  • query와 reply message들 사이의 message format

[참고] Computer Networking A Top-Down Approach EIGHTH EDITION/Kurose.Ross/Pearson

profile
안녕하세요!

0개의 댓글