Механизмы расширения для DNS ( EDNS ) - это спецификация для расширения размера нескольких параметров протокола системы доменных имен (DNS), которые имеют ограничения по размеру, и по мнению сообщества разработчиков Интернета, слишком ограничены для расширения функциональных возможностей протокола. Первый набор расширений был опубликован в 1999 году Инженерной рабочей группой по Интернету как RFC 2671, также известный как EDNS0 [1], который был обновлен в RFC 6891 в 2013 году и изменил аббревиатуру на EDNS.
Система доменных имен была впервые разработана в начале 1980-х годов. С тех пор он постепенно расширяется за счет новых функций, сохраняя совместимость с более ранними версиями протокола.
Ограничения в размере нескольких полей флагов, кодов возврата и типов меток, доступных в базовом протоколе DNS, препятствовали поддержке некоторых желаемых функций. Кроме того, сообщения DNS, передаваемые по протоколу UDP, были ограничены 512 байтами, не считая IP-протокола и заголовков транспортного уровня [1]. Использование виртуальной транспортной сети с использованием протокола управления передачей (TCP) значительно увеличило бы издержки. Это стало серьезным препятствием для добавления новых функций в DNS. В 1999 году Пол Викси предложил расширить DNS, чтобы включить новые флаги и коды ответов, а также обеспечить поддержку более длинных ответов в рамках, обратно совместимых с предыдущими реализациями.
Поскольку никакие новые флаги не могут быть добавлены в заголовке DNS, EDNS добавляет информацию к DNS - сообщений в виде псевдо-записей ресурсов ( «псевдо-RR»ы) , включенных в раздел «Дополнительные данные» в сообщении DNS. Обратите внимание, что этот раздел существует как в запросах, так и в ответах.
EDNS представляет один тип псевдо-RR: OPT
.
Как псевдо-RR, RR типа OPT никогда не появляются ни в одном файле зоны; они существуют только в сообщениях, изготовленных участниками DNS.
Механизм обратно совместим , поскольку более старые респонденты DNS игнорируют любые RR неизвестного типа OPT в запросе, и более новый респондент DNS никогда не включает OPT в ответ, если в запросе его не было. Наличие OPT в запросе означает, что более новый запросчик знает, что делать с OPT в ответе.
Псевдозапись OPT обеспечивает пространство до 16 флагов и расширяет пространство для кода ответа. Общий размер пакета UDP и номер версии (в настоящее время 0) содержатся в записи OPT. Поле данных переменной длины позволяет регистрировать дополнительную информацию в будущих версиях протокола. Исходный протокол DNS предусматривал два типа меток, которые определяются первыми двумя битами в пакетах DNS ( RFC 1035 ): 00 (стандартная метка) и 11 (сжатая метка). EDNS вводит метку типа 01 как расширенную метку . Младшие 6 битов первого байта могут использоваться для определения до 63 новых расширенных меток.
Пример псевдозаписи OPT, отображаемой утилитой Domain Information Groper (dig):
;; OPT PSEUDOSECTION:
; EDNS: версия: 0, флаги: do; Удп: 4096
Результат «EDNS: версия: 0» указывает на полное соответствие EDNS0[2]. Результат «flags: do» указывает, что «DNSSEC OK» установлен.
EDNS имеет важное значение для реализации расширений безопасности DNS ( DNSSEC ). EDNS также используется для отправки общей информации от распознавателей на серверы имен о географическом местоположении клиентов в виде опции EDNS Client Subnet (ECS).
Существуют предложения по использованию EDNS для задания того, сколько отступов должно быть вокруг сообщения DNS, и для указания того, как долго TCP-соединение должно поддерживаться в рабочем состоянии
На практике могут возникнуть трудности при использовании обходных брандмауэров EDNS, поскольку некоторые брандмауэры принимают максимальную длину сообщения DNS в 512 байт и блокируют более длинные пакеты DNS.
Введение EDNS сделало возможной атаку с усилением DNS , тип отраженной атаки отказа в обслуживании , поскольку EDNS обеспечивает очень большие ответные пакеты по сравнению с относительно небольшими пакетами запросов.
Рабочая группа IETF DNS Extensions (dnsext) завершила работу над уточнением EDNS0, которое было опубликовано как RFC 6891.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .