dva interface do WAN

Dan Lukes dan at obluda.cz
Mon Feb 8 02:52:38 CET 2010


On 8.2.2010 0:59, Filip Huska:
>> Spojeni navazuje klient (neni tohle nakonec naprosto vetsinove chovani u klient-server architektury ?)
> Ano, je, neuvedomil jsem si to, omlouvam se. Sam pouzivam spise opacne zamerene servery :
> MRTG, Nagios, jakkekoliv sledovani a seskupovani dat, spojeni do databaze v jine lokaci, backup atd.

Opacne zamerenym serverum se rika klient ;-)

Databazovy klient se pro ucely ukladani dat spojuje na databazovy 
server. Ne obracene. Taktez backup probiha tak, ze klidne uklada zalohy 
na zalohovaci server. No a MRTG je SNMP klient a WWW server.

V seznamu nevidim jediny server, ktery by se spojoval na klienta.

Ale to asi neni podstatne, to je, zrejme, jen nejaky terminologicky 
problem a ty proste pojmem server myslis neco jineho, nez je bezne. 
Nastesti to neni pro problem podstatne. Budeme proste mluvit o tech, co 
spojeni navazuji a o tech, co spojeni prijimaji a pojmum jako server a 
klient se vyhneme - a bude to.

>>> Zajimalo by me, jak by jste resili tohle bez pouziti dynamiky.
>>
>> Chces rict, ze jediny zpusob jak poznat, ze linka je nefunkcni, ktery znas, je dynamicky routing ?
> Ano, v dynamice rozhodnu, ktery upstream je lepsi, proto, aby me mereni bylo nejkvalitnejsi i za cenu zvysenych nakladu  pri zmene route path providera. Kvalitu linky s packetlossem, vetsim poctem hopu,
> velkou latenci povazuji za nefunkcni. Jinak me nenapada jak to zmerit bez traceroutu, serii pingu viz predchozi mail.

No, to je pak jasne, v cem je nedorozumeni.

My se tu bavili o tom, jak zjistit, ze je linka funkcni. Linkou se mysli 
spojeni na nejblizsi router - ten u providera. Dal spojeni neresim - 
pokud mam server, o jehoz provoz mi jde natolik, ze mu zrizuju dve 
nezavisla pripojeni, tak je zrizuju k nejakym serioznim ISP u kterych se 
da rozumne predpokladat, ze maji svoji konektivitu take rozumne 
redundandni - a jakmile se tudiz dostanu na router kterehokoliv z nich 
tak proste mam spojeni kamkoliv.

Ty tu rozebiras, jak zjistit, ktera ze dvou funkcnich je funkcni lepe, a 
to na zaklade docela slozitych kriterii. To znamena, ze bud' potrebujes 
spojeni opravdu super-super-super spolehlive. Jenze, to bys delal k 
takovym ISP, u kterych by nebyl problem dynamicky routing domluvit. 
Takze spis delas spojeni k nejakejm "garazovejm ISP" u kterych ocekavas, 
ze jejich konektivita neni prilis spolehliva ...

To je ale problem jine kategorie, nez o kterem tu byla rec dosud a me 
ten posun nejak uniknul.

> 2 interfacy od 2 ASek na 2 subentech, tzn, kazdy interface ma ipcko z jineho aska a tudiz i default routu

Interface nema route a tudiz ani default route. Routovaci tabulka je 
"per system" nikoliv "per interface". Nektere systemy umoznuji mit v 
routovaci tabulce vic zaznamu pro stejnou sit, co to ale znamena pro 
odesilane pakety se pak na ruznych systemech lisi. FreeBSD dva zaznamy 
pro stejnou cilovou sit neumoznuje vubec, takze odlisne implementace 
nemusime rozebirat.

> Ani proti jednomu z routeru nemuzu navazat zadnou dynamiku.
> Interface A je za cenu nizsi nez interface B, tudiz je "chtene" inicializovat spojeni pres interface A, pokud je v poradku.
> V poradku je mysleno, ze na - napriklad vyhrazene domeny skrze NIX/local bude zarucena idealni cesta s rozumnym zpozdenim,

To chces za malo penez docela dost muziky. Nastesi se i s malym 
kasparkem da hrat velky divadlo. Jen si myslim, ze to co potrebujes je 
natolik specificke, ze to nenajdes hotove a budes si muset trochu 
zaprogramovat, ale ani ne moc slozite, takze to urcite zvladnes. Ono by 
to nejspis slo napsat i jako shellovsky script.

Ohodnotit, jaka linka je "dostatecne dobra" je subjektivni zalezitost, 
ale nastesti, svoji predstavu si dodal - serii pingu. Takze potrebujes 
poslat tu svoji serii pres oba interface, vyhodnotit odpovedi, zjistit, 
ktery smer ti vyhovuje lepe a podle toho nastavit routovaci tabulku.

Jevi se mi to trivialni, at uz to budes psat jako shellovsky script nebo 
jako program v nejakem jazyce.

Jedine s cim bys snad mohl mit problem je - jak poslat pakety pres 
pozadovany interface. Ale na to tu odpoved uz preci padla - to zvladne 
ipfw fwd. A nebo, s ohledem na zrovna dve konkretni pozadavky - dokonce 
to pijde i pomoci host-zaznamu v routovaci tabulce (az si pro kazdy 
interface vyberes na jake cile chces v ramci testu posilat pakety, vyber 
si je tak, aby byly ruzne od stroju na ktere se chces spojovat 
"normalne" a pak si muzes komunikaci na ty vybrane stroje nasmerovat 
beznymi zaznamy v routovaci tabulce do toho smeru, jaky budes potrebovat)


> Jak jsem uvedl, prehodit default routu z interfacu A na interface B - rozhodnuti na zaklade kvality linky A - neni  orisek, to bych vedel. Ale jak vyresit prepojeni zpet aniz bych musel prehazovat default routu kazdych 5 minut abych poslal serii pingu a testu {zahodil mozna flowy}a zase vratil v pripade problemu.

Mam zasadni potiz, ze netusim, proc potrebujes kvuli tomu, abys mohl 
testovat interface X nastavovat defaultni routu tak, aby smerovala 
provoz do interface X. Bud' me nebo tobe neco uniklo.

Do interface X potrebuju nasmerovat pouze testovaci provoz testujici 
linku pripojenou do interface X.

Do interface Y potrebuju nasmerovat pouze testovaci provoz testujici 
linku pripojenou do interface Y.

Default route mi smeruje tam, kam mi vyhodnoceni parametru testovaciho 
provozu reklo, ze je to lepsi.

> A to je na co se ptam, nemam BGP demona, ktery se propocita tabulku a vybere best path, tudiz se dynamicky prehodi.

I kdybys BGP mel, BGP nema ty vlastnosti, ktere ty pozadujes. Jeho 
algoritmus na vyber "best path" je typicky o dost jednodussi, nez ty 
pozadujes (on je ten algoritmus castecne implementacne zavisly, tak to 
nemuzu rict s jistotou - ale proste neznam implementaci, ktera by do 
vypoctu zahronvaly vsechny ty parametry, o kterych's mluvil).

> Zahozeni stavajicich flowu je celkem neprijemne.

Tomu se ale nevyhnes. Zahozeni nebo nezahozeni existujicich spojeni neni 
primarne otazka toho, jestli mas nebo nemas se svymi vice ISP dynamicky 
routing, ale jestli mas skutecne multihomed pripojeni. Coz neni totez, 
jako mit dve "obycejne" linky do jednoho stroje.

Dynamicky routing bezici jen na jedne strane linky (tedy bez kooperace 
protistrany) - to neni problem. To si reknes podle ceho se chces 
rozhodovat "kterou" a pak to proste tak udelas.

Co ale na dvou "obycejnych" linkach a bez spoluprace vsech zucastnenych 
proste nedosahnes je prave to "multihomed". A bez toho neni sance pri 
vypadku jedne linky spojeni, ktera sla pres ni zachranit.

> Chtel bych dynamiku simulovat {to je ta dynamika bez dynamiky ;-)}

Jo, uz jsem pochopil, ze's chtel rict, ze bys rad dosahnul

"funkci jako ma dynamicky routing ale bez nektereho z obvyklych 
dynamickych routovacich protokolu"

Ano, ja to mam ctyrikrat delsi, otazka je, jestli tvoje setrnost za tu 
snizenou pochopitelnost stala.

Mimochodem, dynamicky routing je obecny termin oznacujici situaci, kdy 
se nastaveni routovaci tabulky meni automaticky na zaklade vlastnosti 
sitoveho okoli a nikoliv tim, ze jsou nastavene napevno. "Dynamicky 
routing" neznamena, ze ty informace o okoli musis ziskavat aktivni 
spolupraci s nekym, kdo vi, ze shanis informace kvuli routingu a jako 
takove ti je poskytovat. Je jedno, kde si ty informace sezenes a jak a 
jestli ten druhy vi k cemu je shanis.

Takze to, o cem mluvis je porad dynamicky routing. Proste's vymyslel 
vlastni algoritmus dynamickeho routingu, ktery pro ziskavani informaci 
potrebnych pro svoji cinnost nepotrebuje specializovany protokol pro 
vymenu informaci. Ale porad jde o dynamicky routing.

> Otazka je, zda serii testu poslat nexhopem

Kdyz to je fakt tezky. Nemusis psat litanie jako mam ve zvyku ja. Ale 
opacny extrem je nejmene stejny problem. Pod "posilat test nexthopem" si 
dokazu predstavit celou radu moznosti, co bys tim tak mohl myslet. Ale 
co tim myslis doopravdy, tak fakt netusim. Vzhledem k tomu, ze otazka 
smeruje k posouzeni efektivity takoveho (neznameho) reseni pripadne 
navrzeni reseni efektivnejsimu je to zasadni nedostatek ...

					Dan


More information about the Users-l mailing list