感謝閱讀。
上一篇講述了EPS在PDN中的位置、PDN連接的概念和PGW承擔(dān)的角色,這一篇將講述更多PDN連接的細(xì)節(jié),包括:UE有幾個(gè)PDN連接?如果UE有多個(gè)PDN連接,互相是什么關(guān)系?UE使用哪個(gè)PDN連接發(fā)送哪些數(shù)據(jù)?
先說第一個(gè)。
直覺上,1個(gè)PDN連接就夠了。上一篇提到,UE和PGW之間建立PDN連接,業(yè)務(wù)數(shù)據(jù)都經(jīng)PGW轉(zhuǎn)發(fā)。如果只是為了實(shí)現(xiàn)IP連通性,1個(gè)PDN連接完全可以滿足,網(wǎng)絡(luò)也十分簡(jiǎn)單且易于理解 —— 然而,簡(jiǎn)單往往會(huì)導(dǎo)致靈活性的缺失。
如果UE只有1個(gè)PDN連接,意味著UE只連接1個(gè)PGW,UE可以訪問什么完全取決于這個(gè)PGW對(duì)接的PDN(外部網(wǎng)絡(luò))。如果UE只訪問互聯(lián)網(wǎng)(Internet),PGW對(duì)接互聯(lián)網(wǎng)就好了。如果UE還可能訪問其他網(wǎng)絡(luò)和資源,如IMS系統(tǒng)(VoLTE業(yè)務(wù))、IoT平臺(tái)(物聯(lián)網(wǎng)業(yè)務(wù))或行業(yè)應(yīng)用(如銀行專線)等,問題就變得復(fù)雜了。
出于安全考慮,EPS不能允許UE訪問所有PDN。比如,只簽約了互聯(lián)網(wǎng)業(yè)務(wù)的用戶,對(duì)銀行專線或證券專線也可能會(huì)表現(xiàn)出過度的熱情(“好想知道老王發(fā)了多少獎(jiǎng)金,剛剛又買了哪只股票”),EPS必須把這種熱情給澆滅。那么,如何靈活的控制UE訪問的PDN呢?
方法是隔離。
PDN通常是互相隔離的。如果知道用戶號(hào)碼和UE IP對(duì)應(yīng)關(guān)系,PDN可以通過ACL(Access Control List)控制是否允許UE訪問。問題是,EPS架構(gòu)中網(wǎng)絡(luò)與業(yè)務(wù)相對(duì)分裂(業(yè)務(wù)把網(wǎng)絡(luò)視作管道,網(wǎng)絡(luò)也不太在意傳的是什么業(yè)務(wù)),PDN(業(yè)務(wù)側(cè),相對(duì)EPS而言)很難同步獲取EPS(網(wǎng)絡(luò)側(cè))的內(nèi)部信息,只能通過IP規(guī)劃事先控制UE IP,再根據(jù)用戶簽約配置ACL。ACL方式不僅靈活性低,維護(hù)工程師還可能想打人。(配置網(wǎng)元分散,數(shù)據(jù)復(fù)雜,更新頻繁,容易出錯(cuò))
如果從EPS內(nèi)部開始隔離,PDN就省心了 —— 如果有多個(gè)PGW,每個(gè)PGW對(duì)接一個(gè)PDN,UE想訪問哪個(gè)PDN就連接哪個(gè)PGW,想訪問多個(gè)PDN就連接多個(gè)PGW,這多靈活。當(dāng)然,是否允許連接還是網(wǎng)絡(luò)說了算,參與決策的網(wǎng)元有好些個(gè),包括HSS、MME、DNS、PCRF等(這些網(wǎng)元后續(xù)再詳細(xì)介紹),PGW自然也少不了。(大爺一臉傲嬌) 3GPP給每個(gè)PGW取個(gè)名字,表示PGW對(duì)接的PDN,這個(gè)名字就是Access Point Name(訪問接入點(diǎn),多么的直白),簡(jiǎn)稱APN。以中國(guó)移動(dòng)為例,對(duì)接互聯(lián)網(wǎng)的APN叫cmnet(中國(guó)電信叫ctnet或ctlte,中國(guó)聯(lián)通叫3gnet,更準(zhǔn)確的說,PGW通過這些運(yùn)營(yíng)商的內(nèi)部網(wǎng)絡(luò)連接互聯(lián)網(wǎng)),對(duì)接IMS網(wǎng)絡(luò)的APN叫IMS,對(duì)接物聯(lián)網(wǎng)的APN叫cmiot。 PGW可以通往外面的世界,也可以把你帶進(jìn)死胡同。如果PGW什么PDN都不接(SGi接口配置為空),則對(duì)應(yīng)APN可作為停機(jī)APN使用(比如bosstjft.xx或dummy.xx)。當(dāng)用戶欠費(fèi)時(shí),網(wǎng)絡(luò)將用戶APN修改為停機(jī)APN,UE和這些PGW建立PDN連接,就會(huì)進(jìn)入“有4G信號(hào),但無法上網(wǎng)”的狀態(tài),因?yàn)闃I(yè)務(wù)數(shù)據(jù)送到PGW就出不去了(大爺把信直接扔垃圾桶了)。用戶補(bǔ)繳費(fèi)用后,網(wǎng)絡(luò)讓UE去附著(Detach)并重新附著(Re-attach),不需要UE主動(dòng)關(guān)機(jī)和開機(jī),可以減少部分用戶操作原因?qū)е碌耐对V。
于是,UE想訪問多個(gè)PDN,就和多個(gè)APN(PGW)建立多個(gè)PDN連接。反過來說,UE可以有1個(gè)或多個(gè)PDN連接,分別連接不同APN(PGW)。比如,簽約cmnet和IMS的用戶,UE和cmnet和IMS兩個(gè)APN(PGW)分別建立PDN連接,兩個(gè)PGW相互獨(dú)立,兩個(gè)PDN連接也相對(duì)獨(dú)立(部分網(wǎng)元共用,比如eNB和SGW)。
APN的概念沿用自PS。3GPP TS 23.003中對(duì)APN的定義是這樣的:In the GPRS backbone, an Access Point Name (APN) is a reference to a GGSN. 即在PS中通過APN可找到GGSN,相對(duì)應(yīng)的,在EPS中通過APN可找到PGW。為了UE可在PS和EPS之間自由“移動(dòng)”(沿用已有的UE IP),GGSN和PGW通常是融合網(wǎng)元,并對(duì)應(yīng)相同的APN。
維基百科是這樣描述APN的:An Access Point Name (APN) is the name of a gateway between a GSM, GPRS, 3G or 4G mobile network and another computernetwork, frequently the publicInternet. More specifically, the APN identifies the packet data network (PDN) that a mobile data user wants to communicate with. 即APN可看作PS/EPS網(wǎng)絡(luò)和PDN之間的網(wǎng)關(guān)(GGSN或PGW)的標(biāo)識(shí),并指出移動(dòng)數(shù)據(jù)用戶希望(通過這個(gè)網(wǎng)關(guān))訪問的PDN。
5G系統(tǒng)中和APN對(duì)應(yīng)的概念是DNN(Data Network Name)。4G通過APN選擇PGW,而5G通過DNN選擇SMF(Session Management Function)或UPF(User Plane Function)。(3GPP TS 23.003:In 5GS, the Data Network Name(DNN) is equivalent to an APN inEPS. The DNN is a reference to adata network, it may be used e.g. to select SMF or UPF.)
APN就是PGW,PGW就是APN。
不過,這里說的是邏輯PGW,不是物理PGW。想象一下,如果cmnet用戶都接入到同一個(gè)物理PGW,PGW肯定受不了。同時(shí),一個(gè)待在深圳的用戶,要是千里迢迢接入到北京的PGW,基本上也就告別吃雞了。因而,每個(gè)省都應(yīng)部署對(duì)接cmnet的PGW,以解決PGW容量和傳送時(shí)延的問題。
在業(yè)務(wù)量較小的省,PGW往往集中部署在省會(huì);在業(yè)務(wù)量較大的省,PGW則集中部署在業(yè)務(wù)中心城市。集中部署的優(yōu)點(diǎn)是便于集中管理和維護(hù),缺點(diǎn)是省內(nèi)其他地區(qū)的傳送時(shí)延增大,并增加eNB接入EPC(MME和SGW)占用的傳輸資源。(比如空間跨度很大的西藏、新疆、青海和內(nèi)蒙等)
每個(gè)省1個(gè)物理PGW,行不行呢? 不行,把雞蛋都放在一個(gè)籃子里是不安全的。除了容量和時(shí)延,還要考慮PGW的容災(zāi)。如果全省只有1個(gè)物理PGW,意味著這個(gè)網(wǎng)元一旦掛了,全省用戶都上不了網(wǎng)。因而,每個(gè)省都應(yīng)部署兩個(gè)或以上的物理PGW,他們都對(duì)接互聯(lián)網(wǎng),UE和哪個(gè)建立連接都可以,條條大路通羅馬。
可以把APN(邏輯PGW)對(duì)應(yīng)的一組物理PGW看成PGW POOL,網(wǎng)絡(luò)從PGW POOL中選擇1個(gè)物理PGW建立PDN連接,即使這個(gè)物理PGW掛了(或拒絕了)還可以選擇其他物理PGW。PGW POOL通過DNS配置實(shí)現(xiàn)的,DNS將APN映射為一組物理PGW,網(wǎng)絡(luò)再?gòu)闹羞M(jìn)行選擇。 當(dāng)然,深圳的PGW POOL和北京的PGW POOL成員是不一樣的,各地DNS對(duì)APN=cmnet也會(huì)有不同的數(shù)據(jù)配置。 注意,UE只能請(qǐng)求連接哪個(gè)APN(或不顯式的請(qǐng)求,由網(wǎng)絡(luò)選擇默認(rèn)APN),選擇哪個(gè)物理PGW是網(wǎng)絡(luò)的事,過程對(duì)UE也是透明的。更具體的說,負(fù)責(zé)選擇的網(wǎng)元是MME(Mobility Management Entity),即移動(dòng)管理實(shí)體,相對(duì)于MME背負(fù)的重任,這個(gè)名字顯得太謙虛了。 這里的DNS也不是公網(wǎng)DNS,而是EPS網(wǎng)絡(luò)的內(nèi)部DNS,作用是返回網(wǎng)元IP,在這里就是返回PGW的IP。這個(gè)IP不是互聯(lián)網(wǎng)的IP,而是EPS網(wǎng)絡(luò)內(nèi)部的IP。這個(gè)IP也不是PGW用于轉(zhuǎn)發(fā)業(yè)務(wù)數(shù)據(jù)的用戶面(User Plane)IP,而是用于信令交互的控制面(Control Plane)IP,具體細(xì)節(jié)后面再補(bǔ)充,這里的重點(diǎn)是理解MME可通過DNS找到PGW。
PGW POOL不是團(tuán)結(jié)的集體,或甚至談不上是集體,大家都不知道對(duì)方的存在。POOL的意義僅體現(xiàn)在PDN連接建立過程中,或更確切的說,POOL的概念僅體現(xiàn)在DNS數(shù)據(jù)配置中。一旦MME選擇了某個(gè)物理PGW并完成PDN連接的建立,對(duì)UE而言POOL就失去了意義,除非重新建立PDN連接。
從這個(gè)角度理解,PGW POOL就像一群妹子,PDN連接就像婚姻關(guān)系。在關(guān)系沒確立前每個(gè)妹子(物理PGW)都有嫁給你的可能(現(xiàn)實(shí)可能沒這么美好),一旦父母(MME)幫你挑好一個(gè)妹子并確立了婚姻關(guān)系(就像包辦婚姻),你就不能對(duì)其他妹子抱有幻想了(實(shí)際上你從來都不知道有多少妹子)…… 除非感情破裂,某一方(你,妹子,甚至是父母)主動(dòng)解除婚姻關(guān)系(釋放PDN連接)。
自由戀愛?不存在的。
當(dāng)然,如果換一個(gè)APN,就是另一個(gè)POOL了。不同POOL相互沒有關(guān)聯(lián), UE可以建立多個(gè)不同APN的PDN連接。不同APN的POOL就像不同國(guó)家的妹子,雖然每個(gè)國(guó)家只能娶一個(gè),但總的來說還是可以娶好幾個(gè)的嘛。(同學(xué),你的思想很危險(xiǎn)啊)
對(duì)于用戶規(guī)模大,活動(dòng)范圍大的APN(比如cmnet、ctnet或3gnet),有必要在各省部署PGW POOL,對(duì)于用戶規(guī)模小,活動(dòng)范圍小的APN(比如某些企業(yè)專線),PGW POOL集中部署在離PDN(沒準(zhǔn)只是一臺(tái)服務(wù)器)最近的地方就好,如果客戶對(duì)安全性要求不高(偶爾斷個(gè)幾小時(shí)沒關(guān)系),POOL都可以不要,一個(gè)物理PGW就搞定了。
如果APN用戶規(guī)模小,但用戶活動(dòng)范圍廣,PGW還是集中部署在歸屬地(節(jié)約成本嘛,沒有那么多PGW),UE如果在漫游地建立PDN連接,網(wǎng)絡(luò)還是得找回歸屬地的APN。比如說,我找深圳移動(dòng)開條企業(yè)專線,APN叫MDD,我的服務(wù)器(PDN)自然也在深圳,即使我漫游到北京,UE也只能和深圳的APN建立連接,因?yàn)楸本]有叫MDD的APN。換句話說,選擇PGW的過程就是…...
各回各家,各找各媽。
如何確保北京(漫游地)MME找到深圳(歸屬地)APN呢?沒準(zhǔn)北京也有叫MDD,但和我沒有關(guān)聯(lián)的APN呢?實(shí)際上,漫游地和歸屬地有同名的APN并不奇怪(就像網(wǎng)上有很多叫“貓呆呆”的人一樣),和全國(guó)性的APN(比如cmnet、ctnet、ctlte、3gnet)不同,這些專線APN本來就是各地自行分配的。如何讓北京的MME找到深圳的MDD,而不是北京的MDD呢? 為了讓MME找到正確的APN,各地應(yīng)在APN加入“地域標(biāo)識(shí)”,并以“.”分隔,比如“MDD.gd”、“MDD.bj”或“MDD.sh”,實(shí)際上就是把相同的APN變成不同的APN。需要注意的是,“地域標(biāo)識(shí)”只是運(yùn)營(yíng)商的數(shù)據(jù)規(guī)范,不是協(xié)議定義的標(biāo)識(shí)(“地域標(biāo)識(shí)”只是APN-NI的一部分),只適用于運(yùn)營(yíng)商內(nèi)部漫游場(chǎng)景(Intra-PLMN Roaming)。另,漫游地DNS沒有各地APN的配置數(shù)據(jù),需要通過遞歸 迭代的方式找到歸屬地DNS以獲得PGW地址。
對(duì)于互聯(lián)網(wǎng)業(yè)務(wù),移動(dòng)(cmnet)和聯(lián)通(3gnet)處理有些不同。同樣的漫游場(chǎng)景,移動(dòng)選擇的是漫游地PGW,而聯(lián)通選擇的是歸屬地PGW(可以說是十分徹底的執(zhí)行“各找各媽”準(zhǔn)則了)。比如說,同樣是深圳用戶漫游到北京,移動(dòng)選擇的是北京PGW,而聯(lián)通選擇的是深圳PGW。對(duì)于VoLTE業(yè)務(wù),UE必須和歸屬地IMS交互(實(shí)際上,IMS也無所謂歸屬地和漫游地),無論哪個(gè)運(yùn)營(yíng)商,APN=IMS都必須選擇歸屬地PGW。 同樣道理,cmnet(或ctnet、ctlte、3gnet)用戶跑到國(guó)外去,國(guó)外也沒有cmnet這個(gè)APN(又或者有,但另有他用),MME也要找到國(guó)內(nèi)APN才能建立PDN連接。和國(guó)內(nèi)漫游(Intra-PLMN Roaming)不同,國(guó)際漫游(Inter-PLMNRoaming)中DNS不能以APN的“地域標(biāo)識(shí)”來“尋址”。DNS需要新的標(biāo)識(shí)來識(shí)別APN屬于哪個(gè)運(yùn)營(yíng)商網(wǎng)絡(luò)。
這個(gè)標(biāo)識(shí)就是APN-OI(APN Operator Identifier,APN運(yùn)營(yíng)商標(biāo)識(shí)),前面一直提到的APN更準(zhǔn)確的說應(yīng)該是APN-NI(APN Network Identifier,APN網(wǎng)絡(luò)標(biāo)識(shí))。不管是否涉及漫游,UE和PGW(以及HSS和PCRF)都只關(guān)心APN-NI,只有MME和DNS才關(guān)心APN-OI。APN-OI的意義也只存在于DNS查詢過程中,所以平常以APN替代APN-NI問題不是很大。
3GPP TS 23.003:TheAPN Network Identifier; this defines to which external network the GGSN/PGW is connected and optionally arequested service by the MS. This part of the APN is mandatory. The APN Operator Identifier; this defines in which PLMN GPRS/EPS backbone the GGSN/PGW is located. This part of the APN is optional. 即APN-NI定義了GGSN、PGW對(duì)接的外部網(wǎng)絡(luò)(PDN),是必要的;APN-OI定義了PGW/GGSN所在的運(yùn)營(yíng)商網(wǎng)絡(luò),是可選的。
APN-OI構(gòu)成是這樣的:“mnc<MNC>.mcc<MCC>.gprs”,其中MNC(Mobile Network Code,移動(dòng)網(wǎng)絡(luò)碼)和MCC(Mobile Country Code,移動(dòng)國(guó)家碼)指出PGW所在運(yùn)營(yíng)商網(wǎng)絡(luò)。用戶都有默認(rèn)APN-OI(Default APN-OI),<MNC>和<MCC>從IMSI(International Mobile Subscriber Identification Number,國(guó)際移動(dòng)用戶識(shí)別碼)中提取。比如,用戶IMSI為454 12 xxxxxxxxxx(CMHK用戶),則默認(rèn)APN-OI為“mnc012.mcc454.gprs”。(MNC、MCC不足三位則在前面補(bǔ)0)
默認(rèn)APN-OI用在Home Routed漫游方案。HomeRouted就是用戶漫游到其他運(yùn)營(yíng)商網(wǎng)絡(luò)(VPLMN),漫游協(xié)議要求用戶使用歸屬網(wǎng)絡(luò)(HPLMN)的PGW,MME使用APN-NI和默認(rèn)APN-OI向DNS發(fā)起查詢,DNS會(huì)返回HPLMN(而不是VPLMN)的PGW地址,這樣UE就會(huì)和HPLMN的PGW建立PDN連接。 Home Routed可以這樣理解:扎克伯格(美國(guó)用戶)漫游到中國(guó)(漫游網(wǎng)絡(luò)),在天安門前裝模作樣的跑了會(huì)兒步,然后迫不及待的自拍一張,發(fā)到facebook上…… 為什么小札可以上facebook呢 —— 因?yàn)閒acebook是他家的啊...... 不是,因?yàn)镠ome Routed要求UE和美國(guó)(歸屬網(wǎng)絡(luò))PGW建立PDN連接??梢?,Home Routed保證了用戶的業(yè)務(wù)一致性。同樣道理,如果你(中國(guó)用戶)在紐約時(shí)代廣場(chǎng)跑步,也想到facebook上發(fā)張自拍,呵呵。(不過不要灰心,我們沒有facebook,可是我們有很多時(shí)代廣場(chǎng)呀) Home Routed的缺點(diǎn)是路徑迂回。如果小札訪問的不是facebook,而是“珍愛網(wǎng)”或“世紀(jì)佳緣”什么的,UE請(qǐng)求要繞到地球另一側(cè)(美國(guó)PGW)再繞回來,服務(wù)器響應(yīng)也要繞地球一圈,用戶感知不會(huì)太好。如果漫游協(xié)議允許的話,可用Local Breakout替代Home Routed,即使用漫游網(wǎng)絡(luò)PGW建立PDN連接,此時(shí)APN-OI的<MNC>和<MCC>應(yīng)根據(jù)漫游網(wǎng)絡(luò)PLMN ID(而不是用戶IMSI)進(jìn)行替換。
3GPP TS 23.003:This default APN Operator Identifier is used for home routed inter-PLMN roaming situations when attempting totranslate an APN consisting only of a Network Identifier into the IP address ofthe GGSN/PGW in the HPLMN. Alternatively, in the roaming case if the GGSN/PGW from the VPLMN is to be selected, the APN Operator Identifier for the UE is constructed from the serving network PLMN ID. In this case, the APN-OI replacementfield, if received, shall be ignored.
國(guó)內(nèi)漫游(Intra-PLMN Roaming)時(shí),APN-OI使用IMSI還是服務(wù)網(wǎng)絡(luò)PLMN ID的MNC和MCC似乎沒有區(qū)別,很多時(shí)候他們是相同的。正因如此,可能也會(huì)對(duì)APN-OI中的MNC和MCC來源感到困惑。個(gè)人理解此時(shí)MME使用的是默認(rèn)APN-OI,MNC和MCC取自于IMSI。因而,DNS配置應(yīng)包含運(yùn)營(yíng)商所有IMSI號(hào)段,如中國(guó)移動(dòng)應(yīng)包括460-00、460-02、460-07、460-08等,在DNS中劃分為不同的Zone。
Anyway,UE可以有1個(gè)或多個(gè)PDN連接,每個(gè)PDN連接分別和1個(gè)APN關(guān)聯(lián),對(duì)應(yīng)1個(gè)物理PGW。PGW一會(huì)兒當(dāng)大爺(GW概念),一會(huì)兒當(dāng)妹子(POOL概念),一會(huì)兒是邏輯的,一會(huì)兒是物理的,心也是夠累的??墒牵疫€是想殘忍的問一句:還能更復(fù)雜一點(diǎn)嗎,比如……
1個(gè)APN只能有1個(gè)PDN連接嗎?
這個(gè)套路太熟悉了,答案當(dāng)然是不只1個(gè)。1個(gè)APN為什么可能有多個(gè)PDN連接呢?說起來還是和PDN有關(guān)。前面我只籠統(tǒng)的提到IP連通性,但并沒說清楚指的是IPv4還是IPv6。UE得確認(rèn)PDN是什么類型,才知道可以后續(xù)發(fā)送哪種IP報(bào)文,甚至是Non-IP報(bào)文。
PDN的類型就是PDN Type,包括IP類型和Non-IP類型。對(duì)于IP類型,又分為單棧(Single Address)的IPv4類型和IPv6 類型,以及雙棧(Dual Address)的IPv4v6類型。雙棧的意思就是同時(shí)支持兩種版本,發(fā)哪種IP報(bào)文都沒問題。
PDN Type在PDN連接建立時(shí)確定。UE可以表達(dá)自己的意愿(據(jù)不完全統(tǒng)計(jì),現(xiàn)網(wǎng)超過一半終端會(huì)請(qǐng)求建立IPv4v6雙棧連接),但網(wǎng)絡(luò)不一定會(huì)允許,UE根據(jù)返回決定是否繼續(xù)請(qǐng)求。最終UE有多少個(gè)PDN連接,以及是什么PDN Type,取決于UE請(qǐng)求(UE能力)、HSS簽約和PGW配置。
比如,UE請(qǐng)求建立IPv4v6雙棧連接,網(wǎng)絡(luò)只支持或只允許單棧連接并返回1個(gè)IPv4或IPv6地址,UE可能會(huì)再次發(fā)起請(qǐng)求(取決于網(wǎng)絡(luò)指示),建立第二種PDN Type的連接。UE最終可能會(huì)有2個(gè)PDN連接,分別為IPv4類型和IPv6類型。
1個(gè)PDN Type只能有1個(gè)PDN連接嗎?
3GPP協(xié)議沒有明確限制。也就是說,UE可以和APN建立多于1個(gè)相同PDN Type的PDN連接,比方說,和cmnet建立2個(gè)IPv4的PDN連接。據(jù)說國(guó)外有類似的配置,分別用于互聯(lián)網(wǎng)業(yè)務(wù)和VoLTE補(bǔ)充業(yè)務(wù)。這在國(guó)內(nèi)是共用PDN連接的,我不是很理解其意義所在,只能猜測(cè)是為了不同的Qos吧。
1個(gè)UE到底可以有多少個(gè)PDN連接呢?
幸好,PDN連接的有絲分裂到這里就結(jié)束了。綜上,1個(gè)UE可和多個(gè)APN建立PDN連接,每個(gè)APN可建立多個(gè)不同PDNType的連接,甚至是多個(gè)相同PDN Type的連接。規(guī)范中是這樣定義PDN連接的:PDN連接是PDN和UE之間的關(guān)聯(lián)。PDN由APN表示。對(duì)于IP類型的PDN連接,UE由1個(gè)IPv4地址、或1個(gè)IPv6前綴、或1個(gè)IPv4地址 1個(gè)IPv6前綴表示;對(duì)于Non-IP類型的PDN連接,UE由UE ID表示。
3GPP TS 23.401: PDN Connection: The association between a PDN representedby an APN and a UE, represented by one IPv4 address and/or one IPv6 prefix(for IP PDN Type) or by the UE Identity(for Non-IP PDN Type).
上述定義隱含的信息是:UE IP(PDN Address)是定義在PDN連接上的。也就是說,如果UE有多個(gè)PDN連接,APN相同則UE IP必然不同,APN不同則UE IP可以不同,也可以相同。從名字也能看出來,PDN Address顯然是一個(gè)PDN級(jí)別的概念。因而,同一PDN連接的所有承載(包含默認(rèn)承載和專有承載)使用同一個(gè)UE IP。 需要注意的是,如果UE有多個(gè)PDN連接,第一個(gè)PDN連接是通過Attach(附著)流程建立的,但本質(zhì)上和后續(xù)建立的其他PDN連接沒有什么不同。在UE完成多個(gè)PDN連接建立后,所有PDN連接的地位是獨(dú)立和平等,網(wǎng)絡(luò)和UE不會(huì)因?yàn)镻DN連接建立的先后順序不同而區(qū)別對(duì)待。(就好像允許你娶多個(gè)妹子,但要求你平等對(duì)待一樣)
這么多PDN連接,用哪個(gè)連接發(fā)哪些數(shù)據(jù)呢?
UE既有業(yè)務(wù)側(cè)的協(xié)議棧(以WEB瀏覽為例,包含HTTP層、TCP層和IP層),又有網(wǎng)絡(luò)側(cè)的協(xié)議棧(暫時(shí)簡(jiǎn)化為EPS層)。UE根據(jù)業(yè)務(wù)側(cè)需求主動(dòng)請(qǐng)求建立PDN連接,因而也只有UE知道業(yè)務(wù)和PDN連接的關(guān)聯(lián)。相對(duì)而言,PGW就要被動(dòng)許多,PGW幾乎沒有業(yè)務(wù)側(cè)信息(只有SGi接口的IP層),主要依靠網(wǎng)絡(luò)側(cè)信息處理報(bào)文。(好好做好網(wǎng)關(guān)這個(gè)有前途的工作)
如果UE有多個(gè)PDN連接,UE應(yīng)根據(jù)應(yīng)用層決定往哪個(gè)APN發(fā)送IP報(bào)文。以中國(guó)移動(dòng)為例,互聯(lián)網(wǎng)數(shù)據(jù)往cmnet發(fā)送,VoLTE數(shù)據(jù)往IMS發(fā)送。如果同一APN有多個(gè)不同PDN Type的PDN連接,UE應(yīng)根據(jù)網(wǎng)絡(luò)層決定在哪個(gè)PDN連接發(fā)送,如果(公網(wǎng))DNS返回IPv4地址,則UE應(yīng)構(gòu)造IPv4報(bào)文,在IPv4類型連接上發(fā)送,如果(公網(wǎng))DNS返回IPv6地址,則UE應(yīng)構(gòu)造IPv6報(bào)文,在IPv6類型連接上發(fā)送。
對(duì)于UE發(fā)給PDN的數(shù)據(jù),PGW解封EPS層,根據(jù)目標(biāo)IP網(wǎng)絡(luò)和IP路由發(fā)給下一跳;對(duì)于PDN發(fā)給UE的數(shù)據(jù),PGW根據(jù)目標(biāo)IP(UE IP)找到對(duì)應(yīng)的PDN連接并發(fā)送…… PGW為什么不需要APN來區(qū)分PDN連接呢 —— 因?yàn)锳PN就是PGW嘛!當(dāng)APN和物理PGW一一對(duì)應(yīng)時(shí),PDN發(fā)送到物理PGW的數(shù)據(jù),自然屬于對(duì)應(yīng)的APN了。
一個(gè)APN對(duì)應(yīng)一個(gè)物理PGW,太奢侈了吧?
對(duì)于用戶規(guī)模大的APN(如cmnet和IMS)還可以接受,對(duì)于用戶規(guī)模小的APN就不現(xiàn)實(shí)了,開一條企業(yè)專線就投入一個(gè)物理PGW,成本也太高了點(diǎn)。因而,一個(gè)物理PGW往往是被多個(gè)APN共用的,為實(shí)現(xiàn)APN(PDN)的相互隔離,物理PGW會(huì)劃分為多個(gè)虛擬PGW,這是通過虛擬路由器(Routing Instance或VRF)實(shí)現(xiàn)的。 3GPP TS 23.401:[4.3.8.1]:If there is an existing PDN connection to the same APN used to derive the PDNGW address, the same PDN GW shall be selected. [4.7.3]、[5.10.1]:All simultaneous active PDN connections of a UE that are associated with the same APN shall be providedby the same PDN GW. 同一APN的多個(gè)PDN連接,要求選擇同一個(gè)(物理)PGW。PDN發(fā)給UE的數(shù)據(jù),PGW同樣可以根據(jù)UE IP找到對(duì)應(yīng)的PDN連接發(fā)送。
這一篇講述了更多PDN連接的細(xì)節(jié),包括APN和PDN Type的概念、PDN連接的定義、數(shù)量和相互關(guān)系,UE和PGW發(fā)送報(bào)文選擇PDN連接的根據(jù)。下一篇將深入到PDN連接的內(nèi)部,了解EPS承載和Qos的概念。 |
|