본문 바로가기
이론 공부 내용 정리

[CS 스터디] DNS Round Robin

by mazayong 2022. 10. 31.

--목차--

1. DNS?

2. Load Balancing?

3. DNS Round Robin?

--------

 

 

1.  DNS?

1) 정의

  • Domain Name System의 줄임말로, 사람이 읽기 쉬운 도메인 이름을 기계가 읽을 수 있는 IP주소로 변환(반대도 수행 가능)하여 컴퓨터가 통신할 수 있도록 도와주는 데이터베이스 시스템이다.
    • 도메인 이름과 매칭된 IP주소를 확인할 수 있게 해주는 전화번호부와 같은 역할이다.

 

 

2) 구성 요소

Domain Name Space, Name Server, Resolver로 이루어져 있다.

2-1) Domain Name Space

  • 도메인 이름을 저장.

2-2) Name Server

  • 해당 도메인 이름의 IP주소 소유.

2-3) Resolver

  • DNS 클라이언트 요청을 네임 서버로 전달. (이 전달하는 요청을 쿼리라고 부른다.)
  • Name Server에서 정보를 클라이언트에게 제공.

 

 

3) 동작 과정

  • 브라우저에 특정 도메인을 입력
  • Local DNS 서버에서 IP주소를 요청하여 해당 도메인 네임이 캐싱되어 있는지 확인 후 IP를 알려줌.
  • 확인되지 않으면 Root DNS 서버에 도메인 네임 확인 요청.
  • IP를 찾는 과정 (Root DNS 서버 - Top-Level 서버, Top-Level 서버 - Second-Level 서버를, Second-Level 서버 - Sub DNS 서버)
  • 해당 도메인을 다시 방문하면 빠르게 찾기 위해 해당 도메인이라는 서버의 IP를 로컬 DNS 서버에 캐싱.

 

 

 

 

2. Load Balancing?

1) 정의 : 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술이다.

 

2) 목적 : 클라이언트의 수가 증가하면 그만큼 트래픽이 증가하여 서버 1대만으로는 정상적인 서비스가 불가능하기 때문이다.

2-1) 해결책

  • Scale-up(서버 자체의 성능 확장)이 아닌 Scale-out(기존 서버와 동일/낮은 성능의 서버를 2대 이상 증설해 운영)을 사용할 경우 Load Balancing을 이용한다.
  • 서버가 2대 이상으로 로드 밸런싱이 되면 클라이언트가 이전에 접속했던 서버에 다시 접속한다고 보장할 수 없음.
    • 클라이언트가 이전에 요청을 보낸 웹 서버에 지속적으로 요청을 보내서 이전에 접속했던 서버를 인식해야 함.(cookie/keep alive)

 

 

 

 

 

3. DNS Round Robin?

1) 정의 : 서버에 들어온 요청대로 IP 주소를 순서대로 돌아가며 배정.

 

2) 장점

  • 순차적으로 IP 주소를 돌려써서 하나의 서버가 모든 요청을 받는 때보다 부하 감소.
    • 유저 관점에서는 IP주소를 변경하지 않도록 IP 주소의 변경 사실을 은폐하는 것처럼 보임.
  • 로드 밸런서와 같은 중간 장비 필요 없음.
  • 비용 감소 및 간편함.

 

 

3) 단점

  • 서버 수만큼 공인 IP 주소 필요.
  • 균등하게 분산되지 않음.
    • 스마트폰 접속은 프록시 서버 경유.(캐리어 게이트웨이)
      • 이 때, 프록시 서버에서 이름 변환 결과가 일정 시간동안 캐싱되어서 같은 프록시 서버 경유시 같은 서버 접속 서버가 다운되어도 확인 불가능.
    • PC용 웹 브라우저도 균등하게 부하분산 어려움.
      • DNS 질의 결과 캐싱하기 때문.
      • DNS 레코드의 TTL 값을 짧게 설정함으로 일정량 해소. 그러나 TTL은 캐시 해제와 관련 없기 때문에 주의 필요.
  • 서버가 다운되어도 확인 불가.
    • DNS 서버는 웹 서버의 부하, 접속 수 등의 상황에 따라 질의결과 제어 불가.
      • 임의의 원인으로 서버가 다운되어도 유저에게 제공해 다운된 서버로 연결되기도 함.

부하 분산을 위한 방법이지 다중화 방법은 아님.

 

 

4) 해결책

  • 다중화 구성 방식(Synchronous Time-Division Multiplexing)
    • AP 서버에 VIP(Virtual IP)를 부여해 다중화 구성. 
  • 가중치 편성 방식(Weighted Round Robin)
    • 각각의 웹 서버에 가중치를 부여해 분산 비율 변경.(처리능력이 높은 서버는 가중치 높게 설정.)
  • 최소 연결 방식(Least Connection)
    • 접속 클라이언트 수가 가장 적은 서버를 선택. (로드밸런서에서 실시간 connection 수 관리 / 서버에서 주기적으로 알려줌)

 

 

 

 

https://hanamon.kr/dns란-도메인-네임-시스템-개념부터-작동-방식까지/

 

DNS란? (도메인 네임 시스템 개념부터 작동 방식까지) - 하나몬

이 게시물의 중요 포인트 DNS(도메인 네임 시스템)이 사람이 읽을 수 있는 도메인 이름(www.hanamon.kr)을 IP 주소로 변환하는 시스템이라는 것은 쉽게 알 수 있습니다. 이번 글에서는 이렇게 도메인

hanamon.kr

https://dheldh77.tistory.com/entry/네트워크-로드-밸런싱Load-Balancing

 

[네트워크] 로드 밸런싱(Load Balancing)

로드 밸런싱(Load Balancing) - 서버에 가해지는 부하를 분산해주는 장치 또는 기술 - 클라이언트와 서버풀 사이에 위치해 한 대의 서보로 부하가 집중되지 않도록 트래픽을 관리 - 각각의 서버가 최

dheldh77.tistory.com

https://dar0m.tistory.com/260

 

[Network] DNS round robin

HTTP 통신에서는 폭주하는 부하를 분산하기 위해 DNS 라운드 로빈같은 로드 밸런싱 기법을 사용한다. 서버가 두 대 이상으로 로드 밸런싱이 되면 클라이언트가 이전에 접속했던 서버에 다시 접속

dar0m.tistory.com