目录

文章目录

  • 目录
  • GTPv1-U 用户面隧道协议
  • GTPv1-U 协议的基本概念
  • GTPv1-U 的 Header
  • 5G GTPv1-U 协议栈
  • GTPv1-U 的消息类型
    • 用户面数据
      • 支持单向的点对点隧道协议
      • 支持一个 GTP-U 隧道端点连接多个远程 GTP-U 端点
    • 信令消息
      • 路径管理
      • 隧道管理
  • 5G 对 GTPv1-U 协议的扩展
    • PDU Session Container
    • NR RAN Container

GTPv1-U 用户面隧道协议

GTP-U(User Plane Part of GTP,GPRS 用户平面部分)协议,是 GTP 的用户面部分,是一个的基于 IP/UDP 的隧道协议,它允许在各个 GTP-U Protocol Entity(协议实体)之间建立多个隧道。

IANA(因特网编号管理局)规定 GTP-U 协议使用 UDP dstPort 2152,而 srcPort 则由 Source GTP-U Protocol Entity(发送方协议实体)动态分配。GTP-U 支持通过动态分配 Source UDP Port 来支持负载均衡。

GTPv1-U 协议的基本概念

  • T-PDU(Transport Protocol Data Unit,传输协议数据单元):UE 发出的原始业务数据称
  • G-PDU(GTP Encapsulated User Plane Data Unit,GTP 封装的用户平面数据单元):在 GTP-U Protocol Entity 中被封装上了 GTP-U Header 的 T-PDU。

注:PDU(Protocol Data Unit of end-to-end user protocol packet,端到端用户面协议的协议数据单元)。

GTPv1-U 的 Header

GTP-U Header 中含有一个由 GTP-U Protocol Entity 上分配 TEID(Tunnel Endpoint Identifier,隧道端点标识符)指示了 T-PDU 属于哪个隧道。TEID 本质是一个动态分配的随机数。注意,G-PDU 一定包含了 GTP-U Header,但不一定会包含 T-PDU,也可能只包含 GTP-U Extension Header 或 IE、TV(Type Value)或 TLV(Type Length Value)编码元素。

5G GTPv1-U 协议栈

GTPv1-U 的消息类型

用户面数据

支持单向的点对点隧道协议

GTP-U 的一个显著特性是 “单向的点对点隧道协议”,下图显示了由 UL(上行链路)和 DL(下行链路)的两条单向隧道组成的一个双向隧道。

  • UL:从 RAN 到 UPF1(TEID=1),从 UPF1 到 UPF2(TEID=2)。
  • DL:从 UPF2 到 UPF1(TEID=3),从 UPF1 到 RAN(TEID=4)。

支持一个 GTP-U 隧道端点连接多个远程 GTP-U 端点

GTP-U 的另一特性就是 “支持一个 GTP-U 隧道端点连接多个远程 GTP-U 端点”,使用的场景如下:

  • 5GC 的双连接场景:对于同一 PDU Session 的上行链路业务,SMF 可以为主和辅 NG-RAN(双连接的两个RAN)分配相同的 UPF 上行链路 F-TEID(全量的 TEID)。
  • IPv6 多归属场景:来自同一 PDU Session 的多个 PSA 的下行链路业务可由 SMF 分配相同的 BP 的 N9 F-TEID。

信令消息

路径管理

  • Echo Request Msg:用来探测 GTP Path 和对端节点是否正常。发送间隔由 N3 计数器控制,建议值为 5 次。T3 为等待响应的时间,建议不低于 60 秒。若 T3 * N3 超时,则认为 GTP Path 失效。
  • Echo Response Msg:对 Echo Request 的响应。
  • Supported Extension Headers Notification:声明自己所支持的 GTP 扩展包头。

隧道管理

  • Error Indication:当收到一个 G-PDU 但找不到对应的 EPS Bearer/PDU Session,并且 TEID 不是全是 0,则要给对端发 Error Indication。主要用途防止 DOS 攻击。
  • End Marker:用于表明该 GTP-U 隧道已收到最后一个 G-PDU,该隧道将不再接收后续的用户数据。如果来了,也被直接丢弃。

5G 对 GTPv1-U 协议的扩展

版本:

  • GTPv1-U TS29.281 v15.3.0 (2018-06)

5GC 对 GTPv1-U 协议的 Extension Header 进行了扩展,增加了两个 Extension Header:

  1. NR RAN Container
  2. PDU Session Container

PDU Session Container

4G 的 GTP-U Tunnel 是基于 EPS Bearer 的,所以可以使用 TEID 就可以区分不同的用户。而 5G GTP-U Tunnel 是基于 PDU Session 的,并且一个 PDU Session 中存在多个 QoS Flow,所以就无法使用 TEID 来区分不同的用户。因此,5G 引入了 PDU Session Container 扩展头来解决这个问题。


PDU Session Container 扩展头用在 N3 和 N9 用户面接口的 G-PDU(Service IP Layer)上,这个扩展头的长度是可变长的,其内容定义在 TS38.415 上。下面我们对 TS38.415 定义的 PDU Session Container 进行展开。

字段名称 解释
PDU Type 指示帧结构类型,当前只是用了 0 和 1,其它的值保留以后使用,长度:4bit。
Spare 空闲字段,发送端应该设置为 0,接收端不解析此字段,长度:4bit。
QoS Flow Identifier (QFI) 指示传输的报文属于哪条 QoS 流,长度:6bit。
Reflective QoS Indicator (RQI) 指示是否激活用户面的反射 QoS;这个参数仅用于下行;如果这条 QoS 流的 RQA(Reflective QoS Activation)没有配置,则 NG-RAN 忽略 RQI 参数。 长度:1bit。0:不触发 Reflective QoS;1:触发 Reflective QoS 。
Padding 用于字节对齐

NR RAN Container

NR RAN Container 的内容定义详见 TS38.425。

NR RAN Container 用于支撑 “NR user plane protocol” 功能。

The NR user plane protocol is located in the User Plane of the Radio Network layer over either the Xn or the X2 or the F1 interface. The NR user plane protocol is used to convey control information related to the user data flow management of data radio bearers.

即 NR RAN Container 用于 5G Xn-U、4G X2-U 和 F1-U 中,用于传输与 DRB 相关的数据流管理控制信息。所以 NR RAN Container 类型的 GTP-U 类型报文是不会内含 N3 或 N9 用户面接口的 G-PDU(Service IP Layer)的。

5GS 协议栈 — GTPv1-U 协议相关推荐

  1. TCP/IP网络协议栈:IP协议

    <TCP/IP网络协议栈:以太网数据包结构.802.3> <TCP/IP网络协议栈:ARP协议详解> <TCP / IP攻击:ARP缓存中毒的基本原理.TCP序列号预测和 ...

  2. TCP/IP网络协议栈:ARP协议详解

    <TCP/IP网络协议栈:以太网数据包结构.802.3> <TCP/IP网络协议栈:ARP协议详解> <TCP / IP攻击:ARP缓存中毒的基本原理.TCP序列号预测和 ...

  3. 5GS 协议栈 — GTP 协议族

    目录 文章目录 目录 GTP 协议族 GTPv2 Header GTP 协议族 GTP(GPRS Tunnelling Protocol,GPRS 隧道协议)是一组基于 IP 的通信协议,用于 GSM ...

  4. 5GS 协议栈 — PFCP 协议 — URR 用量上报规则

    目录 文章目录 目录 URR 用量上报规则 UEE 的参数 Usage Report 的参数 示例 URR 用量上报规则 29244 5.2.2 Usage Reporting Rule URR 的作 ...

  5. 5GS 协议栈 — PFCP 协议 — QER QoS 实施规则

    目录 文章目录 目录 QER QoS 实施规则 QER 的参数 示例 QER QoS 实施规则 29244 5.2.5 QoS Enforcement Rule QER 的作用? 用来告诉 UPF 怎 ...

  6. 5GS 协议栈 — PFCP 协议 — MAR 多接入规则

    目录 文章目录 目录 MAR 多接入规则 MAR 的参数 MAR 多接入规则 MAR 的参数 N4 Session ID:Identifies the N4 session associated to ...

  7. 5GS 协议栈 — PFCP 协议 — BAR 缓存行为规则

    目录 文章目录 目录 BAR 缓存行为规则 BAR 的参数 示例 BAR 缓存行为规则 29244 5.2.4 Buffering Action Rule BAR 的作用:用来告诉 UPF 要怎样缓存 ...

  8. 5GS 协议栈 — PFCP 协议 — PDR 报文检测规则

    目录 文章目录 目录 PDR 报文检测规则 PDR 的参数 示例 PDR 报文检测规则 29244 5.2.1A: Packet Detection Rule PDR 的作用? 用来告诉 UPF 如何 ...

  9. 5GS 协议栈 — PFCP 协议 — FAR 转发操作规则

    目录 文章目录 目录 FAR 转发操作规则 FAR 的参数 示例 FAR 转发操作规则 29244 5.2.3 Forwarding Action Rule FAR 的作用? 用来告诉 UPF 怎样转 ...

最新文章

  1. bzoj 2588 Spoj 10628. Count on a tree (可持久化线段树)
  2. crypt函数的使用(仅限LINUX)
  3. mxGraph改变图形大小重置overlay位置
  4. php的declare命令
  5. 注解@PostConstruct与@PreDestroy
  6. 医学计算机应用研究的意义,医学图像感兴趣区域的自动提取-计算机应用研究.PDF...
  7. 查看MySQL的当前日期
  8. kettle同步数据到hive 巨慢_超详细教程,kettle ETL mysql到hadoop hive数据抽取,值得收藏...
  9. 2Python全栈之路系列之MysQl基本数据类型
  10. 软件概要设计与详细设计的区别
  11. @RequestParam注解四个属性字段说明
  12. 《Storm技术内幕与大数据实践》一第1章 绪论
  13. 使用Gogs搭建Git服务器
  14. 关于Excel的几点高级应用
  15. Php—— 1.apache2.4.x+php7.x
  16. 吾欲使汝为恶,则恶不可为;使汝为善,则我不为恶。
  17. 洋流[Theocean flow]介绍----科普知识
  18. 问题服务器防火墙的选择
  19. 小码哥CRM项目(二)p20~p35
  20. oracle中毒,oracle数据库中毒恢复 oracle数据库解密恢复 服务器中勒索病毒解密恢复.Hermes666...

热门文章

  1. 分享Kali Linux 2016.2第45周镜像
  2. linux驱动内核,Linux内核设备驱动之Linux内核基础笔记整理
  3. linux usr local权限,OS X权限被拒绝/ usr/local/lib
  4. java访问glusterfs_GlusterFS: 访问权限设置
  5. 神了!React VR使得Oculus Home在Gear VR上运行更快更省电
  6. 嬴彻科技完成L4级重卡无人驾驶路测
  7. 微软MSRA成立理论中心,陈卫负责马志明等四院士加盟
  8. 人造肌肉机械臂太逼真引热议,举7kg哑铃“肌肉”清晰可见,网友:《西部世界》...
  9. 不管你的x86能不能升级Win 11,反正树莓派能!|安装教程
  10. 科研人员请注意!腾讯要为你们专项开放数据、计算资源、实验环境