GTP'(GTP prime)是一個用於GSMUMTS通訊網絡的基於IP網絡的協定。它可以使用UDPTCP的傳輸。儘管GTP'協定的訊息結構與GTP相同(包括控制面的GTP-C和用戶面的GTP-U),它仍是一個獨立協定。GTP'協定使用UDP/TCP埠3386。[註 1]

GTP'的功能是在GSM、UMTS和LTE核心網中將計費數據從計費數據功能(CDF,Charging Data Function)傳輸到計費閘道器功能(CGF,Charging Gateway Function)。計費數據功能是對「計費」這一功能的抽象,以具體網元為例,通常是GGSN或SGSN等。而計費閘道器功能通常是一台中心伺服器,收集各網元的計費數據,再統一傳輸給網絡營辦商的計費中心(billing center)最終生成賬單。

在3GPP定義的GPRS核心網Ga介面上使用的是GTP'協定。

GTP'重用了GTP協定的諸多方面,然而在3GPP TS 32.295中卻描述為「僅僅部分重用了GTP協定的控制面」[1]。GTP'定義了與GTP不同的訊息頭結構、獨有的訊息類型、信元,以及一整套防止計費數據遺失或重複計算的機制。GTP'協定所傳輸的計費數據記錄英語Charging_data_record(英語:CDR,Charging Data Record)以ASN.1協定編碼[1]

訊息頭結構

GTP'訊息頭結構如下。

+ Bits 0-2 3 4 5 6 7 8-15 16-31 32-47
0 版本號
Version
協定類型
PT [0]
保留
Reserved
頭長度
Hdr len
訊息類型
Message Type
訊息長度
Length
序列號
Sequence Number
版本號(Version)
長度為3位元。與GTP協定的這一欄位含義相同。
協定類型(Protocol Type (PT))
長度為1位元。對GTP'協定來說取值必須為0。取值為1表示是GTP協定。
保留(Reserved)
長度為3位元,保留不用。取值必須全為1。
頭長度(Header Length (Hdr len))
長度為1位元。當版本號取值為0時有意義,此時本欄位取值為0表示訊息頭長度為20位元組,取值為1表示訊息長度為6位元組。當版本號不為0時此位取值必須為0。
訊息類型(Message Type)
長度為8位元,其值表示該GTP'訊息的類型。
訊息長度(Length)
長度為16位元,其值表示該GTP'訊息體長度,不包括訊息頭本身。
序列號(Sequence Number)
長度為16位元,表示該GTP'訊息的序號,用於檢測訊息遺失或重複。

訊息類型

GTP'協定重用了GTP協定的Version Not Supported、Echo Request和Echo Response這3種訊息,此外還定義了如下3對訊息。

  • Node Alive Request/Response
  • Redirection Request/Response
  • Data Record Transfer Request/Response

Node Alive Request/Response

Node Alive訊息對用於通知其他網元,本網元已經正常工作。Node Alive Request在網元啟動完成時傳送,與Echo訊息對所提供的通常維60秒間隔的握手機制相比,該訊息對能夠及時通知對端網元繼續之前中斷的傳輸。Node Alive Request也可以用於將其他網元的狀態恢復通知給對端網元。

在GTP' version 2中,Node Alive Request支援IPv6地址。

Redirection Request/Response

Redirection訊息對可以用於

  1. 由CGF通知CDF,另其將CDR傳送給另外的CGF。可用於CGF因維護或發生故障停止服務的場景。
  2. 由CGF通知CDF,自己與一個下游網元之間失去連接。

與GTP提供的Echo機制相比,Redirection訊息對的好處是,CDF能從Redirection Request訊息中得到CGF停止服務的直接或間接的原因。

Data Record Transfer Request/Response

Data Record Transfer訊息對提供了對CDR的可靠傳輸機制。

Data Record Transfer Request

Data Record Transfer Request可以有以下4種功能。

  1. 傳送數據記錄(Data Record):該訊息可以攜帶0條至數條CDR。CDR應以ASN.1編碼,通常使用BER英語X.690#BER_encoding編碼規則,也可以使用PER編碼規則。
  2. 傳送「可能重複」(possibly duplicated)的數據記錄:該訊息可以攜帶1條至數條已經向其他CGF傳送過的CDR。
  3. 取消數據記錄:該訊息通知一個CGF從其「可能重複」快取中清除1條或多條CDR。
  4. 釋放數據記錄:該訊息通知一個CGF處理(使之生效)1條或多條CDR,並從「可能重複」快取中移除。

Data Record Transfer訊息對提供了一套防止遺失或重複計算CDR的機制。其大致機理為,CDF為每一條CDR編制序列號,CGF必須在Data Record Transfer Response訊息中逐一對每一個序列號進行確認,未得到確認的CDR將被重傳。正常的CDR在被收到後會被轉存到非揮發性儲存裝置(例如硬碟)中,但重傳的CDR會被標記為「可能重複」,CGF接收到這樣的CDR,會存入一個專用的佇列中。只有得到CDF的再度確認,才會寫入非揮發性儲存裝置。數據記錄。此機制細節可以參看3GPP TS 32.295。

傳送數據記錄時可以攜帶0條CDR。這使得在CGF重新恢復正常後,CDF可以向CGF傳送Data Record Transfer訊息,只攜帶CDR的序列號但不攜帶CDR,以取得這些CDR在CGF側的狀態。

Data Record Transfer Response

該訊息攜帶對CDR傳輸和處理結果的確認。協定允許CGF在1條Data Record Transfer Response中確認多條Request訊息攜帶的CDR以減少傳輸,但必須在CDF所指定的逾時時長之內回覆。

對每個CDR的確認都附帶一個原因值。在負載過高時,CGF可以通過特定的原因值拒絕處理CDR,從而使CDF選擇其他CGF來處理。

註釋

  1. ^ GTP'協定的Request訊息發給埠3386(也可以組態為其他埠),而傳送方的埠是本地分配的;Response訊息的傳送、接受方埠號與Request訊息的相反。[1]GTP協定的Request訊息同樣允許本地分配傳送方埠號,[2]但通常會使用與接收方相同的知名埠號2123/2152,因為可以用TEID(Tunnel Endpoint IDentifier)來區分不同的tunnel。GTP'協定沒有TEID,所以常使用不同的傳送方埠號。

參考文獻