1 つの ssh -D プロセスは複数のウェブサイト接続を同時に扱える。層ごとに分けて数える。

層運ぶもの
アプリから SOCKS リスナーへ個別のアプリ接続と SOCKS 要求
SSH チャネルチャネル単位のフロー制御を持つ独立してアドレス指定されたストリーム
SSH トランスポート多重化されたチャネルデータ。通常は 1 本の下位 TCP 接続上
ゲートウェイからウェブサイトへゲートウェイが開く個別の宛先接続

したがって、暗号化された SSH ソケットが 1 つ見えるからといって、すべてのウェブサイト要求が 1 つの宛先接続に直列化されるわけではない。動的転送はストリームデータを中継し、新しい接続を開く。アプリの元の TCP パケットと IP ヘッダーを別の TCP 接続の中に運ぶパケットトンネルとは異なる。

共有トランスポートは依然として重要だ。容量、スケジューリング、暗号化処理、トランスポートの損失や遅延は複数のチャネルに同時に影響し得る。1 つの宛先が止まっただけでは、1 チャネル制限の証明にはならない。

複数のアプリが同時に遅くなる場合は、同じ SSH セッションとゲートウェイ経路を共有しているかを確認し、実際のワークロードを比較する。ローカルの SOCKS ポートを数えても、スループットも独立した経路も測れない。多重化自体は、速度向上も各ストリーム専用の公開出口も約束しない。

関連記事