질문

질문

IPv6 링크-로컬 주소 범위를 사용하여 P2P 네트워크를 만들 수 있습니까? 시스템 A에서 시스템 B로 또는 그 반대로 로컬 링크(fe80 주소 공간)를 ping할 수 있어야 합니다.

즉, 잘 정의된 링크-로컬 주소를 사용하여 P2P IPv6 네트워크를 구축하고 싶습니다.

그렇다면 aws에서 동일하게 설정하는 방법에 대한 지침이 매우 도움이 될 것입니다.

답변1

가장 편리한 방법은 IP 주소 대신 호스트 이름을 사용할 수 있게 해주는 mDNS(멀티캐스트 DNS) 또는 LLMNR(링크-로컬 멀티캐스트 이름 확인)을 설정하는 것입니다. 두 메커니즘 모두 호스트 자체가 네트워크에 자신의 이름을 보고하므로 중앙 집중식 이름 서버가 필요하지 않습니다. systemd-networkd를 사용하여 mDNS나 LLMNR(또는 둘 다)을 설정할 수 있습니다.

링크 로컬 IPv6 주소를 사용할 때의 문제점은 바로 링크 로컬 주소라는 것입니다. 사용할 네트워크 인터페이스를 알려주는 네트워크 접두사는 없으므로 주소 뒤에 인터페이스 인덱스를 지정해야 합니다. 예를 들면 다음과 같습니다.

ping fe80::xxxx:xxxx:xxxx:xxxx%3

답변2

자신만의 소프트웨어를 시작할지 여부에 따라 많은 것이 달라집니다. 대부분의(모두?) P2P 소프트웨어는 링크 로컬 주소의 제한에 직면할 수 있습니다. P2P 소프트웨어가 이 제한 사항을 처리하도록 명시적으로 작성되지 않은 경우 작동하지 않을 가능성이 높습니다.

질문

다른 IP 주소 클래스와 달리 IPv6 링크-로컬 주소는 단독으로 사용할 수 없습니다. 다른 주소 카테고리에는 주소를 식별하는 정보가 포함되어 있습니다.네트워크 세그먼트, 따라서 운영 체제는 해당 주소와 통신하는 데 사용할 인터페이스(네트워크 카드)를 결정할 수 있습니다. IPv6 링크-로컬 주소의 경우 사용할 네트워크 인터페이스를 별도로 지정해야 합니다. 예를 들면 다음과 같습니다 . ping fe80::1234:5678%3아니요.ping fe80::1234:5678

인터페이스 식별자는 재부팅 사이에 변경될 수 있으며, 특히 하드웨어를 변경하는 경우에는 더욱 그렇습니다.

가장 일반적인 해결 방법(P2P에 도움이 되지 않음)

이 문제를 해결하는 가장 쉬운 방법은 명시적인 IP 주소 사용을 피하고 호스트 이름을 사용하는 것입니다. 프로토콜의 구현은 다음과 같습니다멀티캐스트 DNS호스트 이름을 IP로 확인하는 기능그리고이는 각각의 인터페이스입니다. 예를 들어:

ping mypc.local

이는 연결된 인터페이스와 링크 로컬 주소에 있는지 여부에 관계없이 작동해야 합니다.

P2P 소프트웨어에서 이것이 왜 문제가 됩니까?

대부분의 P2P 소프트웨어는 인터넷에서 사용될 것이며 사용자는 자신의 정보를 갖고 있지 않거나 알 수 없다는 가정을 기반으로 작성되었습니다.정규화된 도메인 이름. 따라서 기존 소프트웨어는 호스트 이름이나 도메인 이름을 사용하지 않고 IP 주소만 사용합니다. IP 주소만 사용합니다.

이론적으로는 특정 인터페이스를 사용하고 IPv6 링크 로컬 주소를 공유하도록 명시적으로 구성할 수 있는 일부 소프트웨어를 작성할 수 있습니다. 하지만 대안을 피하려면 많은 노력이 필요한 것처럼 들립니다.

대리자

이 특정 문제의 경우 머신당 하나씩 구성하는 것이 더 나을 것입니다.ULA(추가 IP 주소). 이렇게 하면 자체 소프트웨어를 출시할 필요가 없어질 수 있습니다.

관련 정보