DNS 동작 방식 1편
DNS 동작 방식 1 편
현재 사용하고 있는 인터넷은 IP 주소 기반으로 동작을 하고 있습니다. 그런데 우리는 웹페이지에 접속을 할 때 도메인 주소, 예를 들어 www.google.com 을 입력하고 접속을 하면 google 의 첫 화면이 보입니다. IP주소를 입력 안하고 도메인 주소를 입력했을 뿐인데 어떻게 접속이 가능한 걸까요? 이걸 해결해 주는 시스템이 DNS(Domain Name System) 입니다.
DNS 를 간단하게 설명하면 도메인 주소에 대한 IP 정보를 제공하는 시스템입니다. 그럼 Client 가 www.google.com 첫 화면이 보이는 과정에 대해서 알아보고자 합니다.
DNS 동작 과정

① PC의 호스트 파일에 www.google.com 에 대한 IP 주소 정보가 있는 지 확인합니다.
윈도우 : c:\windows\system32\drivers\etc\hosts
리눅스 : /etc/hosts
② PC의 DNS 캐시에 www.google.com 에 대한 IP 주소가 있는 지 확인합니다.
③ Local DNS 에 www.google.com 에 대한 DNS query 를 보냅니다. Local DNS는 내 PC 에 설정되어 있는 네임서버 입니다.
예) 168.126.63.1 (KT DNS), 8.8.8.8 (google DNS) 등
④ Local DNS 의 DNS 캐시 정보에 www.google.com 에 대한 IP 주소가 있는 지 확인합니다.
⑤ Local DNS 는 Root DNS 에 www.google.com 에 대한 IP 주소를 요청하는 DNS query 를 보냅니다.
⑥ Root DNS 는 자신의 존 파일에 정보가 있다면 IP 주소를 응답하고, 없다면 COM 의 DNS 서버 주소를 응답합니다.
⑦ Local DNS 는 Root DNS 에서 받은 COM DNS 에 www.google.com 에 대한 IP 주소 정보를 요청하는 DNS query 를 보냅니다.
⑧ COM DNS 는 자신의 존 파일에 정보가 있다면 IP 주소를 응답하고, 없다면 google.com 의 DNS 서버 주소를 응답합니다.
⑨ Local DNS 는 COM DNS 에서 받은 google.com DNS 에 www.google.com 에 대한 IP 주소 정보를 요청하는 DNS query 를 보냅니다.
⑩ google.com DNS 는 존 파일 정보를 확인하여 IP 주소를 응답해 줍니다.
⑪ Local DNS 는 google.com DNS 에서 응답받은 IP 주소를 client 에 응답해 줍니다. 그러면서 TTL 시간 동안 www.google.com 의 IP 주소를 캐싱하고 있습니다.
⑫ client 는 Local DNS 에서 받은 IP 주소(www.google.com)로 접속 요청을 합니다. 그러면서 TTL 시간 동안 www.google.com 의 IP 주소를 캐싱하고 있습니다.
⑬ www.google.com 서버는 www.google.com 첫 화면을 client 에 전송합니다.