私はNATのトラバーサルについて、そしてSTUN、TURN、ICEとその使用について知っています。私はこれらがBitTorrentのようなピアツーピアファイル共有アプリケーションに実装されているかどうかを知りたい。トラッカーは、STUNを使用した直接接続またはTURN経由のリレーを作成することによって、NATの背後にあるピアが互いに通信することを容易にするかどうかを決定します。分散ハッシュテーブル(DHT)の場合、1つのピアがNATの背後にある他のピアとどのように通信するのですか?ビットトレントのようなピアツーピアプロトコルの場合のNATトラバーサルの仕組み。
5
A
答えて
9
BitTorrentはswarmの特定のメンバーに接続する必要はありません.2つの特定のエンドポイントが互いに話をしたいというP2Pチャットプロトコルではありません。気になるのは、群れの接続グラフが十分に高い接続性を持っているということです。
言い換えれば、NATの背後にあるクライアントにお互いに話を聞かせることはやや望ましいことですが、トラフィックフォワーディングなどの主要なリソースがその目標に費やされることはありません。失敗はオプションです。
したがって、sip/turn/etcは使用しません。
様々なクライアントがバルク輸送の接続のための接続性を向上させるために、以下のアプローチのいくつかの組み合わせを使用する:
- NAT-PMP/PCPネゴシエーションをゲートウェイ
- ポートリユースソケットオプションで独立エンドポイントを利用します(EIM)NATマッピング
- stunサーバーの代わりに相互に到達可能なスウォームメンバーを使用する大部分が文書化されていない
ut_holepunch
という拡張子。 - オプションのUDPベースのトランスポートプロトコル(μTP)は、これまでのポイントと組み合わせて使用できます。一般的にナットのトラバーサルはudpで実現する方が簡単です
- IPv6機能シグナリング。これにより、クライアントは接続をアップグレードしてから、P6/DHT経由でv6ピアをゴシップできます。
DHTの場合、最初の2つのポイント(ゲートウェイネゴシエーションとポートの再利用)のみが使用されます。 1回のリクエスト・リプライ・サイクルでナット・トラバーサルを試行するオーバーヘッドは> 100%となり、その価値はありません。
関連する問題
- 1. NATトラバーサル実験?
- 2. NATトラバーサルとIPv6
- 3. UDPの場合のMTU再送信の仕組み
- 4. P2P TCP/UDP接続の確立(NATトラバーサル)
- 5. libutp(μTP)とNATトラバーサル(UDPホールパンチング)
- 6. 統合の仕組みシトラスフレームワークとBBDキュウリ
- 7. Hibernate.initialize()の仕組み
- 8. iTeleportの仕組み
- 9. キュウリカピバラの仕組み
- 10. Choreographerの仕組み
- 11. フォースクエアチェックインの仕組み
- 12. ファイルディスクリプタの仕組み
- 13. ハイブパーティションの仕組み
- 14. マルチキャストの仕組み
- 15. ボイスアシスタントの仕組み
- 16. ルートモーションとはどのような仕組みですか?
- 17. Codeigniterのセッションの仕組み
- 18. ゴランのタイマーの仕組み
- 19. このプログラムの仕組み
- 20. iPhoneのjailbreakingの仕組み
- 21. マルチスレッドコードのプロファイリングサンプリングの仕組み
- 22. 複数のプログラムがある場合の再就職の仕組みは?
- 23. if()文の仕組み
- 24. NSValueTransformerの仕組みは?
- 25. R:RStudio:シルエットプロットの仕組みは?
- 26. Ember-Data: "マッピング"の仕組み
- 27. ディスパッチャの仕組みは?
- 28. google ga.jsの仕組みは?
- 29. Facebookチャットの仕組みは?
- 30. CreateEntity PDUの仕組みは?