一、mac 地址簡介
1.MAC(Media Access Control)地址用來定義網(wǎng)絡(luò)設(shè)備的位置。MAC 地址由 48 比特
長、12 位的 16 進制數(shù)字組成,其中從左到右開始,0 到 23bit 是廠商向 IETF 等機構(gòu)申請用
來標識廠商的代碼,24 到 47bit 由廠商自行分派,是各個廠商制造的所有網(wǎng)卡的一個唯一
編號。
MAC 地址可以分為 3 種類型:
(1)單播 MAC 地址:第 8bit 為 0 的 MAC 地址為單播 MAC 地址,這種類型的
MAC 地址唯一的標識了以太網(wǎng)上的一個終端,該地址為全球唯一的硬件地址。
(2)廣播 MAC 地址:全 1 的 MAC 地址為廣播地址(FF-FF-FF-FF-FF-FF),用來表
示 LAN 上的所有終端設(shè)備。
(3)組播 MAC 地址:除廣播地址外,第 8bit 為 1 的 MAC 地址為組播 MAC 地址
(例如 01-00-00-00-00-00),用來代表 LAN 上的一組終端。
2.交換機的轉(zhuǎn)發(fā)行為
A、泛洪:當交換機收到未知單播幀(不能從 MAC 地址表中查找到相應(yīng)的出接口的單
播幀)、廣播幀或組播幀時會進行泛洪處理,會將該幀從接收端口以外的其他端口發(fā)送出
去。
B、轉(zhuǎn)發(fā):當交換機收到已知單播幀時,會從 MAC 地址表對應(yīng)的出接口轉(zhuǎn)發(fā)。
C、丟棄:當交換機收到單播幀后通過查找 MAC 地址表發(fā)現(xiàn)發(fā)送接口和接受該數(shù)據(jù)幀
接口一致,則丟棄處理。
一般情況下,MAC 地址表是設(shè)備根據(jù)收到的數(shù)據(jù)幀里的源 MAC 地址自動學習而建
立的。
交換機會從數(shù)據(jù)幀中解析出源 MAC 地址和 VLAN ID。如果 MAC 地址表中不存在該
MAC 地址表項,設(shè)備則將這個新 MAC 地址以及該 MAC 地址對應(yīng)的端口號和 VLAN ID
作為一個新的表項加入到 MAC 地址表中;如果 MAC 地址表中已經(jīng)存在該 MAC 地址表
項,設(shè)備將通過重置該表項的老化時間,對該表項進行更新。所以設(shè)備在收到數(shù)據(jù)幀時,
才會觸發(fā) MAC 地址的學習和刷新。MAC 地址表的老化時間為 300s。
二、MAC 地址表的定義和分類
1、MAC 地址表的定義
MAC 地址表記錄了交換機學習到的其他設(shè)備的 MAC 地址與接口的對應(yīng)關(guān)系,以及接口所
屬 VLAN 等信息。設(shè)備在轉(zhuǎn)發(fā)報文時,根據(jù)報文的目的 MAC 地址查詢 MAC 地址表,如果
MAC 地址表中包含與報文目的 MAC 地址對應(yīng)的表項,則直接通過該表項中的出接口轉(zhuǎn)發(fā)
該報文;如果 MAC 地址表中沒有包含報文目的 MAC 地址對應(yīng)的表項時,設(shè)備將采取廣播
方式在所屬 VLAN 內(nèi)除接收接口外的所有接口轉(zhuǎn)發(fā)該報文。
2、MAC 地址表的分類
MAC 地址表中的表項分為:動態(tài)表項、靜態(tài)表項和黑洞表項。
A、動態(tài)表項
特點:由接口通過報文中的源 MAC 地址學習獲得,表項可老化,默認老化時間 300 秒。
在系統(tǒng)復位、接口板熱插拔或接口板復位后,動態(tài)表項會丟失。
作用:
通過查看動態(tài) MAC 地址表項,可以判斷兩臺相連設(shè)備之間是否有數(shù)據(jù)轉(zhuǎn)發(fā)。
通過查看指定動態(tài) MAC 地址表項的個數(shù),可以獲取接口下通信的用戶數(shù)。
B、靜態(tài)表項
特點:
由用戶手工配置,并下發(fā)到各接口板,表項不可老化。
在系統(tǒng)復位、接口板熱插拔或接口板復位后,保存的表項不會丟失。
接口和 MAC 地址靜態(tài)綁定后,其他接口收到源 MAC 是該 MAC 地址的報文將會被丟
棄。
一條靜態(tài) MAC 地址表項,只能綁定一個出接口。
一個接口和 MAC 地址靜態(tài)綁定后,不會影響該接口動態(tài) MAC 地址表項的學習。
作用:
通過綁定靜態(tài) MAC 地址表項,可以保證合法用戶的使用,防止其他用戶使用該 MAC 進
行攻擊。
C、黑洞表項
特點:
由用戶手工配置,并下發(fā)到各接口板,表項不可老化。
在系統(tǒng)復位、接口板熱插拔或接口板復位后,保存的表項不會丟失。
配置黑洞 MAC 地址后,源 MAC 地址或目的 MAC 地址是該 MAC 的報文將會被丟棄。
作用:通過配置黑洞 MAC 地址表項,可以過濾掉非法用戶。
三、MAC 地址表的組成和作用
1、MAC 地址表的組成
MAC 地址表是以 MAC 地址和 VLAN ID 或 VSI 為索引來唯一標識。
當一臺目的主機屬于多個 VLAN 或 VSI 時,在 MAC 地址表中就會存在相同 MAC 地址擁
有多個不同 VLAN ID 或 VSI 的情況。
表 1 中是四條不同的 MAC 地址表項。如第一條 MAC 地址表項的作用是:從設(shè)備任意接口
進入的目的 MAC 為 0011-0022-0034,VLAN ID 為 10 的報文,都會從 GE3/0/1 接口轉(zhuǎn)發(fā)
出去。
2、MAC 地址表的作用
MAC 地址表用于指導報文進行單播轉(zhuǎn)發(fā)。
PC1 發(fā)往 PC3 的報文,在到達交換機 Switch 時,根據(jù)報文中的目的 MAC 地址
MAC3 和 VLAN10 查詢交換機的 MAC 地址表,獲取出接口 Port3,然后報文直接從接口
Port3 轉(zhuǎn)發(fā)到 PC3,完成數(shù)據(jù)的轉(zhuǎn)發(fā)。
四、MAC 地址學習和老化
1、MAC 地址表的學習過程
一般情況下,MAC 地址表是設(shè)備根據(jù)收到的數(shù)據(jù)幀里的源 MAC 地址自動學習而建立的。
HostA 向 SwitchA 發(fā)送數(shù)據(jù)時,SwitchA 從數(shù)據(jù)幀中解析出源 MAC 地址(即
HostA 的 MAC 地址)和 VLAN ID。
如果 MAC 地址表中不存在該 MAC 地址表項,設(shè)備則將這個新 MAC 地址以及該 MAC 地
址對應(yīng)的 PortA 和 VLAN ID 作為一個新的表項加入到 MAC 地址表中。
如果 MAC 地址表中已經(jīng)存在該 MAC 地址表項,設(shè)備將通過重置該表項的老化時間,對
該表項進行更新。
2、MAC 地址表的老化過程
為適應(yīng)網(wǎng)絡(luò)的變化,MAC 表需要不斷更新。MAC 表中自動生成的表項(即動態(tài)表項)并
非永遠有效,每一條表項都有一個生存周期,到達生存周期仍得不到更新的表項將被刪
除,這個生存周期被稱作老化時間。如果在到達生存周期前記錄被更新,則該表項的老化
時間重新計算。