HJW's IT Blog

DNS: Domain Name System 본문

컴퓨터 네트워크

DNS: Domain Name System

kiki1875 2023. 4. 1. 11:37

DNS 란?

 

DNS란 인터넷에서 사용되는 네트워크 서비스 중 하나로, 컴퓨터나 다른 기기들이 인터넷에 연결되어 있는 IP 주소를 도메인 이름으로 매핑해주는 시스템 이다.

 

DNS는 인터넷에서 도메인 이름을 사용하여 웹 사이트를 검색하거나 이메일을 보낼 수 있도록 해준다.

 

사용자가 도메인 이름을 입력시, DNS 서버는 해당 도메인 이름에 해당하는 IP 주소를 찾아서 사용자의 기기에 제공한다.

 

DNS 는 전 세계적으로 분산된 서버 네트워크로 구성되어 있다.

 

DNS services

Host name을 IP 주소로 매핑한다.

Host Aliasing - canonical, alias name

Mail server aliasing

Load distribution - Traffic이 한곳에 몰릴 때, 분산시킨다.

 

DNS는 분산된 서버 네트워크로 구성되어 있는데, 이는 한곳에 집중시켰을때의 문제점이 많기 때문이다.

  • Single Point of Faliure
  • 트레픽 부하
  • 먼 중앙집중식 데이터베이스
  • 유지보수 등

분산 DNS 서버 구조

예시) client가 www.amazon.com의  의 IP 주소를 요청시

  • Root DNS server에 우선 요청
  • Root DNS Server 가 .com DNS server에게 요청하라고 응답
  • .com DNS Server에 요청
  • .com DNS Server가 amazon.com DNS  server에 요청하라고 응답
  • amazon.com DNS server에 요청

Root Name Servers

로컬 DNS 서버가 특정 도메인 이름을 해결할 수 없을 때 - mapping 할 수 없을때 연결

Mapping 후 Root Name Server 는 local name server에 mapping 반환

Root Name Servers Worldwide

TLD(Top Level Domain) Servers

  • Top Level Country Domain 을 관리
  • ex) .com, .org, .net, .kr... 등

 

Authoritative DNS Servers

  • 조직이 각자의 DNS 서버 보유하여 직접 Hostname 과 IP 매핑을 하여 조직에 알려진 호스트에 대해 
  • 조직이나 서비스 제공자가 유지보수를 한다

 

Local DNS Name Server

  • 계층에 묶여있지 않다
  • 각 ISP가 하나씩 보유
  • Host 가 DNS query를 보냈을 때, 우선적으로 local DNS 서버에 요청
    • Name <-> IP 에 대한 캐시 보유

 

DNS Name Resolution 

Iterated Query

Iterated Query의 경우 연락받은 서버가 연락할 서버의 이름을 반환해 준다

 

Recursive Query

Recursive Query의 경우 pending의 문제가 생길 수 있다

 

DNS Chaching

  • Name 서버가 메핑을 할게 되면 메핑을 캐시화 하게 된다
    • out-of-date일 수 있다
    • Cache Entry 들은 시간이 지나면 사라진다 (TTL)
    • TLD server들은 보동 local name server에 케싱된다 (root name server 을 덜 방문하기 위함)

 

DNS records, protocol, messages

RR format: (name, value, type, ttl)

DNS Record 종류

  • Type = A
    • name is hostname
    • value is IP address
  • Type = NS
    • name is domain
    • value is hostname of authoritative name server for this domain
  • Type = CNAME
    • Name is alias name for some canonical name
      • ex) www.ibm.com 은 실제로 servereast.backup2.ibm.com
    • value is canonical name
  • Type = MX
    • Value is name of mailserver associated with name

 

DNS Protocol, Messages

질의 응답 모두 같은 형식이다. 

DNS Message Format

  • Identification: 16bit number 
  • Flags: Query or Reply, recursion desired, recursion available, reply is authritative
  • Questions: name, type fields for query
  • Answers: RRs in response to query
  • Authority: Records for authoritative servers
  • Additional Info: Additional "helpful" info that may be used

 

 

'컴퓨터 네트워크' 카테고리의 다른 글

Socket Programming with TCP & UDP  (0) 2023.04.05
P2P, CDN  (0) 2023.04.02
FTP: File Transfer Protocol  (0) 2023.04.01
Web & HTTP  (0) 2023.03.31
응용 계층: Application Layer  (0) 2023.03.31