Android 3G 4G流量上網原理簡析

2021-09-11 11:47:34 字數 2044 閱讀 2745

手機一般會提供兩種上網方式:wifi或者3g/4g上網,wifi上網其實就是利用網**過乙太網上網;3g/4g則是通過基帶,利用蜂窩網路進行上網,之前已經簡單的闡述了**wifi上網跟3g上網的區別**,本文主要簡述android 3g/4g上網的流程及原理。

手機一般有兩塊網絡卡,只是不同時使用,wifi的那種乙太網卡,還有就是3g/4g的無線modem型網絡卡(基帶模組),3g/4g上網用的是蜂窩網路,訊號以電磁波的形式在空氣中進行傳播,傳送到距離最近的基站,基站通過交換機**到覆蓋目標裝置的基站,並通知目標裝置,回傳結果,這種上網模式在鏈路層,用的一般是ppp(point-to-point protocol)協議,而其上網媒介用的則是無線通訊專用的無線基帶通訊模組:

同乙太網不同,移動端上網的方式是通過蜂窩網路進行上網,兩者最大的區別是在鏈路層,android 3g/4g無線上網的網路協議模型如下:

在資料鏈路層,ppp(point-to-point protocol)協議提供了一種標準點對點的傳輸方式,為各種主機、網橋和路由器通訊提供通用連線方案。ppp協議主要包括以下三個部分:

其中上面的大部分都是在建立資料鏈路的時候用的,資料鏈路建立後,其實主要用關心的是令資料幀封裝,ppp協議下的令資料幀封裝格式如下圖:

由於ppp協議是點對點的,不需要太多資訊,因此這裡是沒有48位mac位址概念的,因此,ppp也就無所謂 arp(位址解析協議)和rarp(逆位址解析協議),這兩個是某些網路介面(如乙太網和令牌環網)使用的特殊協議。

在android系統中,應用訪問網路時,會首先檢視資料上網鏈路是否已經建立建立,如果已經建立,則直接使用已建立的網路介面進行通訊,如果還未建立,則需要首先建立資料通路。ppp撥號上網配置十分複雜,需要一系列的協商、驗證,為了開發方便,linux對ppp資料鏈路的建立過程進行抽象,實現了pppd撥號應用程式,專門用於管理ppp資料鏈路的建立與關閉。不過,pppd其實只是負責建立資料鏈路,建立之後,資料上網不會依賴pppd服務,打個比方就是:pppd只負責修路,不負責運貨,在整個手機無線通訊中,pppd地位如下圖:

pppd是乙個後台服務程序(daemon),實現了所有鑑權、壓縮/解壓和加密/解密等擴充套件功能的控制協議,負責把要傳送的資料報傳遞給ppp協議處理模組,設定ppp協議的引數,用來建立/關閉連線。

android系統如果想要利用ppp協議進行資料通訊,必須首先按照ppp協議建立資料通訊鏈路。基帶模組正確載入之後會對映多個ttyusb裝置檔案,有的ttyusb用於at命令傳送,有的用作資料通訊,底層通過串列埠多路復用機制,實現了usb串列埠的多路復用。在使用ttyusb建立資料鏈路的時候,首先通過傳送at命令,開啟無線上網模組,隨後利用pppd撥號程式建立資料鏈路。撥號鏈結過程遵循ppp通訊協議,手機同蜂窩網路基站雙方動態協商,配置鏈路引數、ip位址等,撥號成功後,android系統會為基帶模組對映乙個虛擬網路介面名字可能是ppp0,或者rmnet***等,之後,android系統便可利用該介面進行網路通訊了,該介面的使用方式同wlan0類似,ip層對鏈路層完全無感知。

ppp資料鏈路的建立需要完成三個步驟,包括鏈路層配置、鏈路認證以及網路層配置,這個過程中,通訊雙方必須通過協商,確定資料報格式、ip位址等鏈路引數,才能正確建立ppp資料鏈路。在實際操作中,ppp資料鏈路的建立可分以下幾個階段:

通訊鏈路建立後,pppd會建立乙個網路介面(如ppp0),核心中的ppp協議模組也會登記該網路介面,對上層應用而言,該虛擬網路介面ppp0或者或者rmnet***,就是無線上網需要呼叫的介面,並且該介面建立之初就已經從3g網路獲得了動態分配的ip位址,對上層應用而言可以看做一塊真實的,並且已經啟用的網絡卡裝置,可以像使用乙太網卡一樣,進行tcp/ip網路通訊,pppd服務建立鏈路的流程圖:

應用程式通過socket傳送tcp/ip資料報時候,核心通過ip位址和路由表找到對應的網路介面(ppp0或者rmnet***),然後呼叫ppp協議相應的實現函式,經ppp協議封裝,傳送資料,最終通過串列埠將資料傳送到基帶模組,並經射頻模組將資訊傳輸到附近的基站。

資料接收流程可以看做是傳送的逆向,不過這裡稍微有些區別,那就是接收方,在資料鏈路建立的時候,接收方是pppd撥號程序,建立之後,普通的上網資料,接收方就是一般的使用者程序:

柬埔寨手機上網資費套餐(3G 4G上網)

柬埔寨三大運營商 cellcard 官網 詳情 metfone 官網 詳情 smart 官網 詳情 各大運營商 對比 包月 流量大小對比 mb cellcard metfone smart 1美金 500500 2美金 1200 3美金 2000 2000 5美金3500 4000 4000 10美...

3G與上網資費

2009 年初隨著國家資訊產業部發了3張 3g牌照,標誌著中國從此進入了 3g時代。2009 年對3g 起著非常重要的作用,中國移動將在年中投資 588億左右在全國範圍內建6萬個 3g基站。3g理論速度將會達到3m 所有的一切只要和 移動 兩個字掛鉤將會被時代賦予有新的意義。既然3g 就在眼前,我們...

2G 3G 4G 5G 基站架構演進

移動通訊系統從第一代移動通訊系統 1g 開始逐漸發展,目前已經發展到 移動通訊系統 4g 第五代移動通訊系統 5g 也已經開始標準化,預計2020年商用。本文分別總結2g 3g 4g和5g系統的基站架構。1.3gpp 5g 架構演進 2.5g nr協議棧及功能1 總體架構與物理層 3.5g nr協議...