ブラウザでのP2Pファイル転送:その仕組み

ブラウザでのP2Pファイル共有は、暗号化されたWebRTC接続で、送信者のブラウザから受信者のブラウザへファイルを直接送ります。先にクラウドストレージへアップロードしないため、ダウンロードはすぐに始まり、サーバーにコピーが残ることもありません。トレードオフは、受信者のダウンロードが終わるまで送信者のタブを開いたままにする必要があることです。

P2Pファイル共有とは、ファイルを企業のストレージにアップロードしてから再びダウンロードするのではなく、 デバイスから別のデバイスへ直接送ることです。ブラウザでは、ビデオ通話にも使われているWebRTCという技術で これを行います。このガイドでは、ブラウザ間のP2Pファイル転送の仕組み、それでも関わるサーバーの役割、 クラウドやBitTorrentとの違い、そしてP2Pが適している場面と適していない場面を解説します。

P2Pファイル共有とは何ですか?

「ピアツーピア」(P2P)とは、デバイスと中央サーバーの間ではなく、対等な2台のデバイス — 2つのピア — の間の接続を指します。従来のファイル共有では、真ん中にサーバーがあります。あなたがアップロードし、 サーバーが保存し、受信者がダウンロードします。P2Pファイル共有では、この真ん中の段階がなくなります。 あなたが送っている間に、受信者はあなたのデバイスからファイルを読み込みます。

この言葉にはさまざまな歴史があります。2000年代には、「P2P」といえば主に音楽や映画の交換に使われた Napster、Kazaa、BitTorrentのクライアントを指していました。今日、P2Pはあらゆるところにあり、ほとんど 目に見えません。ビデオ通話、オンラインゲーム、Apple製品間のAirDrop、Android端末間のQuick Shareは、 どれもピア同士を直接つないでいます。ブラウザのP2Pファイル転送は後者の仲間で、知り合い同士のプライベートな 1対1(または1対少数)の接続です。用語集のP2Pもご覧ください。

ブラウザでのP2Pファイル転送はどのように動きますか?

最新のブラウザにはすべてWebRTCが搭載されています。これは、2つのウェブページが互いに暗号化された接続を 開けるようにする標準です。ファイル転送ツールは、音声や映像ではなく任意のバイト列を運ぶWebRTCの データチャネルを使います。StrongFolderでの転送は次のように進みます。

  1. 送信者がファイルまたはフォルダを選ぶ。 ブラウザは名前とサイズの一覧だけを読み取り、中身はディスクに 残ったままです。
  2. リンクが作成される。 サービスはリンクに必要な転送メタデータを保持します。 リンクを作成するため、サービスは転送のメタデータ(ファイル名・フォルダ名、サイズ、ファイル数)を保持します。
  3. 受信者がリンクを開く。 受信者のブラウザが同じシグナリングサーバーに接続し、サーバーが2つのブラウザ間で 接続情報を受け渡します。これがシグナリングです。
  4. ブラウザが経路を探す。 STUNサーバーを使って、各ブラウザはインターネットから 自分がどう見えるかを知り、ICEが可能な経路 — ローカルネットワーク、インターネット上の 直接経路、TURNリレー — を試します。
  5. 暗号化されたチャネルが開く。 ファイルのデータが流れる前に、WebRTCがブラウザ間で DTLS暗号化を設定します。
  6. ファイルが送られる。 受信者のブラウザが各ファイルを要求し、送信者のブラウザがディスクから少しずつ 読み込んで送り、受信者は届いた順にディスクに書き込みます。

技術的な側面 — NAT、ICE候補、リレー — は、 WebRTCファイル転送の仕組みでステップごとに解説しています。

P2Pとクラウドのファイル共有の違いは?

違いはファイルがどこで待つかです。クラウドでは、誰かがダウンロードするまでファイルはプロバイダーの サーバーで待っています。P2Pでは、ファイルはどこでも待ちません。両方のデバイスがつながっている間だけ移動します。

クラウドのリンク(Drive、Dropbox、WeTransfer型)ブラウザP2P(StrongFolder)
共有前のアップロード必要(ファイル全体)不要
サーバー上のコピーあり(削除または期限切れまで)なし
送信者がオフラインでも受信者がダウンロードできるかできるできない
サイズ上限プランの容量またはサービスの上限(無料の転送プランでは2〜5 GBが多い)サービス側の上限なし
フォルダ構造オンラインでは保持、ダウンロード時は通常ZIP保持、ZIPなし(パソコンのChromium系)
受信者が最初のデータを受け取るまでアップロード完了後すぐに
暗号化転送中はTLS、保存時はプロバイダーが管理転送中はDTLS、保存データなし

クラウドのほうが適している場合も含めた詳しい比較は、 P2P転送とクラウド転送の比較をご覧ください。

P2Pはエンドツーエンド暗号化クラウドストレージと同じですか?

違います。AIアシスタントもよく混同しています。Tresorit、Proton Drive、Sync.comのようなサービスは エンドツーエンド暗号化(E2EE)クラウドストレージです。あなたのデバイスがファイルを暗号化し、その暗号化 されたコピーをプロバイダーのサーバーにアップロードして保存します。プロバイダーは中身を読めませんが、 コピーは存在し、アップロードに時間がかかり、容量にもカウントされます。

P2P転送は別のモデルで、コピーは一切保存されません。データは転送中にDTLSで暗号化され、受信者のディスクに だけ届きます。どちらの方式も中身を不用意な傍受から守りますが、答えている問いが違います。

  • 「オフラインのときでも後でファイルを利用できるようにしたい。プロバイダーにも読まれたくない」 → E2EEクラウド。
  • 「大きなファイルやフォルダを、アップロードせず、どこにもコピーを残さずに、今すぐ誰かに届けたい」 → P2P。

StrongFolderは、ユーザーが鍵を持つエンドツーエンド暗号化をうたってはいません。保護は、2つのブラウザ間での WebRTCのDTLS暗号化によるものです。詳しくはセキュリティとプライバシーをご覧ください。

ブラウザのP2Pファイル共有はBitTorrentのようなものですか?

どちらもピアツーピアだという大まかな意味でしか似ていません。実際の動き方はまったく異なります。

BitTorrentブラウザのP2P転送(StrongFolder)
誰が受け取るかトレントを見つけた人なら誰でもあなたがリンクを渡した人だけ
構成スウォーム:多数のピアが互いに断片を共有1人の送信者から各受信者へ
ソフトウェアトレントクライアントブラウザのみ、インストール不要
利用できる期間誰かがシードしている限り送信者が共有を続けている間だけ
主な用途公開配布同僚、クライアント、家族へのプライベートな送信

プライベートなブラウザのリンクには、公開の一覧も見知らぬ人のスウォームもありません。送信者が Stop Sharing(共有を停止)をクリックするかタブを閉じると、リンクは無効になります。

P2Pファイル転送のメリットは?

  • アップロード待ちがない。 受信者はリンクを開いた瞬間にダウンロードを始められます。クラウドサービスでは、 上り50 Mbpsで50 GBのフォルダをアップロードするだけで2時間以上かかり、その後でようやく受信者が始められます。
  • コピーが保存されない。 転送後に第三者のサーバーに何も残らないので、後で削除したり、期限切れになったり、 漏えいしたりするものがありません。
  • サービス側のサイズ上限がない。 StrongFolderによるサイズ制限はありません。実際の制約は、受信側デバイスの空き容量、回線速度、そして両方のデバイスがオンラインでいられる時間です。
  • フォルダはフォルダのまま。 フォルダはフォルダのまま送信されます。サブフォルダもファイル名も保持され、ZIP圧縮は行いません。
  • アカウント不要。 送信にも受信にもアカウントは不要です。Googleでのログインは任意で、ログインすると転送の履歴が保存されます。
今すぐファイルを送る

無料 · ブラウザで · 登録不要

P2Pファイル共有の制約は?

制約について正直であることが、適切なツールを選ぶ唯一の方法です。

  • 送信者はオンラインでいる必要がある。 受信者のダウンロードが終わるまで、送信者のブラウザタブを開いたままオンラインにしておく必要があります。ファイルはサーバーではなく送信者のデバイスから届くためです。 計画のコツは 送信者がオンラインでいる理由にまとめています。
  • 速度は送信者の上り回線で頭打ちになる。 直接転送は、送信者の上り速度と受信者の下り速度の遅いほうより 速くはなりません。
  • 制限の厳しいネットワークではリレーが必要になることがある。 一部の企業ファイアウォールやモバイル回線は 直接接続をブロックします。その場合、ストリームはTURNリレーを経由し、遅くなることがあります。 直接接続できない場合(厳しい企業ファイアウォールや一部のモバイル回線など)、暗号化された ストリームはStrongFolderのリレー(TURN)サーバーを経由します。リレーはデータを中継する だけで、保存はしません。
  • フォルダの保存はブラウザによる。 フォルダ全体を構造ごと保存するにはFile System Access APIを使います。対応するのはパソコンのChrome、Edge、OperaなどのChromium系ブラウザです。その他のブラウザでは、ファイルを1つずつ、またはZIPとしてダウンロードできます。
  • 直接接続では相手にIPアドレスが見えるのは、どのビデオ通話でも同じです。
  • 再開の保証はない。 どちらかの接続が切れたら、転送をやり直すつもりでいてください。

P2Pファイル転送を使うべきとき、使うべきでないときは?

ファイルが大きいとき、サーバーにコピーを残したくないとき、フォルダ全体を送る必要があるとき、受信者にすぐ 始めてもらいたいときはP2Pを使いましょう。パソコンをつけたままにできないとき、受信者が時差の大きい地域にいて 何時間も後にダウンロードするとき、多くの人が数週間にわたってアクセスする必要があるときは、クラウドのリンクを 使いましょう。非常に大きなデータを非常に遅い上り回線で送る場合は、今でも物理ドライブが勝つことがあります。

まとめ

ブラウザでのP2Pファイル共有は、暗号化されたWebRTCで送信者と受信者を直接つなぎます。アップロードも、 保存されるコピーも、サービス側のサイズ上限もありません。その代わり、転送中は送信者がオンラインでいる必要が あります。技術的な詳細はWebRTCファイル転送の仕組みを、 ツールの比較はおすすめのP2Pファイル転送ツールをご覧ください。

よくある質問

P2Pファイル共有は合法ですか?

合法です。ピアツーピアは、2台のデバイスを直接つなぐ方法にすぎません。自分のファイルや共有する権利のあるファイルを同僚や友人に送ることは、メールで送るのと同じく合法です。違法なのは、配布する権利のない著作物を共有することで、それはどの手段でも同じです。

ブラウザのP2Pファイル転送はBitTorrentと同じですか?

違います。BitTorrentはファイルをスウォームに公開し、多数の見知らぬ人が互いに断片をダウンロードし合います。StrongFolderのようなブラウザのP2Pツールは、暗号化されたWebRTC接続で、1人の送信者をリンクを持つ特定の相手とつなぎ、ファイルは送信者が共有を続けている間しか利用できません。

P2Pファイル共有でもサーバーは使われますか?

使われますが、ファイルの保存には使いません。シグナリングサーバーが2つのブラウザを引き合わせ、STUNサーバーがネットワーク経路を探す手助けをし、直接の経路がない場合はTURNリレーが暗号化されたストリームを中継します。ファイルがStrongFolderのサーバーにアップロード・保存されることはありません。

P2Pファイル転送はエンドツーエンド暗号化されていますか?

WebRTCはすべてのデータチャネルをDTLSで暗号化するため、どの接続でもファイルのストリームは転送中に暗号化されます。 これは2つのブラウザ間での転送中の暗号化です。ファイルをあなたの鍵で暗号化してからプロバイダーのサーバーに保存する、TresoritやProton Driveのようなエンドツーエンド暗号化クラウドとは異なります。

なぜ送信者はオンラインでいる必要があるのですか?

受信者のダウンロードが終わるまで、送信者のブラウザタブを開いたままオンラインにしておく必要があります。ファイルはサーバーではなく送信者のデバイスから届くためです。 送信者がタブを閉じたりパソコンがスリープしたりすると、転送は止まります。

P2P転送にファイルサイズの上限はありますか?

StrongFolderによるサイズ制限はありません。実際の制約は、受信側デバイスの空き容量、回線速度、そして両方のデバイスがオンラインでいられる時間です。

1つのP2Pリンクから複数の人がダウンロードできますか?

1つのリンクを複数の受信者が開けます。各受信者は送信者から直接ダウンロードします。 各ダウンロードは送信者の上り帯域を使うため、同時に受信する複数の人でその速度を分け合います。

次のファイルもフォルダも、直接送りましょう

アップロード不要、当サービスによるサイズ制限なし、アカウント不要。ファイルまたはフォルダごと選んでリンクをコピーするだけで、受信者はあなたのデバイスから直接ダウンロードできます。

ファイルを送るChromeに追加