Публичный DNS Google не используется в трассировке маршрута
На моем ПК я использую Google Public DNS в качестве DNS-серверов. В свойствах интернет-протокола (TCP/IP) я установил Предпочитаемый DNS-сервер на 8.8.4.4 и Альтернативный DNS-сервер на 8.8.8.8.
По моему мнению, этот DNS-сервер должен использоваться для разрешения любого запроса к веб-сайту на его IP-адрес с использованием этих DNS-серверов (см. Google DNS и Как работают серверы доменных имен).
Но когда я проверил трассировку маршрута к веб-сайту на моем ПК, я получил следующий вывод:
Tracing route to www.google.com [74.125.236.80] over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.1.201
2 360 ms 349 ms 292 ms 122.178.216.1
3 145 ms 107 ms 148 ms 122.166.32.121
4 32 ms 53 ms 120 ms 122.166.32.9
5 45 ms 42 ms 121 ms 122.175.255.29
6 63 ms 76 ms 51 ms 182.79.255.45
7 52 ms 134 ms 61 ms 72.14.194.22
8 86 ms 59 ms 72 ms 72.14.232.202
9 106 ms 107 ms 60 ms 66.249.94.39
10 101 ms 103 ms 117 ms 209.85.249.235
11 148 ms 224 ms 276 ms 74.125.236.80 Trace complete.
Когда я проверил все эти IP-адреса в who.is, я обнаружил, что они принадлежат моему провайдеру. Итак, мой вопрос, где используется Google Public DNS? Кроме того, почему сервер имен моего провайдера используется, даже если я установил Google Public DNS в качестве DNS-сервера на моем ПК? Или мои настройки неверны?
2 ответа
Вы не видите DNS-запрос в traceroute. Чтобы увидеть, какой DNS-сервер используется, попробуйте nslookup:
# nslookup www.google.com
Server: 10.0.0.100
Address: 10.0.0.100#53
Non-authoritative answer:
Name: www.google.com
Address: 173.194.75.106
Name: www.google.com
Address: 173.194.75.147
Name: www.google.com
Address: 173.194.75.99
Name: www.google.com
Address: 173.194.75.103
Name: www.google.com
Address: 173.194.75.104
Name: www.google.com
Address: 173.194.75.105
Или же:
# dig www.google.com |grep SERVER
;; SERVER: 10.0.0.100#53(10.0.0.100)
Часть "Имя и адрес" (или СЕРВЕР) - это ваш DNS-сервер. Traceroute дает вам маршрут от вашего IP до Google, который, конечно же, пройдет через вашего интернет-провайдера.
Вы смешиваете две разные вещи.
Одна вещь - это DNS. DNS похож на телефонную книгу для имен серверов и IP-адресов. DNS-сервер сообщает вам IP-адрес для имени сервера, например, DNS сообщает, что www.usersuper.ru - 198.252.206.16. DNS также может отменить поиск имени для данного IP-адреса.
В Интернете существует множество DNS-серверов, и если они позволяют это, вы можете использовать любой из них. При правильной настройке все они должны давать одинаковые результаты.
Вы можете проверить, какой DNS-сервер вы используете, например, при запуске nslookup следующим образом (см. Первые две строки, выводимые с Server и Address):
>nslookup www.usersuper.ru
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non authoritative answer:
Name: usersuper.ru
Address: 198.252.206.16
Aliases: www.usersuper.ru
Когда вы смотрите на traceroute, вы видите реальный способ передачи пакета с вашего компьютера на конечный компьютер (веб-сервер). Это никак не связано с DNS. Сначала ваш компьютер ищет IP-адрес конечного компьютера, а затем проверяет, находится ли IP в вашей локальной сети. Если IP не находится в вашей локальной сети, то он отправляет пакет на ваш роутер. Ваш роутер делает то же самое. Для каждого пакета, который он получает, он просматривает в большой таблице маршрутизации, на какой сетевой интерфейс он должен пересылать IP-пакет. Все эти маршрутизаторы находятся либо в вашем местоположении (например, в вашем 192.168.1.201), в местоположении владельца компьютера назначения, либо в пути они принадлежат интернет-провайдеру. Какие маршрутизаторы используются, определяется топологией сети и задействованными интернет-провайдерами. Вы не можете влиять на способ получения пакета, вы можете влиять только на точку назначения.