因為自己不是科班出生,但是對程式設計很感興趣,希望成為一名程式設計師,所以經常自己學習一些程式設計方面的知識,如今由於各種層面的抽象,對於程式設計的基礎知識需求已經不像以前那麼高,對於一些計算機原理程式設計師不用弄明白具體是如何實現,就可以進行程式設計,就像電子工程師不用理解每個積體電路內部具體原理一樣。但是在自學的途中我發現,這些懵懂可能對於進一步學習會造成一些理解障礙,因此決定學習一些原理上的知識。
現如今網際網路成為生活中最常見的一部分,但是多個計算機到底如何通訊的呢。在我的想象中兩台計算機建立通訊的非常簡單,無非通過乙個資料線連線起來,約定好彼此傳輸資料的格式。可以像對講機一樣你說一句我說一句(半雙工),如果有多台計算機需要通訊就像廣播一樣就行。
但是可以很明顯的發現,如果網路中的兩個計算機需要單獨的通訊是不能實現的,所以我們需要給每一台計算機加上唯一的標識,並約定在傳輸資料的頭部加上這個標識表示這個資料是給哪一台計算機的,就像寫信信封上填上位址。每台計算機在接收時會檢視位址是不是自己,是的話才會拆信封。這個位址就是mac位址。
這樣網路中任意兩個計算機都可以單獨通話了。但是等等,這樣在網路中如果同時兩人需要傳送資訊,那麼線路中肯定會發生衝突,**串音?
這樣就是最基本的乙太網,或者wifi網路的結構了。
在計算機數量少的情況下,上面的通訊肯定可以滿足,但是如果是乙個公司或學校的電腦在幾百上千數量下,網路使用時間非常集中…emmmm,好吧你可能發一條訊息就需要幾分鐘,很明顯這樣滿足不了人的需求。因為我們使用的都是一條線路,大家的通訊都是在這一條線路上進行的,那麼我們可不可以增加線路,來減少線路中計算機的數量呢。這就叫減少衝突域,於是交換機上場了。
如果向同衝突域傳送資訊不需要經過交換機:
如果向不同衝突域傳送資訊經過交換機**:
而交換機要知道哪個mac位址屬於那個衝突域,所以需要記錄mac位址對應的衝突域。
到這裡就可以知道,就算是網際網路也可以是這樣構成。像這樣:
實際會複雜很多這裡只是粗略畫下,我懶不像畫好看的圖,將就看看吧。
這裡我畫圖就不畫具體乙個網路內衝突域的結構了,把整體抽象出來用乙個符號代替。
如果a中的一台計算機需要給b中的一台計算機傳遞訊息,可以看到會有很多不同的路由。
這樣其實減少了資料傳輸可能存在的單點問題。比如ab傳輸路徑中的乙個路由點因為雷電或者其他原因失效了,總是能找到其他路徑完成傳輸。
本來會沿藍線傳輸因為中間點掛掉了,所以可以沿紅線傳輸。
當然這會造成其他問題,我決定另起一篇再來思考這些問題。這裡只是記錄下我乙個非科班(電子狗)在學習計算機網路時的一些自己的理解過程。
計算機網路 計算機網路的效能
目錄 1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位...
計算機網路9 計算機網路效能
1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位時間 ...
計算機網路學習 計算機網路效能
出自 1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位...