문제

첫째, 나는 IPv6의 세부 사항을 처음 접 했으므로 이것이 IPv6 라우팅을 잘못 이해 한 경우 놀라지 않을 것입니다. P2P 오버레이 네트워크를 실행하는 상황을 고려하십시오. 그 중 일부는 단일 LAN의 경계 내에 살고 있습니다. 이 LAN 내의 노드에는 다음과 같은 링크 로컬 주소가 있습니다 (자체적으로 볼 수 있음).

  • 피어 1 Fe80 :: 225 : 4BFF : FEA8 : E200%en0
  • 피어 2 Fe80 :: 225 : 4BFF : FEA8 : E201%ETH1
  • 피어 3 FE80 :: 225 : 4BFF : FEA8 : E202%EN1

이제 각 동료는 어떤 수단을 통해 다른 동료를 발견하고 서로에 대한 주소를 가지고 있다고 가정합니다. 각 피어는 12345 년 항구에서 듣고 있습니다. Peer 1은 Peer 2와 대화하기를 원한다면 URI를 사용하려고 시도 할 수 있습니다.

TCP : // [Fe80 : 225 : 4BFF : FEA8 : E201%ETH1] : 12345

이것이 내가 문제를 해결하는 곳입니다. 피어 1에는 "eth1"이라는 어댑터가 없으므로이 IPv6 영역 식별자는 알려져 있지 않습니다. 영역 ID가 주소에서 벗겨져있는 경우 피어 1은 호스트에 연락하는 데 사용해야하는 어댑터 중 어느 것을 결정할 수 없습니다.

따라서 질문 : IPv6 주소의 영역 식별자를 표준 방식으로 해결할 수 있습니까? 그렇지 않은 경우 모든 영역 식별자에 대한 시스템을 쿼리하고 성공할 때까지 차례로 각 영역 식별자를 사용하여 주소에 연결해야합니까? 아니면 Link-Local 주소를 사용하여 처음부터 어리석은 아이디어를 사용하려고 시도하고 있습니까?

도움이 되었습니까?

해결책

로컬 주소를 연결하십시오 해당 다른 노드를 자동으로 찾아 올바른 인터페이스에 바인딩하는 메커니즘이있을 때만 적절합니다.

사용자가 수동으로 주소를 입력 할 것으로 예상하는 경우 사용해야합니다. 사이트-로컬 주소 (또는 더 나은 아직, 독특한 지역 주소) 그리고 사용자가 스스로 구성하거나 MDNS와 같은 링크-로컬 주소 위에 주소 해상도 메소드를 갖도록하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top