首页 / 资讯中心 / 文章详情

5G LAN的UPF转发模型全解析:组网规模、路径选型与坑点

5G LAN的UPF转发模型全解析:组网规模、路径选型与坑点 ★ FEATURED ARTICLE
简介这份文档聚焦5G LAN在工业互联网场景下的落地实现面向5G核心网研发、UPF产品设计以及网络运维人员。内容围绕Ethernet类型5G LAN的功能需求参考传统二层交换机的组网拓扑系统梳理了基本转发、多交换节点级联、广播域隔离和链路冗余四类用户面转发需求并据此设计了UPF软件架构与支持5G LAN的转发模型。文档从引言、5G LAN用户面流量转发需求、UPF转发模型分析到实验验证依次展开详细说明了单播、广播、组播报文的转发路径讨论了基于N19接口的跨厂区L2互通、VN组与DNNS-NSSAI的映射关系以及链路成环时广播风暴的规避思路。同时基于开源软件完成了Ethernet类型5G LAN基本转发功能的实验验证给出了可行的工程结论对后续5G LAN技术研究与应用具有参考价值。资源为单个docx文档文件大小约541KB全文以技术文字为主适合作为5G LAN技术调研和UPF方案设计的参考资料已有605人学习浏览内容具备一定关注度。1. 5G LAN不是给UPF加一张网卡转发模型决定组网规模与性能边界5G LAN是3GPP R16带进来的能力目标是把5G网络改造成一台能组二层局域网的大型交换机终端入网就自动加入同一个虚拟网络彼此以以太网帧直接通信。UPF在这套架构里承担的不再是传统「路由转发」的角色而是要支撑一套涉及组播、广播、MAC学习的二三层混合转发模型。这个模型选得不对组网规模一大ARP风暴、隧道分片、复制乱序就全来了。这篇笔记把5G LAN的UPF转发模型完整拆开往前讲清楚「为什么这么转」往后落到「参数怎么设、坑在哪」适合做核心网交付、UPF二开和5G专网方案的工程师对照着过一遍。2. 5G LAN的UPF转发模型拆解N19、本地交换与组播复制5G LAN服务的基础是Ethernet类型的PDU会话UE之间传递的是以太网帧所以UPF在数据面上要像一台交换机那样工作学习MAC地址、维护转发表、处理组播和广播帧。但UPF的物理形态不是交换机它是挂在N3、N9、N6、N19四个接口上的GTP-U转发设备。转发模型要回答的问题就一个一份以太网帧从源UE进来UPF依据什么规则、从哪个接口、以什么封装转发给目的UE或目的网络。下面按三类典型路径来拆。2.1 三类转发路径的报文走向从UE到UE第一类是N19互连路径。组成员注册在不同UPF之下源UE的上行帧从gNB经N3进入UPF-ASMF通过PFCP规则告知UPF-A这个组的目标成员在UPF-B下。UPF-A于是在帧外面封装GTP-U头通过N19接口转发给UPF-BUPF-B解封装后从N3送到目标gNB再发给目标UE。这条路径是跨UPF组网的唯一选择N19接口就是UPF之间的组播隧道。第二类是本地交换路径。组成员恰好注册在同一个UPF之下上行帧从N3进入UPF后直接在该UPF的内部交换面找到目标端口下发到目标UE对应的N3会话。帧不出UPF不经过N19时延最短转发效率最高。这是同一个UPF内组通信的最优解也是衡量UPF转发模型好坏的基本盘。第三类是ULCL分支路径。当会话使用多PDU会话锚点时上行帧会被ULCLUplink Classifier根据流量过滤规则分流到不同的PSA UPF。5G LAN组通信里这种路径不常用但当组内某个UE需要同时访问本地网络和中心网络时就会触发。ULCL本身不做组播复制它只解决「流量该往哪个锚点去」的问题真正决定LAN语义的复制和转发还是在锚点UPF上完成。2.2 SMF与UPF的分工PFCP规则里谁负责决策转发模型听上去是UPF的事但决策权在SMF手里。SMF通过PFCP协议向UPF下发PDRPacket Detection Rule和FARForwarding Action Rule。PDR负责描述「什么样的报文命中这条规则」FAR负责描述「命中后做什么动作」。支持5G LAN时PDR的匹配维度从传统的IP五元组扩展到了以太网帧字段、5G VN组ID等FAR的动作也从单纯的转发到加/减GTP-U头扩展到了「copy to multiple destinations」也就是组播复制。规则类型关键字段在5G LAN转发模型中的含义PDRPDU会话ID、以太网类型、MAC地址、5G VN组ID确定帧属于哪个组、从哪个会话进来PDRPrecedence优先级单播规则与组播规则同时命中时谁先生效FARDestination Interface决定出口是N3、N6还是N19FAROuter Header Creation决定是否封装GTP-U头组播复制时每个副本带不同TEIDFARForwarding Policy决定QoS、计费等信息如何附加到复制帧上实际配置时同一个组播组对应多个FAR每个FAR指向一个目的N19隧道或N3隧道UPF收到组播帧后在内部复制成N份分别按各FAR封装出去。这个「一个PDR命中多个FAR」的机制就是5G LAN UPF转发模型的执行内核。SMF负责维护组成员列表和位置信息UPF只做执行不做成员管理——这个分工决定了你在排查组播丢包时应该先看SMF的成员状态而不是在UPF上翻配置。2.3 组播复制不是广播风暴UPF的二层转发内核组播复制是5G LAN转发模型的核心能力但它最容易被误解成广播。组播帧被复制多少份、复制给谁是由SMF下发的组成员信息决定的UPF不清楚「组」的概念只清楚「这份帧要复制到哪几个N19/N3隧道」。也就是说UPF更像一个被SMF遥控的二层交换机组MAC表是它自己维护的组播复制表是SMF告诉它的。广播帧的处理又不一样。以太网广播帧如ARP请求如果直接被UPF复制扩散到组内所有UE规模一大就是广播风暴。常见做法是让UPF做ARP代答UE发ARP请求找组内某个IPUPF查到自己维护的MAC表后直接回应广播帧根本不进组。这个细节在实际项目里直接影响网络稳定性。所以评价一个UPF的5G LAN转发模型强不强不只看它支不支持N19还要看它的二层交换内核是否完整MAC表是否老化、代答能力是否可开关、组播复制是否走硬件卸载。3. 转发模型选型先回答这四个问题再动手很多项目拿到5G LAN需求就急着配N19这是本末倒置。转发模型的选型应该在规划阶段完成因为不同模型对应不同的UPF形态、接口布点和性能预算。选型不是单选题而是一组约束条件共同推导的结论。下面四个问题按重要性排序回答完基本就能定方案。3.1 组网规模几十个站点还是几千个终端规模是第一个约束。如果整个5G LAN组只有几十个终端而且大概率落在同一个UPF下直接走本地交换路径连N19隧道都不用开。这时的转发模型最简单SMF下发规则UPF内部交换组播复制数量极少性能压力可以忽略。但如果你要做的是一张覆盖多园区的专网终端上千且分布在不同城市那N19互连就成了必选项。这里要特别注意N19隧道的数量不是线性增长的。N个UPF组成全互连网状拓扑需要N×(N−1)/2条隧道UPF超过5个以后隧道的维护和TEID分配就成了一项日常工作。3.2 时延约束组内通信值不值得绕道N19第二个约束是时延。5G LAN组通信的一个重要卖点是低时延的局域网体验但「局域网」不等于时延一定低。同一UPF下的本地交换帧从N3进、从N3出中间只在UPF内部走一遍交换面时延通常是百微秒级。跨UPF就不一样了帧要在源UPF封装GTP-U、经N19传输、到目的UPF解封装再经N3和gNB下发。如果这两个UPF一个在A园区一个在B园区中间跨了公网或者长距离传输往返时延可能直接多出几毫秒。所以组内通信的时延敏感度决定了你是否应该把组成员尽量收敛到同一个UPF下做本地交换而不是无脑全走N19。3.3 现网UPF能力边界硬件转发还是软件卸载第三个约束是UPF本身的转发能力。软件UPF在普通服务器上跑处理传统单播GTP-U转发没有问题但5G LAN的组播复制意味着一个帧要复制成几十份甚至上百份而且每一份都要独立封装GTP-U头。这份复制和封装的CPU开销软件转发面很容易被打满。硬件加速UPF对单播GTP-U卸载做得很好但对MAC学习、ARP代答和组播复制这类二层功能未必有对应的硬件卸载逻辑。我在选型时会直接向UPF厂商问三个问题组播复制是否走FPGA/智能网卡卸载ARP代答在什么性能档位才会启用组播复制占用的会话数是否单独计费或限流这三个答案比任何宣传册都实在。3.4 一张表选型N19、本地交换和ULCL怎么选场景特征推荐转发模型核心理由主要代价单UPF覆盖全部组成员规模小本地交换时延最低、无隧道开销无冗余UPF宕机即组瘫痪多UPF、跨园区、组成员分散N19互连唯一能跨UPF组通信的路径隧道数量多需管理TEID和N19路由组内UE需同时访问本地和中心网络ULCL分支 PSA组流量按需分流到不同锚点控制面复杂转发路径长大规模组播视频分发类N19 硬件复制复制卸载到硬件吞吐可控UPF硬件选型受限选型的最终结论不完全是技术最优而是约束下的折中。我的习惯是先按组网规模定模型再按时延预算缩小组面最后拿UPF能力边界做校验。注意不要一上来就搞ULCL它解决的是分流问题不是局域网通信问题多数5G LAN场景用不上。4. 落地实现转发规则设计、隧道配置与验证步骤模型选完就要落到网上。这一章按「先设计规则再配置隧道最后验证」的顺序走完一个最小可用的5G LAN转发模型。我以两个UPF、一个5G VN组、组内有四个UE的场景为例这是能覆盖本地交换和N19两条路径的最小组网。4.1 转发规则设计从VN组ID到PFCP参数的映射表落地第一步不是敲命令是把5G LAN组通信需求翻译成SMF和UPF能理解的规则。SMF侧要维护一张表组ID对应哪些UE的PDU会话、每个PDU会话锚定在哪个UPF。这张表是转发规则的源头。UPF侧要接收的则是SMF下发的PDR/FAR规则。设计规则时我会先把下面这张映射表填出来填完以后SMF的操作员照着配就不会漏。设计对象配置内容示例值说明5G VN组组标识VN_Group_001SMF上创建的虚拟网络组组成员UE的PDU会话IDPDU_Session_UE1允许加入该组的会话PDR优先级匹配顺序Precedence100组播规则给低优先级单播给高优先级FAR目标接口本地交换时Destination InterfaceN3目标UE在同一UPF下的出口FAR目标接口跨UPF时Destination InterfaceN19目标UE在远端UPF下的出口Outer Header CreationN19出口封装GTP-U TEID每个远端UPF对应唯一TEID填这张表时最容易犯的错是把组播规则和单播规则搞成同级优先级。同一个帧既可能被单播FAR命中也可能被组播FAR命中如果两者优先级相同UPF的行为就不确定了。常见做法是组播规则的Precedence数值设大优先级低单播规则数值设小优先级高保证明确的目的地址先匹配组播兜底在后面。这块在实网里就是典型的黑匣子表面看规则都对帧就是不转。4.2 N19隧道与TEID配置步骤第二步配置N19隧道。N19的本质是两个UPF之间的GTP-U隧道SMF在建立跨UPF转发的PFCP规则时会为每条N19隧道分配好TEID并下发给两侧UPF。需要人工介入的是N19接口的IP规划和路由可达性。分四步走第一步规划N19接口IP。给每个UPF预留一个独立的N19地址段不要和N3/N6复用同一个地址段否则抓包时难以区分接口。第二步在UPF上启用N19接口并绑定GTP-U服务确认接口状态UP。用ping测试两个UPF的N19地址互通不通就先查路由和防火墙策略。第三步在SMF上配置VN组与UPF的关联关系让SMF知道哪个UPF承载哪个组成员的PDU会话。第四步触发一次跨UPF的组通信流量在两端UPF上同时抓包确认GTP-U头和TEID正确。TEID分配有一个注意点同一个远端UPF下可能有多个PDU会话SMF会为N19隧道上的不同会话分配不同TEID。排查时不要只比对两端UPF的IP还要比对TEID。很多N19转发黑洞的根因都是TEID不匹配一端封装出去的TEID和另一端expect的TEID对不上报文被静默丢弃。这个状况在UPF日志里通常表现为GTP-U层错误计数上涨。4.3 端到端验证抓包与ping组播组隧道配完最终要验证的是组内的UE能不能互相通信。验证分两个层次先验证单播路径再验证组播路径。单播用普通ping就行组播则需要先注册组播组。我的验证顺序是先让组内两个UE互ping确认单播转发链路通再用组播工具测试组播流。抓包的命令是固定的关键是抓包位置要选对。跨UPF场景下源UPF的N19口和目的UPF的N3口各抓一次基本就能定位问题出在隧道段还是空口段。# 在UPF-A上抓N19接口的GTP-U组播包 tcpdump -i eth-n19 -s 96 -n udp port 2152 -w /tmp/n19_capture.pcap # 在UPF-B上抓N3接口的下发帧 tcpdump -i eth-n3 -s 96 -n udp port 2152 -w /tmp/n3_downlink.pcap抓包参数说明-i指定N19或N3对应的物理接口-s 96只抓报文头GTP-U隧道里的以太网帧头足够用来分析MAC和组播地址udp port 2152过滤GTP-U协议因为N19和N3的隧道协议都跑在UDP 2152上。抓包时要同步发起组播流否则抓到的都是空转。抓完对比两个pcap里的TEID和组播目的MAC如果UPF-A发出了但UPF-B没收到问题在N19链路如果N19收到了但N3没下发问题在UPF-B的转发规则。提示很多UPF设备对N19接口的抓包做了限制或者抓包本身会影响转发性能。生产环境建议用端口镜像不要在业务接口上直接tcpdump。5. 避坑指南UPF 5G LAN转发模型常见的6个翻车点5G LAN的转发模型逻辑上不复杂但每个环节都有经典坑。这一章把我在交付和排查过程中遇到过的问题按「现象→原因→解决」写出来每一条都对应一次真实的翻车经历。5.1 ARP广播风暴打垮组内所有UE现象5G LAN组内终端数量超过50台以后网络时延急剧升高空口资源被大量ARP请求占满所有UE都出现卡顿。原因UPF的ARP代答功能默认没开启。UE找不到目的MAC时就发ARP广播UPF按普通广播帧处理把ARP复制扩散给组内每个UE。终端越多广播帧越多形成正反馈风暴。解决在SMF或UPF上开启ARP代答/ND代答功能让UPF基于自己维护的MAC表直接回应ARP。同时检查MAC表项的老化时间是否过短——如果老化时间太短代答频繁失效广播又会冒出来。5.2 GTP-U隧道MTU导致大包被静默丢弃现象UE之间能ping通小包但传输大文件或者视频流时频繁卡顿TCP窗口上不去。原因Ethernet PDU会话里UE发出的以太网帧到达UPF后要封装GTP-U头再加上外层IP头总长度超过链路MTU会被分片或丢弃。如果N19链路MTU没调大跨UPF的大帧直接在隧道口被丢了。解决把N19链路MTU调到1600以上如果中间经过其他专网设备还要检查这些设备的MTU是否一致。另外在SMF侧检查PDU会话的MTU协商值有些终端会按协商值主动分帧有些不会不一致就会出问题。5.3 组播复制顺序导致先抓到的副本不是第一份现象跨UPF抓包时目的UPF的N3口抓到了组播帧但UE侧应用没收到或者收到的帧顺序是乱的。原因UPF复制组播帧的是并行复制多个目的隧道同时封装发出。某个目的隧道如果中间路径更长或者队列拥塞先发的不一定先到。这是复制模型导致的固有乱序不是bug但会触发某些应用的超时重传。解决对组播复制功能做性能测试确认复制并发数是否达到设计值。如果应用对时序敏感考虑在应用层做排序。不要把「先发先到」当作默认前提。5.4 跨UPF的流量黑洞TEID对不上现象UE能ping通同UPF下的其他UE但跨UPF时完全不通。SMF侧看会话状态都正常UPF日志里没有明显报错。原因N19隧道两端TEID不匹配。一端UPF封装的TEID是1001对端UPF期望的是2001对端收到后查不到对应会话直接丢弃。解决在两端UPF上分别查看N19隧道的TEID表逐条比对。注意TEID在会话建立时由接收端分配所以源端用的TEID必须等于目的端分配的那个。排查时不要只看IP这个坑的隐蔽性就在于IP对路由通但TEID错。5.5 转发规则优先级冲突导致单播被组播规则截获现象组内单个UE之间通信正常但组播流量一跑起来单播帧也会被复制多份接收端出现重复帧。原因单播FAR和组播FAR的Precedence配置冲突。UPF执行PDR匹配时按优先级从高到低如果把组播规则的优先级配得比单播还高单播帧也命中了组播复制规则。解决重新设计优先级表明确单播规则的Precedence小于组播规则。这块没有统一标准不同UPF厂商的优先级语义不完全一致配置前要确认数值小代表优先级高还是低。5.6 实验室仿真与真实转发面的性能鸿沟现象在xrun upf这类仿真环境里跑转发模型一切正常组播复制、N19隧道都通一旦上真实UPF硬件吞吐不到仿真值的十分之一。原因仿真环境跑的是控制面逻辑数据面的复制和封装没有硬件卸载CPU处理每一个副本。真实组网里组播复制是最高消耗操作仿真环境不会模拟这个性能瓶颈。解决把仿真环境当逻辑验证工具用性能数据以硬件UPF实测为准。上真实设备前先做复制量测试同一个组播流复制到10个隧道看吞吐下降多少。复制100份时软硬件方案的差距会大得惊人。6. 进阶用一张测试矩阵把转发模型钉死转发模型交付后真正让人放心的是那些能随时回归的验证用例。我在每个5G LAN项目收尾时都会建一张测试矩阵把转发模型的关键行为固化成可重复执行的场景后续升版本、扩组网、加UPF节点都要先跑一遍。测试用例场景描述预期结果关键判定点同UPF单播UE1和UE2同UPF互ping互通时延在百微秒级抓包确认流量没出UPF跨UPF单播UE1在UPF-AUE2在UPF-B互通时延增加但可接受N19口看到GTP-U封装组播复制UE1发组播UE2/UE3/UE4接收三个UE都收到帧源UPF出接口复制3份TEID各自匹配广播抑制UE1发广播组内终端数量大UE收到但空口占用可控ARP代答生效广播帧扩散受限异常场景组内无接收者时发送组播帧被丢弃不上行UPF不产生复制动作这张矩阵的价值在于它把「转发模型对不对」变成了可判定的事实而不是感觉。过去我见过太多项目在交付时说组播没问题结果一加节点就翻车不是UPF不支持而是没人把「复制」这两个字量化过。我现在每配一个5G LAN组都会把上面矩阵跑一遍结果留档作为后续排障的基线。还有一个习惯对排查特别有用每次在UPF上动N19隧道或者转发规则我都会顺手记下改动前后的TEID表和MAC表快照。这两个表是转发模型的核心状态出问题时对照快照能省掉大量猜测时间。5G LAN转发模型并不玄学它就是一个被SMF遥控的二层交换内核把这个内核的状态盯住了大部分坑都能提前绕开。希望这些经验帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站