Computer Engineering/Network

DNS란 / DNS 동작 과정

jordan.bae 2024. 4. 3. 17:51

DNS 란

Domain Name System는 인터넷에서 Domain의 주소에 해당하는 컴퓨터의 실제 IP를 알려주는 시스템이자, 하나의 애플리케이션 프로토콜입니다. 즉, 애플리케이션 계층에서 작동하는 시스템과 프로토콜입니다. 주로 브라우저에 domain주소를 입력했을 때, DNS 프로토콜을 이용해서 DNS 시스템에 접근해서 해당 domain 주소의 IP를 알아내는 데 사용됩니다.

 

DNS 구성

DNS는 인터넷상에 URL로 컴퓨터 및 네트워크 장비가 이해할 수 있는 주소인 IP로 변환해주는 시스템으로 분산 데이터베이스 시스템으로 구성되어 있습니다.

DNS시스템의 주요 구성 요소

  1. 도메인 네임 스페이스(Domain Name Space): 전 세계의 모든 도메인 이름을 계층적으로 구분하여 관리하는 시스템입니다. 이 계층 구조는 루트 도메인에서 시작하여 상위 레벨 도메인(TLDs, 예:. com,. org,. net 등)과 그 아래의 세컨드 레벨 도메인으로 이어집니다.
  2. 네임 서버(Name Server): 도메인 이름과 해당 도메인의 IP 주소를 매핑(mapping) 정보를 저장하는 서버입니다. 네임 서버는 이 정보를 바탕으로 사용자의 도메인 이름 조회 요청에 응답합니다.
  3. 리졸버(Resolver): 클라이언트 측에서 도메인 이름 조회 요청을 네임 서버에 전송하고 응답을 받는 역할을 하는 소프트웨어 또는 라이브러리입니다. 대부분의 운영 체제에는 DNS 리졸버가 내장되어 있으며, 사용자가 웹사이트에 접속하려고 할 때 ISP가 관리하는 DNS Resolver로 라우팅 돼서 해당 resolver가 IP를 알아내서 클라이언트 측에 전달합니다.

기타, DNS 레코드나 캐싱등 보안 구성요소들도 존재합니다.

 

DNS 조회 과정

  1. 사용자가 웹 브라우저에 www.naver.com 을 입력합니다.
  2. 사용자의 컴퓨터(리졸버)는 로컬 DNS 캐시를 확인하여 도메인 이름에 해당하는 IP 주소를 찾습니다. DNS 캐시는 사용자의 컴퓨터 내에 있고, 이전에 DNS서버에서 받아온 데이터가 유효기간이 지나지 않으면 바로 해당 IP를 사용할 수 있습니다. DNS 캐시는 URL과 IP주소 그리고 만료기간으로 이뤄져 있습니다.
  3. 로컬 DNS 캐시에 해당 도메인의 IP가 없는 경우는 주로 IP Configuration에 설정된 ISP의 DNS서버에 요청이 실행됩니다. (원하면 직접 DNS 서버의 IP를 설정할 수 있습니다. ex. 구글 DNS 8.8.8.8)

IP 설정에서 DNS 주소
wire shark로 확인한 DNS 요청

 

4. 웹브라우저는 DNS서버에서 도메인 이름에대한 IP 주소를 받고, 이 정보를 사용자의 컴퓨터에 반환합니다. 이제 사용자의 컴퓨터는 이 IP 주소를 사용하여 해당 웹 서버에 접속할 수 있습니다. 4번에서 ISP의 DNS 서버의 resolver는 아래와 같이 작동합니다.

  1. DNS 서버의 캐시를 체크 있으면 사용 없으면 2번으로
  2. ISP의 DNS 해석기는 www.naver.com에 대한 요청을 DNS Root Name server(이하 NS)에 전달
  3. ISP의 DNS 해석기는 www.naver.com에 대한 요청을 이번에는. com 도메인의 TLD(Top-level Domain) NS 중 하나에 다시 전달합니다. com 도메인의 NS는 naver.com 도메인과 연관된 DNS 서비스(ex. AWS Route53)의 NS의 이름을 사용하여 요청에 응답합니다.
  4. ISP의 DNS 해석기는 받은 여러 NS 하나를 선택해 www.naver.com에 대한 요청을 해당 NS에 전달합니다.
  5. 요청받은 NS는 naver.com 호스팅 영역에서 naver.com 레코드를 찾아 웹 서버의 IP 주소 192.0.2.44 등 연관된 값을 받고 이 IP 주소를 DNS 해석기로 반환합니다.
  6. DNS Resolver는 해당 IP주소를 캐싱하고, IP주소를 웹 브라우저(클라이언트에게) 반환합니다.

이 과정을 통해, DNS는 인터넷의 근간을 이루는 핵심적인 기술 중 하나로, 복잡한 숫자로 이루어진 네트워크 주소 대신 사람이 읽고 기억하기 쉬운 도메인 이름을 사용할 수 있게 해 줍니다.

 

 

참고

- DNS란 by AWS https://aws.amazon.com/ko/route53/what-is-dns/

 

DNS란 무엇입니까? – DNS 소개 - AWS

12개월 동안 AWS 프리 티어에 액세스하고 연중무휴 24시간 고객 서비스, 지원 포럼 등을 비롯한 AWS Basic Support의 기능을 사용할 수 있습니다. 현재 Amazon Route 53는 AWS 프리 티어에서 제공되지 않는다

aws.amazon.com

- 인프런 외워서 끝내는 네트워크 핵심이론 강의

반응형

'Computer Engineering > Network' 카테고리의 다른 글

sticky session 이란?  (0) 2018.03.16