这一篇将讲述更多PDN连接的细节,包括:UE有几个PDN连接?如果UE有多个PDN连接,互相是什么关系?UE使用哪个PDN连接发送哪些数据?
先说第一个。
直觉上,1个PDN连接就够了。UE和PGW之间建立PDN连接,业务数据都经PGW转发。如果只是为了实现IP连通性,1个PDN连接完全可以满足,网络也十分简单且易于理解 —— 然而,简单往往会导致灵活性的缺失。
如果UE只有1个PDN连接,意味着UE只连接1个PGW,UE可以访问什么完全取决于这个PGW对接的PDN(外部网络)。如果UE只访问互联网(Internet),PGW对接互联网就好了。如果UE还可能访问其他网络和资源,如IMS系统(VoLTE业务)、IoT平台(物联网业务)或行业应用(如银行专线)等,问题就变得复杂了。
出于安全考虑,EPS不能允许UE访问所有PDN。比如,只签约了互联网业务的用户,对银行专线或证券专线也可能会表现出过度的热情(“好想知道老王发了多少奖金,刚刚又买了哪只股票”),EPS必须把这种热情给浇灭。那么,如何灵活的控制UE访问的PDN呢?
方法是隔离。
PDN通常是互相隔离的。如果知道用户号码和UE IP对应关系,PDN可以通过ACL(Access Control List)控制是否允许UE访问。问题是,EPS架构中网络与业务相对分裂(业务把网络视作管道,网络也不太在意传的是什么业务),PDN(业务侧,相对EPS而言)很难同步获取EPS(网络侧)的内部信息,只能通过IP规划事先控制UE IP,再根据用户签约配置ACL。ACL方式不仅灵活性低,维护工程师还可能想打人。(配置网元分散,数据复杂,更新频繁,容易出错)
如果从EPS内部开始隔离,PDN就省心了 —— 如果有多个PGW,每个PGW对接一个PDN,UE想访问哪个PDN就连接哪个PGW,想访问多个PDN就连接多个PGW,这多灵活。当然,是否允许连接还是网络说了算,参与决策的网元有好些个,包括HSS、MME、DNS、PCRF等(这些网元后续再详细介绍),PGW自然也少不了。(大爷一脸傲娇)
3GPP给每个PGW取个名字,表示PGW对接的PDN,这个名字就是Access Point Name(访问接入点,多么的直白),简称APN。以中国移动为例,对接互联网的APN叫cmnet(中国电信叫ctnet或ctlte,中国联通叫3gnet,更准确的说,PGW通过这些运营商的内部网络连接互联网),对接IMS网络的APN叫IMS,对接物联网的APN叫cmiot。
于是,UE想访问多个PDN,就和多个APN(PGW)建立多个PDN连接。反过来说,UE可以有1个或多个PDN连接,分别连接不同APN(PGW)。比如,签约cmnet和IMS的用户,UE和cmnet和IMS两个APN(PGW)分别建立PDN连接,两个PGW相互独立,两个PDN连接也相对独立(部分网元共用,比如eNB和SGW)。
5G系统中和APN对应的概念是DNN(Data Network Name)。4G通过APN选择PGW,而5G通过DNN选择SMF(Session Management Function)或UPF(User Plane Function)。(3GPP TS 23.003:In 5GS, the Dat