計算機網絡系列--什麼是電路交換和分組交換?

分組

首先咱們來了解下分組的概念。所謂分組,就是將一個數據包分紅一個個更小的數據包。例如對於一個10GB的數據包,總不能夠一次性發送過去吧,而是把它分紅若干個小的數據包發送過去。每一個分組數據塊的結構圖:

文件頭通常是一些說明性數據,例如源地址和目標地址,數據類型等。數據部分就是真正要傳達給對象的內容vue

電路交換

所謂交換,指的就是服務器與服務器之間的數據交換。數據傳輸交換的方式有幾種,而電路交換即是其中的一種。算法

假如A和B之間要進行通訊,咱們就假設A要和E打個電話吧。當A輸入E的電話號碼,開始撥號以後,那麼服務器要作的第一件事就是根據E的電話號碼找到E在哪裏,因爲A通往E的路徑有多條,會根據某種算法找到E以後,創建一條通路,而後進行數據的傳輸。

咱們假設選的路徑是A→D-→E

找到一條通往E的路徑並創建會話的過程當中,咱們稱之爲電路交換的第一階段—-創建鏈接。以後A和E在通話的過程當中會始終霸佔着這條路徑,數據傳輸的過程稱爲電路交換的第二階段—-數據傳輸。npm

電路交換的第三階段,也就是最後一個階段—-釋放鏈接。A和B只要有一方掛了電話,那便了開始釋放鏈接。
傳輸例題圖:

在這個過程當中,新建鏈接須要花銷必定的額外時間(想象你打電話的時候是否是出現正在撥號的字眼),釋放鏈接也會花銷一些額外的時間。服務器

那麼,電話交換的過程當中,數據須要分組來傳送嗎?
答是不用的,由於電話交換的過程當中,A和B兩我的始終霸佔着一條通訊電路,他們每說一句話,都會實時被對方獲取,所以數據是不用分組的。
從這也能夠看出,電路交換的方式,在數據的傳輸上是比較高效、實時的,只要A一發出數據,E立馬就能收到了,這也是爲何咱們的電話通訊使用的是電路交換的方式。
但因爲一直霸佔着這條路徑,假如霸佔的過程當中A與E都在沉默不說話,那麼將是對這條路徑的極大浪費。所以,電路鏈接的方式資源的利用率是比較低的。
並且,若是你通話的時間超級短,可能花在新建鏈接的時間比通話的時間還要長,這就更加難受了。微信

稍微總結一下

電路鏈接的三個階段:
一、創建鏈接。
二、數據傳輸。
三、釋放鏈接。
優勢:
一、傳輸速度快、高效。
二、實時。
缺點:
一、資源利用率低。
二、新建鏈接須要佔據必定的時間,甚至比通話的時間還長。markdown

分組交換

從名字分組字眼,咱們就能夠知道,這種方式數據包是分組成更小的數據包進行傳輸的。分組交換的數據傳輸過程和電路交換不同,分組交換採起存儲轉發傳輸的機制。咱們下面仍是以A給E傳輸數據做爲例子來說解。網絡


假如A要給E發送一個數據包P,但這個數據包有點大,須要分紅三組,例如分紅p1,p2,p3三個更小的數據包。
這時A給E傳輸數據不須要新建鏈接這個過程,即不須要尋找一個通往E的路徑。並且A直接把小的數據包丟給附近的路由器,而後A就無論了,例如A把p1丟給了B,這個時候A就不在去管p1的,當B收到p1這個完整的小數據包以後,B再丟給E。app


可是A不必定都會把剩下的數據包都丟給B,有可能會把其餘的數據包p2丟給C,以後再把p3丟給D,而後C和D在轉發丟給E。這些都是不肯定的,會根據某種算法的選擇路由器。
這裏有一個關鍵詞存儲,就是說,B必須收到完整的p1數據包後才能進行轉發,這也不難理解,由於p1數據包包含E的地址,若是不是完整的數據包,B也不知道該發給誰啊。
示例圖:
ui

從電路交換的機制咱們能夠看出以下的一些問題:
因爲A把數據包丟給B以後就無論了,B何時會把p1轉發出去,誰也不知道,並且可能B會繞幾個圈子再發給E也是有可能的。由於,電路交換的機制在數據傳輸方面不具備實時性lua


並且,頗有可能會有不少路由器把數據包丟給B,這個時候就會形成通訊阻塞,這時可能p1只能排隊等待B來發送。


因爲B路由器的容量是有限的,若是有太多的數據包丟給它,它可能會容納不下,這時候就可能會出現丟包的狀況。


再者,因爲p1,p2,p3數據包都有文件頭,裏面都包含了A和E的一些信息,固然還有其餘的信息。能夠說這些文件頭有不少重複的數據,所以分組交換髮送的數據具備不少的重複無用數據


固然,分組交換還包括時延的缺點,由於B必須收到一個完整的p1才能把p1轉發出去,由於這個接受存儲的過程當中存在時延,這種時延也成爲傳輸時延,固然還存在傳播時延處理時延等。所謂處理時延就是每次都得檢查這個數據包的文件頭和決定將該數據包傳輸給誰。

說了電路交換的這麼多缺點,那總得有優勢吧?
實際上,上面的那些缺點,其實都不是什麼大問題的。電路交換最主要的優勢就是設計簡單,資源利用率高了。

總結下分組交換

分組交換採用把一個個小的數據包存儲轉發傳輸的機制。
主要的一些缺點:
一、不具備實時性。
二、存在延時。
三、會形成通訊阻塞。
四、存在無用的重複數據。
五、會出現丟包的狀況。
致命的優勢:
一、設計簡單。
二、資源利用率很高。

生活中的通訊選擇

兩種交換傳輸的特色決定了咱們平時的電話通訊使用的是電路交換,像互聯網中的微信等這種不要求實時的通訊用分組交換。
這也就是爲何急事的時候會打電話,由於比較實時嘛。像微信這些,有時你發個信息,可能網絡很差的話,或者太多人在同時使用的話,可能你的信息要過一陣子對方纔能收到。

這裏可能有些人會說,分組交換爲什麼要把數據包分紅一小個來存儲轉發呢?一個大的數據包發過去很差嗎?
假如你的一個數據包100GB,那B這個路由器就得能存100GB的容量,但是發100GB的機率是極少數的,那把路由器設計成100GB不是很浪費?這也是爲何要分組成小數據包的緣由之一。

固然,還有一種報文交換的方式,就是一整個數據包存儲轉發的,不過這種方式使用的比較少,再此就不詳細展開了。

來一張三種交換傳輸的圖:

關注公個人衆號:苦逼的碼農,獲取更多原創文章,後臺回覆禮包送你一份特別的資源大禮包。同時也感謝把文章介紹給更多須要的人

相關文章
相關標籤/搜索