Network Basis
[Network] DNS란?
DevPing9_
2021. 11. 3. 15:09
# DNS(Domain Name System)
- 인터넷 전화번호부라 생각하면 된다.
- 웹브라우저는 IP(인터넷 프로토콜)주소를 통해 상호작용 하는데, 전화번호부에 [홍길동, 010-xxx-xxxx] 라 기입되어 있듯이, DNS에도 [www.navery.com, 192.xxx.xxx.xxx] 로 기입되어있다.
- 이러한 연관관계를 매칭시켜 도메인이름(www.navery.com)를 IP주소(192.xxx....) 로 변환하여 브라우저가 인터넷 리소스에 접근한다.
# 웹 페이지 로드와 관련된 4개의 DNS 서버 (DNS 작동원리)
1. DNS recursor
- DNS 리커서는 도서관의 어딘가에서 특정한 책을 찾아달라고 요청받는 사서로 생각할 수 있다. DNS 리커서는 웹 브라우저 등의 애플리케이션을 통해 클라이언트 컴퓨터로부터 쿼리를 받도록 고안된 서버이다. 일반적으로, 리커서는 클라이언트의 DNS 쿼리를 충족시키기 위해 추가 요청을 수행한다.
2. Root nameserver
- 루트 서버는 사람이 읽을 수 있는 호스트 이름을 IP 주소로 변환하는 첫 번째 단계이다. 도서관에서 책장 위치를 가리키는 색인으로 생각할 수 있으며, 일반적으로 다른 더욱 특정한 위치에 대한 참조로 사용된다.
3. TLD nameserver
- TLD(최상위 도메인) 서버는 도서관의 특정 책장으로 생각할 수 있다. 이 이름 서버는 특정 IP 주소 검색의 다음 단계이며 호스트 이름의 마지막 부분을 호스팅한다. (navery.com에서 TLD 서버는 “com”이다)
4. Authoritative nameserver
- 최종 이름 서버로서, 책장에 있는 사전처럼 특정 이름을 해당 정의로 변환한다.이 서버는 이름 서버 쿼리의 종착점이다. 이 서버가 요청한 레코드에 대한 액세스 권한이 있다면, 요청한 호스트 이름의 IP 주소를, 초기 요청을 한 DNS 리커서(사서)에게 돌려 보낸다.
# DNS 조회의 8단계
- 사용자가 웹 브라우저에 'example.com'을 입력하면, 쿼리가 인터넷으로 이동하고 DNS 재귀 확인자(resolver)가 이를 수신.
- resolver가 DNS 루트 이름 서버(.)를 쿼리.
- 루트 서버가, 도메인에 대한 정보를 저장하는 최상위 도메인(TLD) DNS 서버(예: .com 또는 .net)의 주소로 확인자에 응답. example.com을 검색할 경우의 요청은 .com TLD를 가리킴.
- 이제, 확인자가 .com TLD에 요청.
- 이어서, TLD 서버가 도메인 이름 서버(example.com)의 IP 주소로 응답.
- 마지막으로, 재귀 확인자가 도메인의 이름 서버로 쿼리.
- 이제, example.com의 IP 주소가 이름 서버에서 확인자에게 반환됨.
- 이어서, DNS 확인자가, 처음 요청한 도메인의 IP 주소로 웹 브라우저에 응답. - 8단계
- 브라우저가 IP 주소로 HTTP 요청을 보냄.
- 해당 IP의 서버가 브라우저에서 렌더링할 웹 페이지를 반환
# Reference
728x90