2011-07-09 11 views
2

私はskypeプロトコルに関する質問があります。 ウィキによれば、SkypeのスーパーノードはUDPホールパンチングで使用されています。スーパーノードはファイアウォール/ NATのないノードです。Skypeのプロトコルとスーパーノード

私の質問は、どのようにこれは信頼性はありますか? NATの背後にある大多数のインターネットユーザーではありませんか?

そして、私はこの技術を用いてP2Pアプリケーションを作成することだった場合何のピアがファイアウォールなしに存在しない場合、何が起こりますか?私はあなたが感謝

答えて

0

私は特にスカイプにコメントすることはできませんが、私はこれでいくつかの経験を持っている(http://wiki.squeak.org/squeak/5629)。我々は、スーパーノードを「大きな友好巨人」またはBFGと呼んだ。

スーパーノードの背後にあるアイデアは、ネットワーク上でポップアップして新しいユーザーにNATホールパンチのオプションを与えることを望んでいる間は、P2Pネットワーク事業者として最小限の設定を提供します(1〜2マシン、彼らはちょうど最初の穴の穴あけに必要です、実際のトラフィックは、とにかく直接ルートを再取得する)。私が知っている限り、Skypeもそうしています - 彼らはスーパーノードの最小限のセットを実行します。

Skypeが今年初めに問題を抱えていたとき、多くの人が再接続しようとしたため、スーパーノードが過負荷になり、ドミノ効果が生じました。 Skypeはスーパーノードを追加しましたが、その時に再接続しようとする人の数は膨大で、ネットワークが再構築されるまでにはかなりの時間がかかりました。それはかなり面白い - 我々は上記のプロジェクトでもそれを持っていた - それはP2Pネットワークが非常に弾力性があるまでそれはいくつかの端にプッシュされ、すべてが崩壊するまですることができます。

[免責事項:私は以前のSkypeの所有者であるeBayのために働いていますが、これは私の個人的な意見であり、公開情報に基づいています]

1

STUNのようなサービスについての議論とlibjingleに関する論文を読んでNAT

せず、最終的にいくつかのピアがあるだろうということに依存しているアプリケーションを起動する方法を理解していません。両方の当事者がNATの背後にあるとき、外部サービスは、しばしば、一方または他方の側で開いている穴を開けることを中継するか、または穴を開けるのを助けることが要求される。

http://code.google.com/apis/talk/libjingle/important_concepts.html

関連する問題