0

なぜそれがより普及しているのか、私は興味があります。より良い API はありますか?

私がNATについて初めて知ったときのことを覚えています(ダイヤルアップ14.4kbpsモデムを共有するために使用しました)。リスニング ポートを開くことができます。ブロードバンドが登場し始めたとき、NAT が一般的な機能として見られたのは良かったです。SOCKS は追加機能であり、徐々に一般的になるだろうと思っていましたが、何もありませんでした。ポートを手動で転送する必要がありました。その後、uPNP が登場しましたが、それをサポートする「本格的な」アプリケーションはほとんどなく、主に P2P 共有、ゲーム、および一部の IM です。

SOCKS を含むホーム ルーターはまだ見たことがありません (もちろん、Linux ベースのファームウェア アップグレードは別として)。誰かが理由を知っていますか??

編集:

Vartec が指摘したように、UPnP はプロキシ サービスではなくゼロコンフおよびサービス ディスカバリです。今、私が言及しているのは IGD プロトコルであり、ホーム ルーターに存在し、UPnP を介して検出される NAT トラバーサル サービスであることがわかりました。したがって、私の質問は「なぜ SOCKS ではなく IGD/UPnP なのですか?」という方が適切でしょう。

4

3 に答える 3

1

SOCKS には、UPnP と比較して制限があります。通常、SOCKS は各クライアントで構成を必要とし、アプリケーションに対して透過的ではありません (システム全体のソケット SOCKSification は、Windows では既定でインストール/有効化されていません)。一方、UPnP がなくても NAT はほとんど透過的に動作し、発信 TCP ソケット用の追加のクライアント構成は必要ありません。および発信 UDP。

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

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

于 2010-03-07T10:25:55.723 に答える
0

私の知る限り、UPnP はローカル ネットワーク内のデバイスの zeroconf 検出タイプのプロトコルであり、SOCKS はトンネル プロキシ サーバーです。それらは完全に異なります。実際には、共通点は何もありません。

于 2009-04-04T21:25:48.260 に答える
0

これらは2つの異なるものです.socksは、プロキシサーバーを介してtcpとudp(socks v5)をルーティングできるようにするプロトコルであり、発信接続用です.ルーターはこれとは関係ありません(プロキシとしても機能している場合を除く)

upnp の IGD は、ポートを開いてコンピューターに転送することをルーターに伝えることができる「api」です。これは着信接続用です。これを使用するには msn メッセンジャー (おそらくファイル転送のみ)

于 2009-04-04T22:52:44.683 に答える