MAC地址定義及分類、地址學習和老化時間

MAC簡介

MAC(Media Access Control)地址用來定義網絡設備的位置。MAC地址由48比特長、12位的16進制數字組成,其中從左到右開始,0到23bit是廠商向IETF等機構申請用來標識廠商的代碼,24到47bit由廠商自行分派,是各個廠商製造的所有網卡的一個唯一編號。

MAC地址可以分為3種類型:

  • 物理MAC地址:這種類型的MAC地址唯一的標識了以太網上的一個終端,該地址為全球唯一的硬件地址;
  • 廣播MAC地址:全1的MAC地址為廣播地址(FF-FF-FF-FF-FF-FF),用來表示LAN上的所有終端設備;
  • 組播MAC地址:除廣播地址外,第8bit為1的MAC地址為組播MAC地址(例如01-00-00-00-00-00),用來代表LAN上的一組終端。其中以01-80-c2開頭的組播MAC地址叫BPDU MAC,一般作為協議報文的目的MAC地址標示某種協議報文。

原理描述

MAC地址表是一張二層轉發表,用於存放該設備所學習到的其它設備的MAC地址信息。

MAC地址表的定義和分類

  • MAC地址表的定義

MAC地址表記錄了交換機學習到的其他設備的MAC地址與接口的對應關係,以及接口所屬VLAN等信息。設備在轉發報文時,根據報文的目的MAC地址查詢MAC地址表,如果MAC地址表中包含與報文目的MAC地址對應的表項,則直接通過該表項中的出接口轉發該報文;如果MAC地址表中沒有包含報文目的MAC地址對應的表項時,設備將採取廣播方式在所屬VLAN內除接收接口外的所有接口轉發該報文。

  • MAC地址表的分類

MAC地址表中的表項分為:動態表項、靜態表項和黑洞表項。另外交換機的MAC地址表中還存在一種業務類型的MAC地址表項,譬如:安全MAC、MUX MAC、Authen MAC、Guest MAC等。該類MAC地址表項是由對應業務維護的,一般是通過動態表項轉換來的。

  • MAC地址表類型

動態表項

靜態表項

黑洞表項

MAC地址學習和老化

MAC地址學習過程

一般情況下,MAC地址表是設備根據收到的數據幀裡的源MAC地址自動學習而建立的

MAC地址定義及分類、地址學習和老化時間

MAC地址學習示意圖

HostA向SwitchA發送數據時,SwitchA從數據幀中解析出源MAC地址(即HostA的MAC地址)和VLAN ID。

  • 如果MAC地址表中不存在該MAC地址表項,設備則將這個新MAC地址以及該MAC地址對應的PortA和VLAN ID作為一個新的表項加入到MAC地址表中。
  • 如果MAC地址表中已經存在該MAC地址表項,設備將通過重置該表項的老化時間,對該表項進行更新。

MAC地址老化過程

為適應網絡的變化,MAC表需要不斷更新。MAC表中自動生成的表項(即動態表項)並非永遠有效,每一條表項都有一個生存週期,到達生存週期仍得不到更新的表項將被刪除,這個生存週期被稱作老化時間。如果在到達生存週期前記錄被更新,則該表項的老化時間重新計算。

MAC地址定義及分類、地址學習和老化時間

MAC地址老化過程示意圖

設備MAC地址老化時間設置為T。在t1時刻有源MAC地址為00e0-fc00-0001、VLAN為1的報文從某接口進入。假定該接口已加入VLAN 1。如果之前MAC地址表不存在關於(MAC: 00e0-fc00-0001,VLAN: 1)的任何種類表項,那麼這個地址就會作為動態MAC地址表項學習到地址表裡,同時該表項的命中標誌位被置1。

設備週期性(每經過T時間)地對所有學習到的動態MAC地址表項進行檢查。

  1. 在t2時刻,檢查到動態表項(MAC: 00e0-fc00-0001,VLAN: 1)的命中標誌位為1,則將該表項的命中標誌位置為0,但不刪除這條表項。
  2. 在t2時刻和t3時刻之間沒有這種報文進入設備,那麼該表項的命中標誌位會一直保持為0。
  3. 在t3時刻,設備檢查到該表項的命中標誌位為0,認為該表項的老化時間到達,將刪除此條表項。

如上所述,通過自動老化,一條動態表項在MAC地址表存在的最短時間是設備所配置的老化時間T到2T之間。


分享到:


相關文章: