# X.25

In telecomunicazioni con X.25 si indica un protocollo di rete a pacchetto e orientato alla connessione ovvero a commutazione di circuito virtuale utilizzato generalmente come protocollo di trasporto nella rete di trasporto.

## Descrizione

Il protocollo X.25 è stato sviluppato dall'Unione internazionale delle telecomunicazioni (ITU) e comprende i primi tre livelli dello standard OSI:
* al livello 1 (fisico) comprende diversi standard come V.35, RS-232 e X.121
* al livello 2 (collegamento) implementa lo standard ISO-HDLC chiamato Link Access Procedure Balanced (LAPB) che fornisce un meccanismo di collegamento senza errori tra due nodi direttamente connessi. Gli errori sono rilevati e corretti ad ogni passaggio tra un nodo di transito e l'altro. È questa caratteristica che fa dell'X.25 un protocollo così robusto ed adatto a linee disturbate cioè ad alto BER. D'altro canto, poiché ogni frammento dev'essere ricevuto nella sua interezza e controllato prima di essere propagato al nodo successivo, si introduce un notevole carico elaborativo su ciascun nodo attraversato ed una notevole latenza nella trasmissione: sono comuni latenze dell'ordine del mezzo secondo. Per questa ragione la dimensione tipica dei pacchetti dati utilizzati nelle connessioni X.25 è piuttosto piccola (128 o 256 byte). Protocolli moderni come Frame Relay o ATM (Asynchronous Transfer Mode) possono fare a meno di un forte controllo sugli errori perché sfruttano connessioni fisiche a bassa probabilità di errore.
* al livello 3 (rete) comprende le specifiche necessarie per aprire o chiudere un collegamento tra due DTE cioè instaurare, mantenere e abbattere la connessione, per il controllo di flusso e per combinare più collegamenti logici cioè più circuiti virtuali su una sola connessione o canale fisico attraverso multiplazione.
X.25 consente ad un apparato DTE di comunicare contemporaneamente con più di un altro apparato DTE. Le connessioni sui canali logici possono essere di due tipi:
* SVC (Switched Virtual Circuit ovvero a commutazione di pacchetto virtuale) - Le connessioni SVC sono paragonabili ad una connessione telefonica: si stabilisce una connessione, si trasferiscono i dati ed infine la connessione viene chiusa. Ad ogni DTE sulla rete è attribuito un numero univoco come se fosse un numero di telefono.
* PVC (Permanent virtual Circuit ovvero circuito permanente virtuale) - un PVC è simile ad una linea privata con la connessione sempre presente. La connessione è stabilita in modo permanente dall'amministratore di rete.
Per stabilire una connessione su un SVC, il DTE chiamante invia un pacchetto di richiesta connessione che comprende l'indirizzo del DTE remoto che dev'essere contattato. Il DTE di destinazione può decidere se accettare o meno la connessione (il pacchetto di richiesta connessione comprende l'indirizzo del chiamante), la richiesta è accettata mediante un pacchetto di accettazione di connessione o annullata mediante l'invio di un pacchetto di annullamento richiesta.
Una volta che il DTE chiamante riceve il pacchetto di connessione accettata, si stabilisce il circuito virtuale e comincia il trasferimento dei dati. Per terminare la connessione viene inviata la richiesta di annullamento al DTE remoto che risponde con una conferma di annullamento.

### Caratteristiche

La dimensione dei pacchetti può variare da 64 a 4096 byte anche se la maggior parte delle reti è impostata a 128 byte. La dimensione massima può essere negoziata dai DTE all'attivazione della connessione.
X.25 è ottimizzato per basse velocità di connessione: da 100 kbit/s in giù. A velocità superiori, gli effetti della latenza e la piccola dimensione del singolo pacchetto non permettono un utilizzo ottimale della larghezza di banda.
Sulla base dell'X.25 sono stati progettati altri protocolli a commutazione di pacchetto come TCP/IP e ATM in grado di stabilire connessioni uno a molti e di far comunicare DTE con diverse velocità di connessione.
X.25 è nato intorno al 1975 e quindi ha raggiunto una notevole stabilità.

## Utilizzi

L'X.25 è un meccanismo per trasferire qualunque tipo di dati. Esistono degli standard per incapsulare dati di alto livello come TCP/IP o SNA su una rete X.25. Uno degli utilizzi più diffusi è il trasferimento in modalità asincrona di flussi dati prodotti da semplici terminali come i lettori di carte di credito. Questo tipo di dispositivi si connette ad un Assemblatore/Disassemblatore di pacchetti (PAD) che organizza il flusso dei dati in pacchetti X.25 per la trasmissione sulla rete. Il PAD segue gli standard ITU X.28, X.29, X.3. Dall'anno 2000 l'utilizzo dell'X.25 su reti SNA è in declino a favore delle connessioni TCP/IP. È molto usato per l'autorizzazione dei pagamenti mediante bancomat e carte di credito. Anche l'utilizzo di mezzi trasmissivi a basso BER come la fibra ottica che non necessitano quindi di un controllo di errore ad ogni nodo di transito lo ha reso un protocollo troppo pesante e passato progressivamente in disuso in favore dei già citati Frame Relay e ATM che relegano tali funzioni agli estremi della connessione. Comunque le infrastrutture X.25 sono ancora diffuse in diverse parti del mondo.