В чем разница между IPv4 и IPv6?

«В чем разница между IPv4 и IPv6?» — вопрос из категории Сети, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

IPv4 и IPv6 — это разные версии протокола IP, основное различие между которыми — размер адресного пространства, но есть и другие важные для DevOps аспекты.

IPv4:

  • Адрес: 32 бита, примерно 4.3 миллиарда уникальных адресов. Пример: 192.168.1.1.
  • Проблемы: Исчерпание адресов, что привело к широкому использованию NAT (Network Address Translation) и CIDR.
  • Конфигурация: Часто требует DHCP или ручной настройки.
  • Безопасность: IPsec является опциональным дополнением.

IPv6:

  • Адрес: 128 бита, невообразимо большое количество адресов (3.4×10³⁸). Пример: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 (сокращенно 2001:db8:85a3::8a2e:370:7334).
  • Ключевые преимущества:
    1. Отсутствие NAT: Каждое устройство может иметь глобально маршрутизируемый адрес, что упрощает архитектуру peer-to-peer и сквозное соединение.
    2. Автоконфигурация (SLAAC): Устройство может автоматически сгенерировать себе адрес на основе префикса сети и своего MAC-адреса (EUI-64).
    3. Встроенный IPsec: Поддержка шифрования и аутентификации является неотъемлемой частью стандарта.
    4. Упрощенные заголовки: Более эффективная обработка маршрутизаторами.
    5. Лучшая поддержка мобильности.

Практическое значение для DevOps:

  • При развертывании облачных инфраструктур (AWS, GCP) вы все чаще будете видеть dual-stack сети (поддержка IPv4 и IPv6 одновременно).
  • Для публичных сервисов поддержка IPv6 становится требованием. В AWS, например, Application Load Balancer (ALB) может иметь как IPv4, так и IPv6 адреса.
  • При проектировании внутренних микросервисов в изолированных VPC можно использовать только IPv6 для упрощения адресации, но на практике пока чаще используется IPv4 с приватными адресами (RFC 1918) из-за зрелости инструментов и библиотек.