移动通信网络中的 GTP 协议
目录
GTP
GTP(GPRS Tunnelling Protocol,GPRS 隧道协议)是一组基于 IP 的通信协议,用于 GSM、UMTS 和 EPS 网络中承载 GPRS(General Packet Radio Service,通用分组无线业务)。
在 EPS UP 中使用 GTP 的一个优势是:GTP 固有的可鉴别隧道机制,以及 GTP 可以为 UE 提供的移动性能力。对于前者,一个 UE 的业务承载由 GTP TEID 和 IP 地址来进行鉴别;而对于后者,UE 通过 GTP 能持续的通过同一个 SGW 作为本地移动性的锚点,进而连接到 PDN。
GTP 包含了三种协议:
- GTP-C:在 CP 传输核心网的信令数据
- GTP-U:在 UP 传输 UE 的业务数据
- GTP’:传送计费数据
GTP 协议目前有 3 个版本:
- Version 2:使用于 EPC 核心网;
- Version 1:使用于 GSM 和 UMTS 网络,以及应用于 EPS 网络中以传输用户面数据;
- Version 0:是早期版本,被 1999 年标准化的 version 1 替代。
注意:不存在 GTPv2-U 协议。在 EPS 中的 GTP-U 仍使用 GTPv1-U。
GTP-C 协议(GTP 控制面)
GTP-C 协议是 GTP 的控制面部分,使用 UDP 端口 2123。在 EPS 中,GTPv2-C 协议负责在 S1、S5/S8 等接口上创建、维持和删除 GTP-U 隧道。它被用于控制面路径管理(Control Plane Path Management)、隧道管理(Tunnel Management)和移动性管理(Mobility Management)。它也控制转发位置变更消息、SRNS 上下文、并在 EPS 网间切换中创建转发隧道。
GTP-U 协议(GTP 用户面)
GTP-U 协议是 GTP 的用户面部分,使用 UDP 端口 2152。是一个的基于 IP 的隧道协议,它允许在各个 GTP-U Protocol Entity(协议实体)之间建立多个隧道。每个隧道由一个 GTP Header 中的 TEID(隧道端点标识符)标识,TEID 应当是一个动态分配的随机数。在 EPS 中,使用 GTPv1-U 协议在 S1、S5/S8 等接口上交换用户的业务数据。UE 所收发的 IP 数据包被打包在 GTPv1-U 的包中,并在 UP 的各个网元节点之间的隧道中传输。
GTP’ 协议(计费传输)
GTP’ 协议使用 TCP/UDP 端口 3386,被用于向 CGF(Charging Gateway Function,计费网关功能)传输计费数据。
GTPv2 Header

- 版本号: 标记 GTP 的版本,对于 GTPv2 来说,这个值始终是 “2”。
- 捎带消息标志位(Piggybacking flag):如果被置为 1,则在这条消息后面会有另外一条带有完整消息头的 GTP 消息。协议里具体规定了每种消息可以携带的消息类型。
- TEID 标志位(TEID flag):如果被置为 1,则 TEID 字段存在。其实只有 Echo Request 和 Echo Response 消息不携带 TEID 字段。
- 消息类型(Message Type):指示 GTP 消息的类型。关于消息类型的定义,请参考 3GPP TS 29.060 第 7.1 节。
- 总长度(Total length):指包括消息头和消息体的消息总长度,不包括消息头前 4 个字节的必选字段。
- TEID(Tunnel endpoint identifier,隧道端点标识):用于区分 GTP 隧道中的不同连接。
- 序列号(Sequence number):可选字段,当 E、S 或 PN 位中的任意一个取值为 1 时,这个字段存在。仅当 S 位为 1 时,这个字段必须被解析。
移动通信网络中的 GTP 协议的更多相关文章
- 卫星网络中使用TCP协议的劣势(所以才有TCP优化版用来卫星通信啊,比如TCP-Peach和ADolar)
卫星网络中使用TCP协议的劣势 为了避免产生网络拥塞,原TCP协议综合采用了慢启动.拥塞避免.快速重传以及快速恢复等算法.但这些算法应用的前提是网络发生拥塞造成丢包,然而在误码率相对较高的卫星通信系统 ...
- 无线网络中的MAC协议(1)
前文我们对传统的有线网络的MAC协议进行了分析,接下来我们在对无线网络的MAC也进行一个详细的介绍.那么无线网络中的MAC工作方式是如何的呢?无线局域网(WLAN)中MAC所对应的标准为IEEE 80 ...
- 关于3G移动通信网络中用户ip的配置过程的研究(中国电信cdma2000)
在RP口对ppp过程进行研究 PPP协商过程,如下图所示: 在建立ppp过程中pdsn需要与FAAA.HAAA交互.同时在分组数据业务进行过程中这种交互更加频繁,介绍如下,分为两种情况,简单ip,移动 ...
- 网络中常见的ping命令协议
ICMP是"Internet Control Message Ptotocol"(Internet控制消息协议)的缩写.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之 ...
- 网络中常用的各种协议(针对TCP/IP协议组)
网络层: ip协议->网络互连协议 用途:将多个包在网络中联系起来,传输数据包(不可靠传输),最基本功能就是寻址和分段功能,不提供端到端,路由到路由的确认,不提供重发和流量控制.是计算机网络能狗 ...
- DDos攻击的一些领域知识——(流量模型针对稳定业务比较有效)不稳定业务采用流量成本的检测算法,攻击发生的时候网络中各个协议的占比发生了明显的变化
在过去,很多防火墙对于DDoS攻击的检测一般是基于一个预先设定的流量阈值,超过一定的阈值,则会产生告警事件,做的细一些的可能会针对不同的流量特征设置不同的告警曲线,这样当某种攻击突然出现的时候,比如S ...
- 通过python基于netconf协议获取网络中网元的配置数据,助力企业网络控制自动化轻松实现!
摘要:在当今信息化时代,大多数企业都需要网络支撑企业的ICT运行,提升企业运行效率,针对企业网络中的网元设备(包括交换机,路由器,防火墙等),很多企业希望根据自身的业务特点定制网络管理,比如可以实现网 ...
- 无线网络中的MIMO与OFDM技术原理分析
无线网络中的MIMO与OFDM技术原理分析CNET中国·ZOL 07年08月14日 [原创] 作者: 中关村在线 张伟 从最早的红外线技术到目前被寄予重望的WIFI,无线技术的进步推动我们的网络一步步 ...
- 网络中两台主机的通信过程(TCP)
两台主机通信有两种情况:1.在同一网段中 2.不在同一网段中 (1.)在同一网段的通信过程 主机在应用层上的操作: TCP/IP协议上tcp的端口对应的各种应用程序,客户机要访问某个应用程序就会要求打 ...
- C#网络编程之---TCP协议的同步通信(二)
上一篇学习日记C#网络编程之--TCP协议(一)中以服务端接受客户端的请求连接结尾既然服务端已经与客户端建立了连接,那么沟通通道已经打通,载满数据的小火车就可以彼此传送和接收了.现在让我们来看看数据的 ...
随机推荐
- #费马小定理,BSGS#BZOJ 3285 离散对数解指数方程
题目 求最小的正整数 \(x\) 满足 \(g^{ax+b}\equiv c\pmod p\) 其中 \(p\) 是一个质数, \(g,a,b,c\leq 10^{1000000},p\leq 2^{ ...
- #笛卡尔树,dp#洛谷 7244 章节划分
题目 分析 考虑段数受到答案限制,而答案为最大值的约数,那么枚举答案, 设\(dp[i]\)表示前\(i\)个位置分完最多可以分多少段只要\(dp[n]\geq k\)即合法. 那么\(dp[i]=\ ...
- #状压dp,背包,贪心#洛谷 5997 [PA2014]Pakowanie
题目 你有 \(n\) 个物品和 \(m\) 个包.物品有重量,且不可被分割: 包也有各自的容量.要把所有物品装入包中,至少需要几个包? 分析 考虑物品的数量很小,首先优先选容量大的背包, 设\(f[ ...
- OpenHarmony轻量设备Hi3861芯片开发板启动流程分析
引言 OpenHarmony作为一款万物互联的操作系统,覆盖了从嵌入式实时物联网操作系统到移动操作系统的全覆盖,其中内核包括LiteOS-M,LiteOS-A和Linux.LiteOS-M内核是面向I ...
- 使用 OpenCV 进行文档矫正
使用 OpenCV 进行文档矫正 本文只发布于博客园与pchar博客 std::vector<std::vector<cv::Point>> cvhelper::findCor ...
- 解析 Go 编程语言数据类型:bool、整数、浮点数和字符串详细介绍
数据类型 数据类型是编程中的重要概念.数据类型指定了变量值的大小和类型.Go是静态类型的,这意味着一旦变量类型被定义,它只能存储该类型的数据. 基本数据类型 Go 有三种基本数据类型: bool:表示 ...
- 父组件明明使用了v-model,子组件竟然可以不用定义props和emit抛出事件,快来看看吧
前言 vue3.4增加了defineModel宏函数,在子组件内修改了defineModel的返回值,父组件上v-model绑定的变量就会被更新.大家都知道v-model是:modelValue和@u ...
- 【Kotlin】List、Set、Map简介
1 List Java 的 List.Set.Map 介绍见 → Java容器及其常用方法汇总. 1.1 创建 List 1.1.1 emptyList var list = emptyList& ...
- 鸿蒙HarmonyOS实战-ArkUI组件(Popup)
一.Popup Popup组件通常用于在屏幕上弹出一个对话框或者浮动窗口.这个组件通常和其他组件一起用于用户界面的交互和反馈. Popup组件可以包含任何类型的组件或内容,比如文本.按钮.输入框.图片 ...
- IaC 管理新思路:Walrus 和 Terraform 的差异化探索
Terraform 的社区版本及商业化版本,让其成为在基础设施即代码(IaC)领域中可靠的部署和管理平台.尽管目前 Terraform Cloud/Enterprise 仍然是最为广泛采用的 IaC ...