DNS의 구성과 기능 알아보기

뮤돔면·2023년 6월 29일
post-thumbnail

그림으로 공부하는 TCP/IP 구조를 읽고 간략하게 정리해보았습니다.

  • ip 주소와 도메인 이름을 주고받는 프로토콜

도메인 이름


  • 오른쪽부터 루트 - 탑레벨 도메인 - 세컨드 레벨 도메인 - 서드 레벨 도메인 - …
  • 계층 구조를 이루고 있어 도메인 트리라고 불림

이름 결정


  • DNS 클라이언트가 캐시 서버에 이름 요청
  • 캐시 서버가 권위 서버(콘텐츠 서버)에 이름 요청
  • 권위 서버는 루트 서버 - 탑 레벨 도메인 권위 서버 - … 로 이루어진 계층 구조이기 때문에 권위 서버와 캐시 서버가 반복 쿼리를 주고 받으면서 마지막 권위 서버까지 쿼리를 주고 받음
  • 마지막 권위 서버에서 전달받은 도메인 이름을 캐시 서버가 DNS 클라이언트에게 전달함
  • 이름 결정은 기본적으로 UDP를 사용하여 통신함

존 파일과 리소스 레코드


  • 권위 서버는 존 파일을 기반으로 도메인 이름을 찾고 전달함
  • 존 파일은 권위 서버가 가지고 있는 도메인의 범위에 대한 명세서임
  • 존 파일을 리소스 레코드라는 라인으로 구성되어 있음
  • 서버 다중화시 존 파일의 동기화(전송)는 TCP를 사용하여 통신함

DNS를 이용한 부하 분산 기술


  1. DNS 라운드 로빈
    • 권위 서버에서 존 파일 설정을 통해서 하나의 도메인 이름에 여러 개의 ip주소를 가지고 있다가 DNS 반복 쿼리를 받으면 그 중 하나의 주소를 전달하여 커넥션을 분산시키는 것.
    • 정적으로 분산하기 때문에 유연성이나 장애 대응이 어려움
  2. 광역 부하 분산
    • DNS 라운드 로빈의 정적 분산의 한계를 개선한 분산 기술
    • 부하 분산 장치가 권위 서버 역할을 하며 각 사이트(서버)의 상태를 감시하고 결과에 따라서 최적의 ip를 응답해주는 방식.
profile
스크립트가 중심이 되는 프론트엔드에서 개발하고 있습니다. 서비스의 철학을 고민합니다. 배려하고 포용하는 모든 것들을 사랑합니다.

0개의 댓글