본문 바로가기
Daily Dev Q&A 정리 템플릿

26.01.14 DNS란?

by teg0 2026. 1. 14.

도메인 네임(Domain Name)이란?

  • 정의: 인터넷상에서 사람들이 웹사이트나 서버를 쉽게 찾을 수 있도록 만든 문자 형태의 주소. (예: google.com, naver.com)
  • 비유: 스마트폰의 '전화번호부 이름'과 같다.
    • 실제 전화 걸 때 필요한 것: 010-1234-5678 (숫자)
    • 우리가 기억하는 것: 홍길동 (이름)
  • 필요성: 컴퓨터는 서로를 142.250.217.78 같은 IP 주소(숫자)로 인식하지만, 사람은 이 숫자를 외우기 어렵기 때문에 기억하기 쉬운 문자로 된 도메인 네임을 사용한다.

 

DNS (Domain Name System)의 개념

  • 정의: 도메인 네임(문자)을 컴퓨터가 이해할 수 있는 IP 주소(숫자)로 변환(Translation)해주는 시스템이다.
  • 핵심 기능: '인터넷 전화번호부' 역할을 한다. 사용자가 브라우저 주소창에 www.google.com을 입력하면, DNS 서버가 이를 142.250.xxx.xxx라는 IP 주소로 바꿔주어 해당 서버에 접속할 수 있게 연결해 준다.
  • 작동 원리 (간단 요약):
    1. 사용자가 www.example.com 입력.
    2. PC는 미리 설정된 DNS 서버(Resolver)에게 "이 도메인의 IP가 뭐야?"라고 물어봄.
    3. DNS 서버는 전 세계에 퍼져 있는 상위 DNS 서버들(Root → TLD → Authoritative)에게 차례로 물어보며 IP를 찾아냄.
    4. 찾아낸 IP를 사용자 PC에 알려줌.
    5. PC는 그 IP로 웹사이트에 접속.

 

DNS의 장단점

구분 내용
장점 1. 편의성: 복잡한 IP 주소를 외울 필요 없이 직관적인 이름으로 접속 가능.

2. 유연성: 서버를 이전하여 IP 주소가 바뀌어도, 도메인 네임은 그대로 유지 가능 (DNS 설정만 변경하면 됨).

3. 안정성: 하나의 도메인에 여러 IP를 연결해 부하 분산(Load Balancing)이나 서버 다운 시 대처가 가능.
단점 1. 보안 취약점: DNS 스푸핑(위조된 사이트로 유도)이나 DDoS 공격의 타겟이 될 수 있음.

2. 전파 지연: DNS 정보를 변경했을 때, 전 세계 모든 DNS 서버에 반영되기까지 시간이 걸림 (TTL).

3. 속도: IP로 직접 접속하는 것보다 DNS 조회 과정만큼의 아주 미세한 시간이 더 소요됨.

 

 

대표적인 DNS 서비스

우리가 인터넷을 쓸 때 알게 모르게 사용하고 있는 DNS 서버들이다.

  1. ISP DNS (통신사): 인터넷 가입 시 자동으로 할당됨 (KT, SK브로드밴드, LG U+ 등). 속도는 빠르지만 검열 이슈가 있을 수 있다.
  2. Public DNS (공용): 누구나 무료로 사용 가능하며, 보안과 속도 향상을 위해 사용자가 직접 변경해서 쓰기도 한다.
    • Google: 8.8.8.8, 8.8.4.4 (가장 유명함)
    • Cloudflare: 1.1.1.1 (속도와 개인정보 보호 강조)
  3. Managed DNS (관리형): 도메인을 구매하고 관리할 때 사용하는 서비스이다.
    • AWS Route53, Gabia, Godaddy 등.

 

비슷한 개념 (비교)

  • Hosts 파일 (/etc/hosts):
    • DNS가 생기기 전, 수동으로 IP와 이름을 매핑하던 파일이다.
    • 지금도 PC에 존재하며, DNS 서버보다 우선순위가 높다. 개발자가 로컬 테스트를 할 때 특정 도메인을 강제로 특정 IP로 연결하기 위해 주로 사용한다.
  • ARP (Address Resolution Protocol):
    • DNS는 도메인(문자) → IP(논리적 주소)를 바꾸지만,
    • ARP는 IP(논리적 주소) → MAC 주소(물리적 주소)를 바꾼다. 둘 다 '주소 변환 프로토콜'이라는 점은 비슷하지만 계층이 다르다.

 

사용 방법 (개발자/사용자 관점)

일반 사용자 (DNS 서버 변경)

인터넷이 느리거나 특정 사이트 접속이 안 될 때, PC나 공유기의 네트워크 설정에서 DNS 주소를 변경한다.

  • 예: 윈도우 네트워크 설정 → IPv4 속성 → DNS 서버 주소를 8.8.8.8(구글)로 변경.

 

개발자/서버 관리자 (DNS 레코드 설정)

도메인을 구매한 후, 네임서버 설정에서 다음 레코드(Record)들을 등록하여 사용한다.

  • A 레코드: 도메인을 IPv4 주소로 연결 (가장 기본).
  • AAAA 레코드: IPv6 주소로 연결.
  • CNAME: 도메인을 또 다른 도메인 이름으로 연결 (별칭).
  • TXT: 도메인 소유권 인증이나 이메일 보안 설정(SPF 등)에 사용.
  • NS: 해당 도메인을 관리하는 네임서버 지정.

 

면접 답변식 요약

DNS는 사람이 읽을 수 있는 도메인 이름(Domain Name)을 컴퓨터가 통신할 수 있는 IP 주소로 변환해 주는 시스템입니다.

마치 전화번호부처럼 이름과 전화번호를 매칭시켜 주는 역할을 합니다.