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.
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.
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.
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.
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.
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.