DNS 서비스는 도메인 네임인 (예: www.naver.com)을 검색하면 IP 주소인 (예: 123.45.678.901)로 바꿔준다.
파일 검색
사용자가 도메인 네임을 입력하면 윈도우 운영체제는 해당 도메인 네임에 대응하는 IP주소를 다음과 같은 경로에 위치한 파일에서 먼저 검색한다.
C:\Windows\System32\drivers\etc\hosts
해당 파일을 열면 다음과 같은 내용이 있다.
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
이 파일에는 우리가 검색한 네이버의 도메인 네임이 없다. 이런 경우에는 다음 단계를 따른다.
DNS 캐시 테이블
DNS 캐시 테이블은 도메인 네임과 IP주소의 대응 관계를 저장한 테이블입니다.
DNS 캐시 테이블에서 해당 도메인 네임에 대응하는 IP 주소를 검색한다. DNS 캐시 테이블에서 네이버 도메인 네임을 검색했다면, 도메인 네임에 대응하는 IP 주소를 참도해 해당 사이트로 접속을 합니다.
만약에 DNS 캐시 테이블에도 없다면 다음 단계를 따릅니다.
로컬 DNS 서버
운영체제는 로컬 DNS 서버의 IP 주소에게 네이버 도메인 네임에 대한 질의를 요청합니다. (예: 로컬 DNS 서버 IP 주소 => 168.126.63.1 과 168.126.63.2번(KT DNS 주소))
운영체제는 로컬 DNS 서버로부터 도메인 네임에 대한 IP 주소를 응답 받으면 해당 내용을 DNS 캐시 테이블에 반영합니다.
DNS 동작 방식 정리
1. hosts 파일을 검색합니다.
2. DNS 캐시 테이블을 검색합니다.
3. DNS 요청과 응답을 수행합니다.
4. DNS 캐시 테이블에 목적지 IP 주소를 반영합니다.