IP-адрес, заканчивающийся на одни нули: допустимо (для /128) или его можно спутать с anycast?

IP-адрес, заканчивающийся на одни нули: допустимо (для /128) или его можно спутать с anycast?

Host Europe выделил виртуальной машине, которую я только что арендовал у них, IP-адрес, заканчивающийся на одни нули ( 2xxx:xxxx:xxxx:xxxx::/128).

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

Их поддержка говорит: «Это только синтаксически адрес произвольной подсети, но вы можете использовать его без проблем, потому что мы используем размер подсети /128».(перевод мой)

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

решение1

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

Для подсети,идентификатор интерфейсаиз всех нулей будет подсетью anycast. Хотя в теории она была определена как 64 бита для глобальной одноадресной рассылки IPv6, на практике длина префикса подсети определяет длину идентификатора интерфейса – обычно это 64 бита, потому что это то, что у вас осталось за вычетом префикса /64, но адрес /128 не имеет ни подсети, ни идентификатора интерфейса (это был бы 0-битный IID).

и я боюсь, что другие узлы могут отнестись к нему по-особенному.

Подобно случаю с IPv4 all-ones "subnet broadcast" адресами, subnet-router anycast (или любой другой вид local-subnet anycast, который определен в IPv6) имеет смысл только тогда, когда он действительно достигает маршрутизатора указанной подсети. Только маршрутизаторы подсетиспособныйчтобы дать ему какую-либо полезную обработку с самого начала; хосты или маршрутизаторы, которые не находятся в этой подсети, не могут ничего сделать, кроме как направить его дальше как обычный адрес unicast. Так что если адрес статически маршрутизируется 'через' ваш хост, то только ваша собственная машина является для него "маршрутизатором подсети", а другие узлы на самом деле не имеют права голоса.

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

решение2

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

IPv6 при определении ссылкиэто протокольная вещь, поэтому не обязательно иметь IP-адреса маршрутизатора в той же подсети, как в v4. Трафик через какую-то другую on-link сеть работает нормально, почти наверняка это локальный адрес link шлюза по умолчанию.

Похожая практика с длинным префиксом, дебаты по которой зафиксированы в RFC, — это/127s о точках-точках в RFC 6164. Люди думали, что это сломает все, но это может работать. Эти рекомендации включают в себя, что если несколько префиксов должны быть назначены из одного /64, то не следует использовать идентификатор интерфейса из всех нулей. "В противном случае узлы могут получать пакеты, которые они не должны получать". Это менее важно, если вы единственный клиент в /64, но я не интерпретирую их ответ как гарантию этого.

Один адрес на арендуемую виртуальную машину — это, мягко говоря, не очень щедро. Существуют варианты использования IP для собственных контейнеров или виртуальных хостов на основе IP. Однако для этого потребуется маршрутизация всего префикса на ваш хост, чего большинство провайдеров не делают. Если они этого еще не делают, может быть хорошей идеей для планирования адресов зарезервировать целый /64, даже если к вашему гостю прикреплен только один IP. Для поддержки этого более чем достаточно адресного пространства.

Хорошо иметь максимально короткий адрес тщеславия, но это не обязательно. 2001:db8:c6ad:a661::1в текстовом виде лишь немного длиннее, чем 2001:db8:c6ad:a661::. И имя в DNS в любом случае имеет одинаковую длину.

Связанный контент