Transparentnejsi proxy cache?

Jan "Yenya" Kasprzak kas at fi.muni.cz
Mon Oct 19 16:33:45 CEST 1998


Lazo at Patria.CZ (Lazo Igor) napsal:
>> : - cache musi ustavit TCP spojeni s klientem
>> :   ( asi se tedy bude vydavat za cilovy server )
>>
>> 	Ano, o to se postara napriklad router.
>>
: TCP spojeni neni bezestavove, takze router sem,
: router tam, ustavit to musi cache. Cilovy server o nicem nevi.
: TCP spojeni se ustavi teprve po vymene asi 3 datagramu.

	Pozor, smesujete dve veci: TCP spojeni od klienta ke cache,
a od cache k serveru. Namaluji obrazek:

           (WWW server)
                |
                |
           ( router )----(transparentni proxy)
                |
                |
          (vnitrni sit, klient)


	_Router_ se musi postarat o to, aby vsechny pozadavky, ktere jdou
z vnitrni site na port http, byly presmerovany na transparentni proxy,
port (u squidu) 3128. To je standardni zapojeni transparentni proxy cache,
v nekterych pripadech je router a transparentni proxy jeden a tentyz
stroj.

	A pozor, transparentni proxy funguje tak, ze prijme HTTP pozadavek
(to jest ustavi TCP spojeni s klientem a prevezme HTTP request),
a pak podle toho, jestli sama zna nebo nezna odpoved, teprve (ne)ustavuje TCP
spojeni na WWW server. Jsou to dve samostatna spojeni se vsim vsudy,
tedy i se sekvencnimi cisly packetu.

>> : - TCP spojeni obsahuje poradova a potvrzovaci
>> :   cisla, ktera zacinaji nahodnym cislem a zvetsuji
>> :   se primo umerne s poctem prenesenych bajtu
>>
>> 	Bezpochyby. Ale nema to co do cineni s vlastni proxy cache.
>>
: Toto musi zaridit transparentni proxy cache.

	Ne, protoze jde o dve _samostatna_ a nezavisla TCP spojeni.

>> : - v pripade snahy o prehozeni existujiciho
>> :   TCP spojeni na cilovy server by tudiz
>> :   s pravdepodobnosti hranicici s jistotou onen
>> :   server poslal jine iniciacni poradove cislo
>> :   TCP spojeni
>>
>> 	Tady se neprehazuje zadne existujici spojeni. U transparentni proxy
>> klient primo vytvari TCP spojeni s tim proxy (i kdyz o tom nevi).
>>
: Nerozumim vam. Klient si mysli, ze ustavil spojeni s cilovym serverem.
: Transparentni proxy cache zjisti, ze spojeni, ktere odchytila je http
: RELOAD az kdyz ho ustavi a chvili komunikuje.

	Zjisti to, kdyz ustavi TCP spojeni _s klientem_. TCP spojeni
s WWW serverem zacne ustavovat samostatne az v pripade, ze nezna sama
odpoved nebo ze jde o HTTP_CLIENT_REFRESH pozadavek (reload).

	To vam ale porad vysvetluji principy klasicke transparentni proxy
cache, coz je v dnesni dobe standardni a zvladnuty problem.

	To co jsem navrhoval ja bylo, aby to druhe TCP spojeni (od cache
k www serveru) bylo ustavovane se zdrojovou adresou klientskeho pocitace
(coz samozrejme vyzaduje dalsi netrivialni spolupraci routeru a asi i
TCP stacku na pocitaci cache). Pak by WWW server nic nepoznal a dany objekt
by se presto dostal do cache.

-Yenya

--
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz>       http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz   0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\             Czech Linux Homepage:  http://www.linux.cz/              ///
/// I think I'd rather be forced to learn perl than 68020 MMU. -Alan Cox \\\



More information about the net mailing list