Поскольку IPv6 собирается заменить IPv4, должен ли я разработать свое новое приложение для его поддержки?

StackOverflow https://stackoverflow.com/questions/1246930

  •  12-09-2019
  •  | 
  •  

Вопрос

Я разрабатываю приложения, используя много языков и несколько платформ.Из того, что я читаю, IPv6 станет основным в течение следующих 5-10 лет, и что некоторые интернет-провайдеры даже предлагают прямое подключение к Интернету по протоколу IPv6.В моей частной сети все компьютеры имеют двойное стековое подключение и по возможности взаимодействуют друг с другом, используя IPv6.

Мой вопрос заключается в следующем:должно ли мое новое приложение быть написано для поддержки IPv6?Если да, то какие вещи мне нужно рассмотреть?Есть ли какие-либо недостатки в поддержке IPv6 сейчас?

Я не знаю, поможет это или навредит, но вот несколько более конкретных деталей, которые, возможно, немного направят ответы:

Мое приложение будет работать на Windows / Linux / Mac и будет состоять из специфичного для платформы компонента, написанного отдельно для каждой платформы, и общего компонента "core", написанного на интерпретируемом языке.

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

Это было полезно?

Решение

ДА: все ваши новые приложения должны поддерживать IPv6.Как вы сами сказали, он уже используется во многих средах локальной сети.

НЕТ: вам не нужно будет сильно меняться, чтобы поддерживать IPv6.Базовая структура должна позаботиться об этих различиях за вас.Это предполагает, что вы не делаете "плохих" вещей, таких как хранение или иное манипулирование IP-адресами.

Другие советы

Я вижу, что некоторые здесь цитируют мнение Стива Гибсона по этому вопросу.Хотя мистерГибсон достаточно опытен в вопросах безопасности (я слушаю каждый выпуск "Security Now" и призываю всех, кто интересуется безопасностью, делать то же самое), я считаю, что он немного оторван от текущей схемы вещей, когда он не предсказывает будущего для IPv6.

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

Конечно, Интернет в том виде, в каком мы его используем сейчас, еще очень-очень долго будет использовать версию 4, одна из причин заключается в том, что большая часть существующего оборудования и программного обеспечения просто не совместима с IPv6.

Я не могу думать о каких-либо недостатках внедрения IPv6 сейчас (за исключением дополнительного времени кодирования и дополнительной сложности обслуживания двух стеков IP, конечно).На самом деле, с IPv6 все может быть намного проще.Например, вы можете полностью забыть о проблемах с обходом NAT.

Исследователь безопасности Стив Гибсон много говорил об этом, отмечая, что в ближайшем будущем это не произойдет.Вот несколько ссылок, которые дают немного больше информации:
http://www.grc.com/sn/sn-199.htm -- На полпути он начинает говорить об IPv6 в стенограмме / подкасте.
http://www.grc.com/sn/sn-200.htm -- Быстрое исправление ошибки в 199 эпизоде и немного больше деталей.

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

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

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

Я бы, по крайней мере, начал пытаться.Я уже внес некоторые коррективы в некоторые части своего кода.Он не был полностью протестирован, и еще предстоит внести дополнительные корректировки, но даже если он никогда не будет использован в этих конкретных приложениях, мне в какой-то момент придется его поддержать.С таким же успехом можно учиться сейчас, пока не возникла ситуация тонуть или плавать.

Самая свежая новость, которую я слышал, - это новость о NPA...IPv6 действительно продвигается вперед не очень быстро, если вообще продвигается.(Стив Гибсон - GRC)

Возможно, это не стоит вашего времени.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top