Есть ли способ для приложений, не поддерживающих IPv6, продолжить работу на хосте с подключением только по IPv6?
Реализация IPv4 хоста может знать о проблеме и просто инкапсулировать адрес IPv4 в заголовке IPv6 (например, 0 :: ffff: [ipv4]?), Но где эти пакеты затем транслируются в реальные пакеты IPv4?
Предоставляют ли современные операционные системы такую функциональность приложениям, поддерживающим только IPv4? Могут ли NAT64 или другие шлюзы от провайдеров обеспечивать необходимую функциональность?
Если стандартный префикс (64: FF9B :: / 96) для NAT64 не используется провайдером, как определяется фактический префикс? И позаботится ли обо всем этом ОС и сетевой стек?
И как это работает, когда приложение уже поддерживает IPv6, но все еще хочет общаться с хостом IPv4? Где определяется префикс, в сетевом стеке, или приложение должно позаботиться об этом?
Давайте использовать термин «IPv4-зависимые приложения» для обозначения приложений, которые используют литералы IPv4 (например, 10.10.10.1) или связаны с IPv4 другими способами, нарушающими функциональность хостов, поддерживающих только IPv6. Приложения, зависящие от IPv4, не будут работать на хостах, поддерживающих только IPv6.
Многие приложения, которые не используют литералы IPv4 и полагаются на имена DNS, без проблем будут работать на узлах, поддерживающих только IPv6.
NAT64 / DNS64 - это механизм для хостов, поддерживающих только IPv6, для доступа к хостам IPv4 в Интернете. Этот метод перехода необходим, потому что большая часть интернет-контента доступна только через транзит IPv4.
Рекомендую прочитать Опыт сети, поддерживающей только IPv6. Вы найдете множество материалов о том, какие приложения не работают на хостах, поддерживающих только IPv6.