2009-04-04 7 views
0

私はなぜそれがより普及しているのが不思議です。それはより良いAPIを持っていますか?SOPKSよりuPNP/IGDの利点?

私はNATについて最初に学んだ(私はダイヤルアップ14.4kbpsモデムを共有するために使った)のはずっと前から覚えていますが、いつかはすべての家庭にNAT付きルータがありますが、 SOCKSプロセスを使用してリスニングポートを開くことができます。ブロードバンドが登場し始めたとき、NATを一般的な機能として見てうれしく、SOCKSは余分になり、ゆっくりとますます一般的になっていくと思われましたが、何もありませんでした。ポートを手動で転送する必要がありました。そのuPNPが登場しましたが、主にP2P共有、ゲーム、一部のIMなど、「真剣な」アプリケーションはほとんどサポートされていませんでした。

私はSOCKSを含む家庭用ルータはまだ見ていません(もちろん、Linuxベースのファームウェアのアップグレードは別として)。誰がなぜ知っていますか?

編集:

Vartecが述べたように、UPnPはゼロ設定とサービスの発見ではなく、プロキシサービスです。今私は、IGDプロトコル、ホームルータに存在するNATトラバーサルサービス、UPnP経由で発見されたことを指摘しています。ですから、私の質問は、「SOCKSの代わりにIGD/UPnPを使う理由」が適切になるでしょう。

答えて

0

私が知る限り、UPnPは、ローカルネットワーク内のデバイスのzeroconfディスカバリタイプのプロトコルですが、SOCKSはトンネルプロキシサーバです。彼らはまったく違っていて、実際には私は何も見ません。彼らは共通しているでしょう。

0

これらは2つの異なるものです。ソックスは、tcpとudp(socks v5)をプロキシサーバー経由でルーティングするためのプロトコルで、発信接続用です。ルータはこれと何も関係ありません(ただし、プロキシもあります)

upnpのIGDは、ポートを開き、それをコンピュータに送ることをルータに伝えることを許可する 'api'です。これは着信接続用です。私のlinksysにupnpが付属しています私が知っている1つのアプリはmsnメッセンジャーです(ファイル転送の場合のみ)

+0

ソックスでは、プロキシのリスニングポートを開いてアプリケーションに転送することもできます。 – Javier

1

SOCKSにはUPnPに比べて制限があります。一般に、SOCKSは各クライアント上で構成する必要があり、アプリケーションには透過的ではありません(システム全体のSOCKSificationはWindowsではデフォルトではインストールされていません)。UPnPを使用しなくてもNATはほとんど透過的に動作し、および発信UDP。

UPnPのNATは、SOCKSよりも優れたサーバーのTCPソケットもサポートしています.SOCKSは、BIND要求で単一の接続のみを受け入れることができます。これはFTPなどのプロトコルで単一のTCP接続を受け付けても問題ありません。多くのクライアントから多くの接続を受け入れる必要があります。 SOCKS 4もBIND要求で2分のタイムアウトを持っていましたが、サーバーは一般に次のクライアントがいつ接続を試みるかを知ることができません。

低レベルのTCP設定(TCP Nagle、トラフィッククラスなど)もSOCKSプロキシでは機能しませんが、NAT経由で動作します。