ファイアウォールが着信接続を受け入れない場合、P2P ソフトウェア (Skype、Torrent など) はどのように機能しますか?

ファイアウォールが着信接続を受け入れない場合、P2P ソフトウェア (Skype、Torrent など) はどのように機能しますか?

Juniper ファイアウォールにはインターネットからローカル ネットワークへのポリシーはありませんが、Skype や Torrent などのソフトウェアは問題なく動作します。着信ポリシーがない場合、これらのプログラムはどのように動作するのでしょうか?

答え1

通常は、ファイアウォールのステートフルネスを悪用することによって行われます。

最近のファイアウォールのほとんど (すべてではないにせよ) はステートフルです。ファイアウォールは、出入りするトラフィックを追跡し、パケット間の「関係」を認識します。たとえば、ネットワーク内部のホストが SYN パケットを外部のどこかに送信すると、ファイアウォールはそれを認識し、元の SYN が送信されたアドレスから対応する SYN ACK パケットが返されることを期待します。

したがって、内部のホストが接続を確立している限り、戻りトラフィックに対して「水門は開いている」ことになります。

他にもより複雑な方法があります。簡単な例を挙げると次のようになります。

  • トンネル工事(例:内部翻訳または情報処理
  • 上へ(Juniper のようなエンタープライズ ファイアウォールには実際には適用されません)
  • 気絶

答え2

P2Pアプリケーションは、NATsほとんどの人が住宅用ゲートウェイに持っているものです。使用されるトリックは、送信接続が許可されているという事実に基づいており、同じポリシーを持つファイアウォールで機能するのはそのためです。

最も簡単で効果的な方法はUDP ホールパンチング

そのTCP バリアント少し複雑ですが、失敗した場合、ソフトウェアは UDP 経由の TCP トンネリングにフォールバックすることができます。

また、ICMPホールパンチングこれは、第三者を介さずに最初の連絡を可能にする別のアプローチを使用します。

関連情報