簡単に言えば、中央サーバーなしでこれを行う方法はありません。
これを行うには、動的 DNS を使用するかどうかに関係なく、1 つまたは複数の中央サーバーが必要です。クライアントは、どこに接続すべきかを発見する方法を必要とします。これを行う唯一の真に賢明な方法は、独自のサーバーを使用することです。最も単純なシナリオでは、応答として IP アドレスを送信するだけで済みます。
仮想サーバーは月額約 15 ドルで利用できます。IMO は、他人の帯域幅を使用したり乱用したりするよりもかなり安価です。
[編集]。
簡単に言うと、次のような方法があります。
振り返ってみると、一連のピアをクラスター コントローラーとして指定し、動的 DNS サービスを使用して、他のピアがクラスター コントローラーを検出できるようにすることだと思います。
ダイナミック DNS プロバイダーを選択します。名前は myc.ath.cx にします (私はhttp://www.dyndns.com/を使用します)。
各ピアは、クラスタ コントローラになることができる必要があります。クラスタ コントローラには、接続されている他のすべてのピアのリストが含まれます。
ピアが開始されると、myc.ath.cx を検索して接続を試みます。一定時間、たとえば 30 秒以内に接続できない場合は、DNS エントリの登録を引き継ぎます。
他のピアを発見したいピアは、単に myc.ath.cx を照会するだけで、リストが提供されます。
すべてのピアは、コントローラをクラスタ化する必要がある場合に備えて、ピアのリストを定期的にダウンロードする必要があります。
クラスタ コントローラは、定期的に DNS エントリを照会します。IP アドレスが変更された場合、クラスタ コントローラではなくなったことを認識します。そのため、現在 DNS エントリを持つクラスタ コントローラに接続し、既知のホストのリストを提供します。
クラスタ コントローラは、リスト上のホストに定期的にアクセスして、ホストがまだ有効であることを確認します。