13.4. Как работает DNS-сервер

Система DNS содержит иерархию серверов DNS. Иерархия серверов DNS совпадает с иерархией доменов.

Локальные серверы имеются у каждого Интернет-провайдера.

IP-адрес локального сервера имен здесь Панель управления Сеть TCP/IP Свойства Конфигурация DNS

Каждый домен или поддомен поддерживается как минимум одним авторитетным сервером DNS (от англ. authoritative - авторитетный, заслуживающий доверия; в Рунете применительно к DNS и серверам имен часто употребляют и другие варианты перевода: авторизированный, авторитативный), на котором расположена информация о домене.

Существует 13 корневых серверов, расположенных по всему миру и привязанных к своему региону, их адреса никогда не меняются, а информация о них есть в любой операционной системе . От А до М. Наш К 193.0.14.129

Servers

Server

Operator

Locations

IP Addr

Home ASN

A

VeriSign Naming and Directory Services

Dulles VA

198.41.0.4

19836

B

Information Sciences Institute

Marina Del Rey CA

IPv4: 192.228.79.201 IPv6: 2001:478:65::53

tba

C

Cogent Communications

Herndon VA; Los Angeles; New York City; Chicago

192.33.4.12

2149

D

University of Maryland

College Park MD

128.8.10.90

27

E

NASA Ames Research Center

Mountain View CA

192.203.230.10

297

F

Internet Systems Consortium, Inc.

40 sites: Ottawa; Palo Alto; San Jose CA; New York City; San Francisco; Madrid; Hong Kong; Los Angeles; Rome; Auckland; Sao Paulo; Beijing; Seoul; Moscow; Taipei; Dubai; Paris; Singapore; Brisbane; Toronto; Monterrey; Lisbon; Johannesburg; Tel Aviv; Jakarta; Munich; Osaka; Prague; Amsterdam; Barcelona; Nairobi; Chennai; London; Santiago de Chile; Dhaka;Karachi;Torino;Chicago; Buenos Aires;Caracas;Oslo

IPv4: 192.5.5.241 IPv6: 2001:500::1035

3557

G

U.S. DOD Network Information Center

Columbus OH

192.112.36.4

568

H

U.S. Army Research Lab

Aberdeen MD

IPv4: 128.63.2.53 IPv6: 2001:500:1::803f:235

13

I

Autonomica/NORDUnet

29 sites: Stockholm; Helsinki; Milan; London; Geneva; Amsterdam; Oslo; Bangkok; Hong Kong; Brussels; Frankfurt; Ankara; Bucharest; Chicago; Washington DC; Tokyo; Kuala Lumpur; Palo Alto; Jakarta; Wellington; Johannesburg; Perth; San Francisco; New York; Singapore; Miami; Ashburn (US); Mumbai; Beijing

192.36.148.17

29216

J

VeriSign, Inc.

28 sites: Dulles (2 locations), Miami, Atlanta, Seattle, Chicago, New York, Los Angeles, Mountain View, San Francisco (US); Amsterdam (NL); London (UK); Stockholm (SE); Tokyo (JP); Seoul (KR); Bejing (CN); Singapore (SG); Dublin (IE); Kaunas (LT); Nairobi (KE); Montreal, Quebec (CA); Sydney (AU); Cairo (EG); Warsaw (PL); Brasilia, Sao Paulo (BR); Sofia (BG)

192.58.128.30

26415

K

Reseaux IP Europeens - Network Coordination Centre

London (UK); Amsterdam (NL); Frankfurt (DE); Athens (GR); Doha (QA); Milan (IT); Reykjavik (IS); Helsinki (FI); Geneva (CH); Poznan (PL); Budapest (HU); Abu Dhabi (AE); Tokyo (JP); Brisbane (AU); Miami (US); Delhi (IN); Novosibirsk (RU)

IPv4: 193.0.14.129 IPv6: 2001:7fd::1

25152

L

Internet Corporation for Assigned Names and Numbers

Los Angeles

198.32.64.12

20144

M

WIDE Project

Tokyo; Seoul (KR); Paris (FR); San Francisco, CA

202.12.27.33 IPv6: 2001:dc3::35

7500

New Instance of RIPE NCC Operated K-root Server Deployed in Russia

Press Release | Amsterdam, 12 January 2006

On 12 January 2006, the RIPE NCC (R_seaux IP Europ_ens Network Coordination Centre) in partnership with the Russian Institute for Public Networks (RIPN) switched on a new mirror instance of the K-root Internet root name server in Novosibirsk, Russia. The node was installed in March 2005, but could not be put into production due to technical issues.

The K-root server is one of the thirteen Internet root name servers that resolve lookups for domain names all over the world. It forms a critical part of the global Internet infrastructure. The Domain Name System (DNS) is a service used to translate between host names and Internet Protocol (IP) addresses by virtually all Internetworking software, including e-mail and web browsers.

Following Distributed Denial of Service (DDoS) attacks on root servers in October 2002, the RIPE NCC has worked to improve the reliability of the root server system by installing mirror instances of K-root server.

The K-root server incorporates IP anycast technology. It uses routing topology to send Internet traffic to the nearest or best destination. This leads to better distribution of services and improves response times for End Users.

The RIPE NCC has operated the K-root server since 1997, when we installed the first instance at the London Internet Exchange (LINX) in London, UK. Since early 2003, our engineers have deployed mirror instances of the K-root server in Abu Dhabi, Amsterdam, Athens, Brisbane, Budapest, Doha, Frankfurt, Geneva, Helsinki, Milan, Poznan, Reykjavik, Tokyo, Delhi and Miami.

You can find out more about the K-root server at: http://k.root-servers.org

Рассмотрим на примере работу всей системы.

Предположим, мы набрали в браузере адрес ru.wikipedia.org. Браузер знает только IP-адрес сервера DNS, обычно это один из серверов интернет-провайдера (DNS по умолчанию в настройках соединения). Браузер спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org?». Сервер DNS обращается к корневому серверу - например, 198.41.0.4. Этот сервер сообщает - «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 поддерживает доменную зону org.» Тогда сервер DNS направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 поддерживает доменную зону wikipedia.org.» Наконец, тот же запрос отправляется к третьему DNS-серверу (который является авторитетным сервером для зоны wikipedia.org), и получает ответ - IP-адрес, который и возвращает клиенту - браузеру.

В данном случае при разрешении имени, то есть в процессе поиска IP по имени, между хостом и серверами передавались запросы двух типов:

  1. браузер отправил известному ему DNS-серверу т. н. рекурсивный запрос - в ответ на такой тип запроса сервер обязан вернуть «готовый результат», то есть IP-адрес, либо сообщить об ошибке Замечание: встроенные dns-клиенты браузеров умеют давать только такие типы запросов, иначе их код пришлось бы неоправданно усложнять и значительно возрос бы трафик у конечного пользователя,

  2. а сам DNS-сервер, получивший запрос от клиента, выполнял последовательно итеративные запросы, на которые получал от других DNS-серверов уточняющие ответы, пока не получил авторитетный ответ от сервера, ответственного за запрошенную зону Замечание: сервер провайдера, будучи лентяем, мог бы передать рекурсивный запрос следующему DNS-серверу и дождаться готового ответа, но в данном примере он добросовестно выполнил свою задачу.

Имя хоста и IP-адрес не тождественны - хост с одним IP-адресом может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов (это называется виртуальный хостинг). Обратное тоже справедливо - одному имени может быть сопоставлено множество хостов: это позволяет создавать балансировку нагрузки.

Запрос на определение имени обычно не идёт дальше кэша DNS, который помнит (ограниченное время) ответы на запросы, проходившие через него ранее. Организации или провайдеры могут по своему усмотрению организовывать кэш DNS. Вместе с ответом приходит информация о том, сколько времени следует хранить эту запись в кэше.

Рис. Схема работы цепочки DNS-серверов

Здесь можно рассмотреть аналогию с работой справочной службы. Вы директор отправляете письмо во Францию своему коллеге и не знает адреса. Вы обращаетесь к секретарю. Если та не знает, то обращается в местное справочное бюро. Если и там нет, то дадут адрес службы где этот адрес должен быть.

Одна из причин, благодаря которой система работает это ее избыточность. Существует множество DNS-серверов на каждом уровне, и поэтому если один из них не может дать ответ, то наверняка существует другой, где есть необходимая вам информация.

Другая технология, которая делает поиск более быстрым - это система кэширования. Как только DNS-сервер выполняет запрос, он запоминает полученный IP-адрес для повторного использования (кэширует данные). Кэширование происходит с каждым запросом, что постепенно оптимизирует скорость работы системы.