Простой пример: русскоязычный адрес руцентр. рф будет преобразован в ASCII-строку xn-e1aqhcjdv.xn-p1ai, где xn-префикс, обозначающий, в данном случае, «нелатинское» доменное имя, а e1aqhcjdv (вполне себе абракадабра) представляет собой закодированную особенным образом последовательность букв кириллицы руцентр, p1ai.рф.
Итак, самое важное, что нужно понимать: технически многоязычные доменные имена вводятся на другом «уровне абстракции», поверх DNS. При этом необходимые преобразования символов осуществляются не в DNS, а на компьютере пользователя Интернета (или на сервере, не участвующем в DNS, если такое преобразование требуется серверу) специальным программным обеспечением, а DNS передается результат преобразования, состоящий только из ASCII-символов.
Префикс xn-, обозначающий многоязычные доменные имена, согласно предложению ICANN, администраторы доменов верхнего уровня могут зарезервировать, если они пока не хотят допускать регистрацию и использование многоязычных доменов в своих «зонах ответственности». Дело в том, что регистрация имени, начинающегося с префикса xn-, может оказаться технически эквивалентной регистрации того или иного доменного имени в многоязычном представлении.
Преобразование символов в описанной технологии, которая называется Punycode, происходит с использованием наиболее прогрессивной и универсальной современной кодировки символовUnicode. Таблицы Unicode включают все мыслимые символы самых разнообразных алфавитов и используемых «при письме» знаковых систем, сколько-нибудь распространенных в мире.
Punycode для преобразования имен доменов полностью поддерживается современными браузерами. То есть пользователям этих браузеров (подавляющему большинству пользователей Сети) не нужно прибегать к помощи дополнительных плагинов, чтобы получить поддержку многоязычных доменных имен. А если вспомнить, что технология многоязычия устроена не требующим перенастройки DNS образом, то окажется, что у администраторов существующих доменов нет технических препятствий для введения многоязычных доменных имен.
Предположим, администратор домена test.ru решил ввести внутри своей «зоны ответственности» доменные имена на русском языке. Оказывается, что для добавления в DNS доменного имени привет. test.ru администратору достаточно внести в управляющие таблицы сервера имен домен xn-b1agh1afp.test. ru. Это доменное имя состоит только из допустимых в DNS символов и поэтому будет доступно и для современных, и для старых программных систем. Отличие лишь в том, что пользователи современных интернет-браузеров смогут обращаться к ресурсу под именем привет. test.ru. При этом администратору домена test. ru не придется получать разрешение на введение кириллических имен в своем домене у «вышестоящих» организаций.
Такая особенность управления доменным пространством вместе с появлением в 2010 году многоязычных доменов верхнего уровня дала неожиданный эффект в плане безопасности, позволяя фишерам (мошенникам, выманивающим различные пользовательские конфиденциальные и персональные данные) конструировать адреса, имитирующие многоязычные домены. Подробнее об этомв разделе, посвященном безопасности DNS.
На высшем уровне
В мае 2010 года технология Punycode обрела воплощение в самых верхних доменных рядах. Появились первые многоязычные «официальные» домены верхнего уровня (арабские и кириллические).
Перед этим Punycode, по заданию ICANN, тщательно испытали в лабораториях и выяснили, что нет препятствий для использования этой технологии на корневых серверах DNS. В рамках этих испытаний в 2007 году ICANN создала специальный проект, позволяющий пользователям Интернета протестировать многоязычные имена «по полной программе». Для этого в «корневой системе» DNS Интернета были зарегистрированы специальные тестовые домены верхнего уровня, записанные символами различных национальных алфавитов. Так, для кириллических имен был предназначен адрес http://пример. испытание/, под которым размещены веб-страницы, позволяющие пользователям не только проверить доступность адреса из того или иного браузера, но и оставить свои замечания, касающиеся использования технологии. Позже, после глобального распространения многоязычия DNS, тестовые домены удалили, сейчас они недоступны.
Раздвоение личности
Удобная технология работы многоязычных имен все же привела к возникновению некоторых организационных трудностей. Первая и, наверное, главная из этих трудностей связана с тем, что с формально-юридической точки зрения всякое доменное имя, включающее символы национальных алфавитов, оказывается совокупностью двух имен. Точнее, двух представлений одного имени. Одно из этих именсобственно имя домена, записанное с использованием «многоязычия». Второе имясоответствующая комбинация ASCII-символов, используемая на уровне DNS. Связывает эти имена между собой только стандарт преобразования символов. «Расщепление» имени домена на два имени приводит к возникновению «войны доменных терминов»: какое имя считать первичным и самым главным?
В базе данных технического центра, управляющего доменом, очевидно, более важное значение приобретает «внутренний» вариант имени, то есть записанное ASCII-символами имя с префиксом xn-. Ведь именно это имя размещено в базе данных, и именно с ним фактически работает система DNS.
С точки зрения администратора домена, зарегистрировавшего доменное имя на национальном языке, очевидно, главную роль играет представление домена символами национального алфавита. Ведь именно это имя заинтересовало пользователя, и именно это имя он планировал зарегистрировать. Абракадабра из латинских букв и арабских цифр, начинающаяся префиксом xn-, обладателя прав на домен привет. рф вряд ли интересует.
Сложностей в ситуацию добавляет и тот факт, что связь между двумя именами устанавливается не законами или юридическими процедурами, а лишь существующим алгоритмом преобразования. Если этот алгоритм изменится или кто-то предложит использовать другой алгоритм, то связь между именами в реестре доменов (внутри DNS) и именами, которые регистрировали пользователи, может прерваться.
В самом трудном положении оказываются компании-регистраторы. Дело в том, что техническая служба, осуществляющая администрирование домена, может легко избежать всех проблем, дистанцировавшись от многоязычия и занимаясь лишь регистрацией доменных имен с префиксом xn-. Для этого даже не понадобится вносить какие-то серьезные изменения в существующую систему приема заявок.
Нужно отметить, что, по различным причинам, возможно введение технических ограничений на использование тех или иных символов и последовательностей символов в именах xn-. И для того чтобы реализовать эти ограничения, технической службе, обеспечивающей функционирование DNS домена, придется доработать свои программные системы, используемые для приема регистраций.
Для регистратора же доменов, как несложно догадаться, самым важным является представление доменного имени на национальном языке. Ведь именно возможность регистрации имен, записанных привычными для глаза пользователя символами национального алфавита, и является главной привлекательной для рядового пользователя Сети чертой введения многоязычия в системе адресации Интернета. А регистратор доменов ориентируется как раз на рядового пользователя.
В итоге регистратор попадает в зависимость от действующих стандартов преобразования символов. Более того, он вынужден лавировать между собственными интересами, интересами своих клиентов и интересами технического центра, обеспечивающего функционирование домена.
Если регистрацию доменов для конечного пользователя производит та же организация, которой подчиняется технический центр домена, ситуация с национальными алфавитами несколько упрощается. Однако на практике подобное монопольное положение регистратора встречается далеко не во всех доменах первого уровня.
«Раздвоение» именне единственная организационная проблема с многоязычными доменами.
Так, еще на раннем этапе обсуждения доменного многоязычия в 1990-х годах стало ясно, что расширение алфавита может сыграть на руку фишерам (злоумышленникам).