一、核心网用户面概述: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 EPC 用户面 eNB (基站) SGW/PGW GTP-U 控制面与用户面耦合 SGW/PGW 集中部署 5G 5GC 用户面 gNB (基站) UPF GTP-U 控制面与用户面分离 UPF 可下沉到边缘 架构演进 核心协议:GTP-U TEID 隧道标识 序列号 用户数据载荷 GTP-U 在4G/5G中均用于用户面数据封装,是数据劫持的关键入口

这张图里,左侧是4G的架构,右侧是5G的架构。你可以看到,虽然网元变了,但GTP-U协议始终贯穿其中。UPF作为5G用户面的核心节点,既是数据转发的枢纽,也是我们后续课程中重点关注的“攻击面”。

好了,第一章的内容就到这里。记住:理解用户面架构和GTP-U协议,是后续所有实战操作的基础。下一章,我们会深入探讨如何利用这些知识,进行实际的数据劫持实验。


专注资料整理