GTP协议介绍

标签:无 4077人阅读 评论(0)
分类:

GTP 协议介绍

概述

通用分组无线服务 (General Packet Radio Service, GPRS)是为了支持分组交换(Packet Switching, PS)业务,在 2G GSM 网络基础之上发展而来的,通常被称为 2.5G 网络。GPRS隧道协议(GPRS Tunnelling Protocol, GTP)是 GPRS 核心网中基于 IP 的协议,主要用于在 GSN(GPRS Support Node) 节点之间的信息交互。

GTP协议目前有3个版本:version 2 用于 LTE 核心网;version 1 用于 GSM 和 UMTS,也用于 LTE 网络中用户面数据传输;version 0 是早期版本,被 1999 年标准化的 version 1替代。

网络结构

简单来说,GPRS 的结构(如下图)主要分为无线接入网 (Radio Access Network, RAN)和核心网(Core Network, CN)。其中,RAN 负责把终端(例如手机)接入到通信网络中;核心网负责通信数据的交换和处理。服务 GPRS 支持节点(Serving GPRS Support Node, SSGN)和网关 GPRS 支持节点(Gateway GPRS Support Node,GGSN)是 GPRS 网络的主要组件。

1568807779175014610.png

  • SGSN 负责在它的服务区域内从移动台接收/发送数据包,它的功能包括数据包路由和传输、移动性管理以及鉴权和计费功能。GGSN 负责 GPRS 网络和外部网络之间的互联。


  • SGSN 和 GGSN 的主要区别在于,GGSN 作为网关,在不同的通信网中转换协议。可以把从 mobile 到 GGSN 看作一个内网, GGSN 实现 NAT/PAT 功能,将私有地址转成 GGSN 公网地址池的公网地址,即手机访问互联网使用的公网地址。而 SGSN 作为路由,只是在使用相同协议的网络中接收/转发数据包。


  • 现行的 4G LTE 网络使用 SAE 结构体系,支持控制与转发面分离,SSGN 由服务网关(S-GW),移动性管理组件(MME)等网元替代,GGSN 的功能主要由 PDN 网关(P-GW)实现。


同一个移动通信网(Public Land Mobile Network, PLMN)内部 GSN 之间的通信接口称为 Gn,不同 PLMN 之间 GSN 的接口称为 Gp。Gn/Gp 接口运行 GTP 协议,为 SGSN 和 GGSN 之间的信令和用户数据提供隧道。GTP 能够将数据帧重新封装并通过隧道发送,由新的报文首部提供路由信息,以便在不同网络下传递被封装的负载数据。

1568807826604090815.png

  • 由于核心网内部通过 GTP 协议通信,报文在核心网与外部网络之间传输时需要对数据报头进行处理。数据包进入核心网时添加 GTP 头,反之,则去 GTP 头。


  • 数据转发的流程通常是 SGSN 接收数据包,对其封装后通过GTP 隧道将报文转发到 GGSN。GGSN 接收这些数据包时,先解封隧道,然后转发到外部主机。

核心网连接流程

GPRS 分组域核心网使用 PDP(Packet Data Protocol, 分组数据协议) 上下文来管理用户从移动终端到 GSN 及外部网络的数据。移动终端使用分组数据业务时,需要激活 PDP 上下文,激活成功后,移动终端、SGSN 和 GGSN 中会增加一条新的 PDP 上下文记录。根据 PDP 记录信息,SGSN 和 GGSN 才能正确地收发用户数据。
一个简单的分组会话连接过程包括以下三个阶段:

1. 分组域会话连接建立阶段

移动终端发起激活 PDP 上下文的请求,GSN 接受用户的请求并建立新的 PDP 上下文。

1568807859878038304.png

  • SGSN 确认 MS 发送的激活 PDP 请求后,向 GGSN 发送创建 PDP 上下文请求消息。对于首次激活的PDP 上下文,请求消息中包含移动终端的 IMSI 和 MSISDN、NSAPI、SGSN 分配的控制平面 ID(TEID_CP)、PDP Address、接入点名称(Access Point Name)等信息。


  • GGSN 收到请求后在其 PDP上下文表中创建一个新条目,生成计费 ID,并返回一个创建 PDP 上下文响应。SGSN 收到响应时检查报文中 cause 字段的值,若为 Request accepted,则激活 PDP 上下文。请求接受的响应报文消息包括 TEID、PDP 类型、PDP 地址、协议配置选项、协商的 QoS、计费 ID 等。


  • 更新 PDP 上下文通常由 SGSN 发给 GGSN,作为 SGSN 间 GPRS 路由更新或 PDP 上下文修改过程的一部分。对于跨 SGSN 的路由区域更新,更新请求由新的 SGSN 发送。也可由 GGSN 发起,用于重新协商 PDP 上下文服务质量。

2. 分组域会话阶段:

移动终端收到 PDP 上下文请求成功消息后,可以通过 GSN 连接到互联网。核心网在移动终端和互联网之间透明地路由,转发分组数据,保证在不同网络环境下,数据的正确性。

3. 分组域会话连接结束阶段

当用户不再使用业务时,移动终端发送去激活消息给 SGSN。SGSN 发送删除 PDP 上下文请求给 GGSN,GGSN 删除 PDP 上下文,并返回消息给 SGSN。SGSN 将去激活响应消息再返回给移动终端。

1568807931443042700.png

协议分析

GTP 协议包括 GTP 控制面协议(GTP-C) 和用户面协议(GTP-U) 。 在控制面,GTP 协议定义了隧道控制和管理协议,允许 GSN 为移动终端提供分组数据接入, 控制面的信令用于创建、修改和删除隧道。在用户面, GTP 使用隧道机制为用户提供传输数据包的服务, 包括用户数据分组、路径管理。

首部结构

1568807964313065494.png

GTP 首部是 GTP- C 和 GTP-U 协议的公用变长首部,最小长度是8字节。分为必选字段和可选字段。

  • 必选字段

    1. Version field: 指定 GTP 协议的版本,通常情况为1。

    2. Protocol Type (PT):区分 GTP 协议(置1)和 GTP 计费协议(置0)。

    3. Extension Header flag (E):说明标志是否有下一个扩展头字段, 字段置1表示有,字段置0表示不必解释下一个扩展头字段。

    4. Sequence number flag (S):说明标志是否有序号字段,有则置1, 置0表示没有或不需要解释。

    5. N-PDU Number flag (PN):该标志指示 N-PDU 数字字段中存在一个有意义的值。当它被设置为0时,N-PDU 数字字段要么不存在,要么不被解释。当它被设置为1时,首部存在 N-PDU Number 字段,并将进行解释。

    6. Message Type:该字段指示 GTP 消息类型(GTP-C 和 GTP-U)。

    7. Length:GTP 头的必选字段(即前8字节)之后的包长度。

    8. Tunnel Endpoint Identifier (TEID):该字段标识 GTP 协议实体中的隧道端点。TEID 值由 GTP 隧道的对端本地分配,供发起方使用。

  • 可选字段

    1. Sequence Number:事务标识,说明消息传输顺序。

    2. N-PDU Number:此字段用于 SGSN 路由区域间的更新和一些系统间的切换过程(例如 2G 和 3G 无线接入网之间),协调MS 和 SGSN之间的公认通信模式的数据传输。

    3. Next Extension Header Type:定义紧接该字段的扩展头的类型。

消息类型

通常情况下 GTP 报文的封装格式如下图所示:

1568808006816027419.png

GTP 定义了两个相关 GSN 或 SGSN 和 RNC 之间的一组消息。消息包括路径管理消息,隧道管理消息, 位置管理消息和移动性管理消息四大类。具体可参考 3GPP TS 29.060 Section 7。这里列举四类中部分消息。

  • 路径管理消息

    路径管理消息可以在任何类型的 GSN 或 GSN - RNC 对之间发送。

    • Echo Request/Response:GSN 或 RNC 可以在路径上向另一个 GSN 或 RNC 发送回送请求,以确定对等的 GSN 或 RNC 是否连通,对接收到的 Echo 请求发送响应。


  • 隧道管理消息

    • Create PDP Context Request/Response:创建 PDP 上下文请求和响应, 由 SGSN 向 GGSN 发送请求消息,GGSN 向 SGSN 发送响应消息。

    • Update PDP Context Request/Response:更新 PDP 上下文请求和响应, 当 PDP 上下文的有关参数(如网络质量 QoS )需要重新协商时, 或者手机发生越 SGSN 切换时, SGSN 或 GGSN 向对端发送请求消息, 对端发送响应消息。

    • Delete PDP Context Request/Response:删除 PDP 上下文请求和响应。


  • 位置管理消息:该可选消息在网络请求的 PDP上下文激活过程中 GGSN 没有 Gc 接口时使用。

  • 移动性管理消息:移动管理消息在 SGSN 路由更新时发送。控制平面能够将 MS 相关的数据从旧的 SGSN 传输到新的 SGSN。


信息单元(Information Elements)

GTP 报文除去包头和扩展头,剩下的信令消息可包含若干信息元素(IE),分为 TLV 型(Type, Length, Value)或 TV 型(Type, Value)。可以从报文中提取这些 IE 信息用于关联分析。这里列出部分 IE,具体可参考 3GPP TS 29.060 Section 7.7 Table 37。

IE类型值格式IE长度
1TV原因(Cause):描述请求原因或响应结果1
2TV国际移动用户识别码(International Mobile Subscriber Identity, IMSI)8
3TV路由区标识(Routeing Area Identity, RAI)6
16TVTunnel Endpoint Identifier Data I:数据面 TEID 标识4
17TVTunnel Endpoint Identifier Control Plane:控制面 TEID 标识4
20TVNSAPI:用户网络接入点1
128TLV终端用户地址(End User Address)变长
133TLVGSN Address变长
134TLV移动台识别码(MS International PSTN/ISDN Number, MSISDN)变长
154TLV国际移动设备身份码(IMEI)8


参考资料

查看评论

暂无评论

发表评论
  • 评论内容:
      
首页
团队介绍
发展历史
组织结构
MESA大事记
新闻中心
通知
组内动态
科研成果
专利
论文
项目
获奖
软著
人才培养
MESA毕业生
MESA在读生
MESA员工
招贤纳士
走进MESA
学长分享
招聘通知
招生宣传
知识库
文章
地址:北京市朝阳区华严北里甲22号楼五层 | 邮编:100029
邮箱:nelist@iie.ac.cn
京ICP备15019404号-1