Проблемы IPv6 и белые списки DNS
Проблемы IPv6 и белые списки DNS — термин, используемый для описания явлений, наблюдавшихся при раннем внедрении, когда ненадёжные или ошибочные способы подключения по IPv6 через туннелинг или в условиях двойного стека выбирались в приоритет над рабочим IPv4. В результате этого происходили значительные задержки при загрузке веб-страниц, так как пользователь вынужден был ожидать завершения неудачных попыток подключения по IPv6 вплоть до срабатывания тайм-аута, после чего только начиналось подключение по IPv4[1]. Тайм-ауты в лучшем случае были почти мгновенными, однако в худших случаях задержка могла составлять от четырёх секунд до трёх минут[2].
Проблема «сломанного» IPv6 в основном считается решённой для большинства практических задач благодаря улучшениям как на транспортном, так и на прикладном уровнях[3].
Проблема «сломанного» IPv6
По состоянию на май 2011 года, согласно исследованиям, проводившимся на ряде популярных норвежских веб-сайтов, уровень проблемности IPv6 составлял около 0,015 %[4], причём основную часть инцидентов вызывали устаревшие версии , которые зачастую предпочитали неработающее подключение по IPv6 без достаточных оснований[5]. Указанное поведение было исправлено в Mac OS X 10.6.5, и его доля становится всё меньше с распространением данной и следующих версий среди пользователей. Однако для компьютеров Mac на базе архитектуры не существовало пути обновления[6].
Основная проблема для Mac OS X заключалась в наличии ложных маршрутизаторов (например, неверно сконфигурированных устройств с Windows и функцией , которые ошибочно объявляли о поддержке IPv6), при этом трафик IPv6, направляемый через туннелирование 6to4, блокировался межсетевым экраном. Другой проблемой были версии браузера Opera до 10.50.
После проведения (англ. World IPv6 Day) в июле 2011 года поступали сообщения о значительном снижении доли неработоспособности IPv6 в результате данного эксперимента[7]. Однако на протяжении года после проведения эксперимента, но до официального запуска повсеместной поддержки IPv6, зафиксировано небольшое повторное увеличение подобных случаев примерно до 0,03 %[8].
Белые списки DNS
Крупный поставщики интернет-сервисов, экспериментировали с использованием подхода белых списков DNS на уровне каждого отдельного провайдера для предотвращения вышеописанных проблем вплоть до запуска всемирной инфраструктуры IPv6[9].[10] В рамках этого метода интернет-провайдеры идентифицировались на основе IP-адресов источников DNS-запросов, сопоставляемых с сетями, извлекаемыми из таблиц маршрутизации. В черновике IETF «IPv6 AAAA DNS Whitelisting Implications» рассматриваются вопросы, связанные с этим подходом. AAAA-записи выдавались только тем провайдерам, которые могли доказать, что обеспечивают надёжную поддержку IPv6 для клиентов. Остальным провайдерам передавались только A-записи, чтобы не возникало попыток подключения по IPv6 при использовании доменных имён.
Однако в долгосрочной перспективе подход белых списков DNS подвергался критике из-за проблем масштабируемости и связанных с этим трудностей поддержки большого числа двусторонних соглашений[11]. В 2010 году ведущие интернет-компании провели встречи, чтобы обсудить возможность объединения информации о белых списках DNS между собой для преодоления указанных сложностей[12].
Решение проблемы
В конечном итоге ни один из крупных поставщиков интернет-контента не реализовал постоянную стратегию белых списков: все компании, ранее проявлявшие интерес к этому подходу, начали предоставлять AAAA-записи для любых DNS-запросов после Всемирного дня запуска IPv6. Google по-прежнему выдает AAAA-записи всем DNS-серверам, кроме некоторых ограниченных подсетей, которые явно исключаются из этой услуги[13].[14]
По состоянию на 2017 год, проблема «неработающего» IPv6 считается решённой. Это объясняется во-первых улучшениями транспортного уровня IPv6 и сокращением уровня внутренних ошибок, а во-вторых — быстрым переключением приложений (например, веб-браузеров) между протоколами благодаря внедрению таких алгоритмов, как «алгоритм для выбора наиболее быстрого и надёжного протокола»[3]. Отдельные производители операционных систем реализуют быстрые fallback-алгоритмы в своих API сетевого стека, что делает это решение доступным для всех программ, использующих указанные API при подключении[15].
Примечания
Литература
- Eric Vyncke. Estimation of IPv6 Brokenness (англ.) (октябрь 2010). Дата обращения: 29 декабря 2010.
- J. Livingood. IPv6 AAAA DNS Whitelisting Implications (англ.). Дата обращения: 20 января 2011.
- The big IPv6 experiment (англ.). h-online.com (10 января 2011). Архивировано 7 декабря 2013 года.