Molte connessioni SOCKS possono condividere un solo trasporto SSH
ssh -D multiplexa i flussi di destinazione sui canali SSH; una singola connessione TCP esterna può comunque diventare il loro collo di bottiglia condiviso.
Un processo ssh -D può servire più connessioni a siti web contemporaneamente. Contate i livelli separatamente:
| Livello | Cosa trasporta |
|---|---|
| Applicazione al listener SOCKS | Connessioni applicative separate e richieste SOCKS |
| Canali SSH | Flussi indirizzati in modo indipendente con controllo di flusso a livello di canale |
| Trasporto SSH | Dati di canale multiplati, di solito su un'unica connessione TCP sottostante |
| Gateway verso i siti web | Connessioni di destinazione separate aperte dal gateway |
Vedere un solo socket SSH cifrato non significa quindi che ogni richiesta a un sito web venga serializzata in un'unica connessione di destinazione. L'inoltro dinamico inoltra i dati dei flussi e apre nuove connessioni; è diverso da un tunnel di pacchetti che trasporta i pacchetti TCP originali dell'applicazione e le intestazioni IP dentro un'altra connessione TCP.
Il trasporto condiviso conta comunque. Capacità, pianificazione, lavoro di cifratura e perdite o ritardi del trasporto possono influenzare più canali insieme. Una destinazione bloccata da sola non dimostra un limite a un solo canale.
Se più applicazioni rallentano insieme, verificate se condividono la stessa sessione SSH e lo stesso percorso del gateway, poi confrontate i carichi di lavoro reali. Contare le porte SOCKS locali non misura né la velocità effettiva né percorsi indipendenti. Il multiplexing da solo non promette alcun aumento di velocità né un'uscita pubblica separata per ogni flusso.