zoukankan      html  css  js  c++  java
  • 对于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的时候,表示下面没有扩展了。

  • 相关阅读:
    VUE课程参考---2、VUE基本使用
    VUE课程---1、VUE课程介绍
    JS数组常用方法---3、pop方法使用及原理
    JavaScript中数组元素删除的七大方法汇总
    Stack的三种含义
    JS数组常用方法---6、reverse方法
    数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
    服务框架HSF分析之一容器启动
    淘宝HSF服务的原理以及简单的实现
    DAS 原文出自【比特网】
  • 原文地址:https://www.cnblogs.com/jiaxin359/p/7344599.html
Copyright © 2011-2022 走看看