Во-первых, я новичок в особенностях IPv6, поэтому я не удивлюсь, если это просто неправильное понимание маршрутизации IPv6. Рассмотрим ситуацию, когда у меня работает оверлейная сеть P2P, часть которой находится в пределах одной локальной сети. Узлы в этой локальной сети имеют следующие локальные адреса ссылок (как они видят сами):
- Peer 1 fe80 :: 225: 4bff: fea8: e200% en0
- Peer 2 fe80 :: 225: 4bff: fea8: e201% eth1
- Peer 3 fe80 :: 225: 4bff: fea8: e202% en1
Теперь предположим, что каждый пэр был в состоянии обнаружить других с помощью некоторых средств и иметь адреса для друг друга. Каждый узел прослушивает порт, скажем, 12345. Если узел 1 хочет поговорить с узлом 2, он может попытаться использовать URI:
TCP: // [FE80: 225: 4bff: fea8: E201% eth1]: 12345
Здесь я сталкиваюсь с проблемами. Узел 1 не имеет адаптера с именем «eth1», и поэтому этот идентификатор зоны IPv6 ему неизвестен. Если идентификатор зоны удален из адреса, узел 1 не может определить, какой из его адаптеров он должен использовать для связи с хостом.
Итак, вопрос: можно ли разрешить идентификатор зоны для адреса IPv6 стандартным способом? Если нет, нужно ли запрашивать в системе все идентификаторы зоны и пытаться подключиться к адресу, используя каждый идентификатор зоны по очереди, пока я не добьюсь успеха? Или попытка общаться с использованием локальных адресов - глупая идея?