GTP'
此條目需要更新。 (2019年7月11日) |
GTP'(GTP prime)是一個用於GSM和UMTS通訊網絡的基於IP網絡的協定。它可以使用UDP或TCP的傳輸。儘管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'協定所傳輸的計費數據記錄(英語: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訊息對可以用於
- 由CGF通知CDF,另其將CDR傳送給另外的CGF。可用於CGF因維護或發生故障停止服務的場景。
- 由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種功能。
- 傳送數據記錄(Data Record):該訊息可以攜帶0條至數條CDR。CDR應以ASN.1編碼,通常使用BER編碼規則,也可以使用PER編碼規則。
- 傳送「可能重複」(possibly duplicated)的數據記錄:該訊息可以攜帶1條至數條已經向其他CGF傳送過的CDR。
- 取消數據記錄:該訊息通知一個CGF從其「可能重複」快取中清除1條或多條CDR。
- 釋放數據記錄:該訊息通知一個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.0 1.1 1.2 3GPP TS 32.295 v12.2.0 Telecommunication management; Charging management; Charging Data Record (CDR) transfer. [2016-07-20]. (原始內容存檔於2016-02-21) (英語).
- ^ 3GPP TS 29.060 Technical Specification Group Core Network and Terminals; General Packet Radio Service (GPRS); GPRS Tunnelling Protocol (GTP) across the Gn and Gp interface. [2016-07-20]. (原始內容存檔於2016-07-25) (英語).
章節:10.1.1