Google DNS

Google DNS의 장점


아래 그림은 블로그(http://googlesystem.blogspot.com/2009/12/google-dns.html)에서 가지고 온 테스트 결과인데요. Google DNS인 8.8.4.4와 8.8.8.8이 다른 DNS에 비해서 DNS 성능이 가장 우수하다고 합니다.(단말이 보낸 DNS Query에 대한 응답이 가장 빠름)
또한 DNS 서버를 향한 공격(DoS Attack, Spoofing Attack)에 대해서도 안전하다고 Google에서는 얘기하고 있습니다.

즉, 사용자가 Google DNS를 사용하면 (1) DNS 응답 속도가 빠르다! (2) Google DNS 서버는 Attack에 방어가 잘 돼어 있으므로 안전하다! 라는 장점을 가지고 있다고 합니다. 근데 왜 cisco 홈페이지에 대한 ping 응답 속도는 이리도 늦은지 모르겠군요…. (내일 답을 기대하세요!)


사용자 위치에 상관없이 Google DNS 주소를 8.8.8.8/8.8.4.4로 설정할 수 있는 이유

일반적으로 Public IP 주소를 가지는 노드는 전지구상에 하나만 존재하는게 일반적입니다. 예를 들어, 네이버 서버 주소인 222.122.195.5는 국내 네이버 서버만이 가지고 있는 주소이고, 다른 어느 나라/지역에는 이 주소를 가진 노드(서버, 라우터 등)는 존재하지 않습니다. 

하지만 “IP Anycast”라는 개념을 이용하면 본 제한을 극복할 수 있습니다.
전세계 여러 지역에 동일 IP 주소를 가지는 서버를 분산 배치시키고, 서버에 접속하는 각 지역의 단말은 IP routing (IGP로는 OSPF, IS-IS, EGP로는 eBGP가 대표적)의 “shortest path 알고리즘”에 따라 가장 가까운 곳의 서버와 통신 할 수 있도록 해 주는 것입니다.
즉, IP 라우팅망은 shortest path 알고리즘에 따라 동일 IP를 가진 노드(Destination IP 주소)가 여러개라 하더라도 그 중에 사용자(Source IP 주소)와 가장 가까운 곳에 위치한 노드로 패킷을 전달합니다. 여기서 “가장 가까운”이란 라우팅 프로토콜의 관점으로 OSPF/IS-IS에서는 Total Link Cost이고 eBGP에서는 AS-PATH가 대표적이라 보시면 됩니다.

Google DNS는 이 IP Anycast 원리를 사용하고 있는데요. 아래 그림의 예와 같이 각 대륙별로 8.8.8.8 주소를 가지는 Google DNS 서버를 위치시키십니다. 
그리고 IP Anycasting에 의해서 각 대륙에 위치한 사용자가 목적지 주소(Destination IP address)를 8.8.8.8로 하여 패킷(DNS 메시지)을 보내면 IP 망에서는 Shortest Path 알고리즘에 의해서 그 사용자와 가장 가까운 위치에 있는 Google DNS 8.8.8.8로 패킷이 라우팅 되어 가게 됩니다.

근데 한가지 좀 이상한 것은요. 제 자리에서 8.8.8.8 또는 8.8.4.4로 trace route를 해 보면 그 응답을 주는 서버의 위치가 미국으로 나오네요… 국내에 Google Data Center가 없지만 전 최소한 일본에 위치한 Google DNS 서버와 통신 할 것으로 생각했었거든요.. 왜 이리 되는지 누구 아시는 분 계시면 코멘트 좀 부탁드릴께요.  ^^*
아무튼.. 본 궁금점은 이번 문제와 별 상관이 없으므로 그냥 넘어가도록 하겠습니다!

 

그리고 참고로 Google은 전세계에 40여곳에 자체 Data Center를 가지고 있고(여기에 Google 서버가 위치함), Google Data Center간의 연결도 역시 Google 소유의 fiber를 이용합니다. 즉, Google은 여러분들이 아시는 인터넷 서비스 제공뿐만 아니라, 통신 회선과 Data Center를 보유하고 있는 일종의 통신 사업자입니다.

참조 :http://www.netmanias.com/bbs/view.php?id=blog&no=234