본문 바로가기
웹 엔지니어 면접 질문/컴퓨터 네트워크

DNS 동작 과정

by cuziam 2023. 4. 4.

<질문의 의도>

웹 브라우저가 웹 페이지를 불러올 때 먼저 하는 일 중 하나가 소켓통신을 위해 서버의 IP를 찾는 일이다. 웹 문서를 어떤 과정을 거쳐 불러오는지를 평가하는 것 같다.또한 웹페이지를 리디렉션 해야할 때, 직접 DNS를 만져야 하는 일이 생기므로 이에 대한 것도 물어볼 수 있다.

 

*관련 레이어: Application Layer

DNS(Domain Name System)는 네트워크 호스트의 도메인 이름과 실제 IP 주소를 매칭시켜주는 시스템이다. 인터넷에 접속된 모든 호스트들은 IP 주소를 부여받게 되고 이를 통해서 다른 호스트들과 데이터를 주고받는다.

 

DNS의 동작과정

전반적인 컨셉은 계층적인 네임 서버를 놓는 것부터 시작한다. 상위 계층의 네임 서버는 바로 아래 계층의 네임서버의 IP를 갖고있다. 상위 계층의 네임 서버부터 차례대로 “당신이 내가 찾으려는 도메인의 IP를 갖고 있나요?”하고 물어보는 것이다.

  1. 클라이언트가 브라우저에 도메인 이름을 입력하면, OS는 ISP가 제공하는 도메인 네임 서버에 도메인 이름을 전송한다. *ISP는 Internet Service Provider를 의미하며, 우리나라에선 통신 3사가 이에 해당된다. ISP가 제공하는 인터넷 망에 접속하면 IP가 자동으로 할당되고, 통신사가 기본으로 사용하는 도메인 네임 서버를 이용할 수 있다. 몰론 이 기본 네임 서버를 사용하지 않고 자신이 이용하고 싶은 다른 네임 서버를 이용할 수도 있다.
  2. ISP의 도메인 네임 서버는 이 요청을 받아서, 해당 도메인 이름이 서버에 저장되어 있는지 확인한다. 만약에 서버에 저장되어 있다면 해당 도메인 이름의 IP를 클라이언트에 전송하고 작업수행이 끝난다.
  3. 만약 ISP의 네임 서버에 도메인 이름이 저장되어 있지 않다면 IP를 찾는 과정을 수행하기 시작한다. ISP는 루트 네임 서버에 최상위 도메인(TLD: Top level domain)의 이름을 전송한다.
  4. 최상위 도메인 네임서버는 해당 도메인 이름에 대한 IP 주소를 가지고 있는 다음 수준의 DNS 서버에 요청을 전달한다. 이 과정은 계속해서 하위 도메인 네임 서버로 전달되어 도메인 이름과 IP 주소를 연결한다.
  5. 최종적으로 하위 서버는 해당 IP 주소를 ISP에 제공한다.
  6. ISP는 IP주소를 클라이언트의 운영체제에 넘긴다.
  7. IP 주소를 사용하여 해당 웹사이트에 연결한다.

*전반적인 DNS의 컨셉은 아래 강의를 통해서 이해했다.

https://opentutorials.org/course/3276/20299

 

DNS의 원리 - 생활코딩

수업소개 이 수업에서는 도메인 이름의 동작 원리를 큰 틀에서 살펴봅니다.  강의 수업내용 스크린 샷

opentutorials.org

 

받을 가능성이 있는 추가 질문

*웹페이지 리디렉션(redirection)이 어떻게 이루어는지에 대해

*내가 사용할 도메인을 어떻게 등록하고 사용해야 하는지에 대해