DNS란
- 도메인 네임 시스템 (Domain Name System, DNS) 은 호스트의 도메인네임 (www.example.com)을 네트워크 주소(192.168.1.0)로 변환하거나, 그 반대의 역할을 수행하는 시스템이다.
- DNS 서버는 사용자가 도메인 이름을 브라우저에 입력하면, 사용자를 어떤 서버에 연결할 것인지 제어한다. 이러한 요청을 쿼리 라고 한다.
DNS 서버(네임 서버) 역할
- 자기 사이트의 호스트명과 IP 주소에 관한 쿼리에 응답
- 자신의 사용자들을 대신해 로컬 또는 원격 호스트에 관한 질의를 수행
- 쿼리에 대한 응답을 캐싱
- DNS 데이터를 동기화하고자 다른 로컬 네임서버들과 대화
브라우저가 도메인에 해당하는 IP를 찾는 순서
-
Local Cache 안에 검색한 해당 도메인의 IP가 있는 지 확인
-
만약 캐시에 없다면 컴퓨터 내부에 파일 형태로 존재하는 hosts 파일을 검색해서 찾음. 해당 hosts 파일에 특정 도메인과 IP를 매핑시켜놓으면 해당 도메인은 지정한 IP로 이동함
-
만약 위의 경우에서 도메인에 대한 IP를 찾지 못하면 최종적으로 DNS 서버를 재귀적으로 검색하기 시작함
- Local DNS 서버가 여러 DNS 서버에 차례대로 (Root DNS 서버 -> com DNS 서버 -> naver.com DNS 서버) 요청하여 그 답을 찾는 과정을 재귀 검색(Recursive Query)이라고 부른다.