Кратко

  • Документация Azure по IPv6 прямо указывает, что виртуальные машины и масштабируемые наборы виртуальных машин только с IPv6 не поддерживаются, а каждый сетевой интерфейс должен содержать хотя бы одну IP-конфигурацию IPv4.
  • Та же документация называет публичные адреса и префиксы IPv6 бесплатными, а публичные адреса IPv4 — платными. Требование действует на уровне сетевого интерфейса, поэтому IPv4 остаётся в каждой виртуальной машине независимо от того, сколько IPv6 использует приложение.

Фраза, которая решает всё

Команда, которая хочет работать в Azure исключительно на IPv6, спотыкается не о производительность и не о цену. Она спотыкается о строку документации. Обзорная страница IPv6 в Azure Virtual Network в разделе ограничений сообщает: виртуальные машины только с IPv6 и масштабируемые наборы виртуальных машин только с IPv6 не поддерживаются, а каждый сетевой интерфейс должен включать как минимум одну IP-конфигурацию IPv4 (Обзор IPv6 для Azure Virtual Network).

Эта фраза сообщает не об отсутствии возможности. Она сообщает о порядке.

Azure предоставляет IPv6 и поверх этого предложения закрепляет состояние, в котором IPv6 сам по себе недостаточен. Когда облачный провайдер пишет в собственной продуктовой документации, что конфигурация не поддерживается, и сразу после этого добавляет условие, при котором она всё же работает, читать нужно условие. Условие и есть заявление о том, что провайдер считает обязательным.

Что именно сказано в документации

Границы текста стоит зафиксировать точно. Обзорная страница IPv6 объявляет виртуальные машины и масштабируемые наборы только с IPv6 неподдерживаемыми и требует на каждом сетевом интерфейсе хотя бы одной IP-конфигурации IPv4 (источник). Страница публичных IP-адресов повторяет ограничение и называет причину: в конфигурации с двумя стеками каждому сетевому интерфейсу нужна как минимум одна конфигурация IPv4 (Публичные IP-адреса в Azure).

«Два стека» — это простыми словами: одна машина несёт адрес из обоих семейств и говорит с обоими мирами одновременно. То есть штатный случай, который предполагает Azure, — не переход на IPv6, а сосуществование IPv4 и IPv6.

Та же обзорная страница описывает IPv6 как подключение с двумя стеками, позволяющее размещённым приложениям достигать и существующего интернета IPv4, и новых устройств и сетей IPv6 (источник). Она сама пишет, что речь не о замене IPv4, а о сосуществовании с его исчерпанием. Документация по технологиям перехода в Windows Server следует той же логике: она описывает механизмы сосуществования и перехода между IPv4 и IPv6, а не отказ от IPv4 (Технологии перехода на IPv6).

Поэтому притязание этой статьи ограничено. Azure не является сетью только с IPv4. Ей не не хватает поддержки IPv6. Ей не не хватает диапазонов адресов IPv6.

Доказуем ровно один пункт: конфигурация исключительно на IPv6 недопустима, и это записано как требование к конфигурации, а не как вывод.

Почему сетевой интерфейс — несущая деталь

Место, где стоит ограничение, выдаёт характер замысла. Обязательность IPv4 находится не на уровне приложения и не на уровне подписки.

Она на сетевом интерфейсе. А сетевой интерфейс — ровно та точка, в которой виртуальная машина запрашивает адреса у платформы.

Размещённое на интерфейсе, ограничение растёт вместе с числом интерфейсов. Оно не растёт вместе с тем, сколько IPv6 использует приложение. Рабочая нагрузка, полностью совместимая с IPv6, с десятью интерфейсами требует десяти конфигураций IPv4. Здесь правило и кусается. Если бы ограничение стояло наверху, в виде «подписки только с IPv6 не принимаются», клиент обошёлся бы перестройкой на уровне подписки. Поскольку оно на интерфейсе, перестройка доходит до каждого угла развёртывания.

Сама по себе эта конструкция не ускоряет переход и не тормозит его. Она заставляет IPv4 оставаться и не мешает использовать IPv6. Она удерживает оба одновременно и в этом смысле последовательна. Непоследовательна ценовая сторона.

Бесплатный IPv6, платный IPv4 и ценовой сигнал без адресата

Обзорная страница IPv6 в Azure указывает, что за использование публичных адресов IPv6 и публичных префиксов IPv6 плата не взимается, а связанные ресурсы и пропускная способность тарифицируются по тем же ставкам, что и IPv4 (источник). Страница публичных IP-адресов также фиксирует: публичный адрес IPv4 несёт номинальную плату, публичный адрес IPv6 — нет (источник).

Здесь и находится ценовой сигнал. Одно семейство адресов бесплатно, другое платно. Если смотреть только на экономическую логику, клиент должен уходить в IPv6. Но правило на интерфейсе делает IPv4 обязательным.

Сигнал толкает к IPv6, правило удерживает IPv4. Они не гасят друг друга, они упорядочены. Правило стоит впереди, цена действует внутри него.

Поэтому объяснение «IPv6 бесплатен, значит переход идёт» в такой конфигурации не работает. Бесплатное семейство не заменяет обязательное. Клиент платит за ту конфигурацию IPv4, которую не может убрать. Сама сумма здесь не аргумент. Сколько составляет номинальная плата — не тезис этой статьи. Тезис — в том, что экономическая сила, тянущая к бесплатной стороне, и техническое правило, закрепляющее обязательную, опубликованы в одном документе.

Опубликованный реестр — это не сеть

Тот, кто изучает адресное пространство Azure, приходит к файлу диапазонов IP и тегов служб, который Microsoft публикует для скачивания: машиночитаемые данные о том, какое адресное пространство используют службы Azure (Диапазоны IP-адресов и теги служб Azure).

Существование файла и заявленная цель проверяемы. Но текущая схема (правила, определяющие набор полей файла), охват по семействам адресов и периодичность обновления в этом разборе не прочитаны как текст. Поэтому не утверждается, что файл не содержит префиксов IPv6 или что он исключительно про IPv4.

То, что не прочитано, не становится выводом.

Структурный пункт другой: три реестра идут по трём разным часам. Запись в регистратуре регионального интернет-регистратора, файл диапазонов, опубликованный провайдером, и требование к конфигурации, которое платформа фактически применяет. У каждого своя цель и свой ритм обновления. Когда три расходятся, первое подозрение падает на охват и периодичность, а не на правдивость.

Файл диапазонов говорит, какой блок принадлежит какой службе; он не говорит, какая конфигурация разрешена. Это говорит документация, а документация — не адресная книга.

Что запись в регистратуре может и чего не может

В реестре RDAP (публичный интерфейс запросов к регистрационным данным) ARIN есть запись организации под дескриптором MSFT. Это регистрационная точка входа для организации Microsoft Corporation и связанных с ней ресурсов интернет-нумерации (ARIN RDAP: MSFT).

Эта статья не выводит из этой записи суммарный объём IPv4 у Microsoft. Не публикует список префиксов. Не делает вывода о собственности.

Тело записи и полный набор связанных ресурсов не прочитаны как текст. Брать числа из непрочитанного реестра — это догадка, а не репортаж.

Доказуем институциональный факт: ARIN поддерживает публичный механизм передачи IPv4 и регистрационный след, по которому зарегистрированное адресное пространство переходит между организациями, в том числе после исчерпания центрального пула IPv4 (ARIN: передача IPv4). То, что передачи происходят, и то, кто сколько держит, — разные вопросы. Первый институциональный, второй требует чтения реестра.

Покупка у Nortel в 2011 году и почему она ничего не объясняет

Как исторический контекст есть сообщения апреля 2011 года. BBC News и Ars Technica сообщили, что Microsoft приобрела 666 624 адреса IPv4 у Nortel примерно за 7,5 миллиона долларов в рамках распродажи активов, связанной с банкротством Nortel (BBC News, Ars Technica).

Прямая арифметика даёт около 11,25 доллара за адрес. Это счёт по сообщённым цифрам, а не цена, установленная ARIN, и тем более не сегодняшняя рыночная цена.

Тексты самих материалов в этом разборе не прочитаны как текст, поэтому факт приводится как приписанный прессе.

И вот главное. Эта сделка 2011 года не объясняет сегодняшнее правило конфигурации в Azure. Причинность, по которой провайдер, купивший IPv4 в прошлом, написал нынешнее требование к интерфейсу, нигде не зарегистрирована. Эта статья её не утверждает.

История показывает, что адресное пространство может быть товаром с денежной стоимостью. Больше она не показывает.

Где на самом деле находится переход

Переход на IPv6 не продвинулся? Эта статья этого не измеряла.

Наблюдений BGP (механизма, которым сети обмениваются маршрутами) не было, измерений конечных точек не было, опроса клиентов не было. Сопоставление опубликованных метаданных с фактическим состоянием сети здесь не проводилось.

Доказуема форма ответа, который подготовила платформа. IPv6 предоставляется, публичный адрес IPv6 бесплатен, подключение описано как два стека. Одновременно конфигурация исключительно на IPv6 не поддерживается, а IPv4 требуется на каждом интерфейсе.

Это сочетание не останавливает переход. Оно сдвигает конечную точку: не туда, где IPv4 исчезает, а туда, где IPv4 присутствует всегда.

Практическое следствие для клиента однозначно. Внедрять IPv6 — значит не убирать конфигурацию IPv4, а добавлять IPv6, сохраняя конфигурацию IPv4. Проектировщик с самого начала планирует адреса с обоими семействами одновременно.

Что изменило бы это прочтение

Это прочтение меняется от конкретных наблюдений. Первое: если Microsoft опубликует документ, объясняющий причину, момент введения и предполагаемое условие завершения требования к интерфейсу. Второе: если конфигурация исключительно на IPv6 станет поддерживаемой.

Третье: если изменится тарифная структура публичных IP-адресов и разница в цене между IPv4 и IPv6 исчезнет. Четвёртое: если схема и охват опубликованного файла диапазонов IP станут читаемыми и обращение с семействами адресов прояснится.

Ничего из этого не произошло. Есть требование к конфигурации в публичной документации и тарифная структура в публичной документации, рядом друг с другом.

Azure не отказывает IPv6. Azure отказывает в том, чтобы IPv6 было достаточно. И это решение опубликовано без публикации причин.

Регистрационную запись Microsoft Corporation можно посмотреть в справочнике BTW (entity:microsoft-corporation-us).