上一小節介紹了集線器,一種工作於物理層的簡單網路裝置。由於集線器採用廣播的方式中繼、**物理訊號,傳輸效率受到極大制約。
注釋:這裡埠( port )指的是**裝置的插口,也可叫做網口。如上圖,中間節點是**裝置,它在內部維護著一張主機 mac 位址與對應埠的對映表,現與 3 臺主機相連。這樣一來, 當**裝置接到主機 a 發給主機 c 的資料後,根據目的 mac 位址搜尋對映表,便可將資料準確地**到對應的埠 3 。
現在,傳輸模式變得更有針對性了——資料幀被精準**到正確的埠,其他埠不再收到多餘的資料:
不僅如此,主機 a 與 b 通訊的同時,其他計算機也可通訊,互不干擾。**裝置每個埠是乙個獨立的衝突域,頻寬也是獨立的。
集線器的缺陷全部避免了!
交換機長相跟集線器沒啥區別嘛。當然了,大部分網路裝置都是乙個布滿埠的盒子,關鍵在於內部構造。
再看看現實中的交換機長啥樣:
總結起來,乙太網交換機屬於二層網路裝置,特點如下:
交換機完美地解決集線器的缺點,但新問題又來了,對映表如何獲得呢?
最原始的方式是:維護一張靜態對映表。當新裝置接入,向對映表新增一條記錄;當裝置移除,從對映表刪除對應記錄。然而,純手工操作方式多少有些煩躁。
好在計算機領域可以實現各種花樣的自動化——通過演算法自動學習對映表。我們先來看看大致思路:
初始狀態下,對映表是空的。現在,主機 a 向 b 傳送乙個資料幀 frame1 。因為對映表中沒有位址 b 的記錄,交換機便將資料幀廣播到其他所有埠。
由於交換機是從fa0/1
埠收到資料幀的,便知道 a 連線fa0/1
埠,而資料幀的源位址就是 a 的位址!此時,交換機可以將 a 的位址和埠fa0/1
作為一條記錄加入對映表。交換機學習到 a 的位址!
接著,主機 b 向 a 回覆乙個資料幀 frame2 。由於對映表中已經存在位址 a 的記錄了,因此交換機將資料幀精準**到埠fa0/1
。同理,交換機學習到主機 b 的位址。
當主機 c 開始傳送資料時,交換機同樣學到其位址,學習過程完成!
這就是mac位址自動學習的基本原理。
交換機MAC位址表
交換機在 資料時,需要根據mac位址表來做出相應 如果目標主機的mac位址不在表中,交換機將收到的資料報在所有活動介面上廣播傳送。當交換機上的介面狀態變成up之後,將動態從該介面上學習mac位址,並且將學習到的mac位址與介面相對應後放入mac位址表。交換機的mac位址表除了動態學習之外,還可以靜態...
MAC位址和交換機
資料鏈路層主要關注三個問題 這個包是發給誰的?誰應該接收?大家都在發,會不會產生混亂?有沒有誰先發 誰後發的規則?如果傳送的時候出現了錯誤,怎麼辦?資料鏈路層也稱為mac medium access control 層,即 訪問控制。控制在往 上發資料的時候,誰先發 誰後發的問題,防止順序錯亂,這解...
交換機是幹嘛的!!交換機如何學習MAC位址過程?
1.它收到乙個幀的時候,先檢查源mac位址,看看自己維護的乙個位址表中有沒有這個位址。如果有,則2 如果沒有,則將這個mac位址 進入的埠 進入的時間放入這個表中 2.檢查目的mac位址,然後到該表中查詢,如果有匹配項,則按照表項中的埠號進行 如果沒有,則 到除進口之外的其他所有埠。交換機的工作原理...