網路的延遲(Latency)與頻寬(Bandwidth)是什麼?

骨幹網路頻寬(Bandwidth)

在一般的網路骨幹上的網路流量都非常大,因此目前大部分網路骨幹都是使用光纖的方式在傳輸資料。

光纖比頭髮還要再細一點,其運作的原理有點像光的「導管」,可以將光線由發送端導引至接收端,而一般傳統金屬的電纜線比起光纖來說,會有比較多的訊號遺失、雜訊干擾等問題,另外在長期的維護費用上也會比較高,所以一般來說網路封包在傳遞時,會在這兩種傳輸介質上傳遞,但是在長距離的傳輸時,通常都會使用光纖。

光纖在網路的頻寬上也有明顯的優點,它可以藉著 wavelength-division multiplexing(WDM)技術讓一條光纖網路同時傳輸多個不同波長(頻道)的光線,所以一條光纖網路的頻寬會是單一頻道的資料傳輸速率再乘上其頻道的數目。

在 2010 年初的時候,研究人員已經可以讓一條光纖同時傳輸 400 個不同的頻道,每個頻道的資料傳輸速率是 171 Gbit/s,也就是說一條光纖的傳輸速率可以超過 70Tbit/s!若是使用傳統金屬材質,則需要數千條的電纜線才能達到這樣的速度,也因為如此,所以現在長距離的網路資料傳輸都會使用光纖電纜的方式來佈線,每條光纖電纜中包含數條光纖(通常是 4 條),所以可以提供數百 Tbit/s 的傳輸速度。

末端網路頻寬(Bandwidth)

網路末端的頻寬相對於網路骨幹而言非常小,而且會因為所使用的技術不同而有不一樣的網路頻寬,包含撥接網路、DSL、cable、各種無線網路技術、光纖到府與地方的路由器效能等都會有影響,而對於使用者而言,其可使用的網路頻寬會由頻寬最窄的部份來決定(請參考上面的「網路的延遲與頻寬示意圖」)。

Akamai 這家公司經營一個全球性的 CDN 服務,在全球各地佈置了許多伺服器,並且每季提供依照他們自己伺服器上的觀測資料,免費提供世界各國寬頻網路的速度報告,下表是 2013 年第二季的報告中,亞太地區的數據。

asia-pacific-internet-broadband-adoption-average

全球平均的網路頻寬是 3.3 Mbps,而台灣則是 5.5 Mbps,雖然比平均高,但是跟臨近的國家相比算是有點低,新加坡(Singapore)有 6.5 Mbps、香港(Hong Kong)有 10.8,日本(Japan)與南韓(South Korea)更達到 12 與 13.3 Mbps。

如果以全球的排名來看,南韓目前的上網頻寬是最大的,接下來是日本、瑞士(Switzerland)、香港與拉脫維亞(Latvia)。

average-connection-speed-2013-q2

這裡我們所討論到的數據都沒有包含手持裝置的部分,通常手持裝置的網路速度都會比一般電腦慢,而且品質相對也比較不穩定。

附帶一提,一般在網路上收看高畫質(HD)的影片時,通常依照不同的 codec 與解析度,大概會需要 2 到 10 Mbps 的網路頻寬,所以依照這裡的數據來看,一般的使用者應該都可以正常收看低解析度的影片,但是這樣也會占去他大部份的頻寬,而如果一個家中有好幾台電腦同時要看這樣的影片,就會有些問題了。

對於一般的使用者來說,找出網路頻寬的瓶頸所在是一個很重要、但也很難處理的問題,而這個時候就可以使用一些網路速度偵測工具來幫助你測量目前的網路頻寬,例如 Hinet 的連線速路測試或?speedtest.net

speedtest-net

使用這些工具你就可以測量出自己網路的實際網路頻寬,看看有沒有符合 ISP 當初所宣稱的速度。

然而有了令人滿意的網路頻寬之後,也不能保證網路品質的穩定度,有時候因為網路塞車、設備損壞、或是遭受網路攻擊等事件,都會影響網路的頻寬與延遲,而這個現象是現在的網路技術難以避免的問題,而如何預測、管理或因應這些情況的變化本收也很複雜。

高網路頻寬與低網路延遲

隨著高畫質網路影片的普及,網路頻寬的需求也不斷增加,目前所有網路上傳輸的資料中,有超過一半都是屬於影片的資料,在這樣的情況下,可以使用幾個方案來處理,首先可以增加光纖電纜中的光纖數量,或是改善 WDM 技術,讓資料的傳輸量可以增加。

在網路延遲的改善上,又是另外一個問題,目前是以材料科學的方式,嘗試改善光纖的折射率,而依據目前的狀況來估計,未來大概頂多只能再改善 30% 左右,最終都會碰到光速這個物理極限。另外改善路由器自己的效能也是一個辦法。

而目前在地球上兩地的網路傳輸路徑通常都不是直線,如果可以多拉一些電纜線,讓訊號的傳遞距離縮短,也可以減低網路延遲,但是這個方式也很困難,因為一些各種地理上、政治上的因素,通常也不太可能在任意的路徑上佈線。

因此若要改善應用程式的效能,我們必須精心設計自己的程式架構與所使用的通訊協定,對於網路的使用上做一些最佳化的動作,減少長距離的網路傳輸動作,讓資料儘量靠近使用者,另外透過快取(caching)的方式讓網路延遲可以隱藏在程式的背後,這些技巧我們在之後的文章還會再詳細說明。

參考資料:High Performance Browser Networking

網頁開發

2 Comments

  1. Jerry

    您好:
    1000 微秒(1 秒)這裡寫錯了,
    是1000毫秒(ms)才是1秒,內容時間單位微秒都要改成毫秒

Leave a Reply