Post

Duckdns의 원리와 국내 도메인 호스팅 서버 속도 차이

Duckdns의 원리와 국내 도메인 호스팅 서버 속도 차이

개인 서버를 운영하면서 무료 동적 DNS(DDNS) 서비스인 DuckDNS를 정말 유용하게 사용해왔다 하지만 언젠가부터 이상하게 접속이 느리거나, 호스팅한 이미지 로딩이 한참 걸리는 등 속도 문제가 발생해서 국내 도메인 호스팅 서비스를 이용하면 속도문제를 해결할 수 있는지 알아봤다

 

첫 번째: DuckDNS와 도메인 구매, 무엇이 다른가?

문제를 해결하기 위해, 먼저 내가 사용하는 DuckDNS와 가비아 같은 곳에서 도메인을 구매하는 것의 근본적인 차이를 알아봤다

  • DuckDNS 사용 ([내이름].duckdns.org)
    • 구조: duckdns.org라는 큰 도메인에 속한 서브도메인을 빌려 쓰는 방식
    • 비유: 거대한 duckdns.org라는 이름의 아파트 단지에서 [내이름]이라는 호수를 잠시 임대하는 것과 같다 아파트의 주소는 해외에 있음
  • 도메인 구매 ([내이름].com 또는 .kr)
    • 구조: .com이나 .kr 아래에 나만의 독립적인 도메인을 공식적으로 등록하고 소유하는 방식
    • 비유: [내이름]이라는 이름으로 나만의 단독 주택을 짓고, 한국 주소 시스템에 정식으로 등기하는 것과 같음

여기서 duckdns는 개발자가 등록한 도메인의 서브도메인을 이용해서 내가 사용하는것임을 알았고 도메인 구매 방식은 도메인을 사는것 뿐만 아니라 해당 도메인을 관리해 줄 전문 업체의 ‘DNS 시스템 전체’를 이용하는 계약임을 알았다

즉, 나는 다른 사람(duckdns 개발자)이 등록한 DNS 시스템을 이용하는것임을 깨달음

 

두 번째: 도메인은 어떻게 서버를 찾아가는가?

그렇다면 DNS 시스템의 차이가 어떻게 속도 차이를 만드는 걸까? minnnn.com을 주소창에 쳤을 때 서버를 찾아가는 과정을 단계별로 살펴본다

  1. 질문 시작 (내 컴퓨터 → Recursive DNS): 제 컴퓨터가 인터넷 통신사(KT, SKT 등)가 제공하는 DNS 서버에게 “혹시 minnnn.com 주소 아세요?”라고 물어본다
  2. 질문 전달 (Recursive DNS → Root DNS): 통신사 DNS 서버는 주소를 모르므로, 인터넷 세상의 최고 어른인 Root DNS 서버에게 “.com으로 끝나는 주소는 누가 담당하나요?”라고 물어본다
  3. 안내 (Root DNS → TLD DNS): Root 서버는 “.com 주소는 저기 .com TLD 서버가 담당하니 거기로 가보세요”라고 안내해준다
  4. 최종 안내 (TLD DNS → Authoritative DNS): .com TLD 서버는 minnnn.com의 정보를 받더니, 마침내 최종 목적지를 알려준다 minnnn.com의 모든 공식 정보는 바로 저기 가비아 DNS 서버가 가지고 있습니다.”
  5. 답변 (Authoritative DNS → 내 컴퓨터): 마침내 가비아의 Authoritative DNS 서버(권한 있는 DNS 서버)가 “그 주소의 IP는 123.45.67.89 입니다”라고 최종 답변을 해주고, 컴퓨터는 그 IP로 접속을 시작

 

위 과정을 따라가면서 어디서 도메인을 구매(또는 등록)하느냐에 따라, 4단계의 최종 목적지인 ‘Authoritative DNS 서버’가 달라진다는 것을 깨달았다 이 Authoritative DNS 서버가 해외에 존재하기 때문에 속도가 느린것임을 알았다

  • mynas.duckdns.org를 사용할 때:
    • .org TLD 서버는 duckdns.org의 Authoritative DNS 서버를 알려줍니다. 그런데 이 서버는 해외(아마존 웹 서비스 미국 리전 등)에 있다(아마도?)
    • 즉, 제 컴퓨터의 DNS 요청은 태평양을 건너 미국까지 날아가서 “IP 주소 알려주세요”라고 물어본 뒤, 다시 태평양을 건너 답을 받아와야 한다 이 과정에서 물리적 거리로 인한 지연(Latency)이 발생 한다
  • 가비아에서 mynas.kr을 구매했을 때:
    • .kr TLD 서버는 가비아의 Authoritative DNS 서버를 알려줍니다. 이 서버는 대한민국 내의 데이터센터에 있다
    • 제 DNS 요청은 서울에서 과천 데이터센터로 가듯 아주 짧은 거리만 이동하면 즉시 답을 얻을 수 있음

 

결론

무료로 사용하던 DuckDNS가 느렸던 이유는, duckdns.org라는 도메인이 해외에 서버를 둔 기업에 의해 등록되었고, 따라서 제 도메인 정보의 최종 목적지인 Authoritative DNS 서버가 물리적으로 해외에 있기 때문이었다 매번 DNS 정보를 조회할 때마다 해외여행을 다녀와야 했으니, 국내에 있는 서버에 비해 느릴 수밖에 없었다

결국, 국내에서 빠르고 안정적인 개인 서버 접속 환경을 원한다면, 약간의 비용을 투자하더라도 가비아나 카페24와 같은 국내 호스팅 업체를 통해 독립 도메인을 등록하고, 국내에 위치한 빠르고 강력한 Authoritative DNS 서버를 이용하는 것이 가장 확실한 해결책이다

물론 DNS 캐시(Cache) 기술이 이 과정을 단축시켜 주지만, 캐시가 만료되거나 처음 방문하는 사용자는 이 물리적 거리의 영향을 고스란히 받게 된다

This post is licensed under CC BY 4.0 by the author.