【重磅】移動網路效能揭秘(上)--移動網路組件詳解

來源:互聯網
上載者:User

標籤:架構   web   移動   網路   

簡介

在過去的幾年裡我們在移動蜂窩網路效能方面取得了重大進展。但是由於網路延遲的膨脹導致許多應用並沒有得到改善。

延遲問題長期以來一直制約著移動網路。儘管近年來已取得一些進展,但減少網路延遲沒有跟上延遲的增長速度。正是由於這種不對等導致了延遲,而不是輸送量,成為影響網路效能的最大因素。

這篇文章邏輯上主要包含兩章。第一部分將討論導致移動網路延遲的細節;第二部分介紹提高網路效能降低延遲的軟體技術。

 

你在等待的是什嗎?

延遲表示一個資料包通過一個或一系列網路所需要的時間。由於很多因素,移動網路會使已經存在於大多數網路通訊中的延遲更高,這其中包括網路類型(如HSPA+與 LTE)、電訊廠商(AT&T與Verizon)或環境因素(如:站立、開車、地理以及一天中的不同時間點等)。因此,很難去準確估計移動網路的延遲,但是我們可以發現它的延遲在幾十到幾百毫秒不等。

往返時間(RTT)是一種測試延遲的方式,即通過測試資料包從發送原始伺服器到目的地的往返時間。而且RTT的大小對多數網路效能的影響非常明顯。這種原因可以用乒乓球運動來說明。

在通常的乒乓球運動中,乒乓球在玩的人之間運動所花的時間幾乎不會引人注意。然而,如果運動員之間站的越遠,他們等球的時間也就越長,而且在等待的過程中不能做其他事情。運動員在正常距離下,5分鐘的乒乓球比賽,如果距離換為一千英尺,那麼就需要幾個小時才能完成,雖然這聽起來比較可笑。但如果把原始伺服器和目的伺服器看作是乒乓球運動中的兩個運動員、往返時間表示往返兩個運動員之間所需時間,那麼你就會開始明白這個問題。

大部分網路通訊協定的部分常規操作就像打乒乓球一樣。這些“出球”,如果你願意,是建立和保持一個網路連結會話(session)所需要的雙向交換資訊(如TCP)或者是執行一個服務要求(如HTTP)。這些訊息在交換過程中很少或沒有資料轉送且網路頻寬很大程度上未使用。由此可知,延遲在很大程度上並沒有充分利用頻寬;這也導致每次資訊交換至少有一個RTT的延遲;這樣不斷累積導致對效能的影響非常指的注意。

試想一下,一個HTTP請求去下載10K的東西將有4次資訊交換。如果每個RTT為100毫秒(對移動網路來說已經非常合理了),將4次交換全部考慮在內的話,那麼輸送量為10k/400ms或者25k/s。

注意,上述例子完全和頻寬沒有關係--不論網路有多快結果都是一樣的,都是25k/s。但是以上的操作的效能,或者任何類似的操作,都可以通過一個簡單的、明確的策略來提升:避免網路用戶端和服務端進行資訊交換。

 

移動蜂窩網路

接下來會對移動蜂窩網路中影響延遲問題的組件和約定做一個簡單的介紹。

移動蜂窩網路是一些具有高度專業化功能的相互關聯的組件的代表。這些組件每個都會對延遲有影響,但是各個組件的影響程度不同。而且在移動網路中專屬的,如對無線電資源的管理,都成為移動蜂窩網路延遲的因素之一。

圖1:移動蜂窩網路組件

 

基帶處理器

在大多數行動裝置實際上是兩個非常複雜的電腦。應用程式處理器負責管理作業系統和應用程式,與電腦以及膝上型電腦比較相似;基帶處理器負責所有無線網路功能,相當於是電腦的數據機(Modem),只不過這個數據機使用的是無線電波而不是電話線。

基帶處理器是一個一致但通常存在延遲的資源。而高速無線網路是一個驚人複雜的事情,並且它所需要的複雜訊號處理導致了一個固定的必然延遲,對大多數網路通訊來說在微秒到毫秒級。

 

蜂窩基站

蜂窩基站,和收發基站或發射塔同義,作為移動網路的存取點。而蜂窩基站的責任是提供一個地區的網路覆蓋,也被稱作蜂窩。

蜂窩基站就像行動裝置一樣,處理複雜的高速無線網路,有相同的大多是微不足道的延遲;但是一個蜂窩基站必須同時服務於成百上千的行動裝置,而系統負載量的不同也將導致輸送量和延遲不同。同時,緩慢的、不可靠的網路效能在擁擠的公用活動中往往導致蜂窩基站的處理送達率受到限制。

最新一代的移動網路已經擴大了蜂窩基站的職責,包括管理它的行動裝置,很多以前無限網路控制卡的功能都已經交給了蜂窩基站處理,如:網路註冊和傳輸調度。這麼做的原因在本章後面解釋,這種角色轉換使得新一代的移動蜂窩網路的延遲得到很大程度的改善。

 

回程網路

回程網路是蜂窩基站、基站的控制器以及核心網路之間的專用廣域網路(WAN)串連。回程網路一直並且繼續在延遲方面臭名昭著。

回程網路是從經典的電路切換或者說是從基於幀的老的移動網路(如GSM,EV-DO)傳輸協議中誕生的。這種協議會有延遲,主要是因為它的同步特性,而邏輯串連表示一個channel在簡短的、預先分配的時間段裡僅僅接受或發送資料。相比之下,最新一代的移動網路採用基於ip封包交換的回程網路,而且支援非同步資料轉送。這種切換大幅減少了回程延遲。

物理設施的頻寬節流設定一直是一個瓶頸。許多回程並不旨在處理峰值流量負載,因此現代高速移動網路在出現網路擁堵時在延遲和輸送量方面都會表現出巨大差異。儘管電訊廠商正在努力儘快升級這些網路,但該組件在許多網路基礎設施仍然是一個弱點。

無線網路控制器

一般來說,無線網路控制器管理鄰近蜂窩基站和他們服務的行動裝置。

無線網路控制器直接通過一個被稱作信令的基於訊息的管理方案來協調行動裝置。而由於移動網路的拓撲結構,行動裝置和控制器的所有訊息都必須通過高延遲的回程網路來發送。這本身已經不是很理想了,但是由於許多網路操作,比如網路註冊和傳輸調度,這種需要來來回回多次交換資訊的操作使延遲情況變的更糟;典型的是,無限網路控制卡也因為這個原因稱為造成延遲的重要因素。

如前所述,控制器在最新一代的移動網路擺脫了裝置管理的職責;這麼多的任務現在由蜂窩基站自己來處理。這種設計也決定了大多數網路中的回程網路延遲被消除。

核心網路

核心為電訊廠商的內部網路和公用網路之間的網關;也正是在這裡電訊廠商使用內連網絡裝置來實施網路服務品質策略或者是作頻寬計量。作為一個規則,任何針對網路流量的攔截都將產生延遲。而且在實際情況中這種延遲普遍存在,但是這也是需要注意的。

電源保護

移動網路延遲最重要的來源之一直接和手機電池的用量限制有關。

高速行動裝置的網路電台的功耗為3瓦;這個功耗太大以至於iphone5的電池只能支援一個小時,也正是這個原因,行動裝置抓住每個機會來移除或者減少無線電路。這種做法不僅可以延長電池壽命而且還可以延遲啟動無線電路,只有在接收或者傳輸資料時才重新為無線電路提供能量。

所有的移動行動電話通訊都採用標準形式化無線資源管理(RRM)計劃來節省能量。大部分RRM約定定義3個狀態--啟用、空閑、未連結--每個狀態都代表某些啟動延遲和功耗之間的折中。

 

圖2:無線資源管理狀態轉換

 

啟用(Active)

啟用狀態代表資料也許以最小的延遲在告訴傳輸或接收。

這個狀態即使在空閑情況下耗電量也會很大。這個狀態下短時間的網路空閑,通常小於1秒,會出髮狀態轉換為空白閑狀態。這對效能的影響非常值得注意:在網路處理中過長的暫停會導致裝置在啟用和空閑狀態之間來回切換,這也會導致延遲增加。

空閑(Idle)

空閑狀態是低功耗使用和適當消極式載入的折中。

在這種狀態下行動裝置的網路仍然處於串連狀態,無法發送或接收資料,但可以接收網路請求來滿足轉換至啟用狀態的需求(如輸入資料)。經過一個合理的時間段後若網路仍未啟用,同時為一分鐘或者更短,行動裝置則切換至未串連狀態。

空閑狀態在兩方面會造成延遲。首先,它需要一些時間來為無限通訊裝置重新提供能量以及同步類比電路;其次,為了節省更多電量,無線通訊裝置僅僅是間斷的監聽網路通知,並且對通知的響應會稍有延遲。

未串連(Disconnected)

未串連狀態的功耗最低但啟動延遲最高。

這種狀態下裝置的網路處於未串連狀態,無線裝置處於非使用中。無線通訊裝置會被啟用並且通過一個特殊的廣播通道來監聽網路請求的到達,但這種啟用不是很頻繁。

未串連的延遲和空閑狀態的延遲相同,但是不同的是,未串連狀態還得算上重新串連網路的延遲。串連到移動網路是一個複雜的過程,這其中包括多個來回的資訊交換(也就是發訊號)。恢複網路連接至少需要幾百毫秒,而且連結時間在幾秒也是經常有的事。

 

(未完待續,下篇更精彩。。。)

 

1. 本文由程式員學架構翻譯

2. 本文譯自The Performance of Open Source Software | Secrets of Mobile Network Performance

3. 轉載請務必註明本文出自:程式員學架構(號:archleaner )

4. 更多文章請掃碼:

【重磅】移動網路效能揭秘(上)--移動網路組件詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.