OpenVPN rozosiela multicast každému klientovi, nie odberateľom
Server v používateľskom priestore kopíruje skupinový paket na každého klienta, nie na odberateľa. Naplánujte rozosielanie, doložte ho čítačmi tunela a potom zúžte rozsah návrhu.
"Podporuje multicast" odpovedá na otázku protokolu a otázku kapacity necháva nedotknutú. Prevádzkovo je dôležité, koľko kópií server vyšle pre jeden skupinový paket a ktoré tunely ich nesú. Jedna odberajúca aplikácia, ktorá tok prijíma, dokazuje len to, že doručenie niekde funguje. Nedokazuje, že nezainteresovaní klienti boli ušetrení šírky pásma.
Tri otázky v jednom tvrdení o funkcii
Členstvo v skupine sa pýta, či sa príjemca ku skupine pripojil. Doručenie tunelom sa pýta, či paket tunelom vôbec prešiel. Politika replikácie sa pýta, koľko kópií server vytvoril a komu. Vyhlásenie dodávateľa môže platiť pre prvé a mlčať o treťom, a práve tam sídli náklad.
Pri dimenzovaní spoja ich držte oddelené. Odchádzajúci rozpočet na strane servera určuje len tretia otázka.
Čo server v používateľskom priestore robí so skupinovým paketom
V tradičnom serveri v používateľskom priestore OpenVPN 2.6 sa prichádzajúci broadcastový alebo multicastový paket klasifikuje na vstupnej ceste TUN/TAP a odovzdá sa rutine broadcastového rozosielania, nie vyhľadávaniu podľa skupiny. Táto rutina prechádza inštancie klientov, preskočí odosielateľa a každú zastavenú inštanciu, použije kontrolu VLAN tam, kde je nakonfigurovaná, a zaradí kópiu pre každého zostávajúceho klienta. Žiadny krok v tejto slučke nenazerá do tabuľky členstva. To je replikácia v štýle broadcastu a to je celý mechanizmus.
Berte to ako vlastnosť tejto cesty kódu, nie ako univerzálny zákon. Akcelerované dátové cesty, iné implementácie a rôzne verzie sa môžu správať odlišne a nič z toho nerobí z TAP požiadavku ani opravu.
Naplánujte kópie skôr, než čokoľvek zmeriate
Vezmite prenosovú rýchlosť užitočného zaťaženia a vynásobte ju počtom spôsobilých klientov. Tok vysielajúci jeden megabit za sekundu dvadsiatim klientom vytvára dvadsať megabitov za sekundu užitočného zaťaženia opúšťajúceho server, pred zapuzdrením, opätovným prenosom a akoukoľvek réžiou na klienta. Tá aritmetika je rozpočet, nie meranie vášho nasadenia.
ip -s link show tun0Prečítajte čítač odoslaných bajtov pred pevným intervalom a po ňom s jedným známym aktívnym odosielateľom. Vydeľte intervalom a porovnajte s prenosovou rýchlosťou vynásobenou počtom klientov. Číslo blízke rýchlosti jedného toku znamená, že replikácia je obmedzená; číslo blízke vynásobenej rýchlosti znamená, že každý klient dostáva kópiu.
Čítač zahŕňa aj váš vlastný tunelový provoz, preto držte testovacie okno krátke a hostiteľa inak v pokoji. Presnosť je menej dôležitá než rád veľkosti a to je všetko, čo potrebujete na rozlíšenie jednej kópie od dvadsiatich.
Test s dvoma klientmi, ktorý vyrieši otázku rozsahu
Pripojte jedného klienta, ktorý má tok prijímať, a druhého, ktorý nemá. Spustite odosielateľa a potom po rovnaký interval sledujte čítače tunela druhého klienta. Rast u druhého klienta je priamym dôkazom širokej replikácie, nech zoznam funkcií hovorí čokoľvek.
Filtrujte zachytávanie na adresu skupiny, aby ste nečítali nesúvisiacu prevádzku, a obmedzte ho na tunelové rozhranie. Zachytávanie fyzického rozhrania na vyťaženom hostiteľovi vytvára súbor, ktorý nikto nedokáže vyložiť, a môže uchovať používateľské údaje, ktoré ste zbierať nechceli.
Potom vymeňte role. Ak výsledok sleduje príjemcu a nie skupinu, pozeráte sa na niečo, čo berie ohľad na členstvo, a predchádzajúci predpoklad bol vo váš prospech nesprávny.
Voľba obmedzeného návrhu namiesto odstraňovania limitov
Keď je rozosielanie príliš široké, opravou je podporované obmedzené usporiadanie distribúcie, nie vymazanie všetkých ovládacích prvkov, ktoré máte. Možnosti zahŕňajú presun distribučného bodu bližšie k príjemcom, použitie modelu odberu špecifického pre zdroj, ktorý nesie identitu zdroja spolu so skupinou, alebo rozdelenie toku tak, aby nezainteresované lokality nikdy nesedeli na rovnakej distribučnej hranici.
Držte identitu zdroja a skupiny oddelene od holého faktu, že cieľ je multicast. Príjemca, ktorý rozpozná skupinu, ale nie zdroj, je iný odberateľ než ten, ktorý požiadal o konkrétny kanál. Miešanie oboch robí z neskoršieho plánovania kapacity hádanie.
Model multicastového kanála špecifického pre zdroj je referenciou pre ten rozdiel. Nech zvolíte akýkoľvek návrh, zapíšte množinu spôsobilých partnerov, vlastníka replikácie a čítač, ktorý nabudúce prečítate; práve tento záznam mení prekvapenie v šírke pásma na známy náklad.