Differenza tra QoS (Quality of service) e ToS (Type of Service)

Da Vocesuip.

Va bene... non sono un esperto di VoIP... ma essendo nella vita professionale un sistemista di rete, e saltuariamente anche un docente in aula per le certificazioni Microsoft, mi permetto di inserirmi nella conversazione e darvi qualche ragguaglio sul ToS (Type of Service).

Anzitutto mi spiace deludervi, ma è altamente improbabile che riusciate ad ottenere dei miglioramenti alterando il valore ToS (Type of Service) dei pacchetti VoIP in uscita dal Fritz, in quanto tale valore al 99,9% è - purtroppo - ignorato dai router dei nostri providers.

Fanno eccezione a questa regola i providers che forniscono esplicitamente un servizio QoS al cliente: in tal caso viene fornita al cliente stesso una tabella, con i valori di riferimento per marcare correttamente i pacchetti in uscita. Tuttavia non mi risulta che qui in Italia esistano providers (almeno per la connettività residenziale) che offrano tale servizio, neanche a pagamento.

Tiscali ad esempio, che fornisce telefonia VoIP in bundle con la sua ADSL, risolve il problema del QoS telefonico a monte dirottando tutto il traffico IP riferito alla voce verso un default gateway dedicato (e più performante). Una soluzione tecnica piuttosto discutibile (in quanto blocca la possibilità di usufruire del medesimo protocollo verso altre destinazioni) però tecnicamente efficace.

Occorre inoltre distinguere la differenza tra QoS e ToS:

Il primo, QoS, è soltanto un parametro di misurazione delle prestazioni di un sistema di comunicazione, e prende in considerazione principalmente tre valori essenziali: - latenza, o ritardo nella consegna (delay)

- percentuale di pacchetti persi (data loss)

- variazione di latenza (jitter)

Il secondo, ToS, non è altro che un semplice byte, sempre presente in ogni pacchetto IP, che descrive il tipo di servizio e la priorità richiesta per le informazioni contenute nel pacchetto stesso.

La corretta gestione del byte ToS, da parte di tutte le infrastrutture di rete coinvolte nel traffico del pacchetto, fanno sì che tale traffico sia gestito in modo prioritario rispetto ad altro traffico. Se questa operazione viene effettuata, allora è possibile misurare le prestazioni della connettività e misurarne i relativi valori (il QoS, appunto).


In ogni caso, la bibliografia del TCP/IP definisce chiaramente il valore del byte ToS (Type of Service). Come ho scritto sopra, il protocollo contempla sempre la sua presenza, nell’header dei pacchetti IP.

I primi tre bit (“PRECEDENCE”, da 0 a 2) sono utilizzati per indicare la precedenza, mentre i successivi 4 bit (“TOS”, da 3 a 6) contengono le informazioni relative all’instradamento. L’ultimo bit (7) invece deve essere a 0.

I 3 bit “PRECEDENCE” indicano priorità crescente con l’aumentare del valore. I 4 bit “TOS”, scritti nell'ordine, descrivono il tipo di servizio richiesto:

• 0000 = normal service

• 1000 = minimize delay

• 0100 = maximize throughput

• 0010 = maximize reliability

• 0001 = minimize monetary cost

L'ultimo bit, chiamato comunemente MBZ (must be zero), deve essere sempre 0.

L’utilizzo di queste informazioni, qualora implementato nei router del provider, comporta però overhead nei router stessi, in particolare in quelli ad alte prestazioni che elaborano grandi quantità di pacchetti. Nella pratica tali informazioni sono di fatto ignorate dai router, per evitare un degrado della qualità del servizio offerta dalla la rete.


Non sono in possesso di dati significativi e dettagliati sulle configurazioni dei router dei nostri providers, ma posso tranquillamente affermare che nella stragrande maggioranza dei casi, il traffico proveniente dal nostro Fritz (o dal nostro modem ADSL) viene gestito in modalità FIFO (first in, firts out). Ciò significa che il provider non garantisce e non gestisce nessuna priorità!

Ma questo non significa che la gestione QoS del nostro Fritz sia inutile. La sua gestione QoS integrata garantisce sempre e comunque la priorità del traffico VoIP all'interno della nostra subnet (casa nostra), limitando il traffico di tutte le altre stazioni connesse durante una sessione VoIP.

Detto ciò, se volete, continuate pure a fare le prove con i vari valori ToS (la tabella ve l'ho riportata sopra), ma ricordatevi che se il provider non gestisce il byte ToS... qualunque valore inseriate sarà ininfluente!

Saluti a tutti, e scusatemi se mi sono dilungato troppo, o se vi ho annoiato dandovi delle nozioni che molti di voi già conoscono (ma magari può comunque essere utile, per chi non le sa).


Post di Bierreuno su Vocesuip. Il post originale lo trovate qui: http://www.vocesuip.com/3-vt5306.html?start=30

Strumenti personali