Назад | Перейти на главную страницу

Почему 2002 :: недействительный адрес IPv6?

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

Так, 2000:: действует, 2001:: действует, 2002:100:: действительно, но ничего между 2002:: и 2002:99::. Это почему?

В 2002::/16 префикс используется для 6to4, что требует, чтобы следующие 32 бита (после 16-битного префикса) были глобальным одноадресным IPv4-адресом.

Вы говорите, что это должно быть выше, чем 2002:0099:: что, вероятно, связано с тем, что вы не совсем поняли шестнадцатеричную часть нотации адреса IPv6.

2002:0099:: будет соответствовать IPv4-адресу 0.153.0.0, но 0.255.255.255 также не является глобальным одноадресным адресом. Так 2002:00ff:: тоже не сработает.

Хостам в локальной сети за шлюзом 6to4 не нужно знать о 6to4. Они могут рассматривать назначенный им адрес 6to4, как если бы это был любой другой глобальный одноадресный IPv6-адрес. Таким образом, нет требования отклонять 2002:0099:: как недопустимый адрес, однако, поскольку он никогда не может быть действительным адресом, ОС имеет смысл отклонить его.

Использование случайных адресов 6to4 для тестирования определенно не рекомендуется. Если вы хотите поэкспериментировать с IPv6, есть другие способы получить адреса для экспериментов:

  • Создайте настоящий префикс 6to4, добавив IP, присвоенный вам вашим интернет-провайдером, к префиксу 6to4. Если ваш интернет-провайдер назначил 203.0.113.1 вам нужно преобразовать каждый из четырех октетов в шестнадцатеричные значения cb 00 71 01 и ваш префикс IPv6 будет 2002:cb00:7101::/48.
  • Получите туннель через провайдера туннелей.
  • Получите нативный IPv6 от своего интернет-провайдера.
  • Используйте адреса RFC 4193. В них должен быть первый октет. fd и следующие пять октетов должны быть случайными. Тогда ваш префикс может быть fd2a:4b89:4d7d::/48. Их можно использовать только локально, поэтому, если вы настраиваете такой адрес, а не другой IPv6-адрес, существует риск того, что программное обеспечение попытается установить связь извне, используя этот локальный IPv6-адрес вместо использования IPv4.

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

https://www.google.de/?q=ipv6+address+2002::

или проверьте Назначение глобального одноадресного адреса IPv6 чтобы увидеть, что 2002: 0000 :: / 16 - это диапазон адресов 6to4.