Nell’ambito dei sistemi di telecomunicazioni classici, vengono comunemente utilizzate due tecniche di multiplexing che prendono il nome di Time-Division Multiplexing (TDM) e Frequency-Division Multiplexing (FDM) rispettivamente.
La prima è una tecnica di condivisione di un canale di comunicazione secondo la quale ogni dispositivo ottiene a turno uso esclusivo dello stesso per un breve lasso di tempo. La TDM è la scelta preferita per sistemi a commutazione di circuito poiché permette di garantire la costanza del bit-rate assegnato a ciascun utente, eventualmente anche a costo di una non piena efficienza di sfruttamento della larghezza di banda del mezzo trasmissivo.
A differenza di quanto accade in una rete a commutazione di pacchetto, infatti, in una rete a commutazione di circuito la capacità del canale trasmissivo è interamente dedicata ad una specifica comunicazione. All’inizio della comunicazione si stabilisce una connessione diretta tra sorgente e ricevente: per questo motivo, storicamente, la tecnica TDM viene utilizzata nelle reti telefoniche.
La multlplazfonc a divisione di frequenza, meglio conosciuta come Frequency-Division Multiplexing (FDM), è una tecnica secondo la quale un canale trasmissivo viene diviso in sottocanali, ognuno costituito da una banda di frequenza separata. Questo rende possibile la condivisione dello stesso canale da parte di diversi dispositivi che possono comunicare contemporaneamente.
Questa tecnica è utilizzata, ad esempio, nelle trasmissioni televisive e radiofoniche: ogni emittente trasmette contemporaneamente attraverso l’etere che costituisce il canale di comunicazione condiviso. Ogni emittente trasmette su una determinata frequenza ed il ricevente per selezionare la trasmissione deve sintonizzarsi sulla frequenza appropriata.
Le due tecniche che abbiamo visto non possono essere utilizzate efficacemente in una rete packet-switched: nel caso in cui un host non avesse dati da trasmettere ci sarebbe un inutile spreco di risorse in quanto lo slot temporale (TDM) o la banda di frequenza (FDM) non sarebbero utilizzati. Questa situazione è molto più frequente di quanto possa sembrare, si pensi ad esempio ad un utente che spende del tempo a leggere una pagina Web prima di navigare verso un’altra pagina: durante la lettura non genera alcun traffico, quindi il suo slot temporale o la sua frequenza rimarrebbero inutilizzati.
Inoltre TDM e FDM funzionano molto bene se il numero di flussi da gestire è fisso o comunque limitato, ma non sono adeguate a gestire situazioni in cui il numero di flussi può cambiare dinamicamente, e anche questo è uno scenario piuttosto comune in reti packet-switched: si pensi, ad esempio, ad una LAN ed alla possibilità di connettere ad essa un numero di host che può variare nel tempo. L’aggiunta (e la rimozione) di tali host sarebbe problematica da gestire alla luce di quanto appena detto.
Queste considerazioni portano all’utilizzo di un’altra tecnica, definita Statistica/ Time-Division Muftiplexing (STDM). Questa tecnica è estremamente semplice: contrariamente a quanto accade con TDM in cui è consentito trasmettere soltanto all’interno di un determinato slot temporale, in questo caso la trasmissione avviene on demand, ossia se ci sono dati da trasmettere essi vengono trasmessi, senza la necessità di aspettare che arrivi il proprio turno.
A questo punto potrebbero sorgere dei problemi in quanto non esistono meccanismi per assicurare che tutti i flussi possano trasmettere: una volta che un flusso dati è partito, è importante garantire che questo non occupi il mezzo trasmissivo per un tempo indefinito, impedendo ad altri flussi di utilizzare il mezzo trasmissivo stesso. Da qui la necessità di limitare la trasmissione di ciascun flusso per garantire a tutti gli altri flussi di poter utilizzare il mezzo trasmissivo quando ne abbiano necessità.
Il meccanismo che consente di imporre questo limite è il pacchetto: ogni messaggìo viene spezzato in pacchetti, la cui massima dimensione viene limitata. Il flusso, quindi, trasmette una sequenza di pacchetti che, riassemblati, costituiscono il messaggio originario. Il vantaggio di questo approccio è semplice da comprendere: qualora ci fosse un unico flusso, esso potrebbe sfruttare l’intera capacità del mezzo trasmissivo, ma se i flussi fossero due, i pacchetti dei due flussi comincerebbero a intercalarsi, dividendosi equamente la banda disponibile grazie ad una serie di meccanismi per evitare la congestione del mezzo trasmissivo. Se a questo punto si aggiungesse un altro flusso, è facile capire che il meccanismo porterebbe ad un adeguamento dell’utilizzo del mezzo ed i tre flussi si dividerebbero ancora una’volta in parti uguali le capacità del mezzo trasmissivo.
In un approccio del genere non ci sono sprechi di risorse: se c’è un solo flusso esso monopolizza il mezzo trasmissivo e, nel momento in cui si aggiungono altri flussi, essi si dividono la cauacità del mezzo trasmissivo.