3. DNS의 구조 이해하기

SoYun Park·2023년 4월 8일
0
post-thumbnail

1. DNS가 뭐지?

1-1. DNS의 목적

  • DNSDomain Name System
    • 호스트명TCP/IP에서 컴퓨터 붙이는 이름에과 IP 주소를 매핑하는 시스템이다.
    • 모든 애플리케이션은 반드시 IP 주소를 갖고있다.
    • 기억하기 어려운 IP주소를 사람이 알기 쉽게 하고자 컴퓨터에 호스트명을 붙이고 통신 상대를 지정한다.

1-2. DNS의 구조

  • 리소스 레코드
    • 호스트명과 IP 주소의 매핑을 모아둔 것이다.
  • 도메인
    • 호스트명의 집합이다.
    • 기업 등의 조직에 의해 관리되며 도메인 내의 호스트에는 공통된 호스트명이 부여된다.
    • 어떤 DNS 서버에 등록된 리소스 레코드의 집합을 말한다.

  • 도메인의 계층
    • 도메인의 계층을 루트를 정점으로 한 트리 구조로 이루어져 있다.
    • 루트의 하우 계층에는 com, kr, org 등의 도메인이 존재한다.
    • 하위 계층에는 co, ac, go, ne 등의 도메인이 존재한다.
    • 각각의 도메인에는 DNS 서버가 설치되고 루트 DNS 서버 IP와 하위 계층 도메인 DNS 서버의 IP 주소를 알고 있다.

1-3. DNS의 이름 해석

  • DNS 이름 해석
    • DNS 서버에 네임 쿼리를 송신해서 목적 호스트명에 매핑된 IP 주소를 질의하는 과정이다.
    • 그리고 DNS 서버는 네임 쿼리의 응답으로써 호스트명에 매핑된 IP 주소를 반환한다.
    • 이 때, DNS 서버에 질의를 보내는 클라이언트를 리졸버Resolver라고 한다.
    • PC에 DNS 서버의 IP 주소를 올바르게 지정하면 리졸버로서 작동한다.

1-4. DNS는 '네트워크의 전화번호부'

  • DNS는 통신 상대의 호스트명에 매핑된 IP 주소를 알려주기 때문에 전화번호부와 같은 역할을 한다.

    존 파일 = 핸드폰의 전화번호부
    리소스 레코드 = 전화번호의 등록 정보
    DNS 서버 = 전화번호 안내 서비스 '114'



2. nslookup 명령어가 뭐지?

2-1. nsloopup 명령어의 예시

  • A 레코드 질의
    • 호스트명에 매핑된 IP 주소가 등록되어 있다.
    • DNS 서버에 들어오는 질의 대다수가 이에 해당한다.
    • 질의할 호스트명을 입력한다.
  • PTR 레코드 질의
    • IP 주소에 매핑된 호스트명의 정보이다.
    • 질의할 IP 주소를 입력한다.
  • MX 레코드 질의
    • 메일 서버의 정보이다.
    • 이메일은 메일 서버에서 메일 서버로 전송되는데 이 때 목적지의 매일 서버 정보를 알아내기 위해 MX 레코드를 질의한다.
    • 1)set type=MX 명령어로 질의할 레코드를 MX 레코드로 지정한다. 그리고 2)도메인명을 입력한다.
  • NS 레코드 질의
    • 도메인명을 관리하는 DNS 서버의 정보이다.
    • 마찬가지로 1)set type=NX 명령어로 질의할 레코드를 NX 레코드로 지정한다. 그리고 2)도메인명을 입력한다.

2-2. DNS를 이용한 서버 부하분산

  • 서버를 여러 대 효율적으로 운용하기 위해 부하를 분산한다.


2-3. DNS 라운드 로빈 방식의 통신 플로우

  • DNS 서버의 이름 해석 시스템을 이용하여 서버 부하분산을 수행한다.

    PC1이 DNS 서버에게 www.ex.com의 DNS 쿼리를 요청한다.
    DNS 서버는 www.ex.com의 IP 주소 192.168.1.1를 응답한다.
    PC1은 서버1, 192.168.1.1로 접근한다.
    PC2가 DNS 서버에게 www.ex.com의 DNS 쿼리를 요청한다.
    DNS 서버는 www.ex.com의 IP 주소 192.168.1.2를 응답한다.
    PC1은 서버1, 192.168.1.2로 접근한다.

  • 전용 장비가 특별히 필요하지 않기 때문에 저렴한 가격으로 부하분산을 처리할 수 있는 장점이 있다.

  • 하지만 효율적으로 부하를 분산할 수 없다.

  • 그리고 서버 장애를 감지할 수 없다.

2-4. 동적 DNS

  • DDNS동적 DNS
    • 호스트명과 IP정보의 매핑 정보가 변경되었을 경우 통신할 수 없게 된다.
    • 주소가 변경되었을 때 DNS 서버에 이를 알림으로써 호스트명과 IP 주소 매핑을 동적으로 갱신하는 시스템이다.

2-5. 사내 네트워크의 동적 DNS

  • 사내 네트워크의 동적 DNS

    • 네트워크 내부 PC들의 호스트명과 IP 주소 매핑을 자동으로 내부 DNS 서버에 등록한다.

      PC1이 DHCP 서버에 IP 주소를 요청하고 DHCP 서버는 192.168.1.100을 응답한다.
      DHCP 서버는 호스트명 PC1과 192.168.1.100을 DNS 서버에 통지한다.
      DNS 서버는 호스트명 PC1과 192.168.1.100의 리소스 레코드를 존 파일에 추가한다.

2-6. 브로드밴드 라우터의 동적 DNS

  • 브로드밴드 라우터의 동적 DNS
    • 집 밖에서 인터넷을 경유하여 홈 네트워크에 접속할 때 편의성을 높이기 위한 기능이다.
    • 홈 서버를 설치한 경우 집 밖에서도 공인 IP 주소로 홈 서버의 공유 파일에 원격 접속할 수 있다.
    • 변경될 가능성이 있고 어려운 공인 IP를 호스트명으로 편리하게 접속하기 위해 동적 DNS가 필요하다.
    • 동적 DNS 서비스에 등록하고 브로드밴드 라우터에 필요한 정보를 설정하면 브로드밴드 라우터의 공인 IP 주소와 호스트명의 매핑이 자동으로 등록된다.
    • 브로드밴트 라우터의 공인 IP 주소가 변경되더라도 새로운 공인 IP 주소가 자동으로 반영된다.

0개의 댓글