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