ETC

DNS 를 바꾸면 인터넷 속도가 빨라지는 이유?

이전에 Cloudflare 에 대한 포스트를 작성하면서 DNS 를 바꾸면 인터넷 속도가 빨라질 수 있다는 내용을 적었다.
DNS 를 바꾸면 인터넷 속도가 빨라진다는 정보는 꽤 오래 전 (2010년 초반?) 부터 있었는데, 유튜브가 한국에 널리 보급되면서 유튜브 영상의 버퍼링 해결방법으로서 본격적으로 퍼진 것으로 기억한다.
그리고 나도 그 시절에 SKB 인터넷을 사용했었기 때문에 구글의 public DNS 8.8.8.8 을 사용했었다.

당시에도 어떻게 DNS 를 바꾸는 것 만으로 인터넷 속도가 빨라질 수 있지? 라고 생각은 했었지만 넘어갔었는데, 최근에 cloudflare 의 1.1.1.1 을 사용해보면서 다시금 의문이 생겨서 조사해봤다.

알다시피 DNS 는 google.com 과 같은 도메인ip 주소로 변환해주는 역할을 한다.
기본적으로 사용하는 ISP 의 DNS 를 사용하도록 설정이 되어 있다.
이 기본 DNS 주소를 구글에서 제공하는 8.8.8.8 이나 클라우드플레어의 1.1.1.1 로 변경하면 인터넷 속도가 빨라진다는 것인데, 단순하게 생각했을 때 ip 주소로의 변환 역할을 하는 DNS 를 바꾼다고 해서 속도가 빨라질 수 있는지 의문을 가질 수 있다.

알아보니 DNS 서버는 도메인과 매칭되는 여러 개의 ip 중에서 가장 적절한 ip 를 골라서 알려주며 여러 개의 ip 에 균등하게 분배하는 로드 밸런싱 의 역할도 한다.
Youtube, Google, Netflix … 같이 대규모 호스팅을 하는 서버는 ip 주소도 여러 개 있기 때문에,
여러 개의 ip 주소를 알고 있고 적절한 ip 를 알려주는 DNS 서버로 변경할 경우 속도 향상을 기대할 수 있는 것이다.
(빠른 ip 를 제공할 수 있음에도 이해 관계 때문에 제공하지 않는 경우도 있다고 한다.)

그리고 조사하면서, DNS 를 선택할 때 tracert 와 같은 tool 로 패킷의 지연 측정을 해서 가장 지연이 적은 DNS 를 선택하라는 내용의 글도 많았는데, 이 경우 단순하게 도메인과 ip 변환까지 걸리는 지연을 측정하는 것이기 때문에 해외 서비스의 속도를 개선하는 목적으로서는 적절한 선택기준이 될 수 없을 것이다.
(보통은 사용하고 있는 ISP 에서 기본 제공하는 DNS 가 가장 지연이 적다. 하지만 DNS 서버와의 통신은 전체 통신에서 극히 일부분이고 최초 access 이후에는 그마저 cache 될 수 있다.)

따라서 DNS 변경을 통한 속도 향상은 해외 서비스를 이용할 때 사용할 수 있는, 기술적으로 유효한 방법이라고 생각된다. (LOL 도 DNS 서버 변경으로 속도 개선될 수 있는 듯)
특히 SKB 인터넷을 사용할 경우 해외 서비스 속도가 느린 것이 체감이 되므로 1.1.1.1 이나 KT DNS 를 사용하는 것을 개인적으로 추천한다.
다만 DNS 변경으로 국내 서비스는 더 느려질 수 있는데, 내 사용 패턴에서는 국내 서비스가 느려지는 경험은 없었다. 각자의 인터넷 사용 패턴에 따라 적절한 선택을 하자.