"Podporuje multicast" odpovídá na otázku protokolu a otázku kapacity nechává nedotčenou. Provozně je důležité, kolik kopií server vyšle pro jeden skupinový paket a které tunely je nesou. Jedna odebírající aplikace, která tok přijímá, dokazuje jen to, že doručení někde funguje. Nedokazuje, že nezainteresovaní klienti byli ušetřeni šířky pásma.

Tři otázky uvnitř jednoho tvrzení o funkci

Členství ve skupině se ptá, zda se příjemce ke skupině připojil. Doručení tunelem se ptá, zda paket tunelem vůbec prošel. Politika replikace se ptá, kolik kopií server vytvořil a komu. Prohlášení dodavatele může platit pro první a mlčet o třetí, a právě tam sídlí náklady.

Při dimenzování spoje je držte oddělené. Odchozí rozpočet na straně serveru určuje jen třetí otázka.

Co server v uživatelském prostoru dělá se skupinovým paketem

V tradičním serveru OpenVPN 2.6 v uživatelském prostoru se příchozí broadcastový nebo multicastový paket klasifikuje na vstupní cestě TUN/TAP a předá se rutině broadcastového rozesílání, nikoli vyhledávání podle skupiny. Ta rutina prochází instance klientů, přeskakuje odesílatele a každou zastavenou instanci, použije kontrolu VLAN tam, kde je nakonfigurovaná, a zařadí kopii pro každého zbývajícího klienta. Žádný krok v této smyčce nenahlíží do tabulky členství. To je replikace ve stylu broadcastu a to je celý mechanismus.

Berte to jako vlastnost této cesty kódu, ne jako univerzální zákon. Akcelerované datové cesty, jiné implementace a různé verze se mohou chovat odlišně a nic z toho nedělá z TAP požadavek ani opravu.

Naplánujte kopie dřív, než cokoli změříte

Vezměte přenosovou rychlost užitečného zatížení a vynásobte ji počtem způsobilých klientů. Tok vysílající jeden megabit za sekundu dvaceti klientům vytváří dvacet megabitů za sekundu užitečného zatížení opouštějícího server, před zapouzdřením, opětovným přenosem a jakoukoli režií na klienta. Ta aritmetika je rozpočet, ne měření vašeho nasazení.

ip -s link show tun0

Přečtěte čítač odeslaných bajtů před pevným intervalem a po něm s jedním známým aktivním odesílatelem. Vydělte intervalem a porovnejte s přenosovou rychlostí vynásobenou počtem klientů. Číslo blízké rychlosti jednoho toku znamená, že replikace je omezená; číslo blízké vynásobené rychlosti znamená, že každý klient dostává kopii.

Čítač zahrnuje i váš vlastní tunelový provoz, proto držte testovací okno krátké a hostitele jinak v klidu. Přesnost je méně důležitá než řád velikosti a to je vše, co potřebujete k rozlišení jedné kopie od dvaceti.

Test se dvěma klienty, který vyřeší otázku rozsahu

Připojte jednoho klienta, který má tok přijímat, a druhého, který nemá. Spusťte odesílatele a pak po stejný interval sledujte čítače tunelu druhého klienta. Růst u druhého klienta je přímým důkazem široké replikace, ať seznam funkcí říká cokoli.

Filtrujte zachytávání na adresu skupiny, abyste nečetli nesouvisející provoz, a omezujte ho na tunelové rozhraní. Zachytávání fyzického rozhraní na vytíženém hostiteli vytváří soubor, který nikdo nedokáže vyložit, a může uchovat uživatelská data, která jste sbírat nechtěli.

Pak role obraťte. Pokud výsledek sleduje příjemce a ne skupinu, díváte se na něco, co bere členství v úvahu, a dřívější předpoklad byl ve váš prospěch chybný.

Volba omezeného návrhu místo odstraňování limitů

Když je rozesílání příliš široké, opravou je podporované omezené uspořádání distribuce, ne smazání všech ovládacích prvků, které máte. Možnosti zahrnují přesun distribučního bodu blíž k příjemcům, použití modelu odběru specifického pro zdroj, který nese identitu zdroje spolu se skupinou, nebo rozdělení toku tak, aby nezainteresovaná místa nikdy neseděla na stejné distribuční hranici.

Držte identitu zdroje a skupiny oddělenou od pouhého faktu, že cíl je multicast. Příjemce, který rozpozná skupinu, ale ne zdroj, je jiný odběratel než ten, kdo požádal konkrétní kanál. Smíchání obojího dělá z pozdějšího plánování kapacity hádání.

Model multicastového kanálu specifického pro zdroj je referencí pro tento rozdíl. Ať zvolíte jakýkoli návrh, zapište množinu způsobilých protějšků, vlastníka replikace a čítač, který příště přečtete; právě tento záznam mění překvapení v šířce pásma na známý náklad.

Související články