Как улучшить сетевой опыт в условиях самостоятельного DNS-сервиса
Categories:
Качество сети и сетевой опыт
Не делая ничего, можно получить лучший сетевой опыт
Нужно понимать, что здесь качество сети и сетевой опыт - это два разных понятия. Связь - это процесс, включающий несколько устройств. Мы можем назвать производительность вверх и вниз по течению для отдельного устройства как качество сети, а производительность сквозной связи можно назвать сетевым опытом.
Как измерить качество сети
Измерение качества сети обычно включает в себя несколько показателей и методов. Ниже приведены некоторые распространенные методы и показатели измерения качества сети:
- Пропускная способность (Bandwidth): Пропускная способность - это способность сети передавать данные, которая обычно измеряется количеством данных, передаваемых в секунду (бит/сек). Более высокая пропускная способность обычно означает лучшее качество сети.
- Задержка (Latency): Задержка - это время, необходимое для передачи данных от отправителя к получателю. Низкая задержка означает более быструю передачу данных и более быструю сетевую реакцию.
- Скорость потери пакетов (Packet Loss Rate): Скорость потери пакетов - это пропорция потерянных пакетов данных в процессе передачи. Низкая скорость потери пакетов обычно означает лучшее качество сети.
- Джиттер (Jitter): Джиттер - это изменение или колебание пакетов данных в процессе передачи. Меньший джиттер означает более высокую стабильность сети.
- Пропускная способность (Throughput): Пропускная способность - это фактическое количество данных, передаваемых по сети, которое обычно измеряется количеством передаваемых данных в единицу времени. Более высокая пропускная способность означает лучшее качество сети.
- Топология сети (Network Topology): Топология сети описывает способ соединения узлов в сети и структуру. Разумный дизайн топологии сети может улучшить производительность и качество сети.
- Качество обслуживания (Quality of Service, QoS): QoS - это набор технологий и механизмов, используемых для обеспечения приемлемого качества обслуживания при передаче данных в сети. QoS может быть реализован различными способами, включая управление трафиком, очереди с приоритетами и т.д.
- Анализ сетевых протоколов (Protocol Analysis): Анализ сетевых протоколов и пакетов данных может помочь понять производительность сети и проблемы, например, с помощью таких инструментов анализа сети, как Wireshark.
Используя эти показатели и методы в комплексе, можно всесторонне оценить качество сети, определить преимущества производительности сети и возможности для улучшения. Однако это показатели, на которые обращают внимание операторы связи. Для обычных пользователей достаточно просто купить подходящий по цене маршрутизатор, современные маршрутизаторы имеют функцию автоматической настройки качества сети.
Как измерить сетевой опыт
Во-первых, доступность - это наиболее важная основа. Следовательно, служба разрешения доменных имен должна обладать базовыми возможностями:
- Всеобъемлющая: вышестоящая служба DNS должна быть авторитетной и способной разрешать больше доменных имен.
- Правильная: результат разрешения должен быть правильным, не должно быть ошибок разрешения. Некоторые провайдеры DNS-услуг осуществляют перехват или загрязнение некоторых доменных имен, направляя их на рекламные страницы.
- Своевременная: после изменения IP-адреса необходимо своевременно обновлять результат разрешения, а не возвращать старый IP-адрес.
Во-вторых, IP-адрес, полученный в результате разрешения DNS, должен обеспечивать качество сети.
Качество сети, которое могут предоставить интернет-сервисы, обычно сильно зависит от региона. Чем ближе сервер и клиент находятся географически, тем лучше качество обслуживания.
Многие платные DNS-провайдеры поддерживают разрешение разных IP-адресов в зависимости от региона. Например, это часть услуг, которые может предоставить Alibaba Cloud:
(1) Линии операторов: поддержка интеллектуального разрешения по линиям China Unicom, China Telecom, China Mobile, China Education Network, Penge Doctor, Cable Network, детализация до провинции; (2) Зарубежные региональные линии: поддержка, детализация до континента, страны; (3) Линии Alibaba Cloud: поддержка, детализация до различных регионов; (4) Пользовательские линии: поддержка интеллектуального разрешения пользовательских диапазонов IP-адресов;

Механизм разрешения разных IP-адресов в зависимости от региона означает, что пользователи из разных регионов, посещая один и тот же домен, получат разные результаты разрешения. Естественно, приоритетное разрешение на сервер, находящийся ближе к пользователю, обеспечит лучший сетевой опыт.
Оптимизация сетевого опыта пользователя - это то, что обычно делают поставщики услуг на основе реального IP-адреса пользователя. То есть для большинства пользователей ничего не делая, можно получить лучший сетевой опыт.
Как выбрать вышестоящую DNS-службу для самостоятельного DNS-сервиса
Вся китайская интернет-литература, которую вы можете найти, порекомендует вам выбрать авторитетных DNS-провайдеров, таких как Alibaba Cloud, Tencent Cloud, Cloudflare, Google и т.д. Эти DNS могут удовлетворить доступность интернет-сервисов, поскольку они всеобъемлющие/правильные/своевременные, но они не обязательно направят вас на ближайший IP-адрес сервера.
Большинство материалов в интернете рекомендуют DNS-сервисы крупных корпораций по историческим причинам.
Раньше китайские ISP-операторы могли осуществлять перехват трафика пользователей, просто используя перехват DNS и атаки посредника HTTP, тем самым реализуя доставку рекламы. Сегодня с распространением HTTPS такие методы перехвата стали редкостью, но в некоторых районах жилых комплексов все еще могут существовать такие проблемы. В отношении проблемы перехвата DNS на самом деле изменение DNS IP бесполезно, поскольку перехват может быть направлен на порт 53, а большинство DNS-запросов не зашифрованы.
Кроме того, некоторые специальные пользователи хотят посетить специальные сайты, а некоторые DNS-провайдеры имеют проблемы с загрязнением IP, направляя доменные имена специальных сайтов на неправильные IP-адреса, что приводит к невозможности доступа. В то время как авторитетные DNS-провайдеры редко сталкиваются с такими проблемами.
Таким образом, здесь необходимо рассмотреть три проблемы:
- Загрязнение IP
- Перехват DNS
- Оптимальный опыт обслуживания
Авторитетные DNS-провайдеры могут решить проблему 1, а зашифрованные протоколы (DoT/DoH/QUIC) могут решить проблему 2.
Чтобы решить проблему 3, вам нужно использовать DNS-службу по умолчанию вашего провайдера, как уже упоминалось в начале статьи, ничего не делая, можно получить лучший сетевой опыт.
Но если вы человек с амбициями или специальный пользователь, ниже будет представлено, как настроить AdguardHome и Clash, чтобы решить эти три проблемы одновременно.
Авторитетные и интеллектуальные DNS-сервисы
Настройка AdguardHome
AdguardHome, далее ADG, является программой для блокировки сетевой рекламы и защиты приватности, а также DNS-сервисом. Он поддерживает настройку вышестоящих DNS-сервисов и пользовательских DNS-правил.
ADG по умолчанию использует метод балансировки нагрузки для запросов к вышестоящему DNS. Пользователь может настроить несколько вышестоящих серверов, ADG будет выбирать наиболее быстрый вышестоящий сервер на основе исторических DNS-запросов и взвешенных весов. Проще говоря, ADG будет выбирать самый быстрый DNS-вышестоящий сервер для разрешения домена с более высокой вероятностью и выбирать неоптимальный DNS-вышестоящий сервер с более низкой вероятностью.
Мы можем выбрать третий вариант: Самый быстрый IP-адрес.

Преимущество этого варианта в том, что ADG самостоятельно тестирует IP-результаты вышестоящих DNS, возвращая клиенту IP с наименьшей задержкой. Ниже приведены обычные результаты разрешения для bilibili.

Вы можете увидеть, что IP-адресов очень много, если ADG не тестирует результаты IP-разрешения, а возвращает все IP-адреса клиенту, что будет делать клиент?
Некоторые клиенты выберут первый IP, некоторые выберут последний IP, некоторые выберут случайный IP. В любом случае это не обязательно будет оптимальный выбор.
После включения опции Самый быстрый IP-адрес, ниже приведены оптимизированные результаты разрешения для bilibili, это шаг принесет улучшение сетевого опыта.

Почему Самый быстрый IP-адрес не является выбором по умолчанию? Почему эта функция так полезна, но не включена по умолчанию?
Потому что ее цена - это ожидание результатов IP-разрешения от всех вышестоящих DNS. Когда у вас есть несколько DNS-провайдеров в качестве вышестоящих, время запроса к вышестоящим DNS будет определяться самым медленным. Например, если у вас есть Alibaba со средним временем обслуживания 50 мс и Google со средним временем обслуживания 500 мс в качестве вышестоящих, время запроса ADG к вышестоящим будет 500 мс+.
Таким образом, пользователи должны взвесить качество обслуживания и количество вышестоящих DNS при настройке этой опции, не нужно быть жадным.
Здесь я рекомендую настроить два вышестоящих: один авторитетный (https://dns.alidns.com/dns-query) и один DNS провайдера.
IP-адреса DNS провайдеров различаются в разных регионах, вы можете перейти по ссылке, чтобы проверить DNS провайдера в вашем регионе.
Или вы можете проверить DNS, рекомендованный провайдером, в интерфейсе управления маршрутизатора:

Настройка Clash
Пользователи с особыми потребностями обращают внимание на проблемы перехвата DNS и загрязнения IP, но не хотят отказываться от оптимального опыта обслуживания, могут использовать модуль dns Clash.
nameserver-policy может указывать разные DNS-провайдеры для разных доменов, ниже приведен пример конфигурации:
dns:
default-nameserver:
- tls://223.5.5.5:853
- tls://1.12.12.12:853
nameserver:
- https://dns.alidns.com/dns-query
- https://one.one.one.one/dns-query
- https://dns.google/dns-query
nameserver-policy:
"geosite:cn,private,apple":
- 202.103.24.68 # DNS вашего оператора в вашем регионе
- https://dns.alidns.com/dns-query
"geosite:geolocation-!cn":
- https://one.one.one.one/dns-query
- https://dns.google/dns-query
Его значение:
- default-nameserver: используется для разрешения IP-адресов DNS-сервисов в конфигурации
nameserver - nameserver: используется для разрешения доменов сетевых запросов
- nameserver-policy: в соответствии с политикой, указывает разные DNS-сервисы для разных доменов
Спасибо за внимание
Если эта статья была вам полезна, пожалуйста, поставьте лайк. Также очень приветствуются комментарии и обсуждения.