DNS round robin의 방식

Haribo·2022년 7월 21일
2

1일 1cs

목록 보기
9/9

DNS? DNS서버? 네임서버?

이게 다 뭘까?

DNS

이게 일단 뭘까? 수많은 도메인 등록 방법과 도메인 이전 방법을 설명하는 글에 빠짐없이 등장하지만 업체들의 국소적인 설명이나 너무 사전적 정의적으로 설명만하니 이해하기가 어려웠다. 그리고 이름도 하나도 정해지지 않고 제각각이다. 예를 들면

  • 네임 서버
  • DNS 서버
  • 도메인 네임 서버

등등으로 각각이니 아리송해서 죽을 뻔했다.

일단 DNS(Domain Name Sever)의 약자를 보면 알 수 있듯이 도메인 네임 서버라는 뜻이다. 이는 범국제적 단위로 웹사이트의 IP주소와 도메인 주소를 이어주는 환경/시스템이다.

그리고 이 안에서 부분적으로 자신들의 역할을 하는 서버를 풀네임으로 DNS 서버라고 한다.

DNS는 어떤 식으로 돌아가나?

먼저 도메인 개념을 알아야하지만 이는 나중에 쓰도록 하겠다.

먼저 웹사이트의 데이터가 저장되어 있는 호스팅 서버는 IP 주소가 할당되어 있고 이 주소가 실제 웹사이트 주소라고 할 수 있다. DNS 서버는 이런 IP 주소를 특정 도메인 주소와 같다는 기록을 저장해두고 인터넷 사용자들이 도메인 주소를 검색했을 때 IP 주소로 연결되도록 해준다.

간단하게 예를 들어보자.

위에 사진과 같은 작업을 한다고 쳐보자.
한 사람이 브라우저에서 www.google.com을 검색했다면 먼저 DNS서버로 도메인 주소가 전달된다. 그리고 서버 내부에서 도메인 주소를 토대로 "www.google.com = 24.55.67.22" 이라는 항목을 찾아내고 다시 브라우저에게 24.55.67.22의 IP 주소를 갖고 있는 호스팅 서버로 가라고 지시한다. 그후 브라우저가 다시 IP 주소로 접속해서 웹사이트가 보이게 되는 것이다.

정리

  • www.google.com을 검색한다.

  • DNS 서버로 도메인 주소가 전달된다.

  • 서버 내부에서 www.google.com = 24.55.67.22 라는 항목을 찾아내고 브라우저에게 해당 주소로 가라고 지시한다.

  • 브라우저가 다시 IP 주소로 접속해서 웹사이트가 뜬다.

    DNS 서버 종류는?

    DNS 서버가 세상에 단 하나만 있다면 위 내용 그대로 이해해도 되겠지만 현실은 그렇게 간단하지만은 않다. 일단 도메인 수가 너무 많기 때문에 DNS 서버 종류를 계층화해서 단계적으로 처리한다고 이해하면 쉬울 것이다.

도메인의 총 관리는 ICANN에서 하기 때문에 DNS 서버도 최상위 도메인에서 개인 도메인의 서브 도메인까지 도메인 이름의 분류와 마찬가지로 디렉토리/계층 형태로 구분된다는 걸 생각하면 쉬울 것이다.


-> 한국 DNS 서버들로 예를 들어 본 DNS 서버 구조

ICANN은? 국제인터넷주소관리기구는 1998년에 설립된 인터넷의 비즈니스, 기술계, 학계 및 사용자 단체 등으로 구성된 기관으로 인터넷 DNS의 기술적 관리, IP 주소공간 할당, 프로토콜 파라미터 지정, 루트 서버 시스템 관리 등의 업무를 조정하는 역할을 한다.

용어 정리

  • Root DNS Sever : ICANN이 직접 관리하는 서버로 TLD, DNS 서버 IP들을 저장하고 안내한다.
  • TLD(최상위 도메인) DNS Server: 도메인 등록 기관이 관리한느 서버로, Authoritative DNS 서버 주소를 저장해두고 안내하는 역할을 한다.

Authoritative DNS Server: 실제 개인 도메인과 IP 주소의 관계가 기록/저장/변경되는 서버 일반적으로 도메인/호스팅 업체의 네임서버를 말하지만 개인 DNS 서버 구축을 한 경우에도 여기에 해당한다.

  • Recursive DNS Server: 인터넷 사용자가 가장 먼저 접근하는 DNS 서버. 위 3개의 DNS 서버를 매번 거친다면 효율성이 떨어지니 한 번 거친 후 얻은 데이터를 이정 기간(TTL/Time To Live)동안 캐시라는 형태로 저장해 두는 서버다.
    직접 도메인과 IP 주소의 관계를 기록/저장/변경하지는 않고 캐시만을 보관하기 때문에, Authoritative와 비교되는 의미로 반복의 Recursive가 붙었다.

DNS 서버는 모두 위 네 가지 DNS 서버 종류 중 하나에 속한다. 이상하게 한 구분으로 혼란스럽게 만드는 웹문서들이 많으니 주의하자. 특히 브라우저는 캐시가 저장된 Recursive 서버를 사용하고 실제 네임서버를 설정하는 곳은 Authoritative 서버라는 점을 주의하자.

전체적인 DNS 동작 원리

위 사진을 토대로 요약해보자.

  1. 브라우저에서 google.com(사진에선 NeSite.com)을 검색하고 사용하고 있는 통신사 DNS서버에게 도메인 주소에 해당하는 IP주소를 요청한다.

  2. ISP 서버에선 캐시 데이터가 없다는 것을 확인하고 Root DNS 서버에게 어디라 가야하는 지 요청한다. (만약 캐시가 있다면 8번으로 건너뛴다)

  3. Root 서버는 TLD DNS 서버 주소만 관리하기 때문에 xxx.com 도메인을 보고는 COM 최상위 도메인을 관리하는 TLD DNS 서버 주소를 안내한다.

  4. ISP 서버는 COM 서버에게 어디로 가야하는지 다시 요청한다.

  5. COM 서버는 가비아 DNS 서버에서 해당 도메인이 관리되고 있는 걸 확인하고 안내한다.

  6. ISP 서버는 가비아 서버에게 또 다시 요청한다.

  7. 가비아 서버는 "google.com = 12.123.123.123"이라는 정보를 확인 하고 이 IP를 알려준다. 동시에 ISP 서버는 해당 정보를 캐시로 기록해 둔다.

  8. ISP 서버는 브라우저에게 알아낸 12.123.123.123 주소를 안내한다.

  9. 브라우저는 12.123.123.123 IP 주소를 갖고 있는 호스팅 서버에게 웹사이트를 출력하라고 요청한다.

  10. 웹사이트가 떴다.

이게 한 순간에 이뤄지다니... ㄷㄷ


가장 많이 도움받은 곳.

https://velog.io/@eu_nzi/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-DNS-round-robin%EC%9D%98-%EB%B0%A9%EC%8B%9D

0개의 댓글