UMTS - Protocollo Tunneling GPRS
La generazione del GPRS Tunneling Protocol (GTP) era praticamente impossibile, ma non è neppure auspicabile darlo per il nuovo sistema, ma d'altra parte è abbastanza comprensibile che i miglioramenti siano necessari anche per poter interagire con il mondo di PS legacy senza problemi e funzioni di supporto necessarie per il sistema più recente.
Protocollo di tunneling GPRS (GTP)
Il protocollo GTP è progettato per il tunneling e l'incapsulamento di unità di dati e messaggi di controllo in GPRS. Fin dalla sua progettazione alla fine degli anni '90, è stato utilizzato per la distribuzione su larga scala e si è accumulata una solida esperienza.
Il sistema GTP per Evolved 3GPP è disponibile in due varianti, controllo e piano utente. GTP-C gestisce la segnalazione del piano di controllo, ed è necessario oltre al protocollo di trasferimento dati sulla purezza dell'utente, GTP-U; si chiama piano utente. Le versioni attuali, adatte per EPS sono GTPv1 US e GTPv2-C.
La particolarità di GTP è che supporta la separazione del traffico all'interno del suo detentore principale del tunnel GTP, ovvero la possibilità di raggrupparli insieme e trattare i vettori. Le estremità dei tunnel GTP sono identificate da TEID (Tunnel Endpoint identifier); sono assegnati a livello locale per l'uplink e il downlink da entità peer e riportati trasversalmente tra di loro. I TEID vengono utilizzati su diverse granularità mediante una connessione PDN di esempio specifica su S5 e S8 e EU sulle interfacce S3 / S4 / S10 / S11.
Piano di controllo del protocollo di tunneling GPRS
GTPv2-C viene utilizzato sulle interfacce di segnalazione EPC (inclusi SGSN di almeno Rel. 8). Ad esempio:
- S3 (tra SGSN e MME),
- S4 (tra SGSN e Serving GW),
- S5 e S8 (tra Serving GW e PDN GW),
- S10 (tra due MME) e
- S11 (tra MME e Serving GW).
Corrispondentemente a questo, una tipica unità dati del protocollo GTPv2-C come mostrato nella figura sopra, la parte specifica GTP è preceduta da intestazioni IP e UDP, è costituita da un'intestazione GTPv2-C e da una parte contenente informazioni GTPv2-C variabile in numero, lunghezza e formato, a seconda del tipo di messaggio. Poiché l'eco e la notifica di una versione del protocollo non sono supportati, le informazioni TEID non sono presenti. La versione è ovviamente fissata saldamente a 2 in questa versione del protocollo.
GTP aveva un complesso meccanismo di intestazione di estensione legacy; non è utilizzato nella maggior parte dei GTPv2-C. Il tipo di messaggio è definito nel secondo byte (quindi è possibile definire il massimo di 256 messaggi per estensioni future). La tabella sottostante fornisce una panoramica dei messaggi attualmente definiti GTPv2-C. La lunghezza del messaggio è codificata nei byte 3 e 4 (misurata in byte e non contenente i primi quattro byte stessi).
TEID è l'ID del punto finale del tunnel, un unico valore sul lato opposto / ricevente; consente il multiplexing e il de-multiplexing di tunnel ad un'estremità nei casi molto frequenti su un tunnel GTP deve essere distinto.
Tipo di messaggio | Messaggio | Spiegazione aggiuntiva |
---|---|---|
0 | Riservato | Non deve mai essere utilizzato (intenzionalmente escluso dal protocollo, per applicare impostazioni esplicite) |
1/2 | Richiesta / risposta eco | Utilizzato per verificare se una versione GTP è supportata dal nodo mittente. |
3 | Indicazione di versione non supportata | Contiene l'ultima versione GTP supportata dal nodo di invio. |
4/5 | Richiesta / risposta di trasferimento diretto | Utilizzato per il messaggio di segnalazione di tunneling sull'interfaccia S101 per l'handover ottimizzato, tra HRPD access not e MME |
6/7 | Richiesta / risposta di notifica | Utilizzato per la notifica di tunneling su S101 tra il nodo di accesso HRPD e MME |
25/26 | Richiesta SRVCC da PS a CS | Utilizzato per attivare e confermare l'avvio di SRVCC tra SGSN / MME e il server MSC |
27/28 | Notifica completa da SRVCC PS a CS | Utilizzato per indicare e confermare il completamento di SRVCC tra il server MSC e SGSN / MME |
32/33 | Crea richiesta di sessione | Utilizzato per stabilire la connettività tra due nodi |
34/35 | Modifica richiesta al portatore | Utilizzato per modificare le proprietà di uno o più portatori, include le informazioni sul contesto del portatore |
36/37 | Elimina richiesta di sessione | Elimina la sessione di controllo GTP |
38/39 | Modifica richiesta di notifica | Utilizzato per segnalare le informazioni sulla posizione |
66/67 | Elimina comando portatore / indicazione di errore | Chiedere ai nodi di eliminare il portatore e confermare di nuovo |
68/69 | Indicazione di comando / errore della risorsa portante | Utilizzato per allocare o modificare le risorse |
73 | Interrompi l'indicazione del cercapersone | Inviato da SGW a MME o SGSN |
95/96 | Crea richiesta / risposta al portatore | Indica ai nodi di installare i portatori e conferma |
97/98 | Richiesta di aggiornamento del portatore | Utilizzato per informare i nodi del piano di controllo dal piano utente sui cambiamenti della portante |
GTPv1-U migliorato
Solo un piccolo ma efficace miglioramento è stato applicato a GTP-U e per questo non è stato ritenuto necessario rafforzare il numero di versioni del protocollo. Quindi, ci aspettiamo ancora GTPv1-U, ma almeno è la Rel più recente. 8.
Lo stack di protocolli è essenzialmente lo stesso di GTPv2-C con solo il nome dei livelli e i protocolli sostituiti di conseguenza. Il meccanismo dell'intestazione di estensione viene mantenuto in posizione; permette di inserire due elementi se necessario.
Porta UDP sorgente del messaggio di attivazione (due ottetti);
Numero PDCP PDU - relativo al trasferimento della caratteristica senza perdita; in questo caso, i pacchetti di dati devono essere numerati nell'EPC (due ottetti).
Il miglioramento è la capacità di trasmettere un "mercato finale" nel piano dell'utente. Viene utilizzato nella procedura di handover inter-eNodeB e dà l'indicazione che il percorso è attivato immediatamente dopo il pacchetto dati, ad esempio, la funzionalità non è necessaria per pre-Rel.8 perché GTP-U non è terminato con l'accesso radio node (cioè non nella BS o NodeB) esistono solo pochi messaggi. GTPv1-U e sono elencati nella tabella sopra.
È chiaro che, infatti, un tipo molto limitato di segnalazione è possibile tramite GTPv1-U (meccanismi di eco ed etichettatura finale). L'unico messaggio che il trasferimento di dati utente reali è di tipo 255, il cosiddetto messaggio G-PDU; l'unica informazione che trasporta, dopo l'intestazione, è il pacchetto di dati originale di un utente o di un'apparecchiatura PDN esterna.
Non tutte le istanze di tunnel GTP-U sono elencate nell'architettura di riferimento (che mirava a catturare le associazioni non più vivevano tra i nodi della rete); sono possibili tunnel temporanei -
Tra due Serving GW, applicabile per il trasferimento basato su S1, nel caso in cui il servizio venga spostato GW;
Tra due SGSN, corrisponde al caso precedente, ma nella rete PS legacy;
Tra due RNC, applicabile per il trasferimento del RNC nella rete 3G PS (nessuna relazione con l'EPC, qui viene menzionato solo per completezza).