Označení UDP portu VPN jako vysoké priority je nejčastější změnou QoS pro hlas a neodděluje hovor od přenosu souborů, který tunel sdílí. Oba toky vycházejí stejným šifrovaným socketem. Značka říká dalšímu skoku, že je vše stejně důležité, což je totéž jako neříct nic. Hovor chrání důvěryhodná klasifikace před šifrováním a fronta, kterou skutečně ovládáte.

Tunel skrývá tok, který jste chtěli klasifikovat

Šifrování nahrazuje vnitřní hlavičky jednou vnější hlavičkou na tunel. Poté hlas i záložní provoz mají stejný zdroj, cíl a transportní port, takže klasifikátor vázaný na port tunelu je nedokáže rozlišit. Co zvýhodníte, zvýhodníte hromadně.

Hodnota DSCP nastavená zdrojovou aplikací přežije jen tehdy, pokud ji něco zkopíruje ven. OpenVPN 2.6 má passtos, dokumentovaný s rozsahem IPv4; IPsec uplatňuje vlastní politiku kopírování nebo mapování na hranici tunelu. Bez tohoto kroku se vnější paket označí jakoukoli výchozí hodnotou, kterou rozhraní tunelu používá, a fronta dále po cestě se nikdy nedozví, že uvnitř je hovor.

Zkopírované značky si zaslouží stejnou nedůvěru jako jakákoli hodnota od klienta. Pracovní stanice může pro zálohovací úlohu požadovat zrychlené předávání, takže admitace a přeznačení na hranici důvěry patří do návrhu dřív, než se značce uvěří.

Priorita se počítá jen tam, kde vzniká fronta

Přesycený vzestupný spoj mění dobrý kodek v robotický hlas a fronta, která se plní, bývá v přístupovém zařízení nebo v bufferu poskytovatele. Tvarování odchozí cesty na použitelnou rychlost, minus režie tunelu a spoje, udržuje tuto frontu na hardwaru, který spravujete, a ne v cizím bufferu.

Spravedlivé řazení a aktivní správa front pomáhají i bez hlasové třídy, protože brání jednomu objemnému toku zaplnit buffer. CAKE v Linuxu spojuje tvarování, spravedlnost na tok a volitelné třídy Diffserv do jednoho qdisc a nasazený správce sítě by měl tuto konfiguraci vlastnit, ne druhé konkurenční nastavení front. Bez tvarování třída, která předčí objemný provoz, stále čeká za bufferem, který je už plný.

Zpracování na vstupu není zbytečné, ale působí až poté, co paket přešel přijímací spoj. Může ovlivnit reagujícího odesílatele a nemůže vrátit zpoždění už spotřebované výše po cestě, takže je to zmírnění, nikoli záruka.

StageWhat you can controlWhat to verify
Application to clientWhich flows are trusted for markingThe marked packets are the ones you intended
Tunnel boundaryWhether the inner mark is copied outwardOuter header carries the expected value
Your uplinkShaping rate and class treatmentQueue counters move for the voice class
Provider pathAlmost nothingWhether the service enforces the marking at all
Receiving sideLocal policy after arrivalDelay that is already in the past

Co přežije ve veřejném internetu

Architektura Diffserv popisuje zacházení v administrativních doménách, a proto poskytovatel může značku na hranici ignorovat nebo přepsat. Opačné tvrzení, že ji každá síť vždy odstraní, je stejně nepodložené. Poctivá otázka zní, k čemu je tato konkrétní cesta smluvně zavázána a jak je vynucována. Otestujte to označenou sondou, místo abyste opakovali pravidlo, které jste někde četli.

Zeptejte se, co poskytovatel s třídou dělá, a pak to změřte. Značka, která se zachová, ale neplánuje, je dekorace; cesta, která plánuje, aniž by značku viděla, je jiný problém a oba potřebují jiné opravy.

Plán měření, který izoluje etapu

Proveďte jeden běžný hovor s řízeným konkurenčním uploadem a pak ho zopakujte na kabelovém spoji. Podívejte se, co hovor ztratil, co zaznamenaly čítače třídy a jak blízko jede rozhraní svému skutečnému limitu, a ne inzerované rychlosti tarifu.

tc -s qdisc show dev eth0
tc -s class show dev eth0
mtr -rwzbc 50 voice.example.net

Pokud čítač hlasové třídy zůstane na nule, klasifikace nebo kopírování značky je rozbité a žádná priorita nepomůže. Pokud se čítač třídy hýbe lokálně, zatímco zpoždění dál roste, úzké místo je za vaší branou. Ani jeden z výsledků se neopraví zvýšením hodnoty priority.

Související články