Application Layer - DNS

dragonappear·2023년 6월 14일
0

Network 101

목록 보기
6/10

출처: https://cloudinfrastructureservices.co.uk/what-is-dns-hierarchy


도메인

도메인명

  • 도메인명(hostname)은 호스트를 식별할 수 있는 식별자 중 하나이다.

    • 인터넷 호스트에 부여되는 문자형의 유일한 이름이다.
    • 도메인명은 기억하기 쉬워 사용하기가 쉽지만, 호스트 이름은 인터넷에서의 호스트 위치에 대한 정보는 거의 제공하지 않는다.
    • 호스트이름은 가변 길이의 알파벳 문자로 구성되므로 라우터가 처리하는데 어려움이 있다. 라우터는 고정 길이의 계층구조를 가진 IP 주소를 좋아한다.
    • 이러한 이유로 호스트는 흔히 말하는 IP로 식별한다.
  • 계층적인 도메인 관리 구조에 의해 도메인명의 유일성을 유지한다.

  • 도메인 관리자가 상위 도메인 관리에게 등록한 후 사용한다.

도메인 구조

  • 최상위 도메인: 7개 일반 도메인(com,org,net,int,edu,gove,mi) + 국가 도메인(kr,jp,uk,fr 등등)
  • 중간 도메인: ac,re,or
  • 책임 도메인: inha.ac.kr
  • 호스트 도메인: drag.inha.ac.kr

계층적인 구조로 인해 사용자의 소속성과 사용자 편리성이라는 장점 이있다.


DNS

제공하는 서비스

  • 호스트명을 32비트 고정 IP 주소로 변환
  • 호스트 별칭 서비스
  • 메일 서버 별칭 서비스
  • 부하 분산 데이터베이스
    • 동일 서버명으로 서로 다른 IP 주소의 다중 복제 서버 배치
    • 도일 서버명에 대한 DNS 요청에 다른 IP 주소를 돌아가며 응답

DNS 구조

중앙 집중형 구조

하나의 서버가 모든 DNS 쿼리 처리하는 구조

  1. Single of failure
  2. 중앙 서버에 트래픽 집중
  3. 원거리 중앙 서버의 응답지연시간 증가
  4. 중앙 서버 유지 보수 어려움

위와 같은 문제로 인해 DNS 구조는 분산 계층 구조를 가진다.

분산 계층 구조

루트 서버

  • 일반적으로 중간서버(TLD) 서버에 대한 IP 주소를 제공
  • 전세계의 수백개의 복제 서버 존재
  • 13개의 관리 기관에 의해 관리되고 있다
  • 로컬 DNS 서버에서 가장 먼저 접속한다.

TLD 서버

  • Top Level Domain 서버
  • 최상위 도메인명에 대한 DNS 서비스 담당
  • 일반적으로 책임 DNS 서버의 IP 주소 제공

2021년 4월 기준 1502개의 TLD 서버 존재

책임 서버

  • 특정 호스트의 도메인명 정보를 유지하고 있는 서버
  • 대규모 기관은 대부분 자신의 호스트에 대한 책임 DNS 서버를 유지
  • 소규모 기관은 외부의 책임 DNS 서버에 의존

로컬 서버

  • DNS 서비스를 요청하는 클라이언트 호스트가 소속된 DNS 서버
  • 소속된 호스트들의 DNS 서비스 요청 대행
  • 일반적으로 로컬 DNS 서버는 호스트 가까이 있다.

네트워크를 설정할 때
1. IP 주소
2. 로컬 DNS 서버 주소
3. 로컬 게이트웨이 주소
위 3가지는 무조건 있어야 함


DNS 동작


DNS 캐싱

지연 성능 향상과 네트워크의 DNS 메시지 수를 줄이기 위해 캐싱을 사
용한다.

  • DNS 서버가 DNS 응답을 받았을 때 그것을 캐시 메모리에 저장하고 응답한다.
  • 해당 서버가 동일한 도메인명에 대한 질의를 수신하면 캐시된 메모리 정보로 응답한다.

문제점

  • 캐시된 도메인의 IP 주소가 갱신되었을 때, 데이터 불일치 발생
  • 캐시된 정보는 일정 시간(TTL)이 지나면 자동적으로 삭제된다.

DNS 자원 레코드

  • DNS 서버에 정보가 저장되고 서비스되는 단위

형식

자원 레코드는 4개의 튜플로 구성되어 있다.

(name, value, type, TTL)

유형

  • Type = A

    • name=호스트명, value=ip주소
  • Type = NS

    • name=도메인, value=책임 DNS 서버의 호스트명
  • Type = CNAME

    • name=별칭 호스트명, value=정규 호스트명
  • Type = MX

    • name=별칭 메일 서버명, value=정규 메일 서버명

TTL

해당 자원 레코드가 캐싱될 때 캐시 메모리에서 유지되는 시간


DNS 메시지 포맷


DNS 정보 등록 절차

www.dragonappear.com이란 도메인명을 등록한다고 가정해보자.

등록자(도메인 관리자)

  • 웹서버명(www.dragonappear.com)과 IP 주소의 A 유형을 책임 DNS 서버에 저장
  • 도메인명(dragonappear.com) 과 책임 DNS 서버(1차 dns1.dragonappear.com, 2차 dns2.dragonappear.com의 IP주소를 등록 기관에 제출

도메인명 등록 기관

  • 등록 대상 도메인명의 유일성 검증
  • 도메인을 담당하는 책임 DNS 서버에 대한 NS 유형 RR과 A 유형 RR을 상위 DNS 서버에 등록

Ex)
NS(dragonappear.com, dns1.dragonappear.com )
A(dns1.dragonappear.com, 212.212.212.1 )

0개의 댓글

관련 채용 정보