На днях я пытался сделать трассировку на www.nasa.gov
.
Я пробовал делать это с нескольких разных сайтов (нашел @ www.traceroute.org
), и все они ведут себя одинаково: при подключении к www.nasa.gov
, вместо того, чтобы подключаться к одному из канонических имен nasa.org, он пытается подключиться к другому IP-адресу, как правило, из той же страны, в которой находится сайт traceroute, который я использую. Хуже того, кажется, что для каждой страны есть несколько разных IP-адресов, связанных с www.nasa.gov
.
Пример:
traceroute to www.nasa.gov (203.106.85.57), 30 hops max, 40 byte packets
1 gx-kmi-e1-a.mdn.nusa.net.id (202.162.192.254) 0.266 ms 0.265 ms 0.432 ms
2 gw-kmi.mdn.nusa.net.id (202.162.199.238) 1.430 ms 1.433 ms 1.416 ms
3 112.215.16.1 (112.215.16.1) 32.137 ms 32.143 ms 32.149 ms
4 112.215.5.249 (112.215.5.249) 32.155 ms 33.083 ms 33.069 ms
5 icore-sgp.ge-1-3-0.bb.xl.net.id (202.152.254.62) 130.189 ms 202.152.245.186 (202.152.245.186) 130.134 ms icore-sgp.ge-1-3-0.bb.xl.net.id (202.152.254.62) 130.178 ms
6 tm.net.my (58.26.179.213) 65.494 ms 66.277 ms 66.039 ms
7 203.106.85.57 (203.106.85.57) 64.707 ms 64.693 ms 65.792 ms
где 203.106.85.57
это IP от malasya.
Сначала я думал, что это может быть связано с зеркалами, но сейчас не уверен. Даже для сайтов отслеживания небольших стран кажется, что существует несколько IP-адресов, и я сомневаюсь, что такой сайт, как www.nasa.gov
генерирует такой объем трафика, который необходимо тиражировать во многих местах, даже в небольших странах.
В чем причина этого? Я ошибаюсь в моем racionale?
Спасибо
Это эффект сети доставки контента (CDN).
http://en.wikipedia.org/wiki/Content_delivery_network
Akamai - один из крупнейших CDN.
Объясните: у CDN много серверов по всему миру, которые служат для кеширования. обратный прокси (это не прокси для пользователя, а прокси непосредственно перед сервером, чтобы уменьшить количество запросов). Чтобы сделать доступ к сайту быстрее, CDN должен соединять каждого пользователя с ближайшим сервером.
Для выбора ближайшего сервера используется специальный DNS-сервер. Если вы хотите подключить какой-либо веб-сервер, например www.abc.com, ваш браузер должен найти IP-адрес сервера с DNS. Обычно DNS должен возвращать некоторый фиксированный адрес для любого клиента, но akamai и другие DNS CDN будут действовать иначе.
Они будут возвращать разные IP-адреса серверов в зависимости от IP-адреса клиента (IP-адрес, с которого отправляется DNS-запрос). Такие специальные DNS имеют базу данных геолокации для любого IP и базу данных серверов akamai с необходимым контентом. Ответ DNS перенаправит ваш браузер на ближайший сервер.
Другая техника Anycast - IP сервера одинаков для любого клиента; но IP-пакеты будут по-разному маршрутизироваться на некоторый набор серверов (на любую группу серверов).