Network - DNS 라운드 로빈

choko's avatar
Jun 29, 2024
Network - DNS 라운드 로빈
 

DNS(Domain name system)

  • 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수환할 수 있도록 하기 위해 개발됨
    • DNS 서버는 웹 서버 주소에 해당하는 IP 주소 테이블을 가지고 있는 서버이다.
 
 
 

DNS 동작 과정

  1. 웹 브라우저에 www.google.com을 입력하면, 먼저 PC에 내장된 Local DNS에게 캐싱된 www.google.com이라는 hostname에 대한 IP 주소를 요청한다.
      • 최근에 접속했던 도메인의 경우, DNS Cache를 활용해 바로 IP 주소를 찾을 수 있다.
  1. 요청 URL이 Local DNS에 없다면(캐시에 없으면), 다른 DNS 서버들과 통신을 시작한다.
      • 전세계 도메인 수가 너무 많기 때문에 Root DNS와 통신하는 등의 복잡한 과정이 이루어진다.
  1. 위 과정들로 도메인(www.google.com)과 연결된 IP 정보를 전달받고, 사용자는 전달받은 IP 주소로 접속하여 TCP 요청(3way handshake)을 보낸다.
  1. 브라우저가 서버에 HTTP 요청을 하고, 서버는 요청을 처리하고 response를 생성해 HTML content를 보여준다.
 
 
notion image
 
 
 
 

DNS Round Robin

  • DNS 라운드로빈 : DNS 서버 구성 방식중 하나로, 도메인에 대한 IP 요청 커리 시 라운드로빈 방식으로 IP를 반환한다.
    • 라운드로빈 : CPU 사용 시간을 일정하게 할당받는 방식
  • DNS 서버를 라운드로빈 방식으로 구성할 경우 로드 밸런서가 필요 없다
    • 어차피 자동적으로 시간에 따라 스케줄링이 변환되기 때문
    • DNS round robin
      DNS round robin
 
  • 이 경우, 여러가지 단점을 가진다
    • 부하 분산을 위해 늘리는 서버의 수 만큼 공인 IP 주소가 필요하다
    • 균등하게 분산되지 않는다
    • 서버가 다운되도 확인이 불가능하다
Share article

Tom의 TIL 정리방