In che modo i proxy sock gestiscono più connessioni simultanee?


1

Se un proxy sock può avere più client connessi, tutti inviando e ricevendo dati contemporaneamente, in che modo il proxy tiene traccia di ogni singola richiesta?

Poiché sono tutti collegati allo stesso indirizzo IP sulla stessa porta, come può il proxy sapere chi ha chiesto a chi e a chi inviare la risposta?

Risposte:


2

Calzini opera a Livello OSI 5 (il livello di sessione) , quindi può aggiungere ulteriori informazioni sul flusso, incluse le informazioni sulla destinazione. Questo è noto come a Gateway a livello di circuito .

Per il proxy delle connessioni TCP, quando viene richiesta una connessione socks da un client, tra il proxy socks e la destinazione, il client invia un comando CONNECT, con le informazioni sulla destinazione. In questo momento il server rileva l'indirizzo / porta del client, quindi sa quale client lo ha richiesto.

Il server proxy stabilisce quindi a Connessione TCP con il server di destinazione, che implica la negoziazione di un numero di sequenza. Questo numero può essere usato per legare insieme tutti i pacchetti nella connessione e alla richiesta iniziale del client.

Nelle successive connessioni al proxy, il client utilizza il verbo BIND, che consente al server di distinguere il flusso del primo client dal secondo, terzo, ... nth. Tutto ciò che deve ricordare sono le informazioni sul cliente e i numeri di sequenza.

Per il proxy dei flussi UDP, il client iniziale - & gt; la comunicazione proxy viene gestita in TCP, chiamando il verbo ASSOCIATO UDP, che consente al proxy di legare la connessione UDP al client e dargli un'identità tramite la quale può inviare flussi UDP al client.

Vedi i dettagli delle specifiche qui: http://www.faqs.org/rfcs/rfc1928.html


+1 per descriverlo a livello di sessione: lo strato quasi nessuno lo capisce! Mi fiderò della tua spiegazione!
barlop
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.