본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.


Domain Name System

도메인 이름이 IP 주소로 상호 변환되는 시스템

  • 숫자로 이루어진 인터넷 주소를 사용자의 이해와 기억을 돕기 위해 이름과 위치 등을 나타내는 일련의 단어로 변환하는 구조
  • 공대위키는 115.71.236.146 이라는 주소를 가진 서버지만, 외우기 힘드므로 itwiki.kr이라는 도메인을 사용한다.


  • 도메인 네임 공간(Domain Name Space)
    • 도메인 네임을 중복되지 않게 생성하여 사용하도록 정의된 구성 체계
  • 리소스 레코드(Resource Record)
    • 도메인 네임에 설정할 수 있는 데이터 타입
  • 네임서버(Name Server)
    • 도메인 데이터를 보유하고, 도메인 네임에 대한 질의를 수신했을 때 응답하는 역할의 서버
  • 리졸버(Resolver)
    • 도메인 네임의 데이터 조회기능을 수행하는 SW 형태의 루틴


  • DNS 질의 및 DNS 응답을 위한 사용 포트 및 수송용 프로토콜
    • DNS 포트 번호  : 53
    • 수송용 프로토콜 : 대부분 UDP를 통해 전달
      • 메세지 크기가 512 바이트 이하이면 UDP 사용, 그 이상이면 TCP 사용
      • 즉, 단순 질의/응답은 UDP, 영역전달 및 큰 이름 요청/응답 등은 TCP 사용
    • DNS 네임서버 간 레코드 교환 (영역 전달) : 메세지 크기가 큰 경우 임
      • RR(자원레코드) 집합을 네임서버 간에 복사 (마스터 네임서버 → 종속 네임서버)
      • 네임서버 간에 정보의 동기화 유지 목적
      • Zone Transfer와 같이 대용량 전송이 요구되는 네임서버 간에는 TCP로 전달

DNS 캐시와 TTL

편집 원본 편집

리졸버와 캐싱 네임 서버는 한 번 받은 응답을 캐시(Cache)에 저장해 두고, 같은 질의가 오면 상위 네임 서버(루트·최상위 도메인 서버)까지 다시 묻지 않고 바로 답한다. 반복되는 질의가 상위 DNS 로 몰리는 부하와 응답 시간이 줄어든다.

  • 캐시에 얼마 동안 두는지는 응답에 실린 자원 레코드의 TTL(Time To Live, 초 단위)이 정한다. TTL 이 지나면 캐시에서 지우고 다시 질의한다
  • '그런 이름이 없다' 는 응답(NXDOMAIN)도 SOA 레코드에 정한 시간만큼 캐시한다(부정 캐시)
  • 캐시에 위조 응답을 심는 공격이 DNS 캐시 포이즈닝이다 → DNS 스푸핑
  • 윈도우에서는 ipconfig /displaydns 로 캐시를 보고 ipconfig /flushdns 로 비운다