공부 Note/네트워크

Chapter 07 애플리케이션 서비스 (1)

AmyG 2022. 2. 24. 14:34

DNS의 이해

   * 애플리케이션 계층

   * DNS 개요

   * DNS 동작 과정

 

애플리케이션 계층

   * 역할

      - TCP/IP 모델에서 최상위 계층으로 사용자와 가장 가까운 소프트웨어

      - 여러 프로토콜 개체들의 서비스에 대한 사용자 인터페이스 제공

      - HTTP, DNS, SMTP, SSH, BGP, DHCP 등이 이 범주에 속한다

DNS 개요

   * DNS(Domain Name Service)

      - 호스트(도메인) 이름을 IP 주소로 변환 - Port 53

      - 웹 사이트 접속 또는 이메일 전송 시 *.google.com 등의 도메인 이름으로 접속

      - 사람이 좀 더 기억하기 쉬운 문자 형태의 도메인 개발 - 컴퓨터 IP로 통신 - 변환 필요

      - 스탠포드 연구소에서 hosts.txt(Host:IP) 파일 관리로 시작 - DNS 표준으로 개발

 

   * 계층적 구조

 

 

   * 쿼리 과정

      - Recusive Query : Local DNS 서버가 재귀적으로 여러 서버에게 질의 하여 응답을 받음

      - Iterative Query : Local DNS 서버가 반복적으로 질의

      - 4 tuple : {Name, Value, Type, TTL}

      - Type

      - A : 호스트, IP - www.fastcampus.co.kr, A, 1.1.1.1

      - NS : 네임서버 - fastcampus.co.kr, NS, ns.fastcampus.co.kr

      - CNAME : 별칭 - ftp.fastcampus.co.kr, CNAME, fastcampus.co.kr

      - MX : 메일서버 - mail.fastcampus.co.kr, MX, 2.2.2.2

 

   * DNS 메시지 - 쿼리와 응답으로 구분된다

      - Query : 2개, Header + Question

      - Response : 5개, Header + Question + Answer + Authority + Additional

      - Identifier : 쿼리와 응답 구분

      - Questions : 질의

      - Authorities : 책임 Resource Records

      - Flag : DNS 쿼리의 속성

      - Answers : 응답 Resource Records

      - Additional : 추가 Resource Records

 

   * Hosts.txt : 호스트 이름과 IP 주소가 맵핑되어 저장된 파일

      - Local DNS로 쿼리 전에 우선 참조하는 파일

  

   * DNS 캐시 테이블

      - 기존에 응답 받은 DNS 정보를 일정시간 (TTL) 저장하고 동일한 질의 시 응답

 

DNS 동작 과정

   * PC -> 웹 사이트 접속 (www.daum.net)

   1. PC 네트워크 환경 확인 - Primary DNS 8.8.8.8로 설정

   2. hosts.txt 파일 참조 - 해당 도메인(www.daum.net)이 설정된 경우 맵핑된 IP로 응답

   3. dns cache table 참조 - 해당 도메인(www.daum.net)이 저장된 경우 저장된 IP로 응답

   4. hosts.txt & cache table에 없으므로 Local DNS(8.8.8.8)에게 쿼리

   5. Local DNS(8.8.8.8)에서 응답

 

 정리

   * 애플리케이션 계층은 TCP/IP 모델에서 최상위 계층으로 사용자와 가장 가까운 인터페이스를 제공

   * DNS(Domain Name Service)는 도메인 주소를 IP 주소로 변환해주는 서비스이며 계층적 구조

   * Recusive Query는 Local DNS 서버가 재귀적으로 여러 서버에게 질의하여 응답을 받는 과정

   * DNS 서버의 정보 타입으로  4가지 A, NS, CNAME, MX가 있다

   * DNS 메시지는 쿼리와 응답으로 구분되며 쿼리 전에 hosts.txt & DNS 캐시 테이블을 참조

 

출처 : 제로베이스