В сентябре 2019 года Джеф Хьюстон ( Geoff Huston) в блоге blog.apnic.net опубликовал статью об использовании DNS резолверов (https://blog.apnic.net/2019/09/23/dns-resolver-centrality/). В ней он обозначил цель исследования:
«In this post, I’ll look at the resolution of domain names in the Internet, or DNS resolvers, and measure to what extent this environment is showing signs of incipient monopolization. Or to use a common term in DNS conversations these days, to what extent the DNS resolution environment is centralized.»
В качестве отправной точки было выбрано предположение, что:
«Moving the DNS from the access ISP to the browser may not necessarily enhance open competition in the DNS world. In today’s Internet, just two browsers, Chrome and Safari, dominate the browser world with an estimated 80% share of all users.»
И задался вопросом:
«If the DNS becomes a browser-specific setting, then what would that mean for the DNS resolver market?»
Для получения ответа на этот вопрос были использованы рекламные площадки Google для размещения измерительных скриптов, и построен измерительный стенд.
С результатами этих измерений можно ознакомиться на странице apnic labs - https://stats.labs.apnic.net/rvrs.
Идея измерений состоит в том, чтобы разместить DNS-пробник (запрос ресурсной записи контролируемого домена) в браузере конечного пользователя при помощи Javascript.
Это позволит понять:
- Каким DNS-резолвером каждый конечный пользователь пользуется;
- Насколько популярны публичные резолверы типа Google Public DNS;
- Существует ли корреляция между типом браузера и типом резолвера;
- И, возможно, получиться определить факт перехвата DNS-запросов провайдерами подключения к Интернет.
Общая схема такого измерительного стенда выглядит примерно так, как показано на рисунке.
Рисунок 1. Схема экспериментального стенда
В итоге в базе данных измерений их можно собрать по уникальным именам измерений, что позволит свести вмести запросы HTTP и DNS.
HTTP-запросы позволяют определить адрес «конечного пользователя».
DNS-запросы позволяют определить адрес DNS-резолвера.
«Конечный пользователь» - это, собственно, хост конечного пользователя (в том числе, бота), либо шлюз ISP-провайдера, либо прокси, либо хост CDN, либо еще какой либо хост, который послал запрос HTTP-серверу измерений.
До марта 2022 года эта схема исправно работала как по всему миру, так и по России. Но с с марта 2022 года репрезентативность данных по России резко упала (см. Вкладку).Это связано главным образом с кратным сокращением трафика на систему измерений из России.
Сокращение трафика было вызвано решениями Google по трансляции рекламы для россйских пользователей (см. Вкладку).
Потеря репрезентативности данных по России в проекте Apnic Labs стала причиной, побудившей создать свой собственный аналогичный проект - DNS Resolver Use.