UPF(用户面功能):5G核心网中所有的用户面功能都由UPF完成。包括:分组路由和转发,外部PDU与数据网络互连的会话点,RAT内/RAT间移动性的锚点等。UPF相当于4G核心网SGW和PGW中的用户面功能。
5G核心网中的控制面和用户面是完全分开的,这一结构称为CUPS(Control and User Plane Separation)。其优点是业务变更灵活,网络扩展、升级方便,并且可使用户面脱离“中心化”的位置,使其既可以部署在核心网,也可以下沉至接入网,满足5G网络关于低时延的要求。
通过使用X86等通用性COTS硬件以及虚拟化技术来承载网络功能的软件处理,可以使网络设备功能不再依赖于专用硬件,资源可以充分灵活共享,实现新业务的快速开发和上线,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。然而,面向5G网络应用时,5G uRLLC超低时延和eMBB高带宽等要求,对核心网转发面网元处理时延、带宽、抖动和丢包率等性能提出了更高要求。CPU架构适合逻辑复杂计算,优势不在于处理大量并行简单业务,硬件加速卡可以在空间上分离处理逻辑,从而达到更快的处理速度。
UPF网元
5G核心网进行了颠覆性设计,通过基于服务的架构、切片、控制面和用户面分离等,结合云化技术,实现网络的定制化、开放化、服务化,支持大流量、大连接和低时延的万物互联需求。
UPF承担着5G核心网的用户面功能,其核心功能是系统内外移动性锚点和分组路由和转发将流量路由到数据网络,上行链路用户数据从UE发出后经过无线信道传输到基站,基站将用户数据封装到GTP-U报文中通过N3接口发送UPF,UPF从GTP-U净荷中得到UE发出的用户数据,根据路由转发,通过N6发送到DN,下行链路反之。为了实现对用户数据的控制与管理功能,UPF还支持与数据网络互连的外部PDU会话点、数据包检查和用户平面部分的策略规则实施、上行链路分类器,分支点以支持多宿主PDU会话、用户平面的QoS处理、下行链路分组缓冲和下行链路数据通知触发等功能。
UPF的转发流程
UPF的转发流程包含LINK、IP FWD、Security、GTP、Rule Lookup、DPI、QoS、Charging等模块。
LINK和IP FWD模块实现网络报文收发、OVS等,支持MAC、IPv4/v6、Tunnel、MPLS、ACL、IP组播等基本的网络报文转发功能,逻辑功能相对简单,与交换机、路由器的实现原理相似。
Security模块实现包校验、DDOS、Anti-spoofing、APN ACL等安全防护功能,用于对报文有效性和安全性进行检查,不符合要求的数据包丢包处理。
GTP模块与基站之间建立GTP隧道,实现了GTP信令处理、GTP报文加封装/解封装等功能。
DPI需要根据协议识别库对数据流进行业务分析。设备协议识别库需要根据现网业务发展状况及时更新,且分析逻辑较为复杂。
QoS模块根据网络报文的分类结果,将归属于不同种类用户和业务的网络报文进行差异化处理,包含Car、Remark、Shaping等功能,保证在有限的硬件资源条件下,为高优先级的网络报文提供更快、更可靠的转发服务。
Charging模块根据网络报文的分类结果进行统计计费,包含CG计费、AAA计费、OCS计费等,统计维度和粒度受业务影响,灵活多变。
DPI用于对网络报文分类,QoS和Charging是利用分类的结果对报文进行相应处理。DPI过程复杂,计算量大,非常消耗CPU资源,该过程可被称为慢进程。而网络报文往往是多个报文组成一条流完成数据的传输,如HTTP等。组成同一条流的报文具有相同的源IP、目的IP、协议类型、源端口、目的端口等N元组信息,因此通过DPI对一条流中的部分报文处理后得到该流报文的分类后,就可以通过判断报文中的N元组是否属于该流得到该报文的分类,无需再进行DPI处理,直接就可以根据流的分类信息进行QoS和Charging等处理,该过程可被称为快进程。Rule lookup模块在DPI模块之前判断网络报文是否可以通过快进程处理,可以通过快进程处理的转入快进程处理,不能通过快进程处理的会转到慢进程。
LINK、IP FWD、Security、GTP、Rule lookup、QoS等模块逻辑相对简单,适合通过硬件芯片加速。Charging模块为了实现灵活的计费维度和粒度,逻辑较复杂,且有新的业务和计费需求时,可能还需要对原来的计费逻辑进行修改才能满足需求,因此可以通过硬件芯片加速实现,但是逻辑需要改变时,难度和成本也会增大,因此需要根据实际需求和场景评估是否有必要。DPI模块逻辑复杂且协议多变,还涉及到正则表达式和字符串检索等,通过硬件芯片实现的技术尚不成熟,目前还主要是在CPU中通过软件实现。