入行做LTE的时候我最常被新同事问的一个问题是EPS和PDN到底是什么关系网上资料铺天盖地但要么将EPS等同于LTE要么把PDN和PGW混着说越看越乱。今天我把这事拆开了讲清楚不绕弯子。这顿内容不只是给做核心网的兄弟看做外场测试、终端开发、甚至用LTE无线路由器CPE时遇到附着不上、上不了网的问题同样能拿来当排查手册。1. 先把EPS和PDN的骨架子立起来1.1 EPS并不是“LTE的另一个名字”LTE在很多人嘴边挂着但严格来讲LTE只是空中接口和无线接入网那一部分3GPP标准里叫E-UTRANEvolved UMTS Terrestrial Radio Access Network。真正端到端的网络系统是EPS——Evolved Packet System演进的分组系统。EPS由UE终端、E-UTRAN包含eNodeB、EPCEvolved Packet Core演进分组核心网三部分共同构成。EPC里又包含MME移动性管理实体、SGW服务网关、PGWPDN网关、HSS归属用户服务器和PCRF策略与计费规则功能。换句话说LTE只是这条路的一部分EPS才是整条高速公路。做无线侧的人通常盯着空口但用户感知的网络质量往往在核心网和PDN连接的环节出问题。这也是为什么日常排查故障时不能只会看RSRP和SINR必须理解PGW、APN、PDN连接这些核心网概念。1.2 PDNUE真正要访问的“外网”PDN的全称是Packet Data Network分组数据网络。通俗点讲就是UE要访问的那个“外部网络”。它可以是你智能手机接入的互联网也可以是运营商的IMS网络做VoLTE通话、企业内网、物联网平台等。每个PDN都是一个独立的IP网络由唯一的APN接入点名称来标识。例如访问互联网通常用默认APN或运营商指定的公网APN访问IMS则使用IMS专用APN。PGW就是横在网络边缘的一道闸门——UE的流量要进某个PDN必须经过对应PGW。每个PDN连接在UE看来就是一串网卡配置一个IP地址、一些DNS和网关地址。有人会问为什么UE能通过同一个无线信号同时访问互联网和IMS网络就是因为PGW后面连着多个PDN终端可以通过建立多条PDN连接来分别访问。不同PDN连接使用不同APN网络侧通过APN定位到对应的PGW再把这个PDN连接绑定的流量路由过去。1.3 从GPRS到EPS为什么核心网要演进理解EPS和PDN最好对比一下3G时代的GPRS/UMTS体系。当年用户要上网核心网里有SGSN和GGSN。GGSN就是通向外部PDN的网关相当于今天的PGW。3G核心网PS域依然存在PDP Context的概念——一个用户激活一次上网业务就创建一个PDP Context分配一个IP地址这和今天一个PDN Connection对应一个IP地址有异曲同工之处。到了LTE时代3GPP之所以引入EPS和SAESystem Architecture Evolution系统架构演进这一整套全新架构核心目的就两个扁平化与全IP化。扁平化就是把节点数量压下来让用户面数据不再绕经RNC和SGSN而是从eNodeB直达SGW、PGW时延更低。全IP化则是彻底丢掉了电路域全部走分组交换VoLTE等语音业务也建立在这个IP分组架构上。所以EPS中的“E”本质上是演进是革命不是简单升级。理解这一点你再看PDN连接和EPS承载才算有的放矢。2. PDN连接与EPS承载最容易被搞混的对应关系2.1 一个PDN连接一串承载实际排查中经常听到同事说“这条业务的PDN连接拥塞了”其实他真正想说的是承载拥塞。PDN连接是逻辑连接承载才是真正干活的管道。规范里的关系是这样的一个UE可以建立多条PDN连接每条PDN连接通过一个IP地址标识。在每一条PDN连接内部至少有一条EPS承载如果业务对服务质量有更高要求还可以在这个PDN连接里新建更多专用承载。EPS承载是这个体系里真正端到端的QoS承载通道从上到下划分成EPS承载UE与PGW之间E-RABEPS Radio Access BearerUE与SGW之间无线承载UE与eNodeB之间和S1承载eNodeB与SGW之间S5/S8承载SGW与PGW之间一层层看下来 EPS承载像个总包合同下行拆成空口、S1口、核心网内部多段子合同。空口无线承载最紧张也是承载建立最容易被拒的地方。2.2 默认承载与专用承载每条PDN连接建立后网络会顺手创建一条默认EPS承载它负责传输所有没有特殊QoS要求的普通IP包通常是QCI8或9的非GBR承载尽力而为。默认承载的最大特点是“Always-on”只要PDN连接存在它就必须存在不能随便释放。专用承载则是在默认承载基础上因为业务请求而出场。比如VoLTE打电话时网络需要通过IMS通过PCRF策略触发为该PDN连接新建一条QCI1的专用承载还带着保证速率GBR参数。这样做的好处是一个PDN连接可以同时承载普通网页流量和语音流量网页走默认承载语音走专用承载互不挤占。从UE角度看默认承载对应的是操作系统里那个默认网络接口有IP地址能上不一定快。专用承载是叠加在上面的“专用通道”之所以很多外场测试工具里能看到一个APN下面有多个EPS Bearer ID就是这个原因。2.3 APN就是PDN的“门牌号”说APN是PDN的门牌号一点不夸张。终端在发起PDN连接时会在PDN Connectivity Request消息里带上APN。MME收到后根据APN做DNS查询找到这个APN对应的PGW地址然后把会话创建请求发给PGW。如果你的APN填错了或者SIM卡里没签约这个APN网络直接回reject。APN的格式也值得一提。一个完整的APN由网络标识和运营商标识组成例如internet.mnc001.mcc460.gprs。但日常手机上只需要填网络标识部分比如cmnet、ctnet。部分无线路由器CPE配置界面里只让填一个APN名称很多人直接默认“internet”结果在某些定制网络里就是起不来。这时候可以查一下SIM卡内置的APN参数或者用测试终端读一下运营商默认APN。APN还决定了PGW位置。比如虚拟运营商或企业专网场景客户指定的APN可能指向专门的PGW这个PGW部署在企业机房或者云上。外场测试时如果换了APN路由、DNS、NAT行为全都会变这是排查PDN连接问题的一条重要分界线。3. 实操从附着流程和外场测试看PDN建立与排查3.1 附着流程中的PDN连接建立信令观察终端开机或进入LTE网络时首先做的是Attach附着流程而PDN连接建立就附着在一起。实战中观察信令可以按以下顺序梳理。UE发起Attach Request其中的PDN Connectivity Request信息元素会携带请求的APN、PDN类型IPv4、IPv6或IPv4v6、协议配置选项比如DNS请求。此时空口上还会带上UE自己分配的一个PDN连接标识。eNodeB收到后把这个NAS消息透传给MME。MME先做位置更新从HSS取签约数据检查用户是否被允许在这个网络附着、是否允许访问请求的APN。如果签约里没这个APN直接拒绝。确认通过后MME选择SGW和PGW发送Create Session Request给SGWSGW再转给PGW。PGW承担了“发号”工作为UE分配IP地址建立默认EPS承载上下文并生成计费ID。Create Session Response带着PGW分配的IP地址和Bearer ID返回SGW、MME。接着MME通过eNodeB向UE发送Attach Accept里面用Activate Default EPS Bearer Context Request这个消息给UE下发默认承载上下文包括IP地址、QoS参数、APN、DNS等信息。终端收到后回复Activate Default EPS Bearer Context Accept以及Attach Complete此时PDN连接才算正式建立。整个过程在空口上也就几十毫秒到几百毫秒。如果你在外场用路测软件或QXDM、Wireshark抓包一定要熟练过滤NAS消息里的Attach Request/Accept和Activate Default Bearer Context。看到PDN Connectivity Request中的APN和Attach Accept里分配的IP基本能判断承载完成情况。3.2 外场测试中PDN连接异常的几个经典场景先说最常见的终端显示“无服务”或“LTE已连接但无法上网”。这时很多人盯着看RSRP、SINR觉得无线很好却始终ping不通网关。其实问题大概率出在PDN连接上。第一个经典场景是“APN缺失”。部分定制终端对SIM卡的APN默认值设置有硬编码插入不匹配的卡时它不发起PDN连接或直接失败。外场测试时换SIM卡或换设备后建议先确认终端“接入点名称”到底传了什么。第二个场景是PDN类型不匹配。现在运营商逐步关闭IPv4能力有些网络只支持IPv6或v4v6而老款CPE里把PDN类型写成IPv4网络直接回reject cause#50。第三个场景发生在专网或内网测试中客户签约的APN指向企业内网但PGW侧的NAT策略、路由表没调通导致PDN连接建得起来却访问不了对端服务器。这种问题从信令上看毫无异常要命令PGW的周边路由和防火墙。还有一批无线路由器LTE CPE用户把卡插到路由器后上不了网。很多时候不是路由器硬件坏了而是默认APN不是这个网络运营商签约的APN。进入路由器后台把APN改成运营商给的那个会话立刻就能建起来。这不是路由器的问题而是设备没有从SIM卡读取到正确的APN配置。3.3 排查PDN连接问题的步骤与技巧我平时排查这类问题有一套自己的固定流程效率很高先记下来。第一步先看终端日志里的NAS层。找到Attach Reject或PDN Connectivity Reject字样的消息直接读EMM Cause和ESM Cause数值别急着去猜信号。ESM Cause能告诉你很多cause#26是资源不足cause#50是请求的PDN类型不被容许cause#31是请求的服务未签约cause#33是请求的服务暂时无法提供。每个原因对应不同处理方式后文速查表里会展开。第二步上核心网网元侧看。需要MME信令跟踪或S11接口抓包。看Create Session Request是否到SGW/PGW如果MME根本找不到目标PGW多半是APN的DNS解析失败或签约数据里没配置APN。第三步将范围缩小到PGW和数据链路。如果PDN连接建立成功但用户面不通先ping PGW分配的网关地址再ping对端地址。中间只要有NAT、防火墙就得逐段确认策略是否放行。外场做VoLTE拉网时最容易挂在这种“信令通、数据不通”的隐性问题上。多说一句现场技巧带一台可以直接看NAS信令的测试终端和普通试用手机对比。如果专用测试终端能正常建立PDN连接而商用终端失败优先怀疑终端APN配置和PDN类型设置。不要一上来就换基站、换核心网先分清责任边界。4. 仿真与工具里的“同名陷阱”别把电源PDN当成网络PDN4.1 一个缩写多个世界做LTE的人如果在电子或EDA圈子里听人讲“PDN仿真”一开始肯定会觉得鸡同鸭讲。因为在高速PCB和电源完整性领域PDN是Power Distribution Network电源分配网络研究的是芯片供电网络上阻抗、电压纹波、去耦电容这些事。典型软件就是热词里那类Sigrity仿真PDN。它和LTE网络里的PDNPacket Data Network只是缩写相同领域相隔十万八千里。同样EPS在别的领域可能是Encapsulated PostScript一种矢量图片格式很多人用MATLAB导出图形时都会“另存为EPS”那也跟咱们讲的Evolved Packet System没有半毛钱关系。前几年有人问“LTE EPS和MATLAB导出EPS有什么联系”我说是纯粹的缩写撞车。在写报告、做PPT、搜资料时如果你用英文缩写直接搜会混入大量电源完整性、图片格式的内容干扰判断。我建议搜索LTE相关话题时把这些缩写加上限定词例如“EPS architecture 3GPP”或“PDN connection LTE”或者直接搜“APN PGW PDN connectivity”。这样出来的结果才在同一个频道上。4.2 网络领域的仿真和建模抛开同名干扰LTE/EPS网络本身也有仿真工具。比如NS-3里有LTE模块可以模拟eNodeB、EPC网关、PDN连接做系统级调度和端到端时延的仿真研究。MATLAB的LTE Toolbox则更多用于物理层信号生成和信道建模可以生成并分析LTE波形但要仿真核心网侧的PDN连接、QoS策略MATLAB就不够用了。真实外场测试和系统仿真之间其实隔着两层仿真可以帮你验证算法与协议逻辑但设备真实互联时的APN签约、PGW路由、NAT策略必须靠实际网络联调和外场测试来覆盖。如果非要跨领域用“PDN仿真”这个词请务必分场景。电源工程师嘴里的PDN仿真与网络工程师嘴里的PDN连接排查用的完全是另一套参数和工具链。写方案时如果不加限定评审会上极容易被纠错。4.3 实战建议如何选择正确的“PDN”工具对做LTE无线网优或核心网的朋友我的建议是优先掌握这四类工具而不是去碰跨领域的同名软件协议分析与抓包工具Wireshark过滤GTPv2-C、NAS协议、QXDM/ELT终端侧日志、TEMS路测软件。核心网信令跟踪工具MME的信令Trace、PCRF的策略控制日志、PGW的会话管理日志。APN/连接测试工具可以用AT指令给模组配置APN比如ATCGDCONT1,IP,internet这条指令在很多外场排查里比什么软件都好使。基础连通性工具Ping、Tracert、静态ARP和nslookup别以为太简单在定位PGW路由问题时它就是照妖镜。选择工具之前先想清楚你要观察的是无线空口、S1接口还是S5/S8接口以及你要找的是PDN连接建立问题还是承载数据转发问题。不同层级匹配不同工具选错工具会把一整天耗在错误日志里。5. 常见问题速查PDN连接建立的故障清单5.1 根因分类表我根据多年项目经验把PDN连接层面的故障整理成下表方便你在现场快速对照现象可能根因快速处理方向附着被拒终端显示外LTE但无地址SIM卡未签约该APN用默认APN测试联系核心网查订阅数据附着完成但无PDN连接终端没发起PDN Connectivity Request检查终端APN配置和PDN类型PDN连接请求被拒Cause 26系统资源不足PGW/MME临时拥塞等一会重试或扩硬件资源Cause 31请求的服务未签约用户的签约数据里不含该APN营业侧将该APN添加入用户订阅Cause 33服务暂时不可用网络临时限制或漫游限制重启终端或检查漫游签约和PGW选择策略Cause 50请求的PDN类型不被允许终端请求IPv4但网络不支持或反向将终端PDN类型改为IPv4v6或对齐运营商策略建立成功但无法访问公网业务PGW路由、NAT、防火墙问题从PGW内部ping业务地址逐段排查频繁掉线且重新附着耗时久默认承载被释放或覆盖异常查MME是否有EPS dedicated bearer / PDN disconnect流程异常表格里没有列全所有cause但覆盖了外场八成以上问题。核心原因是记住终端请求的APN与签约数据、网络策略、PGW路由必须完全对应缺一环就翻车。5.2 外场常见错误码含义ESM Cause和GTP Cause是两套不同的码但在PDN连接建立链路里经常交叉出现容易看混。ESM Cause主要由NAS层产生是终端与MME/PGW之间的协商结果GTP Cause则出现在S11、S5接口是SGW/PGW之间的承载控制结果。举几个真实案例。第一次遇到Cause 50是在某个物联网项目里。模组只支持IPv4而运营商网络新套餐只向PDN连接下发IPv6地址。终端一直发起IPv4类型的PDN连接网络一直回ESM cause 50: PDN type IPv4 only allowed。后来把模组的APN参数改成IPv4v6问题立刻解决。还有一次是Cause 31用户用测试卡访问一个专网APN签约数据里没有这个APN网络回“请求的服务未订阅”。当时绕了一大圈最后在HSS侧看到签约APN列表里缺失这个专网APN加进去就OK了。外场测VoLTE时也会遇到专用承载建立失败带上的cause往往是#26 Insufficient resources这时候先查核心网S1、S11接口上是否拥塞再看PCRF与PGW之间的策略下发是否异常而不要光盯着无线PRB资源。### 5.3 我的几条实用心得最后分享几条平时不写在文档里的经验。第一排查PDN连接问题优先打开终端日志配置里的NAS消息过滤。很多商用手机不暴露详细信令这时用一台协议分析终端或支持AT指令的模块会省很多时间。没有专业终端就用ATCGDCONT?和ATCGACT1这种基本指令能很快判断是终端请求问题还是网络返回问题。第二我习惯在Wireshark里同时过滤两路流量一是gtpv2看GTP-C消息的Cause二是eap或dns查看PGW分配的DNS和地址两者对起来才能判断PDN是否真正建立成功。单看一路容易漏掉“建立成功但数据不通”的坑。第三运营商给CPE这类无线路由器做入库测试时最关注PDN连接在多APN场景下的切换表现。建议测试所有需要支持的APN组合包括默认APN、IMS APN和专网APN都分别验证一遍。很多设备只在默认APN下好用一旦切换到专网APN因为MTU、路由表、DNS配置没适配会踩出一堆现场不可用的问题。第四不要忽略SIM卡的APN模板。现在不少卡内预置了APN不是每个终端都会从卡里读取默认值。终端、卡、网络签约三者的APN信息不一致经常是“明明什么都对就是连不上”的元凶。这行做久了会发现LTE外场测试最终比拼的就是对“逻辑连接”的理解。你信号再好PDN连接建不起来用户照样上不了网。把EPS和PDN的关系理解清楚再沉下心来熟练用信令工具和逐段排查法很多疑难问题其实都能在你看到cause字段的那一分钟里就找到答案。