티스토리 뷰

등장배경

우리가 다음에 접속하기 위해 다음의 IP주소를 직접 기억할 필요 없이 daum.net 이라는 우리가 쉽게 기억할 수 있는 문자를 입력해서 다음 서버에 접근하기 위해 사용된다. 결국 DNS (Domain Name System)는 호스트의 도메인 명을  네트워크 주소로 바꾸거나 그 반대를 위해 등장하였다.

동작방식

1. 사용자가 웹 브라우저 주소 입력창에 도메인 주소를 입력한다.

2. DNS 해석기(Local DNS)에 해당 도메인의 서버 IP주소를 캐싱하고 있는지 확인후 존재하면 반환한다.

3. DNS 해석기에 존재하지 않으면 루트 DNS 서버에 해당 내용을 알고 있는 TLS(.net DNS)로 라우팅한다.

4. TLS(Top Level NameServer)에  Authoritative Name Server로 라우팅 한다.

5.  daum.net 에 대한 Authoritative Name Server에서 요청 도메인의 IP주소를 반환받는다.

6. Authoritative Name Server에서 받은 IP주소로 접속한다.

더보기

💡 Authoritative Name Server   

도메인 서버의 주소 혹은 도메인에 대한 IP를 반환할 수 있는 권한을 가진 NameServer를 의미한다.

Root DNS, TLS, daum.net을 반환해줄 DNS는 모두 Authoritative Name Server 이고, Local DNS는 내가 반환할 수 있는 레코드가 없어 Non-Authoritative Name Server이다.

 

 

도메인 요청과 응답

위 동작 방식에서 DNS 해석기 (Local DNS)에 요청을 했을 때, 내부에서 다 수의 요청들을 통해 권한 있는 네임 서버에 최종적으로 도달하여 IP주소를 획득한다. 이 요청과 응답을 상세히 살펴보면 아래와 같다.

 

  • Query Name String은 URL의 일부로 우리가 일반적으로 보는 웹 사이트의 주소로 볼 수 있다.
  • Type은 다른 DNS서버에 질의하고자 하는 데이터 타입으로 A의 경우 Address의 약자로 주소를 나타낸다. A외에는 NS가 있는데 Name Server의 약자로 Name Server를 검색한다는 의미이다.
  • Class는 통신중인 네트워크를 의미한다. 인터넷 외 네트워크가 존재하지 않기 때문에 IN은 고정 
  • Type을 A로 요청 했기 떄문에 Resource Section에 IP Address를 반환한다. Name Server(NS)를 요청했다면 네임 서버의 주소를 반환할 것이다.

 

 

 

 

도메인의 구조와 계층형 네임 서버

위 내용을 통해 우리가 도메인 주소를 통해 IP 주소를 획득 하는 과정은 DNS 요청과 응답 과정을 거쳐 IP주소를 반환할 수 있는 권한 있는 네임 서버를 찾아 IP를 획득하는 것이다. 그리고 이 네임 서버들의 관계는 계층형으로 나타나는데, 도메인의 구조에서 계층을 확인할 수 있다.

 

 

Root Domain, Top Level , Second Level , Sub 까지 계층형으로 구성되어 있고 이 계층형의 순서가 위에서 살펴본 DNS 동작 과정에서 IP주소를 찾는 과정의 순서와 유사한 구조를 가졌다는 것을 볼 수 있다.

 

 

계층형 구조로 네임 서버를 구성하여 네임 서버에 대한 부하를 분산한다는 장점을 가져간다.

댓글