一、核心网用户面概述:4G/5G核心网架构对比、UPF角色与GTP-U协议基础
各位同学,欢迎来到《核心网用户面数据劫持技术实战》的第一章。我是你们的老朋友,一个在核心网领域摸爬滚打了十几年的工程师。今天咱们聊聊用户面,这是整个数据劫持技术的基础。说白了,你要想“劫持”数据,首先得知道数据长什么样、走哪条路、谁在看管它。
1.1 4G与5G核心网架构:一场“分家”的革命
先看架构。4G的EPC(Evolved Packet Core)和5G的5GC(5G Core),最核心的区别是什么?我个人习惯用一个词概括:“控制与转发分离”。
在4G时代,SGW和PGW这两个网元,既管控制信令,又管数据转发。你想想看,一个设备既要处理成千上万的用户会话建立、移动性管理,又要扛着几百Gbps的用户面流量,压力非常大。我在项目中遇到过,某运营商的SGW在晚高峰时CPU飙升到90%,就是因为控制面和用户面抢资源。
到了5G,3GPP做了个大胆的决定:把控制面和用户面彻底拆开。于是就有了SMF(Session Management Function)和UPF(User Plane Function)。SMF只负责“动嘴”——发指令、建会话;UPF只负责“动手”——转发数据包。这个变化,为后续的灵活部署和边缘计算铺平了道路。
核心变化一览:
- 4G EPC:SGW/PGW 合设或分设,控制面与用户面耦合紧密。
- 5G 5GC:SMF(控制面)与 UPF(用户面)完全分离,接口标准化为N4。
- 部署灵活性:UPF可以下沉到基站侧,实现低延迟;而4G的SGW/PGW通常集中部署。
嗯,这里要注意:虽然架构变了,但4G和5G在用户面数据转发的基本逻辑上,还是有很多相似之处的。毕竟,数据包还是要从一个节点传到另一个节点,这个本质没变。
3.2 UPF的角色:用户面的“交通警察”
UPF在5G核心网里到底干什么?我经常跟团队里的新人说:UPF就是用户面的“交通警察”兼“收费站”。
它的职责包括但不限于:
- 数据包路由与转发:把UE的上行数据送到DN(Data Network),把下行数据送到基站。
- QoS执行:根据SMF下发的规则,对不同的数据流进行带宽限制、优先级调度。
- 计费与统计:记录用户流量,生成话单。
- 数据包检测:识别应用层协议(比如HTTP、VoIP),做策略控制。
我曾经在现网排障时遇到过一个案例:某视频APP用户频繁卡顿,但其他业务正常。最后定位到是UPF上的QoS规则配置错误,把视频流的GBR(保证比特率)设成了0。你想想看,没有带宽保障,视频当然卡。所以,UPF的配置,直接决定了用户体验。
避坑指南:我曾经在测试5G SA网络时,发现UPF的N4会话建立失败。查了半天,原来是SMF和UPF之间的GTP-U隧道端点IP地址配错了。记住:UPF的N4接口IP,必须和SMF上配置的完全一致,否则会话永远建不起来。
3.3 GTP-U协议基础:用户面的“快递单”
GTP-U(GPRS Tunneling Protocol for User Plane)是用户面数据封装的核心协议。无论是4G还是5G,用户面数据在核心网内部传输时,都离不开它。
说白了,GTP-U就是在原始IP数据包外面,再套一层“快递单”。这个快递单上写着:
- TEID(Tunnel Endpoint Identifier):隧道端点标识,相当于快递单号,用来区分不同的用户会话。
- Sequence Number:序列号,用于检测丢包和乱序。
- GTP-U Header:包含消息类型、长度等信息。
为什么需要GTP-U?因为核心网内部,多个用户的流量是混在一起的。如果没有隧道封装,基站和SGW/UPF之间就无法区分哪个数据包属于哪个用户。GTP-U通过TEID,把每个用户的流量“隔离”到独立的隧道里。
来看一个典型的GTP-U数据包结构(抓包示例):
GPRS Tunneling Protocol (GTP-U)
[GTP Header]
Version: 1
Protocol Type: GTP-U (1)
Message Type: G-PDU (0xFF)
TEID: 0x12345678
Sequence Number: 100
[Payload]
IP Header (原始用户数据)
TCP/UDP Header
Application Data
嗯,这里要注意:GTP-U的TEID是双向的。上行方向,基站使用SGW/UPF分配的TEID;下行方向,SGW/UPF使用基站分配的TEID。如果TEID不匹配,数据包就会被丢弃。我在项目中遇到过,因为基站侧TEID配置错误,导致整个小区的用户都无法上网。
安全警告:GTP-U协议本身没有强加密。在4G网络中,用户面数据通常是明文传输的。5G虽然引入了加密选项,但很多运营商为了性能,仍然选择不加密。这意味着,如果你能接入核心网内部网络,就可以直接看到用户的原始数据包。这正是“数据劫持”技术能够实施的前提。
3.4 知识体系总览
为了让大家更直观地理解本章的知识结构,我画了一张图。这张图展示了4G/5G核心网用户面的核心组件和它们之间的关系。
这张图里,左侧是4G的架构,右侧是5G的架构。你可以看到,虽然网元变了,但GTP-U协议始终贯穿其中。UPF作为5G用户面的核心节点,既是数据转发的枢纽,也是我们后续课程中重点关注的“攻击面”。
好了,第一章的内容就到这里。记住:理解用户面架构和GTP-U协议,是后续所有实战操作的基础。下一章,我们会深入探讨如何利用这些知识,进行实际的数据劫持实验。