[LUGOS] dual uplink & routing
iztok
iztok at si-con.com
Sat Jun 11 15:08:33 CEST 2005
> Ne. Pri njemu je navaden Linux kernel, ki se odloca, po kateri poti bo
> sel ven paketek (in na podlagi te odlocitve sele ugane NAT naslov, ko
> dela SNAT). Kar bi on rad je to, da ko si linux enkrat zapomni route
> do dolocenega cilja, ta route potem vztraja dovolj dolgo, da
> uporabnik, ki vsake toliko casa klikne v nek spletni vmesnik, ne
> poslje zahteve enkrat po enem linku, drugic pa po drugem (ravno zato,
> ker nekateri seje omejujejo na cookie in IP naslov odjemalca).
Ja, a ves kako se linux kernel odloci, kam bo routal? Verjetno network
proximity algoritma nima.
>
> > Jaz doma testiram LinkProof
> > (http://www.radware.com/content/products/lp/default.asp) in the
> problemov
> > nimam. LinkProof zgradi tabelo linkov in routa glede na odzivni cas do
> > destinacije.
>
> Ja, to je dober nacin za imet ucinkovit policy routing, ampak obstaja
> par problemov, ki izhajajo iz same zasnove IP protokolov (efektivno
> podvojis potencialni timeout, kar pomeni da bo odjemalec, ki caka na
> odgovor, v nekaterih primerih obupal in uporabniku sporocil napacno
> napako, ceprav bo potem, ko bos imel enkrat pot do cilja dognano, vse
> lepo delovalo). Drugi problem so paranoicna omrezja, ki zelo pazijo,
> kaksne pakete spustijo k sebi in koliko le-teh (recimo blokirajo
> prakticno ves icmp in delajo rate limiting za tcp syn, ki ga s takim
> fastest path discoveryjem hitro zamasis).
Obstaja vec nacinov za odlocitev. Pa se tabelo zgradis, ki jo le obcasno
obnavljas, tako da samo prvi paket na doloceno C klaso povzroci ta dodaten
zamik.
>
> > Obstaja pa tudi obrnjena varianta, kjer routas ne samo outgoing pakete,
> pac
> > pa tudi incoming glede na odzivni cas. Tako da klientom, ki dostopajo do
> > tvojega streznika pac poves po katerem linku naj ti pridejo.
>
> Eh? Ko paket pride do tebe, ga nimas vec kaj routat, ker je ze pri
> tebi (in na pot, ki jo je ze prehodil nimas nobenega vpliva). Kako
> odjemalcu poves, po katerem linku naj pride? Pri http verjetno to se
> nekako gre, ampak to vsekakor ne more biti generalna resitev za IP ali
> celo TCP.
Trije nacini, ampak najbolj splosno uporaben je pac DNS nacin (seveda, ce
gre klient direktno na IP, potem kaj veliko ne mores narediti, lahko se gres
le triangulacijo v takem primeru, ampak to je hm... malce komplicirano).
Pri DNS nacinu pac klienta posljes na najbilzji streznik s strani DNS
streznika, ki ga ta klient uporablja. Enostavno mu podturis A zapis glede na
odzivni cas do DNS streznika.
Primer:
DNS streznik za site ima pac namesto
www IN A <ip>
napisano
www IN NS <DNS linkproof IP>
linkproof pa potem ko dobi zahtevek od DNS streznika klienta izracuna kateri
IP mora za WWW dati nazaj.
HTTP je se manj problematicen, ker mu lahko podturis HTTP redirect.
Sicer moram se malce bolj pregledati konfiguracijo mojega linkproofa in bolj
raziskovati. Sem pac bolj doma pri WSDjih (Web Server Director). Trenutno se
doma ukvarjam bolj z WSD NPjem.
(http://www.radware.com/content/products/wsd/default.asp).
Sicer imam lab bolj v stali in prav dosti se ne dela, ker pricakujem nove
streznike in se rack si moram narocit, da vse lepo upedenam.
More information about the lugos-list
mailing list