GPRS alagút protokoll - GPRS Tunnelling Protocol

A GPRS Tunneling Protocol ( GTP ) az IP- alapú kommunikációs protokollok egy csoportja, amelyet általános csomagkapcsolt rádiószolgáltatás (GPRS) továbbítására használnak a GSM , UMTS és LTE hálózatokon belül. A 3GPP architektúrákban a GTP és a Proxy Mobile IPv6 alapú interfészeket különféle interfészpontokon határozzák meg.

A GTP külön protokollokra bontható, GTP-C, GTP-U és GTP ' .

A GTP-C-t a GPRS törzshálózaton belül használják az átjáró GPRS támogatási csomópontjai (GGSN) és a GPRS támogatási csomópontok (SGSN) közötti jelzésre . Ez lehetővé teszi az SGSN számára, hogy aktiváljon egy munkamenetet a felhasználó nevében ( PDP kontextus aktiválása), deaktiválja ugyanazt a munkamenetet, módosítsa a szolgáltatás minőségének paramétereit, vagy frissítse a munkamenetet egy olyan előfizető számára, aki most érkezett egy másik SGSN-ből.

A GTP-U a felhasználói adatok továbbítására szolgál a GPRS törzshálózaton belül, valamint a rádiós hozzáférési hálózat és az alaphálózat között. A szállított felhasználói adatok csomagok lehetnek bármilyen IPv4 , IPv6 vagy PPP formátumban.

A GTP ' ( GTP prime ) ugyanazt az üzenetszerkezetet használja, mint a GTP-C és a GTP-U, de független funkcióval rendelkezik. Használható töltési adatok szállítására a GSM vagy UMTS hálózat töltési adatfunkciójától (CDF) a töltési átjáró funkcióig (CGF). Ennek a legtöbb esetben sok egyedi hálózati elemtől, például a GGSN-től egy olyan központi számítógépig kell értenie, amely a töltési adatokat kényelmesebb módon juttatja el a hálózat üzemeltetőjének számlázási központjához.

Különböző GTP variánsokat valósítanak meg RNC-k, SGSN-ek, GGSN-ek és CGF-ek a 3GPP hálózatokon belül. A GPRS mobil állomások (MS) a GTP ismerete nélkül kapcsolódnak egy SGSN-hez.

A GTP használható UDP-vel vagy TCP-vel . Az UDP vagy ajánlott, vagy kötelező, kivéve az X.25 alagutazását a 0. verzióban. Az 1. GTP verziót csak az UDP-n használják.

Általános jellemzők

A GTP minden változatának vannak bizonyos közös jellemzői. Az üzenetek felépítése megegyezik, az UDP / TCP fejlécet GTP fejléc követi.

Fejléc

GTP 1. verzió

A GTPv1 fejlécek a következő mezőket tartalmazzák:

+ 0-2 3 4 5. 6. 7 8-15 16–23 24-31
0 Változat Protokoll típusa Fenntartott Extension Header Flag Szekvenciaszám zászló N-PDU számjelző Üzenet típusa Üzenet hossza
32 TEID
64. Sorszám N-PDU szám Következő kiterjesztés fejléc típusa
Változat
Ez egy 3 bites mező. A GTPv1 esetében ennek értéke 1.
Protokoll típusa (PT)
1 bites érték, amely megkülönbözteti a GTP-t (1. érték) a GTP-től (0. érték).
Fenntartott
1 bites fenntartott mező (0-nak kell lennie).
Bővítmény fejlécének jelzője (E)
1 bites érték, amely megadja, hogy van-e bővítményfejléc opcionális mező.
Sorozatjelző (S)
1 bites érték, amely megadja, hogy van-e választható sorozatszám.
N-PDU számjelző (PN)
1 bites érték, amely megadja, hogy van-e N-PDU szám opcionális mező.
Üzenet típusa
egy 8 bites mező, amely a GTP üzenet típusát jelzi. Különböző típusú üzeneteket határoz meg a 3GPP TS 29.060 7.1 szakasz
Üzenet hossza
egy 16 bites mező, amely bájtban jelzi a hasznos terhelés hosszát (a csomag többi része a kötelező 8 bájtos GTP fejlécet követve). Tartalmazza az opcionális mezőket.
Alagút végpont-azonosító (TEID)
32 bites (4 oktett) mező, amelyet ugyanazon GTP-alagútban különböző kapcsolatok multiplexelésére használnak.
Sorszám
egy (opcionális) 16 bites mező. Ez a mező akkor létezik, ha az E, S vagy PN bitek bármelyike ​​be van kapcsolva. A mezőt csak akkor kell értelmezni, ha az S bit be van kapcsolva.
N-PDU szám
egy (opcionális) 8 bites mező. Ez a mező akkor létezik, ha az E, S vagy PN bitek bármelyike ​​be van kapcsolva. A mezőt csak akkor kell értelmezni, ha a PN bit be van kapcsolva.
Következő kiterjesztés fejléc típusa
egy (opcionális) 8 bites mező. Ez a mező akkor létezik, ha az E, S vagy PN bitek bármelyike ​​be van kapcsolva. A mezőt csak akkor kell értelmezni, ha az E bit be van kapcsolva.

A következő kiterjesztési fejlécek a következők:

+ Bitek 0-7 8–23 24-31
0 Hosszabbítás hossza Tartalom
... ...
... Tartalom Következő kiterjesztés fejléce
Hosszabbítás hossza
egy 8 bites mező. Ez a mező 4-oktett egységben adja meg ennek a kiterjesztésnek a fejlécét, beleértve a hosszát, a tartalmát és a következő kiterjesztés-fejléc mezőjét, így a kiterjesztés hosszának mindig 4-szeresének kell lennie.
Tartalom
kiterjesztés fejlécének tartalma.
Következő kiterjesztés fejléce
egy 8 bites mező. Megadja a következő kiterjesztés típusát, vagy 0-t, ha nincs következő bővítmény. Ez lehetővé teszi több következő kiterjesztés fejláncának láncolását.

GTP 2. verzió

Fejlett-GTP vagy eGTP néven is ismert. A GTPv2-C fejlécek a következő mezőket tartalmazzák:

+ 0-2. Bit 3 4 5-7 8-15 16–23 24-31
0 Változat Piggybacking zászló (P) TEID zászló (T) Tartalék Üzenet típusa Üzenet hossza
32 TEID (csak akkor van, ha T = 1)
64 (32, ha nincs TEID) Sorszám Tartalék

Nincs GTPv2-U protokoll, az LTE-ben a GTP-U is a GTPv1-U-t használja.

Változat
Ez egy 3 bites mező. A GTPv2 esetében ennek értéke 2.
Piggybacking zászló
Ha ez a bit 1-re van állítva, akkor egy másik, saját fejlécű GTP-C üzenetnek kell lennie az aktuális üzenet végén. Korlátozások vonatkoznak arra, hogy milyen típusú üzenetet lehet visszacsatolni, attól függően, hogy mi a felső szintű GTP-C üzenet.
TEID zászló
Ha ennek a bitnek az értéke 1, akkor a TEID mező megjelenik az üzenet hossza és a sorszám között. Az Echo és az Echo válasz kivételével minden üzenet megköveteli a TEID jelenlétét.
Üzenet hossza
Ez a mező az üzenet hosszát oktettben jelöli, kivéve a GTP-C fejléc kötelező kitöltését (az első 4 oktett). A TEID-t (ha van) és a sorozatszámot bele kell foglalni a hosszszámlálásba.

Kapcsolódási mechanizmusok

A közös üzenetszerkezeten kívül létezik egy közös mechanizmus is az egyik GSN-ről a másikra a GSN-hez való kapcsolódás ellenőrzésére. Ez két üzenetet használ.

  • visszhangkérés
  • visszhangválasz

60 másodpercenként egy GSN visszhangkérést küldhet minden olyan másik GSN-nek, amellyel aktív kapcsolata van. Ha a másik vég nem reagál, akkor azt leálltaként lehet kezelni, és az aktív kapcsolatok törlődnek.

A korábban említett két üzeneten kívül nincs más üzenet az összes GTP-változatban, ami azt jelenti, hogy javarészt három teljesen különálló protokollt alkotnak.

GTP-C - GTP vezérlés

A GTP-C protokoll a GTP szabvány vezérlő szakasza. Amikor egy előfizető PDP-kontextust kér , az SGSN létrehoz egy PDP-kontextus kérést létrehozó GTP-C üzenetet a GGSN-nek, amelyben megadja az előfizető kérésének részleteit. A GGSN ezután egy létrehozó PDP kontextusválasz GTP-C üzenettel válaszol, amely vagy részleteket közöl a ténylegesen aktivált PDP kontextusról, vagy hibát jelez, és megadja annak okait. Ez egy UDP üzenet a 2123-as porton.

Az eGTP-C (vagy, GTPv2-C) protokoll felelős az alagutak létrehozásáért, karbantartásáért és törléséért több Sx interfészen. A vezérlő sík útvonalának kezelésére, az alagút kezelésére és a mobilitás kezelésére használják. Ellenőrzi az áthelyezési üzenetek továbbítását is; SRNS kontextus és előremenő alagutak létrehozása inter LTE átadások során.

GTP-U - GTP felhasználói adatok alagútba állítása

A GTP-U valójában egy viszonylag egyszerű IP alapú alagútprotokoll, amely számos alagutat tesz lehetővé az egyes végpontok között. Az UMTS-ben történő használat esetén minden előfizetőnek egy vagy több alagútja lesz, egy-egy aktív PDP-kontextushoz, valamint külön alagutakkal rendelkezik az egyes kapcsolatokhoz, amelyek eltérő szolgáltatási minőségi követelményekkel rendelkeznek.

A külön alagutakat egy TEID (Tunnel Endpoint Identifier) ​​azonosítja a GTP-U üzenetekben, amelynek dinamikusan kiosztott véletlenszámnak kell lennie. Ha ez a véletlenszám kriptográfiai minőségű, akkor bizonyos mértékű biztonságot nyújt bizonyos támadásokkal szemben. Ennek ellenére a 3GPP szabvány követelménye, hogy az összes GTP-forgalmat, beleértve a felhasználói adatokat is, biztonságos magánhálózatokon keresztül kell elküldeni, nem közvetlenül az internethez csatlakozva. Ez az UDP 2152-es porton történik.

A GTPv1-U protokoll a felhasználói adatok GTP alagutakon keresztüli cseréjére szolgál az Sx interfészek között. Az UE (felhasználói végpont) IP-csomagja egy GTPv1-U csomagba van beágyazva, és a P-GW és az eNodeB között alagútba kerül az U1-hez való S1-U és S5 / S8 interfészeken történő továbbításhoz.

GTP '- töltés átvitele

A GTP ' protokollt arra használják, hogy a töltési adatokat a Charging Gateway Funkcióba továbbítsák. A GTP 'a 3386 TCP / UDP portot használja.

A GPRS törzshálózaton belül

A GTP az elsődleges protokoll, amelyet a GPRS törzshálózatban használnak. Ez az a protokoll, amely lehetővé teszi a GSM vagy UMTS hálózat végfelhasználóinak, hogy mozogjanak egyik helyről a másikra, miközben továbbra is csatlakoznak az internethez, mintha a GGSN egyik helyéről érkeznének. Ezt úgy csinálja, hogy az előfizető adatait az előfizető jelenlegi SGSN-jéből az előfizető munkamenetét kezelő GGSN-be továbbítja. A GTP három formáját használja a GPRS törzshálózat.

  • GTP-U a felhasználói adatok átviteléhez külön alagutakban, minden PDP kontextushoz
  • GTP-C ellenőrzési okokból, beleértve:
    • a PDP-kontextusok beállítása és törlése
    • a GSN elérhetőségének ellenőrzése
    • frissítések; például amikor az előfizetők egyik SGSN-ről a másikra lépnek.
  • GTP 'a töltési adatok GSN-ből a töltési funkcióba történő továbbításához.

A GGSN-k és az SGSN-k (együttesen GSN-k) GTP-C üzeneteket hallgatnak a 2123 UDP porton és a GTP-U üzeneteket a 2152 porton. Ez a kommunikáció egyetlen hálózaton belül zajlik, vagy nemzetközi roaming esetén történhet nemzetközileg, valószínűleg az egész egy GPRS roaming csere (GRX).

A Charging Gateway Function (CGF) a 3386 TCP / UDP porton lévő GSN-ekről küldött GTP üzeneteket hallgatja. Az alap hálózat töltési információkat küld a CGF-nek, jellemzően a PDP kontextus aktiválási idejét és a végfelhasználó által továbbított adatmennyiséget is beleértve. . Ez a kommunikáció, amely egy hálózaton belül zajlik, kevésbé szabványosított, és a gyártótól és a konfigurációs lehetőségektől függően saját kódolást vagy akár egy teljesen saját rendszert is használhat.

Használja az IuPS felületén

A GTP-U-t az IuPS-en használják a GPRS törzshálózat és az RAN között, azonban a GTP-C protokollt nem használják. Ebben az esetben a RANAP- ot használják vezérlőprotokollként, amely GTP-U alagutakat hoz létre az SGSN és a rádióhálózati vezérlő (RNC) között.

Protokoll verem

Alkalmazási protokollok
IP (felhasználó)
GTP
UDP
IP
2. réteg (pl. WAN vagy Ethernet)

GTP-U protokoll verem

A GTP használható UDP-vel vagy TCP-vel . Az 1. GTP verziót csak UDP-n használják.

2018-tól három verziót definiáltak, a 0, 1 és 2 verziót. A 0 és 1 verzió felépítése jelentősen eltér. A 0. változatban a jelző protokollt (azt a protokollt, amely az alagutakat a PDP kontextus aktiválásával állítja be) kombinálják az alagút protokolljával egy porton. Az 1. és a 2. változat gyakorlatilag két protokoll, az egyik a vezérléshez (GTP-C néven) és a felhasználói adatok alagutazásához (az úgynevezett GTP-U). A GTP 2. verziója csak a GTP-C-ben tér el az 1. verziótól. Ez annak köszönhető, hogy a 3GPP meghatározta a GTP-C továbbfejlesztéseit az EPS számára a 2. verzióban a hordozó kezelésének javítása érdekében.

A GTP-U-t arra is használják, hogy felhasználói adatokat szállítson az RNC-ről az SGSN-re UMTS-hálózatokban. Ebben az esetben azonban a jelzés GTP-C helyett RANAP használatával történik.

Történelmi GTP verziók

A GTP eredeti verziója (0. verzió) jelentős eltéréseket mutatott a jelenlegi verzióktól (1.2 verzió):

  • az alagút azonosítása nem véletlenszerű volt;
  • lehetőségeket biztosítottak az X.25 szállítására ;
  • a 3386-os fix portot használták minden funkcióhoz (nem csak a GTPv1-hez hasonlóan töltéshez);
  • A TCP engedélyezett volt UDP helyett szállítási lehetőségként, de ennek támogatása opcionális volt;
  • az előfizetéssel kapcsolatos területek, például a szolgáltatás minősége, korlátozottabbak voltak.

A nem véletlenszerű TEID a 0. verzióban biztonsági problémát jelent, ha a támadó hozzáférhet bármely roaming partner hálózatához, vagy más módot találhat a csomagok távoli küldésére a GPRS gerinchoz. A 0-as verzió megszűnik, és szinte az összes hálózatban az 1-es verzió váltja fel. Szerencsére azonban a különböző portszámok használata lehetővé teszi a 0 verzió egyszerű blokkolását egyszerű IP-hozzáférési listákon keresztül.

GTP szabványosítás

A GTP-t eredetileg az ETSI- n belül szabványosították (GSM 09.60 szabvány). Az UMTS szabványok megalkotásával ez átkerült a 3GPP-re, amely 2005-től a 3GPP 29.060 szabványként tartja fenn. A GTP 'ugyanazt az üzenetformátumot használja, de speciális felhasználásait a 32.295 szabvány tartalmazza, az általa továbbított töltési adatok szabványosított formátumával együtt.

A TS 29.060 későbbi verziói elavulják a GTPv1 / v0 együttműködést, így nincs visszaesés abban az esetben, ha a GSN nem támogatja a magasabb verziót.

A GTPv2 (a fejlett csomagszolgáltatásokhoz) 2008 elején került vázlatba, és ugyanezen év decemberében jelent meg. A GTPv2 a korábbi "Version Not Supported" mechanizmus révén kínál tartalékot a GTPv1-re, de kifejezetten nem nyújt támogatást a GTPv0 tartalékához.

Lásd még

Megjegyzések

Hivatkozások

  • GSM 09.60 szabvány, ETSI, 1996–98, ez a szabvány a GTP eredeti 0. verziójára terjed ki.
  • 3GPP TS 29.060 V6.9.0 (2005-06) , 3. generációs partnerségi projekt, 650 Route des Lucioles - Sophia Antipolis, Valbonne - FRANCIAORSZÁG, 2005-06. Ez az elsődleges szabvány, amely meghatározza az összes GTP-változatot az 1. GTP-verzióhoz.
  • 3GPP TS 32.295 V6.1.0 (2005-06) , 3. generációs partnerségi projekt, 650 Route des Lucioles - Sophia Antipolis, Valbonne - FRANCIAORSZÁG, 2005-06. Ez a szabvány kiterjed a GTP használatára a töltéshez.
  • 3GPP TS 29.274 V8.1.0 (2009-03) , 3. generációs partnerségi projekt, 650 Route des Lucioles - Sophia Antipolis, Valbonne - FRANCIAORSZÁG, 2009-03. GTPv2 a fejlett GPRS-hez.

Külső linkek