DNS(Domain Name System)는 도메인 이름을 IP 주소로 변환하여 인터넷 상의 컴퓨터가 서로 통신할 수 있도록 하는 시스템이다.
DNS 리커서 Domain Name System Recursor
: 리커서는 도서관 어딘가에 있는 특정 책을 찾으러 가는 사서 = 시스템으로부터 쿼리를 수신하도록 설계된 서버
루트 네임 서버 Root Name Server
: 호스트 이름을 IP주소로 변환하는 첫 번째 단계
최상위 도메인 서버 TLD Name Server
: 도서관의 특정 책 랙, example.com에서 TLD서버는 com
권위 있는 네임서버
: 특정 이름을 해당 정의로 변환 가능한 책꽂이에 있는 사전,
네임서버 쿼리의 마지막 중지 지점
: 인터넷의 전화번호부 = 도메인 이름을 IP주소로 변환
인터넷에 연결된 장치에는 다른 컴퓨터가 장치를 찾는데 사용하는 고유 IP주소 존재 → DNS서버를 사용하면, 사람이 192.168.1.1(IPv4)와 같은 주소나 2400:cb00:2048:1::c629:d7a2(IPv6)와 같은 복잡한 영숫자 주소를 기억할 필요가 없다.
DNS 리커서
| 웹 브라우저와 같은 애플리케이션을 통해 클라이언트로부터
DNS쿼리를 수신하도록 설계된 서버.
→ 클라이언트와 DNS 네임서버 사이의 중개자 역할
→ 요청된 IP 주소가 있는 권한 있는 네임서버로부터 응답을 받은 후 응답을 클라이언트에 보냄
→ 웹 클라이언트로부터 DNS쿼리를 받은 후 캐시된 데이터로 응답하거나 요청을 루트 네임서버로 전송
또 다른 요청을 TLD 네임서버로 보낸 후 마지막 요청을 권한 있는 네임서버로 보냄
DNS쿼리 == 특정 도메인 이름에 대한 정보를 요청하는 것
리커서 == 특정 책을 찾으러 가는 사서
반복자 == 클라이언트 DNS쿼리를 만족을 위해 추가 요청 수행
루트 네임서버 - 루트서버
| 사람이 읽을 수 있는 호스트 이름을 IP주소로 변환
→ 더 구체적인 다른 위치에 대한 참조 역할