어플리케이션

DNS 캐시 (DNS Cache)에 대해 알아보겠습니다.

forward error correction Circle 2024. 12. 10. 08:40
반응형

Ⅰ. DNS 캐시 (DNS Cache)란?

 도메인 이름을 IP 주소로 변환하는 과정(DNS 조회)을 효율적으로 수행하기 위해 조회 결과를 로컬에 저장하는 메커니즘입니다. 이는 DNS 서버와 클라이언트(사용자 디바이스) 모두에서 구현되며, 인터넷 사용 속도를 높이고 네트워크 트래픽을 줄이는 데 중요한 역할을 합니다.

Ⅱ. DNS 캐시 (DNS Cache) 원리

 ⅰ. DNS 조회 과정 
   1) 사용자가 A(www.test.com)사이트에 접속합니다.

   2) 브라우저는 로컬 DNS 캐시를 확인하여 이전에 조회한 결과가 있는지 찾습니다.
   3) 캐시에 결과가 없으면 네트워크 상의 DNS 서버에 요청을 보냅니다.
   4) 응답받은 IP 주소를 DNS 캐시에 저장합니다.
 ⅱ. 캐시 데이터 캐시에 저장된 데이터는 도메인 이름과 IP 주소 간의 매핑 정보로 구성됩니다. 

      Ex) www.test.com -> 1.2.3.4

 ⅲ. TTL (Time to Live) 캐시에 저장된 항목은 TTL 값(초 단위)을 기준으로 유효 기간이 지나면 자동으로 삭제됩니다. DNS 서버는 각 응답에 TTL을 포함하여 반환합니다.

Ⅲ. DNS 캐시 (DNS Cache) 계층

 ⅰ. 애플리케이션 캐시(Application Cache)
     : 웹 브라우저(예: Chrome, Firefox)가 자체적으로 DNS 캐시를 유지합니다.
 ⅱ. 운영체제 캐시(Application Cache)
     : 로컬 시스템(OS)의 DNS 해석기(resolver)가 DNS 조회 결과를 캐싱합니다.
       ▶ Windows: DNS Client 서비스
 ⅲ.  로컬 DNS 서버 캐시
 ⅳ. ISP 또는 네트워크에 설정된 DNS 서버는 클라이언트의 요청을 처리하며 결과를 캐시합니다.
 ⅴ. 상위 DNS 서버 캐시
    : ISP나 공공 DNS 서버(예: Google DNS, Cloudflare DNS)는 상위 단계에서 결과를 캐시합니다.

Ⅳ. DNS 캐시 (DNS Cache) 장점

 ⅰ. 빠른 응답 시간
   : 캐시에 저장된 결과를 사용하면 DNS 서버를 다시 조회할 필요가 없어 페이지 로딩 속도가 빨라집니다.
 ⅱ. 네트워크 트래픽 감소
   : 동일한 요청을 반복하지 않아 네트워크 부하가 줄어듭니다.
 ⅲ. 중복 조회 방지
   : 동일한 DNS 요청을 여러 번 처리하지 않도록 방지합니다.

Ⅴ. DNS 캐시 (DNS Cache) 문제점

 ⅰ. DNS 캐시 포이즈닝 (DNS Cache Poisoning)
     : 공격자가 캐시를 조작하여 잘못된 IP 주소를 삽입하면 사용자가 악성 사이트로 리디렉션될 수 있습니다. 

       이는 피싱, 데이터 탈취로 이어질 위험이 있습니다.
 ⅱ. TTL에 따른 지연
     : 도메인의 IP 주소가 변경되더라도 TTL이 만료되지 않은 캐시는 오래된 정보를 반환할 수 있습니다.
 ⅲ. 캐시 오염
     : 잘못된 정보가 캐시에 저장되면 정당한 도메인에 대한 접근이 어려워질 수 있습니다.

Ⅵ. DNS 캐시 (DNS Cache) 캐시 확인 및 관리

 ⅰ. Windows에서 DNS 캐시 확인 및 플러시
    1) 캐시 확인

ipconfig /displaydns


    2) 캐시 삭제 (플러시)

ipconfig /flushdns

로컬 DNS 캐시를 지워서 새로 조회하도록 강제합니다.

Ⅴ. DNS 캐시 (DNS Cache) 포이즈닝 방지

ⅰ. DNSSEC 사용
  : DNS 보안 확장을 활성화하여 DNS 응답의 신뢰성을 검증합니다.
ⅱ. 보안 DNS 서버 사용
  : Google Public DNS(8.8.8.8), Cloudflare DNS(1.1.1.1)와 같은 신뢰할 수 있는 DNS 서버를 사용합니다.

ⅲ. 캐시 TTL 관리

  : 캐시 데이터의 TTL 값을 적절히 설정하여 오래된 데이터가 유지되지 않도록 합니다.
ⅳ. 안전한 네트워크 사용
  : 공개 Wi-Fi와 같은 신뢰할 수 없는 네트워크에서는 DNS 요청을 암호화(DNS over HTTPS, DNS over TLS)하여 보안을 강화합니다.

Ⅵ. DNS 캐시 (DNS Cache) 활용

ⅰ. 기업 네트워크
   : 사내 DNS 캐시를 활용하여 내부 서비스의 빠른 DNS 해석을 제공합니다.
ⅱ. 웹사이트 성능 최적화
   : 자주 접속하는 도메인의 IP를 캐싱하여 사용자 경험을 개선합니다.
ⅲ. ISP 서비스
   : 사용자 요청을 캐싱하여 대규모 DNS 요청 처리 성능을 개선합니다.

반응형