Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 計算機網絡和Internet之核心網絡,計算機網絡internet

計算機網絡和Internet之核心網絡,計算機網絡internet

編輯:關於android開發

計算機網絡和Internet之核心網絡,計算機網絡internet


1.網狀的路由器

路由器的鏈接組成了網絡的核心。

任何一個路由器,或者某條線路掛掉,但是網絡還是通的,這是internet的一個特性。

data到底是怎麼傳輸的?

1)circuit switching專有線路,就像電話一樣,每一條都有一個線路。

2)packet-switching封包機制:就是data分成一個一個的包送資料。

1.1 circuit switching

首先要做一個end to end,通過資源的分配,把他們連接起來。

這個線路要經過路由器,所以路由器的帶寬會影響傳輸的速度。

在每一段link上面,都保留頻寬,就會有一個專屬頻寬的意思。

專屬的資源,無法共享。就算這條線路沒有被使用,其他傳輸的請求也無法獲取這條線路。

但是它必須有一個建連線的動作。

2種方法來實現這個模式:

1)時間來分割

2)頻率來分割

其實就是資源的劃分,空間或者時間。

之前微信和移動鬧得那點事,就說占用頻寬的事情,具體可以百度下。

1.2 packet-switching

把資料切成一個一個的封包,然後在資料使用的時候,使用網絡所有的link,全速傳輸。

這樣呢,User A & User B就是 share 網絡資源。所以說,他要做resource 競爭。

但是路由器的帶寬總是有限的,相對與大量的網路請求,往往會有擁擠的問題。

封包就放入路由器的隊列。

路由器就是先存儲,然後在轉送。

轉送的時候是無序的,也就是A & B的封包是隨機排列的,每一個封包都需要競爭資源。

而且User A & User B發送data的時機是不確定的,所以可以更充分的利用網絡的帶寬。

封包先收起來,然後看看要放到哪裡去,然後在放到那個Queue裡面。

1.2.1 2種模式的對比

假設說有一個link,帶寬是1M/s

假設有N個User,要送資料,送的單位是100K

它不是alway on,它想送的時間只有10%

所以如果是circuit switching,你只能分割給10個user,但是你只有10%的時間在用,剩下的

時間都是浪費的。

如果是packet-switching,如果有35個User,在同一時刻超過10個User的幾率,小於0.004

所以它可以認為支持35個user同時使用。

packet-switching適用的場合,

1)bursty data 大量的,但是短暫的data。既然都是bursty,可以把發送時間錯開,這樣就最好了。適合封包的發送方式。

如果多個User同一時刻,都爆發data,路由器可以把它們Queue起來,等到網絡空閒的時候,在發送它們。

當然也有可能end端的data過多,超過峰值,那可能就會掉封包。所以它可以建多個連接來減少這個概率。

但是bursty data會造成 封包的delay & loss

所以說需要一個更好的protocol來提供可靠的傳輸機制,TCP

2)怎麼提供跟circuit類似的功能?

希望做audio/video  這種應用。需要5M的頻寬,但是可能只能給到5K,應為internet是需要競爭的,所以它的頻寬不保證。

只有通過協議的方式,這個難度很高,目前位置還是一個open problem.

 

1.2.2 store & forward

假設從one end端有資料要送,有2個路由器。

每段的頻寬是R

封包的長度是L

假設L = 7.5M

R = 1.5M

所以送一個封包要5s的時間,L/R送一個封包的時間。

每一段都要送5秒,它是送一段,然後store在路由器,然後在store,這樣就是

delay = N *L/R

N就是線路的個數。

如果我們把7.5M 切成一個個pice。比如是5000份。每一個封包只有1.5K,所以送一個封包的時間變成1ms

它可以使用pipelining的方式,

我送第一個封包,1ms。

送第二個封包的時候,下一段,可以送第一個封包

所以就是每段網絡都在發送data,而不是等待的概念。

所以我要花5002ms,就可以收完了。

所以說封包不要太大,讓他可以pipeling

但是每個封包都有一段頭,所以不是切的越小越好。

1.2.3 path 選擇

在傳輸data的時候要經過不同的路由器,而且有很多路徑,要怎麼選?

路徑選擇的算法。路由器的連接的情況,一直在變,比如擁擠或者被挖斷了,怎麼辦?

可以選擇路由器最少的路徑,但是不見得是最快的,比如有無線路由器的路徑。

1)每個封包都需要,帶對方的地址,這就是IP,就像一封信一樣,一定要一個收件人的地址。

2)在一個連接的過程種,封包傳遞的路徑可能會變,就像開車,不認路,所以每開一段,都要問。

3)virtual circuit network:給每個封包加上一個tag,每一個路由器看到這個tag,就知道往哪裡去。

因為要去固定的路徑,所以一段需要建連線的時間。路由器就需要控制每一個call的狀態。就是藍色tag,要往哪裡去,都有

明確的路徑。

總結:

整個通訊網路分為2大塊,

專有網絡和封包機制

專有網絡:FDM & TDM

封包:帶有IP地址的封包,有路由器來送。路由器之間會交換它們的信息。

封包一進來,路由器會建表,路由器會定期和不定期的溝通。

希望在packet-switching的機制下,走固定路線,就是VCs

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved