1

たとえば、画像ホスティングサービスを考えてみましょう。帯域幅/画像を提供する回数を減らすために、画像を表示したばかりのクライアントが同じページを表示したい別のクライアントに同じ画像ファイル(またはそのファイルの一部)を提供することは可能ですか? /画像?これを防ぐセキュリティ関連の問題がありますか、それともテクノロジーについての理解が不足しているため、これが機能しない明らかな理由を理解できません。

各クライアントが消費したのと同じ量のデータを提供した場合、Webサーバーは特定のファイルを1回だけ提供する必要があり、残りの帯域幅はクライアントによって取得されます。

編集:私はP2Pとbittorrentを知っています。この概念を一般的なWebサーフィン活動に適用してみませんか?

4

10 に答える 10

5

あなたが説明するモデルはP2Pモデルであり、それはまさにいくつかのプロトコル(たとえば、BitTorrent)がどのように機能するかです。

この種のプロトコルがWebサイトや汎用のインターン使用に使用されない理由を尋ねる場合、おそらく2つの主な理由があります。

  1. 技術的には、おそらく非常に難しいでしょう。クライアントをスマートな方法で相互にリダイレクトできる必要があります。クライアントに実際にファイルを送信させる必要があります(クライアントへのアクセスが必要になります)。システム、通常は持っていないもの)、おそらく各クライアントの速度などを考慮に入れる必要があります(つまり、サイトのように、古い、非常に遅い接続で誰かが画像を提供することを望まないでしょう)非常に遅く見えます)。他にも多くの理由がありますが、これらは私が考えることができる最も差し迫った問題であり、頭から離れています。
  2. それは人々にひどく行き渡るでしょう:あなたどういうわけかこれをする方法を思い付くことができたとしても、この種のことはおそらくあなたのサイトのユーザーにはうまく行きません。ユーザーは通常、コンピュータースペース/帯域幅などを「共有」することを望んでいません。ほとんどの場合、企業は「スパイウェア」やその他のそのような隠されたものを誰かのコンピュータに置いており、非常に悪い評判を得ています。

全体として、主に上記の2つの理由から、このようなことを真剣に検討する人はいないと思います。

于 2009-09-26T21:35:26.837 に答える
3

このようなデータを「提供」するには、各クライアントのコンピューターにサーバーをインストールし、世界中からアクセスできるようにする必要があります(NAT、プロキシ、企業ネットワークなどの背後にいる場合は、必ずしも簡単ではありません)

それを行うプロトコルがあります(たとえば、多くのピアツーピアプロトコルですが、小さな画像よりも大きなファイルの方がうまく機能します)が、それはWebの動作方法ではありません。

また、データがどこから来たのかは、到着する限り、ユーザーにとって重要ではありません。そしてこれはウェブマスター/管理者としてのあなたの問題です。

あなたが考えているような分散プロセスでは、セキュリティリスクがあります。1人のユーザーが実際に要求されたもの以外のものを送信することを決定した場合はどうなりますか?実際の画像の代わりに「OKではない」画像を言ってみませんか?またはウイルス?またはそのような悪いものはありますか?

于 2009-09-26T21:34:33.480 に答える
2

ピアツーピアネットワークは、特定のファイルの同期を維持することの複雑さのため、静的コンテンツに対してのみ機能します。

于 2009-09-26T21:36:11.733 に答える
2

いくつかの理由で:

  • クライアントは NAT の背後にある傾向があり、他のクライアントに直接データを提供することを禁止しています。
  • クライアントは、サーバーよりも接続性が低い傾向があります。
  • 特定のクライアントが適切な利用可能な帯域幅を持っているか、または実際に彼らが主張するものを実際に提供しているとは言えません。ユーザーがサイトをどのように体験するかを気にしている場合は、キャッチ アズ キャッチ キャンではなく、コンテンツが迅速に提供されるようにする必要があります。
  • 取得しているデータが取得元のクライアント (またはデータを取得したクライアントなど) によって変更されていないことを確認する方法が必要です。 SSLと同じ問題と面倒。
  • これをサポートするには、(完全な再設計ではないにしても) HTTP の大規模な再作業が必要になります。クライアントのサポートはせいぜいむらがあり、特にクライアントがそれをサポートするインセンティブはほとんどありません.
于 2009-09-26T23:21:30.860 に答える
1

それはP2Pと呼ばれます。最も成功した使用法はbittorrentです。大きなファイル(Linuxディストリビューション、オープンオフィスなど)に非常に適しています。小さなファイルにはあま​​り効率的ではありません。

World of Warcraftのパッチも、同様のシステムで提供されます。

于 2009-09-26T21:31:07.447 に答える
1

ユーザーの観点からは、データが高速で、予測可能に、そして安全に到着する限り、データを取得する場所は関係ありません。

P2P分散モデルは確かに実現可能ですが、クライアントサーバーと比較して、P2Pでこれらの3つの要件を実現することは困難です。

于 2009-09-26T21:32:20.440 に答える
1

P2Pは他の回答でかなりカバーされていますが、追加の懸念事項は現在のインフラストラクチャです。消費者クラスのインターネットアクセス(ケーブル、DSLなど)の場合、発信帯域幅は通常、着信のほんの一部です。たとえば、ケーブルのダウンロード速度は多くの場合5〜6 Mbpsですが、アップロード速度は多くの場合400K以下の範囲です。

ほとんどの人がブラウザや他のアプリケーションにコンテンツをダウンロードし、生成するコンテンツの量が少ないため、インターネットキャリアはこのようにシステムを設計しました。

于 2009-09-26T21:46:29.477 に答える
0

他の誰かが要求しているコンテンツを提供するには、誰かのコンピューターのバックグラウンドで何かを実行する必要があります。各クライアントが「はい、私はそれを持っています」または「いいえ、私はそれを持っていません」と言わなければならないので、スパムの可能性をどのように回避しますか。

言及されていないもう1つのポイントは、一部のサイトは画像を公開したくないということです。たとえば、ポルノサイトが頭に浮かぶので、誰もがこれを望んでいるわけではありません。

于 2009-09-26T23:40:13.663 に答える
0

ちょっとしたUDPの魔法で、AdobeFlashPlayerはアドホックP2Pネットワークで他のクライアントと一緒に固執することができるようになりました。かなり興味深いネットワークチャットを使用して、NATセットアップに穴を開けます。

http://labs.adobe.com/wiki/index.php/Stratus:FAQ

http://en.wikipedia.org/wiki/Real_Time_Media_Flow_Protocol

http://www.adobe.com/devnet/flashplayer/articles/rtmfp_stratus_app.html

http://www.flashrealtime.com/tuts/p2p-in-flash.html

于 2009-09-26T23:41:49.570 に答える
0

ほとんどのインターネットアプリケーションでは、ネットワークの最も遅い部分がユーザーのマシンへの最終リンクです。したがって、クライアントP2Pにはいくつかの用途があります(サーバーの帯域幅/ユーザー数がラストマイルの帯域幅よりも悪い場合)が、他の場合には必ずしも機能するとは限りません。

TCP / IPの参照とは別のレベルの参照を使用して、 VanJacobsonによるルーターの情報の重複を回避するための手法に関する興味深い講義があります。

于 2009-09-27T17:23:15.703 に答える