Maraming koneksyong SOCKS ay maaaring magbahagi ng isang transport na SSH
Ang ssh -D ay nagsasagawa ng multiplex ng mga stream ng destinasyon sa mga channel ng SSH; isang panlabas na koneksyong TCP ay maaari pa ring maging pinagsasaluhang bottleneck nila.
Isang prosesong ssh -D ay makapaglilingkod sa maraming koneksyon sa website nang sabay. Bilangin ang mga layer nang hiwalay:
| Layer | Ano ang dinadala nito |
|---|---|
| Aplikasyon patungo sa tagapakinig ng SOCKS | Hiwalay na koneksyon ng aplikasyon at mga kahilingang SOCKS |
| Mga channel ng SSH | Mga stream na hiwalay na na-address na may kontrol ng daloy sa antas ng channel |
| Transport ng SSH | Multiplexed na data ng channel, karaniwang sa isang pinagbabatayang koneksyong TCP |
| Gateway patungo sa mga website | Hiwalay na koneksyon ng destinasyon na binubuksan ng gateway |
Kaya ang makakita ng isang naka-encrypt na socket ng SSH ay hindi nangangahulugang ang bawat kahilingan sa website ay isinasalansan sa isang koneksyon ng destinasyon. Ang dinamikong pagpapasa ay nagpapasa ng data ng stream at nagbubukas ng mga bagong koneksyon; kaiba ito sa isang packet tunnel na nagdadala ng orihinal na mga packet ng TCP at header ng IP ng aplikasyon sa loob ng ibang koneksyong TCP.
Mahalaga pa rin ang pinagsasaluhang transport. Ang kapasidad, pag-iiskedyul, gawain sa pag-encrypt at pagkawala o pagkaantala ng transport ay maaaring makaapekto sa maraming channel nang sabay. Ang isang destinasyong natigil lamang ay hindi nagpapatunay ng limitasyong isang channel.
Kung maraming aplikasyon ang bumagal nang sabay, tingnan kung pareho silang sesyon ng SSH at ruta ng gateway, pagkatapos ay ihambing ang kanilang tunay na karga ng trabaho. Ang pagbilang ng mga lokal na port ng SOCKS ay hindi sumusukat sa throughput o sa mga malayang ruta. Ang multiplexing mismo ay hindi nangangako ng pagbilis o hiwalay na pampublikong labasan para sa bawat stream.