GPRS alagút protokoll - GPRS Tunnelling Protocol
Internet protokoll csomag |
---|
Alkalmazási réteg |
Szállítási réteg |
Internet réteg |
Link réteg |
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.