Pergunta

Em primeiro lugar, eu sou novo para as especificidades do IPv6, então eu não ficaria surpreso se este é apenas um mal-entendimento de roteamento IPv6. Considere a situação onde eu estou executando uma rede sobreposta P2P, parte da qual vive dentro dos limites de uma única LAN. Os nós dentro desta LAN têm os endereços locais seguinte link (como visto por eles mesmos):

  • Par 1 fe80 :: 225: 4bff: fea8: e200% en0
  • Par 2 fe80 :: 225: 4bff: fea8: E201% eth1
  • Peer3 fe80 :: 225: 4bff: fea8: E202% EN1

Agora, suponha cada peer tem sido capaz de descobrir os outros através de alguns meios, e têm os endereços para o outro. Cada peer está escutando em uma porta, dizer 12345. Se pares 1 queria falar to peer 2, eles podem tentar usar o URI:

tcp: // [fe80: 225: 4bff: fea8: E201% eth1]: 12345

Este é o lugar onde eu me deparo com problemas. Peer1 não tem um adaptador chamado "eth1", e por isso este identificador zona de IPv6 não é conhecida a ele. Se o ID de zona é retirado do endereço, ponto 1 não pode determinar qual ele é de adaptadores deve usar para entrar em contato com o host.

Assim, a pergunta: é possível resolver o identificador de zona para um endereço IPv6 de uma forma padrão? Se não, eu tenho que consultar o sistema para todos os identificadores de zona, e tente se conectar ao endereço usando cada identificador de zona por sua vez até eu conseguir o sucesso? Ou está tentando se comunicar usando endereços de ligação local uma idéia estúpida em primeiro lugar?

Foi útil?

Solução

Fazer a ligação endereços locais só são apropriados quando você tem algum mecanismo para automaticamente localizar o outro nó em questão, e se conectar, a ligação para a interface correta.

Se você espera que o usuário seja inserindo manualmente endereços, você deve usar endereços -local (ou ainda melhor, local único ) e ter o usuário configure-los eles mesmos, ou ter um método de resolução de endereços no topo de endereços link-local, como mDNS.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top