GTP 协议是由GTP 信令和数据传输程序组成的。在信令平台,GTP信令规定了移动台 MS接入 GPRS网络的隧道控制和管理功能要求 ,信令主要执行建立、修改和删除GSN之间隧道功能以及执行移动性管理、位置管理、 路径管理功能。在传输平台 ,GTP利用 GSN 之间建立的隧道传送用户分组数据,并给出了以GTP 为基础的IP组网技术,SGSN、GGSN执行GTP 、UDP或 TCP和 IP 字头封装功能和包括骨干路由器在内对用户分组数据的分段处理功能。
GTP 字头是由 20 个字节组成的固定格式, 适合全部的 GTP 消息 , GTP 字头组成和隧道标识符格式如图 2 、 图 3 所示。
其中 , 版本比特和 PT 比特合用表示协议类型及版本号 ;SNN 用于指示 SNDCP(子网相关的收敛协议)的N -PDU序号是否被包括 ;消息类型指示 GTP 消息的类型 :路径管理、 隧道管理、 位置管理、 移动性管理等信令消息类型 ;序列号用于信令消息的事务处理标识和隧道传送 T -PDU 的递增序号;TID(隧道标识符)用于指出MM(移动性管理)和 PDP 上下文 。其结构如图 3 所示。
图 3 中 MCC 是移动网国家代码 , MNC 是移动网代码 , MSIN 是移动台识别号 , 属于国际移动用户识别 IMSI 中的一部分。NSAPI 是网络业务访问点标识符 , 用于识别PDP 上下文。
与 GPRS移动性管理功能有关的信令平台包括 GPRS连接,GPRS路由区更新和 PDP上下文激活等。GSN 节点之间的信令是由 GPRS 隧道协议 GTP 来执行的。信令平台(协议栈)如图 4 所示。
GTP 信令流与GTP 隧道仅是逻辑上的结合 , 实际上是分开的。一对 GSN -GSN 之间可存在一条或多条路径。每条路径又可能包含一条和多条隧道。GTP 是一种手段 ,通过 GTP 来建立、 使用、 管理和释放隧道。利用保持激活的回送消息来保持路径 , 保证 GSN之间连接中断时能及时检测到。GTP 定义了 2 个相关的 GSN 之间的一组信令消息。GSN 之间(SGSN 和GGSN 之间 ;SGSN 和 SGSN 之间)以及生成 CDR 的网络单元和 CGF 之间的信令消息类型值分配如表 1 所示:
消息类型值 |
消息内容 |
1~7 |
路径管理信令消息 |
16~30 |
隧道管理信令消息 |
32 ~ 37 |
位置管理信令消息 |
48 ~ 52 |
移动性管理信令消息 |
240 ~ 241 |
可选的计费数据记录 |
255 |
用户分组数据 T-PDU传送 |
其他 |
供将来使用 |
对于信令消息, GTP 字头的用法如下 :
(1)SNN 置 0 ;
(2)消息类型按上表取定为唯一值 ;
(3)长度是指不包括 GTP 字头在内信令消息长度(字节数);
(4)序列号是指一条路径或一条隧道的有效消息号码, 在路径或隧道中发送的每条 GTP 信令消息的序列号是唯一的, 连续序列号范围为 0 至 65535 ;
(5)在全部路径管理消息 、 位置管理消息和移动性管理消息中 TID 置 0。在隧道管理消息中 , TID 用于指出目的地 GSN 中的 MM 和 PDP 上下文 ;
(6)在全部路径管理消息 、 位置管理消息中 , 流标志没有使用置 0。 在隧道管理消息和移动性管理消息中 , 流标志置成所请求的值, 用于指示 GTP 流。信令消息是由用于信令的 GTP 字头加后面跟随着的一系列信息单元组成各种信令消息 , 主要取决于信令消息的类型 , 不同的信令消息类型 GTP 字头后面跟随不同的信令消息。信令消息格式如图 5 所示。
隧道用于在一个给定的GSN 对之间为单独的一个MS 承载封装的 T -PDU。出现在 GTP 字头中的关键隧道标志应说明一个特定的 T -PDU 属于哪个隧道。以这样一种格式 , 分组通过 GTP 在一个给定的 GSN -GSN 对之间进行复用和解复用 。在关键字段使用的TID 值是由发生在信令平台上的创建 PDP 上下文建立规程来建立的。
GTP 协议承载 T -PDU 通过 GPRS 骨干网 。 T -PDU 封装在 G -PDU中 , 在一对 GSN 之间的一个隧道中承载。一个 G -PDU 是由一个 GTP 字头和一个 T -PDU 组成的分组。路径协议规定路径 , GTP 字头规定隧道。几个隧道可以复用到一条路径上。帧结构如图6 所示。
对于传输平台消息 , GTP 字头应如下进行使用:
(1)SNN 标志 :如果 SNN 标志置 1 , 则 GTP 字头包括可选的 SNDCP N-PDU 序号。
(2)消息类型置十进制 255 , 表明是一个 T -PDU。
(3)序列号 :用于决定是否丢弃一个收到的 T -PDU。
(4)SNDCP N -PDU序列号:如果 SNN 置 1 , 此序列号应该被包括。在 SGSN 间路由区更新时 , 此序列号被原 SGSN 用来告诉新 SGSN 指派给 T -PDU 包的N -PDU 序列号 。如果一个 T -PDU 包没有被 SNDCP指定序号, 或 T -PDU 包在 LLC层上使用非确认的方式传送 , 那么 SNN 标志应置 0, SNDCP N -PDU 序号应置 255 。
(5)流标志用于识别 T -PDU 属于哪个数据流。流标志是接收方在上下文建立、 更新或 SGSN改变时选择的。
(6)TID:隧道标识符指示该T-PDU所属的隧道。由接收 GSN利用 TID来查找 MM和 PDP的上下文。
UDP/IP 是在GTP 的第一版本中唯一规定用来传送 GTP信令消息的路径协议。UDP/IP也作为在无连接路径上的隧道传送无连接 T-PDU的推荐选择。
TCP/IP 作为在一个可靠的面向连接路径上的隧道传送面向连接 T-PDU的推荐选择。