Commutazione di pacchetto

Da Wikipedia, l'enciclopedia libera.
Vai a: navigazione, cerca

In informatica e telecomunicazioni la commutazione di pacchetto (in inglese packet switching) è una tecnica di accesso multiplo a ripartizione nel tempo, utilizzata per condividere un canale di comunicazione tra più stazioni in modo non deterministico, generalmente per implementare una modalità di trasferimento dati a pacchetto in reti di calcolatori o più in generale in reti di telecomunicazioni. Si distingue dalla modalità di trasferimento a commutazione di circuito che è invece tipicamente usata nelle comunicazioni telefoniche.

Tali tecniche non comportano l'attivazione di una linea di comunicazione dedicata (fissa) fra un elaboratore ed un altro, ma consentono lo svolgimento simultaneo di più comunicazioni (percorsi) fra mittente e destinatario, grazie alla segmentazione dell'informazione da trasmettere in unità informative o pacchetti, massimizzando così l'efficienza di utilizzazione dei mezzi trasmissivi impiegati.

Tra le reti a commutazione di pacchetto si annoverano le reti locali di calcolatori, la rete Internet e le moderne reti radiomobili cellulari.

Indice

[modifica] Caratteristiche

La commutazione di pacchetto è uno dei possibili metodi di multiplazione, ovvero è una tecnica per suddividere la capacità trasmissiva di un canale tra diversi utilizzatori. Vedi anche Multiplazione.

In una rete a commutazione di circuito la capacità del canale trasmissivo è interamente dedicata ad una specifica comunicazione. In una rete di questo tipo (ad esempio, quella telefonica), dopo una fase di segnalazione si stabilisce (instaura) una connessione diretta tra sorgente e ricevente al momento di inizio della comunicazione (ad esempio quando inizia la chiamata telefonica). Invece la commutazione di pacchetto si rivela molto più efficiente dal punto di vista dell'utilizzazione del mezzo trasmissivo nonostante la maggior quantità di dati inviata (overhead dei pacchetti), in quanto i canali fisici sono utilizzati solo per il tempo strettamente necessario. Inoltre, poiché ogni pacchetto porta con sé la sua identificazione, una rete può trasportare nello stesso tempo pacchetti provenienti da sorgenti differenti.

La commutazione di pacchetto permette quindi a più utenti di inviare informazioni attraverso la rete in modo efficiente e simultaneo, risparmiando tempo e costi mediante la condivisione di uno stesso canale trasmissivo (cavo elettrico, etere, fibra ottica ecc.). Il prezzo da pagare è in termini di ritardo di propagazione variabile a seconda del percorso seguito dal pacchetto che si paga nelle comunicazioni real-time su tali reti come ad esempio la conversazione, nella maggior quantità di dati da trasferire a causa dell'informazione di overhead del pacchetto e di integrità informativa se il pacchetto è perso. Inoltre non può garantire predeterminate prestazioni come invece è in grado di fare la commutazione di circuito e, data la natura non continuativa della trasmissione, è soggetta al fenomeno della congestione nel caso di concorrenza trasmissiva da sorgenti differenti.

Per le sue caratteristiche, la commutazione di pacchetto pone quindi un problema nel caso sia necessaria una disponibilità garantita di banda o nelle trasmissioni real time come le comunicazioni vocali tipiche della telefonia (che richiedono ritardi molto limitati se non nulli) o quelle audio-video: si pensi infatti a una trasmissione video in diretta dove le immagini arrivano con un flusso costante senza alcun ritardo variabile. Per affrontare questo aspetto viene sfruttata la possibilità, già prevista negli standard relativi, di assegnare livelli di priorità ai pacchetti per garantire che i pacchetti relativi a informazioni più sensibili ai ritardi o alla perdita di banda disponibile abbiano la precedenza rispetto ad altri pacchetti che abbiano esigenze inferiori (classi di qualità di servizio). Su un tale meccanismo di priorità è basato per esempio il protocollo e la tecnologia Voip che consente la trasmissione vocale su IP.

La commutazione di pacchetto basa inoltre il suo funzionamento su un instradamento dei pacchetti basato su tabelle di routing di tipo dinamico ovvero la rete ha la capacità di riautoconfigurarsi nei percorsi di instradamento all'interno dei nodi di commutazione (router) grazie ai protocolli di routing nel caso in cui determinati collegamenti o link trasmissivi diventano inoperativi ovvero vanno fuori servizio per guasti vari garantendo così affidabilità, disponibilità e tolleranza ai guasti alla rete intera.

Storicamente la commutazione di pacchetto nasce negli Stati Uniti con la rete ARPANET, la progenitrice della Rete Internet, nel contesto della guerra fredda con la necessità di avere una rete il cui funzionamento fosse resistente ovvero indipendente da possibili attacchi in modo da poter aggirare guasti o rotture su collegamenti singoli grazie proprio alla capacità di riautoconfigurazione del routing tipica della commutazione di pacchetto.

[modifica] Funzionamento

[modifica] Pacchetti

In una rete a commutazione di pacchetto (PBN, Packet Based Network) l'informazione da trasmettere viene suddivisa in pacchetti di dimensione abbastanza piccola; ad ognuno di essi viene aggiunta un'intestazione (header) che contiene tutta l'informazione necessaria affinché il pacchetto possa essere inoltrato fino alla sua destinazione finale, ovvero l'indirizzo del destinatario, la sua posizione (numero di pacchetto) all'interno del flusso dell'informazione che viene trasferito. I pacchetti vengono inviati individualmente attraverso la rete e vengono poi riassemblati, grazie al numero di pacchetto, nell'ordine originale quando arrivano sul computer o sistema ricevente del destinatario.

L'intera capacità trasmissiva disponibile viene impegnata per la trasmissione di ciascun pacchetto. La presenza dell'header per ogni pacchetto fa si che parte della capacità trasmissiva della rete sia spesa per trasmettere l'informazione aggiuntiva di overhead ovvero in altri termini sia necessaria una capacità maggiore a parità di carico utile (payload) del pacchetto e questo rappresenta uno svantaggio della commutazione di pacchetto rispetto alla commutazione di circuito. Se vi sono più pacchetti da trasmettere contemporaneamente, questi vengono memorizzati in una coda, subendo un ritardo di accodamento e rischiando di essere scartati in caso di esaurimento della memoria disponibile (buffer) per la coda.

[modifica] Commutatori

Quando un nodo intermedio detto commutatore di pacchetto, generalmente un router o uno switch, riceve un pacchetto, esso decide quale è il percorso migliore che il pacchetto può prendere per raggiungere la sua destinazione grazie alle informazioni fornite dalla tabelle di routing e alla cosiddetta metrica assegnata ai percorsi possibili. Questa strada può cambiare da pacchetto a pacchetto dipendentemente dalle condizioni della rete (congestione o meno, malfunzionamento del link e router, capacità massima dei link ecc...), per cui pacchetti appartenenti ad uno stesso messaggio possono intraprendere anche percorsi distinti. Le tabelle di routing sono costruite dinamicamente grazie alle informazioni fornite dai protocolli di routing.

[modifica] Ritardi

Un pacchetto che attraversa una rete subisce un ritardo, legato in parte alle caratteristiche del percorso ed in parte allo stato di carico della rete.

Le componenti del ritardo sono:

  • ritardo di elaborazione - il tempo necessario a ciascun commutatore per processare il pacchetto e deciderne la destinazione e quindi l'interfaccia di uscita . Se un commutatore agisce a diversi livelli, ciascun livello aggiungerà una sua componente di ritardo. In particolare il commutatore dovrà:
  • ritardo di trasmissione - il tempo necessario per trasmettere il pacchetto alla velocità di trasmissione della linea di trasmissione (link). È dato dal rapporto tra lunghezza in byte del pacchetto e velocità o capacità di linea.
    • Molti commutatori utilizzano la tecnica store and forward, ovvero ricevono tutto il pacchetto, lo elaborano, e poi lo accodano in un buffer per la successiva ritrasmissione. Pertanto i ritardi di trasmissione dei commutatori attraversati devono essere sommati tra loro.
    • In alcuni casi si usa invece la tecnica cut-through, per cui il commutatore, appena ha ricevuto informazioni sufficienti ad instradare il pacchetto, inizia a trasmetterlo sulla porta in uscita, se questa non è già impegnata. In questo caso, quando il pacchetto trova la porta di uscita libera, il ritardo di trasmissione non si accumula.
  • ritardo di coda (queuing delay), dovuto al fatto che i pacchetti in uscita o in entrata non sempre vengono trasmessi/ricevuti immediatamente. Infatti la linea in uscita può essere occupata da altri pacchetti in corso di trasmissione/ricezione. In questo caso, il pacchetto viene salvato in una memoria temporanea del commutatore (buffer) detta coda, per venir trasmesso appena possibile. Il tempo atteso dal pacchetto nella coda è detto appunto ritardo di coda, ma di esso non è possibile stabilirne a priori la durata in quanto varia in funzione della dimensione della coda. Il ritardo di coda può però essere caratterizzato statisticamente tramite distribuzione di probabilità e di questo si occupa la teoria delle code.
    • Se vengono applicate tecniche di qualità di servizio, alcune classi di pacchetti otterranno un trattamento preferenziale alla coda in uscita, per cui esse avranno diverse distribuzioni del ritardo di coda.
  • ritardo di propagazione - il tempo necessario al segnale fisico per propagarsi lungo una linea di trasmissione fino al successivo commutatore e da qui alla destinazione finale. Nei mezzi trasmissivi come rame o fibra ottica, i segnali si propagano ad una frazione della velocità della luce nello specifico mezzo trasmissivo, indicativamente 200.000 km/s. Quindi il ritardo di trasmissione è stimabile grossolanamente in 5 μs/km.

È anche possibile che i pacchetti inviati tra due stessi host in momenti diversi subiscano ritardi differenti a causa di differenze nei percorsi di instradamento seguiti cioè dunque nei diversi tempi di propagazione e a causa dei tempi variabili in coda. La variazione del ritardo subito dai pacchetti è detta jitter.

[modifica] Perdita di pacchetti

In virtù della mancanza di riservamento di risorse di trasferimento dedicate e fisse alla trasmissione dei pachetti di una stessa connessione, una rete a pacchetto non può generalmente garantire che tutti i pacchetti inviati arrivino a destinazione.

La perdita di pacchetti può avvenire in diverse occasioni. Un pacchetto può perdersi in quanto viene ricevuto con un errore e quindi scartato, oppure per condizioni di congestione, quando il buffer di un commutatore, nelle porte di ingresso o in quelle di uscita, risulta saturo e quindi si trova costretto a scartare pacchetti (buffer overflow).

Alcuni protocolli come il TCP, sono in grado di rilevare la perdita di pacchetti e richiederne la trasmissione, tuttavia non tutti i tipi di trasmissione a pacchetto utilizzano tali protocolli oppure il tipo di informazione da trasferire è tale per cui la ritrasmissione non è possibile. In questi casi, si usano politiche diverse per garantire il più possibile l'integrità per lo meno dei dati considerati più rilevanti o importanti, come per esempio la decisione di scartare per primi i pacchetti a priorità più bassa in caso di congestione o l'utilizzo di meccanismi di rilevamento e correzione degli errori.

[modifica] Limiti

La tecnologia a commutazione di pacchetto rispetto alla tecnologia a commutazione di circuito presenta dei limiti per quanto riguarda il monitoraggio e il controllo della corretta funzionalità della rete. Essendo stata concepita inizialmente per il trasferimento di dati con modalità best-effort o comunque con esigenze limitate di reattività in tempo reale, non prevedeva i meccanismi di reazione rapida tipici delle reti di telefonia basate su commutazione di circuito (come per esempio la capacità di dirottare il traffico su un circuito alternativo entro 50 millisecondi dalla rilevazione di un guasto distruttivo). Questa ridotta capacità ha richiesto quindi la definizione di meccanismi aggiuntivi come per esempio l'utilizzo di trame speciali (le cosiddette trame di Operation, Administration and Maintenance, abbreviate in OAM) che consentono, per esempio sulla base di una loro trasmissione periodica, di controllare in tempo reale la rete, di trasferire tra i nodi informazioni di malfunzionamenti, di generare sui nodi segnalazioni di guasto di rete e di stabilire percorsi alternativi (normalmente precalcolati) con tempi confrontabili con quelli delle reti telefoniche a commutazione di circuito. Queste stesse trame di OAM consentono inoltre il monitoraggio in tempo reale del livello di qualità del servizio, in particolare dei servizi per cui aspetti quali ritardo di propagazione o variazioni eccessive del ritardo di propagazione possono avere effetti negativi per l'utente finale (è il caso per esempio del Voice over IP, rendendo così possibile l'impiego affidabile di tali reti anche per servizi ad elevate richieste di qualità.

[modifica] Bibliografia

[modifica] Voci correlate

[modifica] Collegamenti esterni

Telematica Portale Telematica: accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete
Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Comunità
Stampa/esporta
Strumenti
Altre lingue