1. GTP是什麼
GTP:GPRS Tunnel Protocol,GPRS隧道傳輸協議。
GTP是一組基於IP的高層協議,位於TCP/IP,UDP/IP協議之上。
GTP-U是其中一種GTP。
2. GTP-U
GTP-U用來傳輸S1和X2用戶面數據。
GTP-U既可以基於IPv4/UDP,也可以基於IPv6/UDP。
隧道端點之間的數據通過IP地址和UDP端口號進行路由。
3. TEID
Tunnel endpoint ID,隧道端點標識符。
由接收端生成,供發送端使用,通過s1/x2信令交換。
s1接口:數據上傳TEID由S-GW分配,數據下傳TEID由eNodeB分配。SAE建立和響應,初始上下文建立和響應。
X2接口:由目標eNodeB分配。
LTE中S1-GTP-U的分配和作用
LTE的架構和接口如下:
在這裏eNodeb通過S1-u口與SGW建立起數據的連接。採用的協議是GTP-U協議,其連接要素爲eNodeb的和SGW的。
這一對連接要素是MME在SGW上爲UE創建Session時創建的。創建的時機有Attach,或者換SGW切換。
從下面的Attach流程來看:
Attach的部分流程
從上面第12步到16步,可以看到MME在與SGW交互,爲UE創建Session分配ip和teid。
下面用一次實際環境抓包的消息內容,來舉例teid的分配:
1 Create Session Request
關鍵內容如下
Tunnel Endpoint Identifier: 0
Sequence Number: 1912579
UE信息:
IMSI(International Mobile Subscriber Identity number): 。。。
MEI(Mobile Equipment Identity): 。。。
gtp-c的信息:
S11 MME GTP-C interface, TEID/GRE Key: 0x8e2024cc, IPv4 203.210.11.130
S5/S8 PGW GTP-C interface, TEID/GRE Key: 0x0fc80095, IPv4 203.210.11.217
下面是gtp-u的信息(以默認承載id 5爲例):
EPS Bearer ID (EBI) : 5
S5/S8 PGW GTP-U interface, TEID/GRE Key: 0x0fe800ba, IPv4 203.210.11.217
2 Create Session Response
關鍵內容如下
Tunnel Endpoint Identifier: 2384471244
Sequence Number: 1912579
S11/S4 SGW GTP-C interface, TEID/GRE Key: 0x55c008ef, IPv4 203.210.11.197
EPS Bearer ID (EBI) : 5
S1-U SGW GTP-U interface, TEID/GRE Key: 0x55c40f2c, IPv4 203.210.11.189
下面是Attach之後,UE發起的服務請求中的信令:
3 InitiatingMessage(Nas: SERVICE REQUEST)
ENB-UE-S1AP-ID: 16965
S-TMSI: mMEC-02,m-TMSI: f06be03a
4 Initial context setup request
MME-UE-S1AP-ID: 1291875617
ENB-UE-S1AP-ID: 16965 (從S1 service request消息中獲取)
對於E-RABToBeSetupItemCtxtSUReq- e-RAB-ID:5,其下行S1-gtp-u的teid/ip(從session response中獲得):
gTP-TEID: 0x55c40f2c, IPv4: 203.210.11.189
在這步中,UE-S1AP-ID對已經配齊,後面UE在這個eNodeb的S1口消息都可以通過這對ID來區分。
5 Initial context setup response
MME-UE-S1AP-ID: 1291875617
ENB-UE-S1AP-ID: 16965
對於RABSetupItemCtxtSURes- e-RAB-ID: 5,其上行S1-gtp-u的teid/ip
gTP-TEID: 42450c05,(IPv4): 10.71.78.152