Dual stack: как клиент выбирает между IPv4 и IPv6
Dual-stack узел доступен по IPv4 и IPv6. Клиент может получить несколько A- и AAAA-ответов, отсортировать их и запускать попытки так, чтобы неисправность одного пути не задерживала пользователя надолго. Современный подход описывается алгоритмом Happy Eyeballs.
Главное за минуту
- A-запись содержит IPv4, AAAA-запись — IPv6.
- Клиент может начинать попытки разных семейств с небольшой задержкой.
- Первое успешное соединение определяет фактически использованный путь.
- Наличие DNS-записи не подтверждает работоспособность маршрута.
Параллельное разрешение имён
Happy Eyeballs рекомендует быстро запускать запросы AAAA и A, не ожидая бесконечно медленного ответа одного семейства. Полученные адреса сортируются по политике клиента. Это уменьшает видимую задержку при частично неисправной сети.
Гонки соединений без перегрузки
Попытки начинают контролируемо, а не все одновременно. После установления одного соединения остальные отменяют. Такая схема сохраняет предпочтение IPv6, но позволяет перейти к IPv4, если IPv6-путь недоступен или заметно медленнее.
Особенности прокси-маршрута
Следует различать семейство адреса прокси и семейство адреса назначения. Клиент может подключиться к прокси по IPv4, а прокси — к сайту по IPv6, если протокол и маршруты это позволяют. В журнале нужны оба участка.
Диагностика dual stack
Зафиксируйте A/AAAA-набор, затем выполните раздельные тесты IPv4 и IPv6 на своём стенде. Измерьте разрешение, подключение и TLS отдельно. После этого проверьте автоматический выбор, чтобы увидеть реальное поведение клиента.
Практический чек-лист
- 1Получить актуальные A- и AAAA-записи.
- 2Проверить каждое семейство принудительно.
- 3Записать семейство прокси и назначения раздельно.
- 4Сравнить время DNS, connect и TLS.
- 5Проверить автоматический выбор после отдельных тестов.
Источники и документы
Материал подготовлен по первичным, официальным и техническим источникам. Формулировки статьи являются самостоятельным изложением.