移动数据通信网络工作原理(SGSNGGSN)
最近公司在做移動網(wǎng)絡(luò)的優(yōu)化和治理工作,借這個(gè)機(jī)會,好好學(xué)習(xí)了下移動網(wǎng)絡(luò)底層傳輸?shù)墓ぷ髟?#xff0c;并將結(jié)果分享出來。
- 1 移動網(wǎng)絡(luò)的演進(jìn)
- 2 GPRS/UMTS網(wǎng)絡(luò)架構(gòu)
- 2.1 無線接入網(wǎng)RAN
- 2.2 無線核心網(wǎng)CN
- 2.3 GTP隧道協(xié)議
- 3. 無線核心網(wǎng)工作原理
- 3.1 分組業(yè)務(wù)會話連接建立
- 3.2 分組會話傳輸
- 3.3 分組會話結(jié)束
- 4. 移動網(wǎng)絡(luò)優(yōu)化建議
- 4.1 APP節(jié)約用電
- 4.2 服務(wù)端推送優(yōu)于客戶端輪詢
- 4.3 面對多網(wǎng)絡(luò)瞬態(tài)變化的現(xiàn)實(shí)
- 5. 根據(jù)移動通信原理解釋常見的網(wǎng)絡(luò)疑問
1 移動網(wǎng)絡(luò)的演進(jìn)
GSM(Global System For Mobile Communications)是第一代移動通信網(wǎng)絡(luò),也就是常用的2G移動電話系統(tǒng)。其做出的改變是將信令和語音信道都轉(zhuǎn)換成數(shù)字式的。
GPRS(General Packet Radio Service)是第二代移動通信系統(tǒng),在GSM的基礎(chǔ)上,采用分組交換傳輸數(shù)據(jù)的高效率方式,利用“包交換”(Packet-Switched)將數(shù)據(jù)封裝成許多獨(dú)立的封包,再將這些封包一個(gè)一個(gè)傳送出去,效率比GSM高的多,因?yàn)檫@樣做,只有在需要傳輸時(shí),才會占用帶寬。GPRS核心網(wǎng)元包括SGSN(Serving GPRS Support Node)和GGSN(Gateway GPRS Support Node)
UMTS(Universal Mobile Telecommunications System)在GPRS的基礎(chǔ)上,引入了WCDMA空中接口技術(shù),“空中接口”相對于有線通信中的線路接口,是基站和移動電話之間的無線傳輸規(guī)范,它定義每個(gè)無線信道的使用頻率。UMTS被稱為第三代移動通信系統(tǒng)。同時(shí),GPRS/UMTS也成為了一個(gè)完整的3G移動通信技術(shù)標(biāo)準(zhǔn)。
LTE(Lang Term Evolution)是目前普遍應(yīng)用的4G通信的主流技術(shù),原有3G核心網(wǎng)的SGSN和GGSN功能歸并后重新被劃分,生成新的邏輯網(wǎng)元:移動管理實(shí)體(MME)和服務(wù)網(wǎng)關(guān)(Serving Gateway)。換言之,3G和4G核心網(wǎng)絡(luò)的邏輯架構(gòu)是不同的,演進(jìn)過程中需要對SGSN和GGSN的軟硬件進(jìn)行升級。
綜上所述,GPRS/UMTS起到了承前啟后的作用,其工作原理與機(jī)制也被4G、5G所沿用并優(yōu)化。因此我們詳細(xì)來看GPRS/UMTS系統(tǒng)。
2 GPRS/UMTS網(wǎng)絡(luò)架構(gòu)
簡單來說,GPRS/UMTS的網(wǎng)絡(luò)架構(gòu)主要包括兩部分:無線接入網(wǎng)絡(luò)(RAN)和核心網(wǎng)(CN)。如下圖所示:
2.1 無線接入網(wǎng)RAN
無線接入網(wǎng)(Radio Access Network),簡稱RAN。RAN中包括的設(shè)備包括有:基站(Node B)和無線網(wǎng)絡(luò)控制器(RNC),主要的功能就是控制用戶通過無線接入到移動通信網(wǎng)絡(luò)中來。
其中,基站的作用是為了數(shù)據(jù)的無線傳遞,而RNC主要用于管理和控制它下面的多個(gè)基站,并決定接入到核心網(wǎng)。
2.2 無線核心網(wǎng)CN
現(xiàn)階段,3G核心網(wǎng)由電路域(CS域)和分組域(PS域)兩部分組成,分別負(fù)責(zé)傳統(tǒng)語音業(yè)務(wù)和分組域業(yè)務(wù)(數(shù)據(jù)和多媒體業(yè)務(wù)),我們只看PS域。
PS核心網(wǎng)主要由SGSN和GGSN兩部分組成。統(tǒng)稱為GSN,GSN的功能包括:
SGSN
SGSN主要用于為在其地理范圍內(nèi)的移動站傳遞數(shù)據(jù)包,相當(dāng)于無線網(wǎng)絡(luò)中的路由節(jié)點(diǎn)。它可以進(jìn)行分組路由和轉(zhuǎn)發(fā),移動性管理(附著,去附著和位置管理),邏輯鏈路管理,鑒權(quán)以及計(jì)費(fèi)功能。SGSN的位置寄存器保存著位置信息,比如當(dāng)前的小區(qū)。
SGSN的主要功能包括:
1 完成和GGSN的通信,通過GTP協(xié)議將用戶數(shù)據(jù)傳遞給GGSN,并將GGSN返回的數(shù)據(jù)傳遞給用戶
2 當(dāng)用戶地理位置發(fā)生變化,執(zhí)行移動性管理。
GGSN
GSGN作為整個(gè)GPRS/UMTS網(wǎng)絡(luò)的網(wǎng)關(guān),位于GPRS網(wǎng)絡(luò)和外部分組交換網(wǎng)絡(luò)(Internet)之間。網(wǎng)關(guān)的作用能將一種協(xié)議格式的數(shù)據(jù)轉(zhuǎn)換為另一種格式的數(shù)據(jù)。
GGSN把來自的SGSN的GPRS數(shù)據(jù)包轉(zhuǎn)化為適當(dāng)?shù)姆纸M數(shù)據(jù)協(xié)議格式,比如IP,然后再把它們發(fā)送到相應(yīng)的分組數(shù)據(jù)網(wǎng)絡(luò),比如廣域有線網(wǎng)。反之亦然。
SGSN和GGSN的區(qū)別
所以,GGSN和SGSN的主要區(qū)別就在于,GGSN作為網(wǎng)關(guān),是在不同的通信網(wǎng)中轉(zhuǎn)換協(xié)議,而SGSN作為路由,只是在使用相同協(xié)議的網(wǎng)絡(luò)中發(fā)送、接受以及延遲它的數(shù)據(jù)包。
另外,GGSN能夠?qū)崿F(xiàn)地址的轉(zhuǎn)換,比如把無線網(wǎng)絡(luò)內(nèi)部地址(PDP地址)轉(zhuǎn)換為一個(gè)分組數(shù)據(jù)網(wǎng)絡(luò)協(xié)議地址(IP地址),而SGSN只能實(shí)現(xiàn)PDP地址映射,即根據(jù)一個(gè)地址,映射到相同種類的另一個(gè)地址。可見,我們常說的3、4G網(wǎng)絡(luò)的IP地址,其實(shí)就是對應(yīng)GGSN的出口IP地址。
2.3 GTP隧道協(xié)議
GTP協(xié)議為GPRS/UMTS分組域核心網(wǎng)中的SGSN和GGSN之間的信令和用戶數(shù)據(jù)提供隧道。隧道協(xié)議能夠?qū)⑵渌麉f(xié)議的數(shù)據(jù)幀或包重新封裝然后通過隧道發(fā)送。新的幀頭提供路由信息,以便在不同網(wǎng)絡(luò)下傳遞被封裝的負(fù)載數(shù)據(jù)
GPRS隧道通過GTP協(xié)議封裝了含有終結(jié)點(diǎn)標(biāo)識TEID的頭,用于實(shí)現(xiàn)路由以及多路復(fù)用。在核心網(wǎng)內(nèi)部通過GTP協(xié)議通信,在外部數(shù)據(jù)網(wǎng)側(cè)是TCP協(xié)議或者UDP協(xié)議通信,所以數(shù)據(jù)報(bào)在這兩種網(wǎng)絡(luò)間交互需要對數(shù)據(jù)報(bào)頭進(jìn)行處理(SGSN、GGSN都可以實(shí)現(xiàn))。進(jìn)入核心網(wǎng)時(shí)需要對數(shù)據(jù)報(bào)進(jìn)行加GTP頭處理,反之,則需要對數(shù)據(jù)報(bào)進(jìn)行去GTP頭處理。
3. 無線核心網(wǎng)工作原理
在GPRS/UMTS分組域核心網(wǎng)中,通過PDP上下文(Pocket Data Protocol, 分組數(shù)據(jù)協(xié)議)來管理用戶從移動終端到GGSN及外部分組數(shù)據(jù)網(wǎng)的數(shù)據(jù)路由信息。PDP上下文的數(shù)據(jù)分別存儲在移動終端、SGSN和GGSN中。移動用戶需要使用分組數(shù)據(jù)業(yè)務(wù)時(shí),需要先執(zhí)行激活PDP上下文,激活成功后,在移動終端、SGSN和GGSN中就增加了一條新的PDP上下文記錄,根據(jù)這條記錄信息,SGSN和GGSN才能正確地路由和轉(zhuǎn)發(fā)用戶數(shù)據(jù)。
所以,一個(gè)完整的分組業(yè)務(wù)過程包括三個(gè)階段:
- 分組域會話連接建立階段:用戶在移動終端一側(cè)發(fā)起激活PDP上下文的請求,GPRS/UMTS接受用戶的請求并建立新的PDP上下文。PDP上下文包含了映射和路由信息,用于在移動臺和GGSN之間轉(zhuǎn)發(fā)數(shù)據(jù);
- 分組域會話階段:用戶得到PDP上下文建立成功的確認(rèn)后,開始使用外部分組數(shù)據(jù)網(wǎng)絡(luò)提供的數(shù)據(jù)業(yè)務(wù)(簡單說,開始使用互聯(lián)網(wǎng)Internet服務(wù))。GPRS/UMTS網(wǎng)絡(luò)在移動終端和互聯(lián)網(wǎng)之間透明地路由并轉(zhuǎn)發(fā)分組數(shù)據(jù),同時(shí),提供數(shù)據(jù)封裝功能(GTP),保證在不同網(wǎng)絡(luò)環(huán)境下,數(shù)據(jù)與路由的正確性。
- 分組域會話結(jié)束連接階段:當(dāng)用戶不再需要使用上述數(shù)據(jù)業(yè)務(wù)時(shí),GGSN釋放PDP地址。
3.1 分組業(yè)務(wù)會話連接建立
如下圖所示,移動終端發(fā)送PDP激活請求消息給SGSN,SGSN驗(yàn)證PDP類型,根據(jù)地址轉(zhuǎn)發(fā)到GGSN。GGSN在PDP上下文表中加入一條新的記錄,這條新的記錄允許GGSN在SGSN和互聯(lián)網(wǎng)之間正確地路由通信。
GGSN返回一條響應(yīng)消息給SGSN,SGSN更新自己的PDP上下文表,可以在GGSN和移動終端之間正確的路由通信。并發(fā)送響應(yīng)告知移動終端建連成功。
3.2 分組會話傳輸
當(dāng)PDP上下文成功建立后,該用戶就可以通過GPRS/UMTS網(wǎng)絡(luò),在移動終端使用分組數(shù)據(jù)網(wǎng)提供的各種應(yīng)用程序,如HTTP、FTP、郵件和流媒體業(yè)務(wù)。
3.3 分組會話結(jié)束
當(dāng)用戶不再使用業(yè)務(wù)時(shí),移動終端發(fā)送去激活消息給SGSN。SGSN發(fā)送刪除PDP上下文請求給GGSN,GGSN刪除PDP上下文,并返回消息給SGSN。SGSN將去激活響應(yīng)消息再返回給移動終端。
4. 移動網(wǎng)絡(luò)優(yōu)化建議
移動網(wǎng)絡(luò)傳輸?shù)奶匦詫ξ覀兊男阅懿呗蕴岢隽诵碌摹ⅹ?dú)特的要求。應(yīng)用層協(xié)議雖然相同,但物理傳輸層的差別卻有很多限制,如果對這些限制估計(jì)不足,就會導(dǎo)致響應(yīng)速度慢、延遲時(shí)間搖擺不定,最終導(dǎo)致用戶體驗(yàn)大打折扣。
底層的無線傳輸優(yōu)化必須依賴于運(yùn)營商,作為應(yīng)用程序提供方,參考《Web性能權(quán)威指南》,我們可以做的事情包括:
4.1 APP節(jié)約用電
手機(jī)無線電模塊的耗電量僅次于設(shè)備的屏幕,全功率打開無線電模塊只消幾小時(shí)就可耗盡電量。我們應(yīng)該盡最大可能在無線電開啟時(shí)傳輸數(shù)據(jù),而盡量把喚醒無線電以傳輸數(shù)據(jù)的次數(shù)減到最少。
這里提供給開發(fā)和測試一款開源工具,可以用于測試和評估應(yīng)用程序的耗電量:Application Resource Optimizer(ARO,應(yīng)用資源優(yōu)化器)工具包。
ARO包含兩個(gè)組件:收集器和分析器。其中,收集器是一個(gè)后臺Android應(yīng)用(可以在手機(jī)或模擬器中運(yùn)行),用于捕獲傳輸?shù)臄?shù)據(jù)分組、無線模塊活動息及其他與手機(jī)的交互行為。要想記錄用電情況,可以打開收集器,點(diǎn)擊記錄,使用應(yīng)用,然后將記錄結(jié)果復(fù)制到系統(tǒng)中。
得到記錄結(jié)果后,可以通過分析器打開它,從而得知無線電狀態(tài)、電量消耗、應(yīng)用的通信模式等信息。另外,分析器有一個(gè)很不錯的功能,即針對常見的性能陷阱提供建議,比如沒有壓縮、重復(fù)傳輸數(shù)據(jù),等等。
4.2 服務(wù)端推送優(yōu)于客戶端輪詢
輪詢在移動網(wǎng)絡(luò)中代價(jià)極高,少用,盡可能使用推送和通知,且要控制推送頻率。一般來說,推送比輪詢效果更好。但頻率過高的推送與輪詢也不相上下。
對推送而言,原生應(yīng)用可以訪問平臺專有的推送服務(wù),因此應(yīng)該盡可能使用。對Web應(yīng)用來說,可以使用SSE(Server Sent Events,服務(wù)器發(fā)送事件)和WebSocket以降低延時(shí)間和協(xié)議消耗,盡可能不使用輪詢和更耗資源的XHR技術(shù)。
4.3 面對多網(wǎng)絡(luò)瞬態(tài)變化的現(xiàn)實(shí)
即便用戶手里拿著最新的手機(jī),也需要不斷在4G、3G,甚至2G網(wǎng)絡(luò)之間切換。我們的應(yīng)用必須接受這些接口變化,作出相應(yīng)調(diào)整:
- 不要緩存或試圖猜測網(wǎng)絡(luò)狀態(tài);
- 調(diào)度請求、監(jiān)聽并診斷錯誤;
- 瞬態(tài)錯誤總會發(fā)生,不可忽視,可以采取重試策略;
- 監(jiān)聽連接狀態(tài),以便采用最佳請求方式;
- 對重試請求采用補(bǔ)償算法,不要永遠(yuǎn)循環(huán);
- 離線時(shí),盡可能記錄并在將來發(fā)送請求;
- 利用H5的AppCache和localStorage實(shí)現(xiàn)離線應(yīng)用。
5. 根據(jù)移動通信原理解釋常見的網(wǎng)絡(luò)疑問
了解了移動數(shù)據(jù)核心網(wǎng)絡(luò)的架構(gòu)和工作原理后,對我們分析用戶常見的一些網(wǎng)絡(luò)現(xiàn)象和問題幫助很多,比如說:
場景一:在同一個(gè)地區(qū),使用同一個(gè)運(yùn)營商的同一個(gè)基站的用戶出口IP是否相同?
不相同,正如我們上面說的,基站的作用其實(shí)僅僅是無線數(shù)據(jù)的傳遞(只涉及到物理層和數(shù)據(jù)鏈路層),而真正決定用戶出口IP的是GGSN(GGSN將無線地址轉(zhuǎn)換成IP地址)。而每個(gè)地區(qū)運(yùn)營商的GGSN,使用的不只一個(gè)IP地址,而是一個(gè)IP地址池。
所以同地區(qū)運(yùn)營商的用戶,IP地址不同,但會處于一個(gè)網(wǎng)段中。同時(shí),每個(gè)用戶的IP在一定時(shí)間內(nèi)會變換(GGSN會從地址池中更新IP)
場景二:為什么手機(jī)漫游到外省后上網(wǎng)卻顯示歸屬地 IP?
比如用戶是上海聯(lián)通的,來到南京,顯示的仍是上海聯(lián)通的IP。
漫游用戶接入互聯(lián)網(wǎng)的方案有兩種:1. 歸屬地接入方式,2. 漫游地接入方式。蘋果手機(jī)默認(rèn)使用歸屬地接入方式。
歸屬地接入方式就是無論用戶漫游還是在本地,最終都是通過歸屬地的GGSN連接到互聯(lián)網(wǎng)的。歸屬地接入方式的好處就是各省之間的計(jì)費(fèi)話單對賬方便,缺點(diǎn)就是增加了時(shí)延。
漫游地接入方式顧名思義就是直接使用漫游地運(yùn)營商的GGSN/P-GW接入Internet,此時(shí)用戶所使用的公網(wǎng)IP地址就是漫游地的IP地址。漫游地接入方式的優(yōu)點(diǎn)就是省去了數(shù)據(jù)可能要繞大半個(gè)中國甚至大半個(gè)地球的麻煩,有利于降低時(shí)延,節(jié)省長途鏈路資源等等。
場景三:漫游手機(jī)用戶的網(wǎng)絡(luò)問題應(yīng)該如何排查?
漫游手機(jī)用戶的網(wǎng)絡(luò)問題肯定是由于漫游地運(yùn)營商網(wǎng)絡(luò)造成的。而如果采用歸屬地接入方式的話,網(wǎng)絡(luò)問題有可能是歸屬地運(yùn)營商網(wǎng)絡(luò)造成,也有可能是由漫游地的SSGN無線核心網(wǎng)造成的。
總結(jié)
以上是生活随笔為你收集整理的移动数据通信网络工作原理(SGSNGGSN)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(1739):前端调试值之页面元
- 下一篇: unity3D禁用脚本