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リンクローカルアドレスを共有するように明示的に設定できるソフトウェアをいくつか作成できます。しかし、回避策を避けるには、多くの努力が必要なように聞こえます。
デリゲート
この特定の問題については、マシンごとに1つずつ設定する方が良いでしょう。ULA(追加のIPアドレス)。これにより、独自のソフトウェアをリリースする必要がなくなる可能性があります。