[CS] DNS란

insung·2025년 5월 8일

CS

목록 보기
17/19

DNS (Domain Name System)란?

  • DNS는 인터넷의 전화번호부와 같다.
  • 웹사이트에 접속할 때, google.com과 같은 도메인 이름을 사용하지만 컴퓨터는 실제로는 숫자로 이루어진 IP 주소로 통신하기 때문에 도메인이름을 IP주소로 바꿔주는 과정이 필요하며 DNS는 바로 이 도메인 이름을 해당 IP 주소로 변환해 주는 역할을 한다

DNS의 작동 방식

  • 웹사이트에 접속하려고 브라우저에 도메인 이름을 입력하면, 다음과 같은 과정이 발생하게 됨
    1. DNS Resolver에게 문의
      • 우리 컴퓨터나 스마트폰에 설정된 DNS Resolver라는 서버에게google.com의 IP 주소가 무엇인지 요청
    2. DNS Query
      • DNS Resolver는 Root DNS 서버, TLD (Top-Level Domain) DNS 서버 (.com, .kr 등), Authoritative DNS 서버 순으로 차례대로 물어보면서 해당 도메인 이름의 IP 주소를 찾아 나섬
    3. IP 주소 응답
      • Authoritative DNS 서버가 google.com의 실제 IP 주소를 찾아서 DNS Resolver에게 알려줌
    4. IP 주소 전달
      • DNS Resolver는 찾은 IP 주소를 요청한 컴퓨터나 스마트폰에게 알려줌
    5. 웹사이트 접속
      • 해당 장치는 받은 IP 주소를 이용해서 google.com 서버에 직접 접속하여 웹페이지를 불러올 수 있게 됨

DNS 관련 주요 용어

  • 도메인 이름 (Domain Name)
    • google.com, velog.io처럼 사람이 이해하기 쉬운 웹사이트 주소.
  • IP 주소 (IP Address)
    • 인터넷에 연결된 장치들이 서로를 식별하고 통신하기 위해 사용하는 숫자 주소
      (IPv4: 172.217.160.142, IPv6: 2404:6800:4003:c03::8a).
  • DNS 서버 (DNS Server)
    • 도메인 이름과 IP 주소 정보를 저장하고 관리하는 서버. 대표적으로 아래와 같은 서버가 있음
      • DNS Resolver (Recursive Resolver)
        • 사용자의 첫 번째 DNS 쿼리를 처리하고 다른 DNS 서버에 대신 질의하여 IP 주소를 찾아주는 서버 (ISP에서 제공하거나 Google Public DNS, Cloudflare DNS 등을 사용).
      • Root DNS Server
        • 최상위 도메인(.com, .kr 등) 정보를 관리하는 서버.
      • TLD (Top-Level Domain) DNS Server
        • 특정 최상위 도메인에 속하는 도메인 이름과 해당 Authoritative DNS 서버 정보를 관리하는 서버 (.com 서버, .kr 서버 등).
      • Authoritative DNS Server
        • 특정 도메인 이름에 대한 최종적인 IP 주소 정보를 가지고 있는 서버
          (각 도메인 관리 기관이나 기업에서 운영).
  • DNS 레코드 (DNS Record)
    • DNS 서버에 저장된 정보의 단위. 주요 레코드 종류는 다음과 같음
      • A (Address) 레코드
        • 특정 도메인 이름에 대한 IPv4 주소를 나타냄
      • AAAA (Quad-A) 레코드
        • 특정 도메인 이름에 대한 IPv6 주소를 나타냅니다.
      • CNAME (Canonical Name) 레코드
        • 특정 도메인 이름을 다른 도메인 이름의 별칭으로 연결.
      • MX (Mail Exchanger) 레코드
        • 해당 도메인의 이메일을 처리하는 메일 서버 정보를 나타냄.
      • NS (Name Server) 레코드
        • 해당 도메인의 DNS 정보를 관리하는 네임 서버를 지정
      • TXT 레코드
        • 도메인에 대한 텍스트 정보를 저장하는 데 사용됩니다 (SPF, DKIM 등).
  • DNS 캐싱 (DNS Caching)
    • DNS Resolver나 웹 브라우저가 이전에 조회한 DNS 정보를 임시로 저장해 두어, 동일한 도메인 이름에 다시 접속할 때 빠르게 IP 주소를 찾아올 수 있도록 하는 기술

DNS가 중요한 이유

  • 편의성
    • 복잡한 IP 주소를 외울 필요 없이 쉬운 도메인 이름으로 웹사이트에 접속할 수 있게 해줌
  • 유연성
    • 웹사이트 서버의 IP 주소가 변경되더라도 DNS 레코드만 업데이트하면 사용자는 동일한 도메인 이름으로 계속 접속할 수 있음
  • 인터넷 작동의 핵심
    • DNS가 없다면 웹사이트에 접속하거나 이메일을 주고받는 등 기본적인 인터넷 활동을 할 수 없음

DNS 관련 보안 위협

  • DNS 스푸핑 (DNS Spoofing)

    • 공격자가 악의적인 IP 주소 정보를 DNS 서버나 클라이언트에게 위조하여 전달, 사용자가 의도하지 않은 웹사이트로 접속하도록 유도하는 공격
      • DNS 캐시 포이즈닝 (DNS Cache Poisoning)이라고도 부름
  • DNS 서버 공격

    • 공격자가 DNS 서버의 가용성을 방해하거나 시스템을 마비시켜 정상적인 DNS 서비스를 제공하지 못하도록 하는 공격

DNS 하이재킹 (DNS Hijacking)

  • 공격자가 합법적인 도메인 소유자의 DNS 레코드를 무단으로 변경하여 트래픽을 다른 서버로 리디렉션시키는 공격.
  • 도메인 등록 기관 계정 탈취, DNS 서버 침투 등을 통해 발생할 수 있음
profile
안녕하세요 프론트엔드 관련 포스팅을 주로 하고 있습니다

0개의 댓글