計算機網絡基礎1

網上關於網絡基礎的文章有不少,並且有不少都是很優秀的文章.這系列的文章只是做爲本身梳理計算機網絡知識點之用.文章從計算機網絡起源開始,逐步分析計算機網絡爲什麼發展成今天的樣子.segmentfault

網絡模型.

咱們知道,兩臺計算機想要互相通訊,必定須要某種介質鏈接這兩臺主機.而鏈接主機的介質有不少,能夠是藍牙,光纖,雙絞線.可是無論使用什麼介質鏈接,最後到達另外一臺主機的時候,這些信號都要被轉換成電磁信號.把其餘信號轉換成電磁信號的設備被稱爲調劑調節器,也就是咱們俗稱的貓.因此若是你家使用光纖,那麼就有一臺調製調解器把光學信號轉換成電磁信號才能被計算機識別.網絡

電磁信號到達主機的時候,最早經過網卡.平時說得百兆網卡,千兆網卡是指網卡一次性能夠處理100M(百兆網卡),1000M(千兆網卡)bit的數據.學習

兩臺計算機經過一條線(注:這裏包括下文的線都指某種鏈接介質)鏈接就能夠通訊,可是須要通訊的主機多了以後,就須要管理如何鏈接這些主機,因而就演化出了三種網絡模型spa

總線型網絡

圖片描述

如上圖,能夠很容易理解什麼是總線型網絡:即全部通訊主機都鏈接在同一條線上,信號藉由這條總線傳遞到對方主機.那麼如今如下幾個問題 :計算機網絡

  1. A要跟B通訊,如何保證B能夠收到A發送的數據,而不是被其餘人收到?server

  2. A給B發送信號的時候,C跟D可不能夠通訊?blog

要解決這些問題,要引入一個MAC地址的概念,在MAC地址是一串用十六進制表示的數字,MAC地址被寫死在網卡上.每一個網卡上的MAC地址都是獨一無二的,因此MAC地址能夠用做標識整個互聯網上惟一的一個網絡設備.假設一臺主機只有一張網卡,那麼一個MAC就能夠用來標識惟一一臺主機.接口

知道了MAC地址以後,咱們來看在總線型網絡模型中主機是如何通訊的 :圖片

有了MAC地址以後,A要發送給B數據,只要在數據包前面加上本身和主機B的MAC地址以後把數據發送出去,這個時候這個總線上瞬間都會充斥着這些數據,以後B, C, D都會接收到這些信號,可是每臺主機會查找數據包前面接收方的MAC地址,只有接受方的MAC地址跟本身的MAC地址匹配纔會接受數據,其餘主機會忽略這些信號.ip

這樣子,第一個問題就解決了.上面說了,A發送數據給B的時候整個總線上都充斥着電信號,那麼C跟D必然就不能通訊了,否則就亂了.其中一臺主機發送信號,其餘主機都可以收到信號,這種現象稱爲廣播

上面說了,A發送數據給B的時候,其餘主機就不能發送數據, 那麼就得有一個機制保證的確只能有一個主機發送信號.這種機制稱做載波偵聽多路訪問,衝突檢測(CSMA/CD).其工做原理相似 :

A在發送信號以前先檢測是否有主機在發送信號,若是沒有.立刻開始發送信號.並且在發送的同時還要繼續監聽總線上是否有其餘主機發送信號,一旦有,立刻中止發送.等待一段時間再發送.

載波偵聽多路訪問,衝突檢測(CSMA/CD)的這個機制.正是以太網的標準.

環狀網絡

圖片描述

環狀網絡模型亦如其名,全部的主機用通訊設備鏈接成一個環狀.這種網絡模型最開始由IBM研發,環狀網絡保證衝突的方式相似 :

在環狀網絡的通道上有一個令牌,沒有主機發送信號的時候就在通道上游蕩,只要有主機想要發送信號,就要立刻抓住令牌,一旦持有令牌就能夠發送信號.

可是這種網絡模型爲IBM的商業項目,因此並無流行開,而是總線模型做爲以太網技術被如今的互聯網接受.咱們如今的互聯網世界都是基於以太網.

除了這兩種模型以外,還有一種稱爲星形網絡,其本質是總線網絡的一種變形,因此這裏略過.

網橋&&交換機

回顧一下最開始的通訊過程,一旦一個總線模型上鍊接的主機多了以後,會出現兩個問題 :

  • 鏈接的主機越多,總線就會越長.總線越長就會致使信號衰弱,信號衰弱就會致使數據丟失.

  • 主機越多,一臺主機發送數據就會致使其餘主機不能發送數據,並且信號之間衝突的可能性就越大,這個時候這個網絡就處於衝突域狀態.

.因此當一個網絡模型上的主機愈來愈多,就要把一個網絡分紅兩個網絡.

圖片描述

如上圖,把一個網絡分紅兩個網絡,可是出現一個問題:分紅兩個模型以後兩個模型之間如何通訊?這就要靠途中S1這個設備了,這個設備被稱爲網橋或者橋接器

如今,咱們來看一下主機之間是如何通訊的 :

  • A主機要給B發送信號,信號發送出去,網絡1的主機包括橋接器S1的R1接口都能收到數據,而後S1經過數據中的接收方的MAC地址判斷接收方在網絡1中,因而不把數據經過R2發送到網絡2.這樣子,網絡1中的主機互相通訊就不會干擾到網絡2中的設備.

  • A主機要發送數據給C1,信號發送出去一樣S1的R1接口會收到數據.判斷數據是發往網絡2的C1主機.因而就把數據經過R2接口廣播到網絡2.這樣子C1就能夠收到來自A發來的數據.

經過上面的分析知道,橋接器可以智能的判斷當前通訊是一個網絡中的主機互相通訊仍是跨網絡通訊.橋接器可以作到這一點的緣由是:橋接器內部維護了一張表,這張表記錄了每一個網絡中有哪些主機.這張表的數據能夠人工填寫,或者橋接器也能夠本身智能學習生成數據.

如今有了橋接器以後,咱們就能夠有效避免衝突,隔絕了衝突域.A和B之間的通訊就不會影響到A1跟B1之間的通訊,主機之間通訊的效率就變得更高了.那咱們極端一點,一個橋接器上有多個R1接口, 每一個接口只鏈接一臺主機.這樣子橋接器就演化成了交換機.

注意:交換機跟橋接器的關係並非像上面講得那麼簡單.交換機跟橋接器在定義上仍是有區別的,網上有不少說交換機就是多個接口的橋接器,這個說法不能說錯,可是不嚴謹.不過咱們這裏能夠沒必要糾結於此,由於交換機跟橋接器在做用是相似的,這裏你能夠把交換機當作是多個接口的網橋.

圖片描述

如今,網絡模型已經演變成上圖的樣子,看起來好像又回到最開始的總線網絡模型.可是不一樣的是,使用交換機以後,A跟B通訊的同時,C跟D也能通訊.並且A給B發送數據的時候,B也能夠給A發送數據.由於每臺主機可使用兩條線跟交換機相連.一條負責對外發送數據,一條負責接收數據.像上圖這種,若是要主機A發送了一個廣播,那麼B,C,D,E均可以收到這個廣播,稱爲A,B,C,D,E在同一個廣播域.

可是,當多個交換機互相鏈接,某個交換機上的一臺主機發送了一個廣播數據,那麼交換機收到這個廣播數據的時候,也會把這個廣播數據轉發給另外一個交換機,而這個交換機也會發送這個廣播.以此下去,整個網絡內都會收到這個廣播,當這些主機都向外發送廣播,就會形成廣播風暴.咱們使用橋接器/交換機隔絕了衝突域,提升了計算機通訊的效率,可是廣播風暴的存在仍然會形成計算機通訊的效率低下,所以咱們還須要解決廣播風暴.

然而,不幸的是,廣播風暴在使用MAC地址標識主機的狀況下是沒有辦法解決的,因此在MAC地址的基礎上,引入了邏輯地址,即IP地址.而且使用路由器來鏈接交換機.這樣子就能夠解決廣播風暴的問題.更多關於IP&&路由,以及接下來的計算機網絡基礎,請移步文章計算機網絡2.

相關文章
相關標籤/搜索