Подтвердить что ты не робот

Почему IPv6 позволяет использовать один интерфейс с несколькими адресами?

"Один интерфейс может также иметь несколько адресов IPv6 любого типа (одноадресная, anycast и multicast) или область действия" ---- цитируемая форма RFC 4291

Недавно я столкнулся с этим вопросом во время эксперимента, который я продолжил. Я прошел через RFC 4291, без подсказки...

Вот краткое введение моего эксперимента:
Есть два хоста, и у меня есть два адреса IPv6, назначенные им соответственно. Затем я проверил связь между двумя хостами. Я использую команду "ping6 ipv6_addr". Но оказывается, что он не может добраться до обоих адресов однорангового узла с помощью команды ping6.

Более проницательный с примерами * (обе команды выполняются на хосте A, с linux kenel 2.6.32) *:
ping6 addr_b_1 --- он работает
ping6 addr_b_2 --- не удалось пройти через

Есть два вопроса, которые я хочу обсудить с вами:
1. Почему протокол ipv6 допускает такой механизм, один интерфейс с несколькими адресами?
2. Почему я не могу добраться до обоих адресов хоста a в то же время (что должно было быть так. Выбор адреса по умолчанию для IPv6 определен в RFC 3484)

Спасибо, ребята!

4b9b3361

Ответ 1

Ранние стеки IPv4 не поддерживали более одного IP-адреса для каждого интерфейса. Более поздние улучшения включали "вторичные" адреса. Это было признано очень полезным на практике, и разработчики IPv6 решили дать ему поддержку в качестве части стандарта, чтобы вы всегда могли рассчитывать на то, что это возможно.

Дизайнеры IPv6 сделали больше, чем просто мандат. Они сделали его важной частью протокола IPv6. Каждый IPv6-интерфейс имеет локальный IP-адрес. Если интерфейс также может взаимодействовать в более крупной сети (например, в Интернете), то он также имеет глобальный адрес области. Это два адреса минимум, прямо там. И если хост находится за многоточечным подключением к Интернету, у него, вероятно, еще больше адресов. Несколько IP-адресов для интерфейса не были запоздалой мыслью в IPv6, как в IPv4.

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

С другой стороны, подумайте о преимуществах:

  • Устройства могут обнаруживать друг друга в локальной локальной сети, используя локальные локальные ссылки, даже если нет сетевой инфраструктуры (т.е. маршрутизатора). Позже, если маршрутизатор добавлен и глобальные адреса областей становятся доступными, эти адреса увеличивают набор адресов, они не заменяют локальные адреса ссылки; поэтому существующие коммуникации с использованием локальных адресов связи не прерываются.
  • При отключении, добавлении или замене интернет-соединения один IP-адрес из набора может быть снят или добавлен, не затрагивая других. Благодаря "разрозненному" состоянию это позволяет грациозно перенумеровать от одного IP-адреса другому, с интерфейсом, поддерживающим оба в течение определенного периода времени.

Также: имейте в виду, что почти все стеки IPv4 поддерживают несколько адресов на интерфейс, поэтому это не является большой разницей между v4 и v6. Это только действительно старые v4 стеки, которые его не поддерживают. Разница заключается в том, что v6 имеет методы управления набором адресов автоматически, но этого не существует в v4.