Newsgroup: it.discussioni.ingegneria
Titolo: Come funziona un proxy?

Salve a tutti!!
La domanda che vi pongo è quella dell'oggetto...
In realtà, una certa idea me la sono già fatta; mi servirebbero delle
conferme.
Mi spiego meglio.
So che un proxy fa da intermediario fra il client ed il server (tipicamente
Web); lo schema, a tal proposito, dovrebbe essere:
1) Il client fa la richiesta, usando l'inidirizzo del server Web;
2) Il proxy riceve la richiesta ed, anzichè propagarla in avanti, si
sostituisce al client (ovvero invia lui la richiesta verso il server);
3) Il server risponde al proxy;
4) Il proxy, infine, memorizza la pagina (funzionalità di caching) e la
invia al client che ne aveva fatto richiesta.
Ecco, allora, le domande a cui spero qualcuno di voi sia tanto gentile :)))
da rispondere:
- Il proxy lavora a livello applicativo (HTTP, FTP, ecc., quindi protocolli
al di sopra del livello di trasporto (TCP))?
- Sperando che l'ipotesi precedente sia vera [altrimenti questa domanda non
avrebbe senso :(((( ], è giusto pensare che il client effettui la richiesta,
supp. HTTP, usando come Destination IP Address quello del proxy, e non
quello del server a cui tale richiesta è realmente destinata?
- E', quindi, il proxy che, effettivamente, invia la richiesta al server
 => i pacchetti che invia hanno: Source IP Address="indirizzo del proxy" e
Destination IP Address="indirizzo del server")?
Ho terminato! Vi ringrazio per la pazienza e l'attenzione che mi avete
dedicato...
Ciao!!!     Luca


Sì
Riassumendo: sia A il client, B il proxy, C il server 'in Internet'
1) In A viene configurato il 'IP proxy address'
2) Quando A fa una richiesta (HTTP ad esempio) al server C, in realtà la
invia all'indirizzo IP del proxy B
quindi i pacchetti hanno indirizzi IP (SrcAddr, DestAddr) = (A, B)
3) Se B non trova in cache la pagina, invia a C la richiesta: (SrcAddr,
DestAddr) = (B, C)
Il percorso inverso (la risposta) è esattamente simmetrico: da C a B con
(SrcAddr, DestAddr) = (C, B), da B ad A con (SrcAddr, DestAddr) = (B,A)
Il proxy è (quasi) perfettamente trasparente: l'effetto complessivo è che A
crede di dialogare direttamente con C
Qualcosina in più la puoi trovare in 
http://www.ids.it/winproxy/
Ciao, Simone

Scusate se mi inserisco, ma visto che sembrate esperti sui proxy avreste
voglia di risolvermi questo problema?
Io uso Outlook Express 5 e l'ho configurato in modo da avere il collegamento
alla mia e-mail su Hotmail.
Ora andiamo sul collegamento Internet: ho Libero e, come indicato da
Infostrada, ho attivato il funzionamento del server proxy. I dati inseriti
sono giusti, tant'è vero che funziona bene. A parte un particolare: con il
proxy attivato arriva questo messaggio d'errore se dico ad Outlook di
controllare la posta:
Impossibile effettuare il polling dei nuovi messaggi sul server HTTP.
Account: 'Hotmail', Server:
'
http://services.msn.com/svcs/hotmail/httpmail.asp
', Protocollo: HTTPMail,
Risposta del server: 'OK', Porta: 0, Protezione (SSL): No, Numero di errore:
0x800CCC0E
Download delle intestazioni per la cartella "Posta in arrivo" non
completato.  Account: 'Hotmail', Server:
'
http://services.msn.com/svcs/hotmail/httpmail.asp
', Protocollo: HTTPMail,
Risposta del server: 'OK', Porta: 0, Protezione (SSL): No, Numero di errore:
0x800CCC0E
Ho provato a mettere l'indirizzo *.
hotmail.com
 nella casella "Ignora proxy
per:" senza successo.
Se mi aiutaterete, ne sarò molto contento.
Ciao.

 Ciao, Simone
Anch'io ho capito un po' di più, ma
"1) In A viene configurato il 'IP proxy address' "
significa che l'IP di A è in realtà l'IP del proxy? Se sì, vorrebbe dire che
nessuno in Internet vede A, che pure c'é (è dietro il proxy)?
Altro modo per porre la stessa domanda: il proxy ha un solo IP o uno per ogni
client (A, A', A''...).
--
Linux Registered User # 135192
                                    ___
                             bye   >^|°<   bye
                                    \-/


L'indirizzo IP del proxy non dipende (e non può dipendere) dagli host che vi
si collegano, per una serie di motivi.
Diciamo, semplificando, che ogni host/router/proxy ha un unico indirizzo IP
*per interfaccia*  cioè se il proxy è collegato a K reti, ognuna ha un
differente indirizzo IP Ai sull'interfaccia fisica i-esima
Bibliografia (molto tecnica):
http e proxy:
http://www.nic.it/RA/mirrors/rfc/rfc2616.txt
NAT
http://www.nic.it/RA/mirrors/rfc/rfc2663.txt
http://www.nic.it/RA/mirrors/rfc/rfc1631.txt
Ciao, Simone