移动通信网络中的 GTP 协议

摘要:
在EPSUP中使用GTP的优点之一是GTP具有固有的可识别隧道机制和GTP可以为UE提供的移动性。注意:GTPv2-U协议不存在。GTP-C协议GTP-C是GTP的控制平面,使用UDP端口2123。在EPS中,GTPv2-C协议负责创建、维护和删除S1、S5/S8和其他接口上的GTP-U隧道。它是一种基于IP的隧道协议,允许在GTP UProtocolEntities之间建立多个隧道。在EPS中,GTPv1-U协议用于在S1、S5/S8和其他接口上交换用户的业务数据。GTPv2Header版本号:标记GTP版本。对于GTPv2,该值始终为“2”。
目录

文章目录

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 协议》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇用arduino做一个智能垃圾桶从零开始制作Galgame——我的Ren'py学习笔记(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows10与虚拟机中CentOS-7.2进行telnet通信 出现在端口23处失败【解决】

(telnet服务是由xinetd守护,所以安装和启动都要用到xinetd) 1.先检查CentOS7.0是否已经安装以下几个安装包:telnet-server、telnet、xinetd。命令如下: rpm -qa |grep telnet-server rpm -qa |grep telnet rpm -qa |grep xinetd 如果上面一条指令...

Fast Paxos 和 Paxos的区别

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt373 自从Lamport在1998年发表Paxos算法后,对Paxos的各种改进工作就从未停止,其中动作最大的莫过于2005年发表的Fast Paxos。无论何种改进,其重点依然是在消息延迟与性能、吞吐量之间作出各种权衡。为了容易地从...

关于socket通信bind()返回值错误:10049

前几天偶尔收到一个朋友的求救,要编写一个IPV6的socket编程 开始以为这个问题很容易,因为socket已经兼容IPV4和IPV6的,改下那几个接口就可以了 然后....被卡住了.... 修改了参数为IPV6的参数以后,在bind的时候始终包10049错误. 按照MSDN的说法,10049的意思表示找不到那个IP. 但是我服务器端bind监听的sock...

Arduino---HC-05 蓝牙模块

蓝牙基础知识回顾: (一)Arduino和HC-05连接 注意:Arduino通过TX与HC-05进行通信,而Arduino的电压为5V,HC-05的允许电压为3.3V。短时间通信无妨(长时间可能烧毁HC-05)<接分压电路> U = 5*20/30 = 3.3V I = 5V/(10K+20K) = 0.16mA (二)Arduino和...

Windows phone 8 学习笔记(3) 通信(转)

Windows phone 8 可利用的数据通信方式比较广泛,在硬件支持的前提下,我们可以利用WiFi、蓝牙、临近感应等多种方式。数据交互一般通过套接字来完成,我们将在本文详细的分析。 快速导航:一、WP8套接字二、蓝牙三、NFC四、获取网络状态五、访问web的几种方式 一、WP8套接字 1)创建套接字客户端 Windows phone 8中的套接字并...

Android使用NFC模拟M卡实现 (二)

  Android使用NFC模拟M卡实现 (一)Android使用NFC模拟M卡实现 (二)Android使用NFC模拟M卡实现 (三)   前几天写的第一篇关于NFC的官方文档的翻译,今天才更新第二篇。没等我更新,就有人留言,具体怎么实现了! 我写文章不易,你搜索也不易,进行了,就请细看,细读。不会让你失望,失望没懂的地方,请留言 ! 这里应该是写总结,...