Contrassegnare la porta UDP della VPN come alta priorità è la modifica di QoS vocale più comune, e non separa una chiamata dal trasferimento di file che condivide quel tunnel. Entrambi i flussi escono dallo stesso socket cifrato. Il contrassegno dice all'hop successivo che tutto conta allo stesso modo, il che equivale a non dirgli nulla. Ciò che protegge una chiamata è una classificazione affidabile prima della cifratura più una coda che controllate davvero.

Il tunnel nasconde il flusso che volevate classificare

La cifratura sostituisce le intestazioni interne con una sola intestazione esterna per tunnel. Dopo, voce e traffico di backup presentano la stessa origine, destinazione e porta di trasporto, quindi un classificatore basato sulla porta del tunnel non riesce a distinguerli. Qualunque cosa promuoviate, la promuovete in blocco.

Un valore DSCP impostato dall'applicazione di origine sopravvive solo se qualcosa lo copia verso l'esterno. OpenVPN 2.6 ha passtos, documentato con ambito IPv4; IPsec applica la propria politica di copia o mappatura al confine del tunnel. Senza questo passaggio il pacchetto esterno viene contrassegnato con qualunque valore predefinito usi l'interfaccia del tunnel, e la coda a valle non scopre mai che dentro c'è una chiamata.

I contrassegni copiati meritano la stessa diffidenza di qualsiasi valore fornito dal client. Una workstation può rivendicare l'inoltro accelerato per un processo di backup, quindi ammissione e ricontrassegno al confine di fiducia devono stare nel progetto prima che al contrassegno si creda.

La priorità conta solo dove si forma la coda

È un uplink saturo a trasformare un buon codec in voce robotica, e la coda che si riempie di solito sta nel dispositivo di accesso o nel buffer del fornitore. Modellare il percorso in uscita alla velocità utilizzabile, meno l'overhead del tunnel e del collegamento, è ciò che tiene quella coda su hardware che amministrate voi e non nel buffer di qualcun altro.

L'accodamento equo e la gestione attiva delle code aiutano anche senza una classe vocale, perché impediscono a un flusso massiccio di riempire il buffer. CAKE su Linux raggruppa modellazione, equità per flusso e classi Diffserv opzionali in un solo qdisc, e il gestore di rete distribuito dovrebbe possedere quella configurazione invece di una seconda coda concorrente. Senza modellazione, una classe che supera il traffico massiccio attende comunque dietro un buffer già pieno.

Il trattamento in ingresso non è inutile, ma agisce dopo che il pacchetto ha attraversato il collegamento ricevente. Può influenzare un mittente reattivo e non può rimborsare un ritardo già speso a monte, quindi è una mitigazione e non una garanzia.

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

Ciò che sopravvive su internet pubblico

L'architettura Diffserv descrive il trattamento all'interno dei domini amministrativi, per cui un fornitore può ignorare o riscrivere un contrassegno a un confine. L'affermazione opposta, che ogni rete lo rimuova sempre, è altrettanto infondata. La domanda onesta è a cosa questo percorso specifico sia contrattualmente tenuto e controllato. Verificatelo con una sonda contrassegnata invece di ripetere una regola letta da qualche parte.

Chiedete cosa fa il fornitore con la classe, poi misuratelo. Un contrassegno conservato ma non schedulato è decorazione; un percorso che schedula senza vedere il contrassegno è un altro problema, e i due richiedono correzioni diverse.

Un piano di misura che isola lo stadio

Fate una chiamata normale con un caricamento concorrente controllato, poi ripetetela su un collegamento via cavo. Guardate cosa ha perso la chiamata, cosa hanno registrato i contatori di classe e quanto l'interfaccia lavora vicino al suo limite reale invece che alla velocità dichiarata del piano.

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

Se il contatore della classe vocale resta a zero, la classificazione o la copia del contrassegno è rotta e nessuna priorità aiuterà. Se il contatore di classe si muove localmente mentre il ritardo continua a salire, il collo di bottiglia è oltre il vostro gateway. Nessuno dei due risultati si corregge alzando il valore di priorità.

Articoli correlati