본문 바로가기
Quality control (Univ. Study)/Computer Network

DNS

by 생각하는 이상훈 2023. 9. 20.
728x90

DNS

DNS는 domain name system의 줄임말로 domain name을 받아서 IP를 찾아서 연결해주는 system이다.

또한 실제 이름을 사람들에게 친숙한 별칭(canonical, alias names)으로 매핑해주는 host aliasing 역할을 한다.

ilyjt0421sh@gmail.com과 같은 메일 주소가 있을 때 '@'라는 문자가 나오면 mail로 인식을 하는 mail server aliasing 역할도 맡는다.


Distributed database

DNS는 중앙에서 관리하지 않고 distributed database를 이용한다. 예를들어 multinet.inha.ac.kr이라는 주소가 있다면 kr은 한국, ac는 한국에 포함된 academic 즉 교육기관, inha는 교육기관에 포함되는 인하대, multinet은 인하대에 포함된 다양한 서버중 멀티넷을 의미하는 것이다. 각각이 계층화되어있다. Centralize DNS를 이용할 수 없는 이유는 몇가지 이유가 있다.

1. single load of failure - 하나만 오류가 생기면 전체가 무너진다.

2. traffic volume - 병목현상이 일어나서 지연이 일어난다.

3. distant - 중앙으로 직접 연결하려면 물리적인 거리가 멀어져서 그만큼 많은 라우터를 통과하므로 delay가 증가한다.

4. maintenance - 너무 사이즈가 커서 유지관리가 굉장히 힘들다.


Root name server

루트 네임 서버 (Root Name Server)는 DNS (Domain Name System)의 최상위에 위치하는 네임 서버이다. 그것은 도메인 이름 시스템의 계층 구조의 맨 꼭대기에 있으며, 모든 도메인 이름의 조회를 시작하는 기점 역할을 한다.

위에서 봤듯이 com, org, edu, kr등등의 TLD server를 가르키는 정보를 보유하고 있다. 또한 전세계에 13개 밖에 없다. 물론 해당 서버들은 mirror server를 만들어 놓아 다른 곳에 동기화시켜 놓기는 한다.

TLD server

com, org, net, edu, aero, jobs, museums, 및 모든 최상위 국가 도메인(예: 영국, fr, ca, jp)을 이야기한다.
Network Solutions는 .com TLD용 서버를 유지 관리한다.

 

authoritative DNS server

어떤 organization에 대해 직접적인 IP mapping에 대한 권한을 갖고있는 서버이다.organization이나 service 제공자에 의해 유지 관리될 수 있다.

 

Local DNS name server

계층화된 구조에 강하게 종속되지는 않는다. 그러나 local server내에서는 또 계층화된다.모든 ISP(residential ISP, company, university)에는 하나씩 존재한다. 이는 default name server라고도 불린다.host가 DNS query를 만들면 해당 query는 host가 포함된 local DNS server로 전송된다.

최근 name-to-address 변환 쌍의 로컬 cache가 있어서 최근에 검색했던 IP는 저장이 되어있는 것이다.

이 값은 server가 지정한 유효기간이 지나면 휘발된다.


DNS example

위는 iterated 방식으로 local DNS server가 어떤 주소에 대한 정보가 하나도 없다면 root DNS server에게 정보를 요청하면 root가 TLD DNS server의 위치를 알려주면 local DNS가 직접 TLD에게 문의하고 TLD는 authoritative DNS server의 위치를 알려주고 local DNS가 authoritatve에 직접 문의하면 위치를 알려주는 식이다. 다시 말해 정확한 위치를 알고있지 않은 server는 "난 이 이름은 모르겠어 여기에다 물어봐." 이런식의 답변을 보내는 것이다.

위는 recursive 방식으로 root DNS에 문의하면 책임지고 전부 알아와주는 방식이다.

 

iterated 방식을 예시를 통해 자세히 살펴보면 아래와 같다.


Resource Record

RR이라고 불리는 Resource Record는 DNS에서 저장을 해놓는 기록을 이야기한다.

inha.ac.kr로 치면 inha.ac.kr이 name이고 value는 실제 IP 120.35.23.8이고 type=A, ttl(time to leave)는 1주일 이런식으로 format화 되어서 저장하는 것이다.

이때 type에 따라 조금씩 차이가 있다.

A는 address의 줄임말로 위에서본 예시같은 경우이다. 최근에는 IP ver.6에서 비트수가 4배가 되어 직관적으로 AAAA를 이용한다. NS는 name에 별칭이 들어오고 value에 name server의 실제이름이 들어온다. CNAME도 유사한 과정이고 조금의 오타로 입력이 잘못되었을때 유사한 보유하고 있는 서버를 찾아주는 역할도 한다. 마지막으로 MX는 mailserver에 적용할때 이용하는 type이다.


DNS message


728x90

'Quality control (Univ. Study) > Computer Network' 카테고리의 다른 글

P2P(2)  (0) 2023.09.27
P2P(1)  (0) 2023.09.22
E-mail protocol  (0) 2023.09.19
컴퓨터 네트워크 문제(1)  (0) 2023.09.18
FTP  (0) 2023.09.14