Wiele połączeń SOCKS może współdzielić jeden transport SSH
ssh -D multipleksuje strumienie docelowe przez kanały SSH; jedno zewnętrzne połączenie TCP nadal może stać się ich wspólnym wąskim gardłem.
Jeden proces ssh -D może obsłużyć kilka połączeń do witryn jednocześnie. Policz warstwy osobno:
| Warstwa | Co przenosi |
|---|---|
| Aplikacja do odbiornika SOCKS | Oddzielne połączenia aplikacji i żądania SOCKS |
| Kanały SSH | Niezależnie adresowane strumienie z kontrolą przepływu na poziomie kanału |
| Transport SSH | Zmultipleksowane dane kanałów, zwykle przez jedno połączenie TCP |
| Brama do witryn | Oddzielne połączenia docelowe otwierane przez bramę |
Widok jednego szyfrowanego gniazda SSH nie oznacza więc, że każde żądanie witryny jest serializowane w jedno połączenie docelowe. Dynamiczne przekazywanie przesyła dane strumieni i otwiera nowe połączenia; różni się od tunelu pakietowego, który przenosi oryginalne pakiety TCP i nagłówki IP aplikacji wewnątrz innego połączenia TCP.
Wspólny transport nadal ma znaczenie. Przepustowość, planowanie, praca szyfrowania oraz utrata lub opóźnienie transportu mogą wpływać na kilka kanałów razem. Zablokowanie jednego celu samo w sobie nie dowodzi ograniczenia do jednego kanału.
Jeśli kilka aplikacji zwalnia jednocześnie, sprawdź, czy dzielą tę samą sesję SSH i ścieżkę bramy, a następnie porównaj ich rzeczywiste obciążenie. Liczenie lokalnych portów SOCKS nie mierzy ani przepustowości, ani niezależnych tras. Multipleksowanie samo w sobie nie obiecuje wzrostu szybkości ani osobnego publicznego wyjścia dla każdego strumienia.