0

多くのノードを持つ P2P ネットワークがあるとします。P2P クライアントを更新したい場合、やりたくないことが 1 つあります。それは、各ノードを更新することです。

ここで、 1 つのノードを更新することを想像できます。各ノードは、現在対話しているノードが新しいバージョンであるかどうかを時々チェックし、新しいバージョンである場合は、そのノードから更新を取得します。

このようにして、更新は P2P ネットワークを介して行われ、1 つのノードを更新するだけで済みました。さらに、中央サーバーに依存することもありません。

そのような更新シナリオの概念は (どこかに ;-)) ありますか?

このアプローチの長所/短所は何ですか?

4

1 に答える 1

1

長所:他の理由がある場合は、議論して話すのが本当にクールです.

短所:

  • セキュリティホールになる可能性があります。P2P ネットワークに不正なピアを置くことができれば、私のコードは実際にはウイルスである更新をアドバタイズする可能性があります。少なくとも、ある種のコード署名と認証部分を含む更新を確認する必要があります。

  • P2P プロトコルまたは更新コードに何らかのバグがある場合、すべてのノードのサブセットのみをアップグレードできる状態になる可能性があります。

より良いアプローチは、クライアントが中央の場所から更新を取得できるようにすることです。ハイブリッド アプローチは、URL とファイル ハッシュをアドバタイズする中央サーバーを介してピアに更新を通知することです。ノードがピアから更新を取得できる (そしてハッシュとコード署名を検証できる) 場合は、すばらしいことです。ただし、フォールバックとして常に「中央サーバーからダウンロード」してください。

また、限られた数のピアのみが更新を受け取るように、「段階的なロールアウト」を組み込む方法を検討することもできます。したがって、更新を他のすべてのピアにプッシュする前に、小さなセットで更新が正常に機能することを検証できます。

于 2012-12-23T09:56:34.683 に答える