跳至內容

GPRS磅空協議

出自Taiwan Tongues 台語維基
於 2025年8月22日 (五) 13:40 由 TaiwanTonguesApiRobot留言 | 貢獻 所做的修訂 (從 JSON 檔案批量匯入)

(差異) ←上個修訂 | 已批准修訂 (差異) | 最新修訂 (差異) | 下個修訂→ (差異)

GPRS 磅空協議(英語:GPRS Tunnelling Protocol,簡稱:GTP)是一組是因為 IP 的通信協議,用於在 GSM、UMTS 和 LTE 網路中承載 GPRS(通用分組無線業務,英語:General Packet Radio Service)。

GTP 協議目前有三个版本:version 二使用佇 LTE 核心網;version 一使用佇 GSM 和 UMTS 網路,嘛應用佇咧 LTE 網路內底以傳輸用戶面數據;version 零是早期版本,被一九九九年標準化的 version 一替代。

GTP 協議的用途

GSM 和 UMTS 網路

GPRS 核心網

GTP 是 GPRS 核心網路使用的主要協議。伊會使 GSM 抑是 UMTS 網路的終端會當佇網路內底徙位,同時會當繼續的通過仝一个 GGSN 連接著網際網路。為著實現這一功能,GTP 協議總是用戶面數據用戶位置所屬的 SGSN 傳輸甲伊開戶信息所對應的 GGSN。

GPRS 核心網使用三種 GTP 協議。

  • GTP-U 用佇為著每一个 PDP 頂下文提供一个足濟磅空,用傳輸用戶數據
  • GTP-C 用佇咧控制目的,包括講:
  • PDP 上下文的建立佮刪除
  • GSN 有可及性驗證
  • 位置閣較新。比如講,做簽約用戶對一个 SGSN 徙予振動另外一个 SGSN
  • GTP'用佇咧對各個 GSN 傳送計費數據到計費網關功能(CGF,英語:Charging Gateway Function)。

GGSN 和 SGSN(合稱做「GSN」)佇咧 UDP 埠頭兩千一百二十三上監聽 GTP-C 消息,佇埠頭兩千一百五十二上監聽 GTP-U 消息。GTP 協議通信會用通過 GPRS 漫遊交換(英語:GPRS Roaming Exchange)是發生佇無仝運營商之間。

_ 計費網關功能 _(CGF,英文:Charging Gateway Function)佇咧 TCP / UDP 埠三千三百八十六上監聽發送自 GSN 的 GTP'消息。核心網發送計費信息到 CGF,計費的信息至少有包括 PDP 上下文激活次數以及終端用戶傳送的數據量。佮 GTP-C 和 GTP-U 無仝,GTP'協議承載的報文通常只佇單個運營商網路內部使用,並無遐爾標準化。運營商會當做較特殊的配置,使用特別的編碼,甚至使用完全無仝的系統來完成計費。

UMTS 的核心網佮接入網之間(Iu-PS 承喙)

GPRS 核心網佮 UMTS 接入去網仔內底的 Iu-PS 接喙咧,用戶面嘛用使用 GTP-U 協議。毋過佇控制面頂並無使用 GTP-C,是用 RANAP 協議。GTP-U 的磅空佇咧 Iu-PS 接口嘛是以 RANAP 協議管理的。

LTE 網路

LTE 網路內底的 GTP 協議功能佮 GSM / UMTS 網路中基本相仝。佇控制面上 LTE 網路使用 GTPv 二-C,用戶面上使用 GTP-U,計費相關功能使用 GTP'。

佇咧 S 一喙攑(eNodeB 和 SGW 之間)上,用戶面使用 GTP-U 協議。佇接入網 X 二接口(兩个 eNodeB 之間)上,用戶面嘛用使用 GTP-U 協議,控制面使用 X 二 AP。

協議特性

所有的 GTP 變種種攏有一寡共有的特性。消息的結構攏是仝款的,GTP 消息頭咧 UDP / TCP 頭了後。

消息頭

GTP 版本一

GTPv 一消息頭包含如下的欄位:

版本(Version)

長度為三位,對於 GTPv 來講,這个值始終是「一」。

協議類型(PT,全稱:Protocol Type)

長度為一个,取值為一表示 GTP,零表示 GTP'。

保留(Reserved)

長度為一个,保留欄位(著愛為零)。

擴展消息頭標誌位(E,全稱:Extension header flag)

長度為一个,標記敢有存在一个可選的擴展消息頭欄位。

序列標誌位(S,全稱:Sequence number flag)

長度為一个,標記敢有存在一个可選的序列號欄位。

N-PDU 號標誌位(PN,全稱:N-PDU number flag)

長度為一个,標記敢有存在一个可選的 N-PDU 號欄位。

消息類型(Message Type)

長度為八个,指示 GTP 消息的類型。有關於消息類型的定義,請參考三 GPP TS 二十九石頭六空第七由一節。

總長度(Total Length)

長度為十六个,指示消息體長度,單位為字節,無包括講 GTP 頭前八个元組的必選欄位。

磅空端點標識(TEID,全稱:Tunnel endpoint identifier)

長度為三十二位(四个八个元組), 用佇咧分別 GTP 磅空當中的無仝款。

序列號(Sequence number)

可選欄位,長度為十六个。當 E、S 抑是 PN 位中的任意一个取值為一時,這个欄位存在的。干焦做 S 位為一時,這个欄位著愛予人解破。

N-PDU 號(N-PDU number)

可選欄位,長度為八个。當 E、S 抑是 PN 位中的任意一个取值為一時,這个欄位存在的。干焦做 PN 位為一時,這个欄位著愛予人解破。

後一擴展消息頭類型(Next extension header type)

可選欄位,長度為八个。當 E、S 抑是 PN 位中的任意一个取值為一時,這个欄位存在的。干焦做 E 位為一時,這个欄位著愛予人解破。

後一擴展消息頭如下:

長度(Length)

長度為八个。這个欄位指出本擴展消息頭的長度,包括長度(這个欄位本身)、 內容佮下一擴展消息頭欄位,以四个八个元組做單位,所以擴展消息頭的長度著愛是四的倍數。

內容(Contents)

擴展消息頭內容。

後一擴展消息頭(Next extension header)

長度為八个。伊指出後一擴展消息頭的類型,取值為零表示無存在後一个擴展消息頭。通過這个欄位會當實現濟濟擴展消息頭的串聯。

GTP 版本二

伊嘛予人號做「進化版 GTP」(evolved-GTP)抑是「eGTP」。 GTPv 二-C 消息頭包含如下的欄位:

注意:無存在 GTPv 二-U 協議。佇咧 LTE 中的 GTP-U 猶是用 GTPv 一-U。

版本號:長度為三位,對於 GTPv 二來講,這个值始終是「二」。 寄話帶消息標誌位(Piggybacking flag)

若予人𫞼做一个,則佇這條消息後壁會有另外一條帶有完整消息頭的 GTP 消息。協議里具體規定了逐種的消息會當紮的消息類型。

TEID 標誌位(TEID flag)

若予人𫞼做一个,著 TEID 欄位存在的。只有 Echo Request 和 Echo Response 消息莫紮 TEID 欄位。

總長度(Total length)

包括消息頭佮消息體的消息總長度(除去必選欄位所在的前四个八位元組)。

連接機制

除了共同的消息結構以外,GTP 協議猶閣有一个共同的機制來驗證兩个節點之間的連接。這款機制是靠以下兩種消息實現:

  • Echo Request
  • Echo Response

每隔六十秒,一个網元會當向逐个有活跳連接的對端發送一个 Echo Request,來確認連接有效。若對端無回復 Echo Response,是伊會當予人看做是延延機,就愛活跳跳共你斂掉。

各種 GTP 協議除了欲寫二个消息以外,無共通的消息類型。也就是講,GTP-C,GTP-U 和 GTP'基本上是三種獨立的協議。

GTP-C-GTP 控制面

GTP-C 協議是 GTP 標準的「控制」部份。做一个簽約用戶請求一个 PDP 上下文,SGSN 將發送一个「_ 創建 PDP 上下文請求 _」(Create PDP Context Request)的消息予 GGSN,予出該簽約用戶的請求的明細。該 GGSN 將發送一个「_ 創建 PDP 上下文響應 _」(Create PDP Context Response)消息,這个消息會欲按怎予人激出的 PDP 上下文內容,欲按怎指出一个失敗,佮該失敗的原因。版本一和版本二的 GTP-C 消息使用 UDP 埠頭兩千一百二十三。

佇咧 LTE 核心網站,GTPv 二-C咧協議負責佇 S 一、S 五 / S 八等接口上創建、維持佮刣除隧道。伊予人用佇控制面路徑管理(control plane path management)、 磅空管理(tunnel management)佮移動性管理(mobility management)。 伊嘛控制轉發位置閣較消息、SRNS 上下文、並佇咧 LTE 網間切換中創建轉發磅空。

GTP-U-GTP 用戶數據磅空

GTP-U 是一个較簡單的因為 IP 的磅空協議,伊允准佇逐个捀點集之間建立濟濟个磅空。UMTS 網路內底,逐个簽約用戶有至少一个磅空。每一个激活的 PDP 上下文有至少一个磅空,做磅空加於一个時陣,加出來的磅空做特定的服務提供特定的捀到捀 QoS。

逐个若隧道由一个 GTP-U 消息內底的 TEID(磅空端點標識符,{ { lang-en | Tunnel Endpoint Identifier })標識。TEID 應當是一个動態分配的隨機數。若這个隨機數會當達到密碼級水平,則會當抵禦一定程度的攻擊。就算按呢,三 GPP 標準猶原要求所有的 GTP 流量,包括用戶數據,攏應當佇安全私有網路內底予人發送,袂當直接連接著網際網路。GTP-U 使用 UDP 埠頭兩千一百五十二。

佇咧 LTE 核心網站,使用GTPv 一-U協議佇咧 GTP 磅空頂懸 S 一、S 五 / S 八等接口上交換用戶數據。UE 所收的 IP 包包咧予打包咧 GTPv 一-U 的包中,並佇咧 P-GW 和 eNodeB 之間的各段磅空當中傳輸。LTE 網路的 X 二接口,即 eNodeB 中間的接口上,用戶面來協議使用的嘛是 GTPv 一-U。

GTP'-計費傳輸

GTP'協議予人用佇向的 CGF(計費網關功能,英語:Charging Gateway Function)傳輸計費數據。GTP'使用 TCP / UDP 埠三千三百八十六。

協議棧

GTP 協議需要被承載佇咧 UDP 協議上。早期版本 GTPv 空嘛允准 TCP 傳輸。

GTPv 無是較早的 GTP 協議,控制面佮用戶面使用仝款的埠頭。

GTPv 一於一九九九年在三 GPP TS 二交九千空六十版本三石三 . 空中被標準化。實際上是兩个協議,一个用於控制面(予人叫做是「GTP-C」), 另外一个若用戶數據磅空(予人叫做是「GTP-U」)。

GTP-U 佇咧 UMTS 彼个網路內底嘛有予人用著 RNC 往 SGSN(即 Iu-PS 接喙咧)傳送用戶數據。毋過,現此時控制面使用的是 RANAP 協議毋是 GTP-C。

GTP 的歷史版本

GTP 的原型版(版本零)與三 G / LTE 核心網中使用中間的版本一和版本二有顯示的無仝:

  • 磅空標識符(TEID)是足隨機的;
  • 除了 IP 協議,嘛支持傳輸 X . 二十五協議的數據;
  • 所有的功能攏使用固定的三千三百八十六埠頭(無成佇咧 GTPv 一中干焦用著計費);
  • 除了 UDP 以外,嘛會使用 TCP 協議作為傳輸層;
  • 佮簽約用戶相關的欄位,比如講 QoS,相對較少。

版本的零中的非隨機 TEID有安全性問題:當一个攻擊者對任一漫遊合作同伴網路有訪問權限的時,抑是會當揣著其他一寡方式來遠程 GPRS 骨幹網發送消息包的時陣,就會當干擾網路運行。版本空這馬差不多已完全被版本一所替代。就算按呢,新版本的標準猶原有聲明,GSN 著愛支持較舊的版本。幸運的是,會當用簡單的 IP 訪問列表來禁止 v 空使用的三千三百八十六埠頭,對封鎖版本零。

GTP 標準化

GTP 原本是佇咧 ETSI(European Telecommunications Standards Institute)的 GSM 標準九石六空中被標準化的。隨著 UMTS 標準的創建,伊予徙去到三 GPP。到二空空五年,三 GPP 共做三个 GPP 標準二十九石碾空六空來維護。GTP'使用仝款的消息格式,但是伊的使用獨立的標準三十二孵二九五,並且定義矣伊所傳輸的計費數據的標準化格式。

TS 二十九孵空六空的後續版本取消矣著 GTPv 一和 v 空互聯的支持,因此若佇網路內底有 GSN 干焦支持 v 零的話,使用 v 一協議的其他的網元嘛袂降到 v 零落去配合。

GTPv 二(用佇咧 EPC,即 LTE 核心網)佇二空空八年進入草的階段,並佇仝年十二月的時陣發布。使用 GTPv 一的「版本無支持」機制,GTPv 二支持到 GTPv 一个降級運行,毋過無提供著 GTPv 零的降級運行。

參見

  • 代理徙振動 IPv 六(Proxy Mobile IPv 六)
  • 徙振動 IP(Mobile IP)

參考資料

外部連結

  • 三 GPP 官方網站
  • GPRS 磅空協議版本二(GTPv 二)抑是進化版 GTP(eGTP)的免費佮開源的實現
  • GTP 問答