none
О работе DNS. RRS feed

  • Вопрос

  • Здравствуйте. Я посмотрел урок о работе DNS - https://www.youtube.com/watch?v=YmYVAxUhl0o

    Но я не все смог понять.

    1. Клиент заходит в браузере на сайт www.udemy.com -> он отправляется на DNS сервер используемый клиентом, который прописан в свойствах адаптера tcp/ipv4. Тот не может найти IP адрес в своих записях DNS и идет на глобальный каталог .com, который стучится в свой корневой DNS. Дальше что? Корневой DNS .com получил сигнал, ответил, вернулся обратно в DNS сервер используемый клиентом и оттуда пошел искать зону UDEMY.COM? Но не найдя, опять вернулся к клиентскому DNS, от туда пошел уже на хостинг DNS'а, где прописаны зоны udemy.com, нашел IP и его наконец вернул клиенту ?

    20 апреля 2018 г. 10:55

Ответы

  • Для начала: в DNS никто никуда не "ходит". В рамках протокола DNS запрашивающая сторона (клиент или сервер, выполняющий рекурсивный запрос, см далее) отправляет запросы серверу и получается ответы.

    Далее, запросы бывают двух типов: рекурсивные и итеративные (отличаются значением в одном их полей запроса). При рекурсивном запросе запрашивающая сторона просит сервер сообщить ей IP-адрес (или другую информацию, в зависимости от типа запрашиваемой записи) и ожидает, что сервер вернёт ей именно запрашиваемую информацию (или код ошибки). При итеративном же запросе запрашивающая сторона допускает и третий вариант - информацию о сервере DNS, где искать ответ.

    Так вот, клиент посылает серверу DNS именно рекурсивный запрос. Что касается сервера, обрабатывающего рекурсивный запрос, то он, в зависимости от настроек может либо послать рекурсивный запрос вышестоящему серверу (если настроена пересылка, она же forwarding), либо заняться поиском информации с помощью итеративных запросов.

    При обработке рекурсивного запроса сервер DNS запрашивает (итеративным запросом) запись у одного из корневых серверов Интернет (полномочных для зоны "."), про которые он знает - они изначально заданы при настройке. Корневоq сервер практически всегда возвращает не ответ, а информацию о сервере, где ответ искать искать (например, при запросе IP для имени www.udemy.com - список серверов, полномочных для зоны com). Далее этот процесс повторяется (например, запрос к полномочному серверу для зоны com вернет информацию о серверах, полномочных для зоны udemy.com) до тех пор, пока не будет получена запрашиваемая информация (или ошибка).

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

    И последнее: на любом этапе выполнения запроса клиент или сервер может, вместо того, чтобы запрашивать информацию у другого сервера, взять её из своего кэша.

    Как-то так.


    Слава России!

    • Предложено в качестве ответа Vector BCOModerator 27 мая 2018 г. 6:39
    • Помечено в качестве ответа Vector BCOModerator 27 мая 2018 г. 6:39
    20 апреля 2018 г. 11:52
  • Сколько бы запросов в секунду получал сервер корневой зоны согласно вашей схеме действия? 

    нормально всё, корневые сервера содержат только TLD зоны:

    nslookup exonix.ru B.ROOT-SERVERS.NET
    ip6.arpa        nameserver = b.ip6-servers.arpa
    ip6.arpa        nameserver = c.ip6-servers.arpa
    ip6.arpa        nameserver = f.ip6-servers.arpa
    ip6.arpa        nameserver = e.ip6-servers.arpa
    ip6.arpa        nameserver = a.ip6-servers.arpa
    ip6.arpa        nameserver = d.ip6-servers.arpa
    a.ip6-servers.arpa      AAAA IPv6 address = 2620:37:e000::53
    b.ip6-servers.arpa      AAAA IPv6 address = 2001:500:86::86
    c.ip6-servers.arpa      AAAA IPv6 address = 2001:43f8:110::11
    d.ip6-servers.arpa      AAAA IPv6 address = 2001:13c7:7012::53
    e.ip6-servers.arpa      AAAA IPv6 address = 2001:dc0:2001:a:4608::59
    f.ip6-servers.arpa      AAAA IPv6 address = 2001:67c:e0::2
    a.ip6-servers.arpa      internet address = 199.180.182.53
    b.ip6-servers.arpa      internet address = 199.253.182.182
    c.ip6-servers.arpa      internet address = 196.216.169.11
    d.ip6-servers.arpa      internet address = 200.7.86.53
    e.ip6-servers.arpa      internet address = 202.12.29.59
    f.ip6-servers.arpa      internet address = 193.0.9.2
    Server:  UnKnown
    Address:  2001:500:200::b

    Name:    exonix.ru
    Served by:
    - b.dns.ripn.net
              2001:678:16:0:194:85:252:62
              194.85.252.62
              ru
    - a.dns.ripn.net
              2001:678:17:0:193:232:128:6
              193.232.128.6
              ru
    - e.dns.ripn.net
              2001:678:15:0:193:232:142:17
              193.232.142.17
              ru
    - d.dns.ripn.net
              2001:678:18:0:194:190:124:17
              194.190.124.17
              ru
    - f.dns.ripn.net
              2001:678:14:0:193:232:156:17
              193.232.156.17
              ru

    а те уже содержат только записи о делегированных серверах:

    nslookup exonix.ru b.dns.ripn.net
    Server:  UnKnown
    Address:  2001:678:16:0:194:85:252:62

    Name:    exonix.ru
    Served by:
    - robin.ns.cloudflare.com

              exonix.ru
    - ernest.ns.cloudflare.com

              exonix.ru

    Более того, не забывайте, что есть ещё кеширующие DNS. Может они стоят на сороне провадера и несколько минут назад Ваш сосед посещал www.udemy.com и Вы получаете "кешированный" ответ. В таком случае запроса к корневым ДНС нет.

    • Предложено в качестве ответа Vector BCOModerator 27 мая 2018 г. 6:39
    • Помечено в качестве ответа Vector BCOModerator 27 мая 2018 г. 6:39
    22 апреля 2018 г. 8:01
    Модератор

Все ответы

  • Для начала: в DNS никто никуда не "ходит". В рамках протокола DNS запрашивающая сторона (клиент или сервер, выполняющий рекурсивный запрос, см далее) отправляет запросы серверу и получается ответы.

    Далее, запросы бывают двух типов: рекурсивные и итеративные (отличаются значением в одном их полей запроса). При рекурсивном запросе запрашивающая сторона просит сервер сообщить ей IP-адрес (или другую информацию, в зависимости от типа запрашиваемой записи) и ожидает, что сервер вернёт ей именно запрашиваемую информацию (или код ошибки). При итеративном же запросе запрашивающая сторона допускает и третий вариант - информацию о сервере DNS, где искать ответ.

    Так вот, клиент посылает серверу DNS именно рекурсивный запрос. Что касается сервера, обрабатывающего рекурсивный запрос, то он, в зависимости от настроек может либо послать рекурсивный запрос вышестоящему серверу (если настроена пересылка, она же forwarding), либо заняться поиском информации с помощью итеративных запросов.

    При обработке рекурсивного запроса сервер DNS запрашивает (итеративным запросом) запись у одного из корневых серверов Интернет (полномочных для зоны "."), про которые он знает - они изначально заданы при настройке. Корневоq сервер практически всегда возвращает не ответ, а информацию о сервере, где ответ искать искать (например, при запросе IP для имени www.udemy.com - список серверов, полномочных для зоны com). Далее этот процесс повторяется (например, запрос к полномочному серверу для зоны com вернет информацию о серверах, полномочных для зоны udemy.com) до тех пор, пока не будет получена запрашиваемая информация (или ошибка).

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

    И последнее: на любом этапе выполнения запроса клиент или сервер может, вместо того, чтобы запрашивать информацию у другого сервера, взять её из своего кэша.

    Как-то так.


    Слава России!

    • Предложено в качестве ответа Vector BCOModerator 27 мая 2018 г. 6:39
    • Помечено в качестве ответа Vector BCOModerator 27 мая 2018 г. 6:39
    20 апреля 2018 г. 11:52
  • Благодарю Вас, M.V.V._

    Можете объяснить цепочку относительно фото?

    20 апреля 2018 г. 12:49
  • Благодарю Вас, M.V.V._

    Можете объяснить цепочку относительно фото?

    Ваша картинка описана в 4 абзаце предыдущего ответа

    Вы картинку прочли неверно скорее всего, так-как читается она не с права на лево, а наоборот.


    The opinion expressed by me is not an official position of Microsoft


    20 апреля 2018 г. 15:31
    Модератор
  • Vector BCO, ну я наверно в первом сообщении и писал слева направо. Нет ? И описание может внешнее? Относительно самой работы DNS, а не конкретное относительно картинки, как производятся все пути маршрута.

    Клиент обратился к сайту www.udemy.com, сделал запрос на локальный DNS сервер клиента, не получив ответа, он пошел получить ответ в корневых каталогах DNS зоны .COM, тот начал искать зону udemy.com и нашел её где она прописана и после вернул клиенту, так ?

    21 апреля 2018 г. 8:17
  • Благодарю Вас, M.V.V._

    Можете объяснить цепочку относительно фото?

    с 9:43 на видео начинается объяснение.
    21 апреля 2018 г. 8:30
    Модератор
  • Anahaym, я как бы и пытался описать, то, что там сказано. Укажите на мои ошибки пожалуйста в описании.
    21 апреля 2018 г. 9:21
  • Просто посмотрите видео ещё раз, и Вы все поймёте
    21 апреля 2018 г. 19:40
    Модератор
  • Сколько бы запросов в секунду получал сервер корневой зоны согласно вашей схеме действия? А ведь это начало интернета. Там сервер, наверное, всё ещё на  кристалле SPARC работает.  
    22 апреля 2018 г. 7:09
  • Сколько бы запросов в секунду получал сервер корневой зоны согласно вашей схеме действия? 

    нормально всё, корневые сервера содержат только TLD зоны:

    nslookup exonix.ru B.ROOT-SERVERS.NET
    ip6.arpa        nameserver = b.ip6-servers.arpa
    ip6.arpa        nameserver = c.ip6-servers.arpa
    ip6.arpa        nameserver = f.ip6-servers.arpa
    ip6.arpa        nameserver = e.ip6-servers.arpa
    ip6.arpa        nameserver = a.ip6-servers.arpa
    ip6.arpa        nameserver = d.ip6-servers.arpa
    a.ip6-servers.arpa      AAAA IPv6 address = 2620:37:e000::53
    b.ip6-servers.arpa      AAAA IPv6 address = 2001:500:86::86
    c.ip6-servers.arpa      AAAA IPv6 address = 2001:43f8:110::11
    d.ip6-servers.arpa      AAAA IPv6 address = 2001:13c7:7012::53
    e.ip6-servers.arpa      AAAA IPv6 address = 2001:dc0:2001:a:4608::59
    f.ip6-servers.arpa      AAAA IPv6 address = 2001:67c:e0::2
    a.ip6-servers.arpa      internet address = 199.180.182.53
    b.ip6-servers.arpa      internet address = 199.253.182.182
    c.ip6-servers.arpa      internet address = 196.216.169.11
    d.ip6-servers.arpa      internet address = 200.7.86.53
    e.ip6-servers.arpa      internet address = 202.12.29.59
    f.ip6-servers.arpa      internet address = 193.0.9.2
    Server:  UnKnown
    Address:  2001:500:200::b

    Name:    exonix.ru
    Served by:
    - b.dns.ripn.net
              2001:678:16:0:194:85:252:62
              194.85.252.62
              ru
    - a.dns.ripn.net
              2001:678:17:0:193:232:128:6
              193.232.128.6
              ru
    - e.dns.ripn.net
              2001:678:15:0:193:232:142:17
              193.232.142.17
              ru
    - d.dns.ripn.net
              2001:678:18:0:194:190:124:17
              194.190.124.17
              ru
    - f.dns.ripn.net
              2001:678:14:0:193:232:156:17
              193.232.156.17
              ru

    а те уже содержат только записи о делегированных серверах:

    nslookup exonix.ru b.dns.ripn.net
    Server:  UnKnown
    Address:  2001:678:16:0:194:85:252:62

    Name:    exonix.ru
    Served by:
    - robin.ns.cloudflare.com

              exonix.ru
    - ernest.ns.cloudflare.com

              exonix.ru

    Более того, не забывайте, что есть ещё кеширующие DNS. Может они стоят на сороне провадера и несколько минут назад Ваш сосед посещал www.udemy.com и Вы получаете "кешированный" ответ. В таком случае запроса к корневым ДНС нет.

    • Предложено в качестве ответа Vector BCOModerator 27 мая 2018 г. 6:39
    • Помечено в качестве ответа Vector BCOModerator 27 мая 2018 г. 6:39
    22 апреля 2018 г. 8:01
    Модератор