Новое сервисное решение: IPv6 или IPv4?

22

Во время размещения нового сервиса в эти дни, что было бы лучшим решением. IPv4 или IPv6?

Если мы решили запустить его по адресу IPv4:

  1. Насколько легко / сложно получить адрес IPv4 (учитывая, что они скоро исчерпают себя)?
  2. Может ли он быть легко перенесен на IPv6 в ближайшем будущем?
  3. Как существующие пользователи IPv6 могут общаться с ним?

Если мы решим запустить его по адресу IPv6:

  1. Как существующие пользователи IPv4 могут общаться с ним?
Атула
источник
5
@ user2284570 Крупномасштабный NAT ломает приложения, которые требуют сквозного подключения, такие как VoIP, многопользовательские игры и некоторые другие, о которых я забыл. Именно поэтому Xbox Live фактически предоставляет туннели IPv6 (через Teredo) людям, у которых нет собственного IPv6.
Майкл Хэмптон
4
@ user2284570 Рассматривали ли вы переход к более цивилизованному провайдеру (или стране!)?
Майкл Хэмптон
2
@PeterHorvath Многие из наших интернет-стандартов оказались довольно неэффективными (возьмем http, что с обратной совместимостью портит большинство инноваций), и вы даже не гарантируете, что люди следуют ему (см. Совместимость браузера для html5-элементов и CSS 3). IPv6 может быть плохим стандартом (я не знаю, я не слишком много читал об этой теме), но по крайней мере он решает некоторые проблемы, с которыми мы сталкиваемся, такие как исчерпание IPv4 и особенно запуск статических ips (и невежественных программистов). как Notch и многие другие, которые не принимают доменные имена в качестве идентификации для своих серверов).
Себб
3
@PeterHorvath: вы просто не правы. Во многих регионах (RIPE, APNIC, LACNIC) основной объем адресов IPv4 закончился. Я являюсь сопредседателем рабочей группы RIPE Address Policy, поэтому я сосредоточусь на этом регионе. Здесь каждый LIR (обычно ISP) может получить один блок из 1024 адресов IPv4, и все. Если им нужно что-то еще, им придется купить это на рынке у другого провайдера. Эти 1024 просто позволяют им делать что-то в интернете IPv4, но их недостаточно. NAT, виртуальный хостинг и т. Д. Распространены, но мы все еще не хватает. То, что вы видите, это существующие интернет-провайдеры, использующие свои последние поставки ...
Сандер Штеффанн

Ответы:

30

IPv4 и IPv6 - это отдельные протоколы, которые не взаимодействуют друг с другом. Вам придется поддерживать оба протокола на данный момент.

Получение IPv4-адресов становится все более сложным и дорогостоящим, но вам придется сделать свой сервис доступным через него, потому что не у всех пользователей будет IPv6. С другой стороны будут пользователи, у которых больше нет полного IPv4. Им, возможно, придется делиться своим IPv4-адресом со многими другими, у них есть только IPv6, и им нужна служба перевода для доступа к службам IPv4 и т. Д. Для этих пользователей и для будущих пользователей вы хотите предложить свою услугу через IPv6, чтобы они могли достичь ее в самый оптимальный способ.

И, надеюсь, в недалеком будущем у всех будет IPv6, и мы сможем избавиться от IPv4, а также от хаков и затрат, необходимых для его работы.

Один из способов, с помощью которого вы могли бы запустить новую службу, - это построить все для IPv6 и поместить рядом с ним транслятор (SIIT-DC или обратный прокси-сервер) для преобразования входящих запросов через IPv4 в IPv6. Сейчас вы сможете обрабатывать оба протокола, а также будет легко очистить и удалить устаревшие компоненты IPv4 позже.

Эта стратегия особенно полезна, если ваш сервис работает на кластере серверов. Весь кластер может работать только с IPv6, и вам нужен только один адрес IPv4 на вашем трансляторе. На большинстве ваших компьютеров проще поддерживать только один протокол, а снижение количества адресов IPv4 также может сэкономить ваши деньги. Вот почему такие компании, как Facebook, тоже делают это.

Сандер Штеффанн
источник
И, конечно, этот одиночный транслятор протоколов станет самой большой единственной точкой отказа, которую вы будете иметь, поэтому вам нужно купить как минимум две и сконфигурировать как кластер ха, что, конечно, просто, если вы не знаете, как это сделать. но, как вы будете велики, как Facebook, поверьте мне, это действительно легко в таком масштабе.
Каказ
1
@kakaz Переводчик, подобный описанному, может быть реализован полностью без сохранения состояния, что сделает его репликацию тривиальной. Конечно, поскольку сайты такого размера требуют балансировки нагрузки, они также могут интегрировать транслятор с балансировкой нагрузки. Конечно, поскольку соединение балансировщика нагрузки с бэкендом использует IP-туннель, необходимость в преобразовании может исчезнуть, поскольку внешний пакет может быть IPv6, даже если внутренний пакет - IPv4.
Касперд
Но вы знаете, что такое единая точка отказа?
Kazaz
34

Оба конечно. IPv4 останется надолго, и уже давно пора начинать с IPv6.

Свен
источник
2
IPv4 will stay a long timeКонечно, я видел сообщения о том, что некоторые провайдеры начали раздавать частные адреса своим подписчикам, а не общедоступным. В то же время они не обеспечивают доступ к IPV6 (предпочитают GCN, а не ipv6) .
user2284570
3
@ user2284570: Это началось очень давно. Я получил DS-Lite с моим домашним кабельным интернетом 2 года назад, который по умолчанию для многих провайдеров сейчас. К счастью, я смог убедить их, что мне нужен полный DS.
Свен
1
Нет, это не так, нет частей IPV6. Но, может быть, я слишком локализован, во Франции все подписчики (частные или компании) все еще получают публичные ipv4-адреса
user2284570
1
@ user2284570: Это абсолютно зависит от поставщика. Это также не очень актуально, так как важный момент заключается в том, что IPv4 останется надолго.
Свен
2
@ user2284570 Я думаю, что это случилось со мной в 2002-2003 или около того.
CVN
2

Во время размещения нового сервиса в эти дни, что было бы лучшим решением. IPv4 или IPv6?

Предполагая, что это услуга, предназначенная для использования через общедоступный Интернет клиентами на компьютерах или в сетях, находящихся вне вашего контроля, вы должны поддерживать оба.

Насколько легко / сложно получить адрес IPv4 (учитывая, что они скоро исчерпают себя)?

Для отдельных адресов вы обычно арендуете их у своего хостинг-провайдера, большинство провайдеров по-прежнему включают один с каждого сервера, но некоторые начинают взимать дополнительную плату за него. По мере роста рыночной цены IPv4-адресов мы можем ожидать, что плата за аренду, взимаемая поставщиками услуг, также возрастет.

Если вам нужны блоки для запуска собственной сети, все становится сложнее. Существует рынок IP-блоков, но AIUI это больше похоже на покупку настоящего eastate, чем на покупку серверов. В Европе также возможно зарегистрироваться в качестве LIR и получить «окончательное распределение» от RIPE, недостатком этого подхода являются постоянные сборы (плата за LIR намного выше, чем за «независимые от поставщика» распределения).

Может ли он быть легко перенесен на IPv6 в ближайшем будущем?

Адреса IPv6 больше, чем адреса IPv4, поэтому все, что хранит IP-адреса в поле фиксированного размера, проблематично. Аналогично, адреса IPv6 используют двоеточия, а не точки, поэтому все, что хранит IP-адреса в формате структурированного текста, потенциально проблематично.

Почти наверняка проще поддерживать оба с самого начала, чем пытаться отследить каждое место, где IP-адреса хранятся и обрабатываются после факта.

Как существующие пользователи IPv6 могут общаться с ним?

В настоящее время большая часть Интернета - только v4, поэтому поставщики должны предоставить своим клиентам некоторые средства для доступа к ресурсам только v4. По мере того, как IPv4-адреса становятся все более дорогими и трудными для получения, они будут искать механизмы, позволяющие им делать это, не предоставляя каждому клиенту выделенный публичный IPv4-адрес.

Существует множество подходов к этому, в том числе обычный IPv4 NAT на уровне ISP, DS-Lite, который туннелирует пакеты IPv4 к специальному IPv4 NAT через IPv6 и NAT64, который транслирует пакеты IPv6 в пакеты IPv4. Все они будут стоить производительности, надежности и способности отслеживать злоупотребления.

Как существующие пользователи IPv4 могут общаться с ним?

В отличие от предыдущего случая это в основном ваша проблема. Некоторые клиенты могут использовать Teredo, но Windows отключает Teredo по умолчанию, когда обнаруживает контроллер домена, и большинство других операционных систем вообще не поддерживают его из коробки. Даже когда teredo включен, это не совсем надежный механизм.

Поэтому, если вы хотите, чтобы ваш сервис работал для большинства пользователей Интернета, вам нужно предложить его на IPv4.

Это не обязательно означает, что ваши серверы должны поддерживать IPv4. Например, если у вас есть CDN, такой как Cloudflare или Akamai, тогда CDN может получать трафик через IPv4 и пересылать его вам через IPv6. Мне также известен один хостинг-провайдер, который предлагает бесплатный сервис обратного прокси для этих клиентов. Я ожидаю, что такие вещи станут более распространенными, поскольку цена IPv4-адресов и доля клиентов, поддерживающих IPv6, растут.

Питер Грин
источник