MAC address MAC位址 STP 交換器 協定

挑起網路第二層大樑 MAC位址相關技術探索

2014-09-17
相信很多人都知道媒體存取控制位址(Media Access Control Address),但是並不完全了解其所牽涉的網路技術範圍,對此本文將介紹MAC的設計格式、產生緣由、如何查找MAC位址,以及在網路中所牽涉的技術範圍。另外,還會介紹交換機是如何透過MAC位址的設計與操作來產生另外一個協定,以便改善整個運作流程,並解決網路迴圈等問題。
第二種的輸出結果應該比較容易理解。當然,也有不用輸入指令就可以查看的方式。點選左上角蘋果圖示,並選擇System Preferences,然後選擇Network。接著,就會顯示下圖所示的視窗。


然後,從左邊選單中選擇想要觀看的介面,假設要查看Wi-Fi無線網路介面,於左邊選擇好介面後,在右側下方點選〔Advanced〕,就會顯示出如下圖所示的資訊。


上圖中最下方就可以看見這個無線網路卡的MAC位址,其顯示在「Wi-Fi Address」字樣的右邊。

主要用於操作MAC位址的設備

網路上的設備有很多種,例如路由器、交換機,甚至於橋接器等等,但是並不是每一個網路設備都將MAC位址當作主要的操作或是使用內容。大部分使用MAC位址的,是交換機(Switch)和橋接器(Bridge)。

雖然目前交換機設備有區分成第二層和第三層的交換機,但是,一般而言談到交換機的時候,主要還是以運作於第二層的交換機為主,主要原因是交換機主要是使用網路第二層協定來達到網路上傳遞資料的效果。

雖然市面上有些廠商將運作於第三層的功能(例如一般會出現在路由器的功能)也加入到交換機中,但為了單純討論第二層協定的交換機,這裡都是指第二層的交換機設備。接著,講解這些網路設備是如何操控MAC位址。

交換機與橋接器的些微差異與運作方式

基本上,用於乙太網路內的交換機和橋接器設備能夠增加網路的可用頻寬,同時也能根據發送過來的Frame,分析其中的來源端與目的端的MAC位址,製作出MAC位址表,並藉由這樣的MAC位址表正確地轉發封包。

交換機與橋接器設備雖然都是運作在網路七層架構的第二層,但由於交換機擁有較高速的內部結構以及具備比較多的埠介面,所以與傳統的橋接器比較起來,交換機設備能夠提供更多的網路流量。

關於MAC位址的學習,交換機或橋接器設備都會從它們的埠來監聽所傳進來的Frame,檢測這些資料的來源端MAC位址,並且把MAC位址與埠號的對應關係記錄下來,儲存在本地端的MAC資料庫內,而這份MAC資料庫通常稱之為MAC Address Table或是Content-addressable Memory (CAM) Table。

一旦交換機或橋接器設備再次收到Frame時,會先到MAC資料庫內查看從哪個埠出去可以到達這個目的地MAC位址所指定的機器,如果目的端的MAC位址能夠在MAC資料庫內被找到,則這個Frame就只會從學習到的埠號轉發出去,若在MAC資料庫內找不到這樣的對應關係,則這個Frame會從所有其他的埠轉發出去(來源埠除外)。

這裡所指的Frame,有人用中文稱它為「幀」,但建議還是使用原有的英文來指稱會比較好。以上也是交換機與橋接器主要使用MAC位址的用途。

交換機傳送Frame的模式

交換機設備在傳送Frame時,有三種可用的運作模式:

1. Store and Forward
2. Cut-Through
3. Fragment-Free

Store and Forward模式

在Store and Forward模式下,交換機設備會先把Frame完整地接收下來,然後才進行轉發的動作。因為在這個模式下整個Frame都會被讀取,因此來源端和目的端的MAC位址都會被讀取。

另外,CRC(Cyclic Redundancy Check)的錯誤檢查動作也會被執行,也會採用相關的篩選動作,之後才會進行轉發。如果CRC的檢查失敗了,這個Frame就會被遺棄。這種轉送模式雖然能夠確保Frame中資料的正確性,但也比較費時,其所需要的延遲時間與Frame的資料長度有關。

Cut-Though模式

在Cut-Through這個轉送模式中,就不會像Store and Forward這樣麻煩,一旦接收到Header之後,看到目的端的MAC位址,就會馬上執行Frame的轉送動作。因此,Cut-Though模式比Store and Forward模式快上許多。

而且,Cut-Though模式所需要的時間並不會因為Frame的長度變長就變多,因為Bridge和交換機設備只想取得目的端的MAC位址,而目的端的MAC位址一定都會存放在Frame資料內最前面的Header處。

不過,雖然有些交換機設備在這種模式下只想讀取MAC位址,但還是存在著某些交換機設備會讀取CRC值並記錄下錯誤數目。

不過,一旦有錯誤發生,在這種模式下是不會將這個Frame遺棄,而是針對設定值自動或手動切換成Store and Forward模式。這種可以允許切換的Cut-Though又稱為Adaptive Cut-Though模式,此種模式同時結合了Cut-Though模式與Store and Forward模式的優點。

Fragment-Free模式

在Fragment-Free模式中,交換機設備只會讀取Frame的前64個Bytes(這也是乙太網路中Frame最小的資料大小),而最主要原因是乙太網路中的碰撞幾乎都發生在前64個Bytes之中,所以一旦發生碰撞,就會產生小於64個Bytes的Frame資料。

所以,交換機設備經由讀取前64個Bytes資料,就可以初步篩選經由碰撞所產生的Frame資料。這種模式的速度比Cut-Though更快,而且一旦發現有錯誤的Frame,就會把這樣的Frame丟棄,這是與Cut-Though模式不同的地方。此種模式也稱為Modified Cut-Though模式。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!