❗DNS란?

인터넷에서 도메인 이름(예: www.example.com)을 IP 주소(예: 192.0.2.1)로 변환하는 시스템이다. 사람이 기억하기 쉬운 도메인 이름을 사용해 웹사이트나 네트워크 자원에 접근할 수 있게 하며 IP 주소로 서버에 연결을 가능하게 하여 인터넷의 전화번호부 역할 한다. 인터넷이 정상적으로 작동하려면 신뢰할 수 있고 빠른 DNS 서비스가 필수적이다.

 

❗DNS의 역할과 동작 원리

DNS는 계층 구조로 이루어져 있으며 단계별로 정보가 저장되고 검색된다.

 

  1. DNS 요청과 캐시 확인
    • 사용자가 웹 브라우저에 도메인 이름을 입력하면 먼저 브라우저와 운영 체제에서 해당 도메인 이름의 IP 주소가 캐시(임시 저장소)에 있는지 확인함
    • 캐시에 존재하지 않으면 DNS 서버에 요청을 보냄

  2. DNS 서버 계층 구조
    • 루트 DNS 서버: 최상위에 위치하며 모든 도메인의 최상위 정보를 관리
      • .com, .org, .net과 같은 최상위 도메인을 관리하는 TLD 서버의 위치를 알려줌
    • TLD(Top-Level Domain) DNS 서버: 특정 최상위 도메인(.com, .org 등)에 대한 정보를 관리
      • 해당 도메인의 권한 있는 네임 서버(Authoritative DNS Server)를 알려줌
    • 권한 있는 네임 서버(Authoritative DNS Server): 최종적으로 도메인 이름과 IP 주소의 매핑 정보를 가지고 있으며 클라이언트가 요청한 IP 주소를 반환

  3. DNS 레코드 유형: 다양한 서비스와 네트워크 자원을 원활히 연결하고 관리하기 위해 필요
    • A 레코드: 도메인 이름을 IPv4 주소로 매핑
    • AAAA 레코드: 도메인 이름을 IPv6 주소로 매핑
    • CNAME 레코드: 도메인 이름을 다른 도메인 이름에 매핑해 별칭을 제공
      • blog.example.com을 example.com으로 연결하면 blog.example.com에 대한 요청이 example.com으로 전달
    • NS 레코드: 해당 도메인의 권한 있는 네임 서버를 지정
      • 다른 네임 서버를 둔다는 것은 하나의 도메인이 여러 네임 서버를 통해 관리될 수 있도록 설정하는 것을 의미
      • example.com 도메인의 DNS 요청이 ns1.example.com과 ns2.example.com 네임 서버에서 처리

 

 

 

❗DNS 요청 과정 예시

1. 브라우저 캐시 확인 브라우저에서 캐시를 확인하여 example.com의 IP 주소가 있는지 찾는다.
2. 로컬 DNS 서버 요청 IP 주소가 캐시에 없으면, ISP(인터넷 서비스 제공업체)의 로컬 DNS 서버에 요청을 보낸다.
3. 계층적 조회 로컬 DNS 서버가 루트 DNS 서버에 example.com의 IP 주소를 요청합니다.
루트 서버는 .com TLD 서버의 주소를 응답한다.
4. 권한 있는 네임 서버 확인 TLD 서버는 example.com에 대한 권한 있는 네임 서버 주소를 응답한다.
5. 최종 IP 주소 반환 권한 있는 네임 서버가 www.example.com의 IP 주소를 반환한다.
6. 브라우저 컨텐츠 요청 브라우저는 이 IP 주소로 서버에 접속하여 웹 페이지를 로드한다.

 

 

 

 

 

728x90
반응형

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

[Network] LoadBalancing  (0) 2024.09.21
_니지