Aktív témák

  • tocsa

    senior tag

    Adott pár darab wireless elérési pont, melyek publikusak, nem védettek, és amelyek tőlem függetlenek, tehát arra az "oldalára" a dolgonak nincsen ráhatásom. Ezek közül egy vagy több leterhelődik rendszeresen. A célom, hogy ezek összességével elérjek egy olyan kapcsolatot, ami megbízható (feltételezve, hogy azért legalább az egyik elérhető lesz).
    Szeretnék összeállítani egy olyan megoldást, ami vagy aggregálja ezeket vagy valamilyen failover megoldást nyújt. A megoldás otthoni lenne, nem céges, emiatt a költségvetés is alacsony.
    Csinált-e valaki már ilyet?

    Sajnos még csak tapogatózom a ködben, tehát azt se tudom, hogy pontosan mire keressek.
    Persze már találtam dolgokat, pl létezik egy ilyen, hogy "Link Aggregation Control Protocol (LACP) and Marker Protocol", vagy más néven IEEE 802.3ad.
    http://docs.sun.com/source/817-3374-11/appB.html
    http://legacyweb.triumf.ca/canarie/amsterdam-test/References/wp-lag-e.pdf
    Azonban ha jól látom ez egy olyan megoldás, ahol a link mindkét oldalán lévő eszköznek érthető módon támogatnia kell a technológiát. Pl adott egy cég két közeli telephelye, ahol kiépítenek 4 db wireless kapcsolatot, és ezt akkor össze tudják trönk-ölni. Magas szintről ez úgy látszik, hogy lesz egy kb négyszer olyan gyors kapcsolat.
    Az a nagyon erős sejtésem, hogy valószínűleg még a SOHO LACP megoldások se olcsók, de mivel eleve nincs ráhatásom a másik oldalra, csak az én oldalamra, ezért ez alapból kiesik.

    Nekem nincs olyan elvárásom, hogy egy darab TCP kapcsolatot is szeretnék gyorsítani, azaz hogy 1 TCP kapcsolati adatfolyam is szét legyen osztva a négy linkre, és ezáltal négyszer olyan gyors legyen. Nekem mindössze az kéne, hogy a redundáns kapcsolatokkal kiküszöböljem a net elérés kiesését.

    A legegyszerűbb megoldás az, ha kinevezek egy master kapcsolatot, és a többire valamilyen intelligens eszköz és/vagy szoftver csak akkor kapcsol automatikusan + transzparensen, hogyha a fő kapcsolat kiesik. Ekkor megpróbálja használni a másodlagosat, ha ez se megy akkor a harmadlagosat, negyedlegeset. Egyébként a kapcsolat kiesése sajnos nem jelenti mindig a kapcsolat teljes lebomlását, hanem néha csak az átvitel zuhan le nullára (mivel publikus a pont ezért sok köcsög leech-eli szerintem). Tehát az adott szoftvernek ezt is tudni kéne monitorozni, nem csak a fizikai kiesést.

    El tudok képzelni egy olyan megoldást is, ahol primitívebb módon vannak trönkölve a kapcsolatok, nem olyan profin, mint egy LACP-nél. Ezalatt azt értem, hogyha megnyílik egy TCP kapcsolat, akkor a szoftver (egy iptables a wireless routeren vagy switchen??? nemtom) stateful módon tudni fogja, hogy melyik access point-ot (mondjuk ez neki egy gateway-nek látszik) használva építette ki, és ezután az adatfolyam azon keresztül bonyolódik. Nem oszlik meg az adatfolyam több linken. Ellenben a szoftver véletlenszerűen vagy round-robin módon mindig más és más működő linket használ. Tehát egy adafolyam sebessége nem haladja majd meg egy link sebességét, de ha több adatfolyam van folyamatban, több ember netezik vagy tölt le, akkor összességében gyorsabb lesz az internet kapcsolat. Plusszban megbízhatóbb is.

    A legértelmesebb dolog amire eddig bukkantam kis netezés után az egy lagg nevű eszköz a FreeBSD-ben:
    http://www.freebsd.org/doc/en/books/handbook/network-aggregation.html

    Sajnos nem sok esélyét látom, hogy a Linksys routerre FreeBSD-t hakkoljak (vagy ez megoldható?). Az itt leírt failover mód nem tűnik rossznak, bár kérdés, hogy érzékelné-e azt az esetet, amikor csak a sebesség esik vissza 0-ra egy linken, de nem esik ki fizikailag. Persze tudom, hogy ez zűrös, mert pl kell legyen valami időkorlát: pontosan mennyi ideig essen vissza teljesn 0-ra, ami már kiesést jelent? Itt valamiféle QoS monitorozás lenne jó, és ha notóriusan gyenge a kapcsolat, akkor pihentetni kellene, és később újra rákukkantani, hogy feléledt-e.

    Most ott tartok, hogy kezdem nézni az iptables failover megoldásokat.
    De addig is szívesen várom a tapasztalatokat, javaslatokat. Mert azért amit szeretnék az nem teljesen valóságtól elrugaszkodott, sőt, valószínűleg mások is találkoztak ilyen problémával.

    Igazából egy olyan dolog kéne szoftveres szinten a routeren, hogy nem egy default gateway van (az ISP / inet kapcsolat felé), hanem több gateway, amelyek közül minden egyes TCP kapcsolat esetén stateful módon random válogat, mindemellett valamilyen módon tudja érzékelni a gateway-ek által reprezentált kapcsolatok "kiesését".

Aktív témák