對於GTPv2協議頭部的解析


參考3GPP TS 29.060

GTP的頭部是可變的,GTP-C(control)和GTP-U(user)共同使用一個頭部。

GTP Header頭部:

-Version 用來標識GTP協議的版本,在這里應該設置為1。

-Protocol Type(PT)。這一位用來標識是GTP(PT為1)還是GTP'(PT為0)。GTP'在3GPP TS 32.295中定義,並且它的頭部的含義和GTP頭部的含義是不一樣的。 

-(*) 空閑比特,發送端置為0,接收端忽略這一位。

-Extension Header flag (E)。這一bit用來說明Next Extension Header域是否有意義。當這一位為0的時候,Next Extension Header要么不存在,要么存在但是也不被使用。當這一位為1的時候,Next Extension Header域要被解釋和使用。

-Sequence number flag (S)。這一bit用來說明Sequence number 域是否有意義。當這一位為0的時候,Sequence number 要么不存在,要么存在但是也不被使用。當這一位為1的時候,Sequence number 域要被解釋和使用。

-N-PDU Number flag (PN)。這一bit用來說明N-PDU Number域是否有意義。當這一位為0的時候,N-PDU Number 要么不存在,要么存在但是也不被使用。當這一位為1的時候,N-PDU Number 域要被解釋和使用。

-Message Type。這個域定義了GTP的消息類型,包括GTP-C和GTP-U。

-Length。載荷的長度,以字節為單位。

-Tunnel Endpoint Identifier (TEID)。TEID唯一的在接收GTP-U或GTP-C協議的實體上定義了一個隧道端點。GTP隧道接收方在本地定義了一個TEID,這個TEID供發送端使用。TEID通過GTP-C消息進行交換。

可選的字段

-Sequence Number 。G-PDUs(GTP頭+傳輸數據)的可選字段。當信令數據從發送的數據返回一個數據的時候,它可以是傳輸的標志,直接從發送數據的頭部當中取出復制出來該字段,然后填充到發送字段。

-N-PDU。這個字段用在內部SGSN路由區域,和內部的一些系統交換區域。

-Next Extension Header。這個字段定義了Extension Header的類型。

Extension Header的格式:

-長度字段,定義了Extension Header長度,單位是4字節。

-type。定義了Extension Header的類型。當全部為0的時候,表示下面沒有擴展了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM