Dal punto di vista prettamente teorico è una tecnica estremamente semplice. È sufficiente dare priorità al traffico di rete ritenuto più importante rispetto a quello "secondario". Dietro questa definizione, piuttosto scarna, si nascondono tecniche e tecnologie riconducibili alla prioritizzazione del traffico di rete, detta anche CoS (acronimo di Class of Service, Classe di servizio). La realtà, come vedremo, è ben diversa.
A cosa serve la prioritizzazione del traffico di rete
Ideata agli albori delle comunicazioni di rete, la tecnica che permette di stabilire delle categorie gerarchiche per il traffico dati, si è resa necessaria nel momento in cui il numero di utenti è iniziato a crescere e la mole di informazioni da trasmettere ha assunto una massa critica. Per evitare un sovraccarico delle risorse del network – e il conseguente collasso dell'intera struttura – si è preferito fissare dei criteri che permettessero, all'occorrenza, di far transitare prioritariamente una tipologia di dati piuttosto che un'altra. In questo modo è stato possibile "salvare" la rete e far sì che tutte le comunicazioni, in un modo o in un altro (e in tempi più o meno lunghi), giungessero comunque a destinazione.
Che cos'è il CoS
Il nome Class of Service non è stato scelto a caso: il traffico dati viene infatti suddiviso in "classi" di importanza e successivamente "gerarchizzato". Generalmente, la prioritizzazione del flusso dei pacchetti dati genera tre diverse classi di importanza: alta (detta anche "oro"), media (detta "argento") e bassa (livello "bronzo"). In questo schema, i dati inseriti nella classe più elevata avranno maggiori possibilità di essere recapitati in tempi brevi. Al contrario i pacchetti della classe bronzo saranno messi in attesa sino a che la rete non avrà liberato sufficienti risorse per farli transitare.
Differenze tra QoS e CoS
Se la descrizione del Class of Service vi richiama alla mente il Quality of Service avete (in parte) ragione. Le due tecniche, infatti, sono simili e producono entrambe una gerarchizzazione dei pacchetti dati in transito lungo la rete. Il QoS, però, garantisce risultati migliori rispetto al CoS, tanto che quest'ultimo può essere anche inteso come una "sottospecie" del più generico Quality of Service.
Il QoS, infatti, è un insieme di protocolli (come il RSVP, Resource reservation protocol), di tecniche di allocazione della banda e di ingegneria della rete che assicura un determinato livello di servizio. Ciò vuol dire che, nel caso si decida di dare priorità a pacchetti dati multimediali oppure a quelli videoludici, il QoS del router farà in modo di dare precedenza a questa tipologia di dati rispetto agli altri. Con il CoS, invece, l'utente (e il gestore di rete) non ha alcuna certezza sul momento di "consegna" dei pacchetti prioritizzati.
Per fare un'analogia con il mondo reale, si potrebbe dire che il CoS è un corriere che offre agli utenti servizi prioritari senza però specificare quali siano i tempi di consegna precisi. Il QoS, invece, garantisce agli utenti anche la data di consegna, offrendo quindi un servizio migliore. Ciò accade perché la prioritizzazione CoS non possiede protocolli o procedure di rete che possano garantire le tempistiche di consegna, non potendo influenzare i processi che potremmo definire "superiori" (se, ad esempio, la rete è congestionata a causa di un eccesso di traffico dati, il CoS non ha strumenti che gli consentano di velocizzare e snellire il flusso informativo a quel livello). Tutto ciò che il CoS può garantire è che alcuni pacchetti partano e vengano consegnati prima degli altri.
Tattiche di Class of Service
Con gli anni, il "parco" di tecniche CoS per la prioritizzazione del traffico di rete si è arricchito sempre di più, così da dare risposta a varie esigenze.
- MAC layer prioritization. Attiva al secondo livello del modello ISO/OSI, la prioritizzazione MAC consente di stabilire sette diverse fasce di priorità a seconda della tipologia di dati scambiati all'interno di una rete informatica. Il "merito" è da attribuirsi ad alcuni bit di informazione inseriti nel MAC header del frame Ethernet che ne identificano il tipo di informazione: a seconda della configurazione dei bit in questione, i dispositivi di rete quali router e switch sapranno qual è la tipologia di traffico in transito e potranno così prioritizzarla. In quest'ambito la precedenza viene data, nell'ordine: ai messaggi di controllo dello stato della rete, al traffico vocale, al traffico multimediale, ai pacchetti dati sensibili alla latenza (la cui consegna deve avvenire entro un tempo limite) e via via tutti gli altri
- VLAN tagging. Grazie ad alcuni tag inseriti nell'header di un pacchetto dati, un amministratore di rete può creare una rete virtuale all'interno di un network fisico (VLAN sta per Virtual Local Area Network). Ciò permette di creare più reti virtuali all'interno di un'unica infrastruttura reale e snellire così il traffico all'interno del network: l'amministratore può scegliere i percorsi che determinate tipologie di pacchetti dati debbano seguire onde evitare che determinati nodi finiscano con l'intasarsi causando un deterioramento generale delle prestazioni
Problemi con il CoS
La prioritizzazione del traffico dati non è, ovviamente, priva di problematiche. La gestione dei pacchetti a bassa priorità pone dei seri problemi, soprattutto nel caso in cui il traffico nella rete sia elevato. Nel caso in cui i pacchetti dati non prioritari siano archiviati all'interno della cache di router e switch, infatti, può accadere che la coda di trasmissione si allunghi a dismisura e i dati più vecchi finiscano in time out e quindi vengano cancellati senza mai essere stati inviati. In questi casi il sistema informatico dovrà occuparsi di inviarli nuovamente, causando però invevitabilmente un decadimento nelle prestazioni della rete.