網絡之MAC地址表學習

MAC地址表是在交換機中記錄局域網主機和對應接口關係的表,交換機就是根據這張表負責將數據幀傳輸到指定的主機上的。

MAC表一般包含動態MAC地址、靜態MAC地址和黑洞MAC地址。

動態MAC地址:由接口通過報文中的源MAC地址學習獲得,表項可老化,默認老化時間爲300s,可以通過命令修改老化時間,老化時間到後,會清除學習到的動態MAC地址。

靜態MAC地址:由用戶手工配置,不會老化,接口和MAC地址靜態綁定後,其他接口收到目的MAC是該MAC地址的報文將會被丟棄,但是一個接口和MAC地址靜態綁定後,不會影響該接口動態MAC地址表項的學習。

黑洞MAC地址:設備收到源MAC或者目的地址是該MAC地址的報文將會被丟棄。

接下來,我們將通過實驗去配置、理解上述三種類型的MAC地址,網絡拓撲如下圖所示:

1.動態MAC地址表項:網絡拓撲在初始化,mac地址表沒有任何表項,只有數據包經過後,纔會動態學習到mac地址和接口的對應關係

我利用PING命令,從PC1 ping PC2,我們就可以在MAC表裏看到PC1和PC2的MAC地址以及對應的接口了。現在我們看到的就是學習到動態MAC地址表項,Type 爲 dynamic

2.靜態MAC地址表項:接下來,我們將PC2的MAC地址配置成靜態MAC地址,再看一下表項,我們可以看到,在mac地址表中出現了靜態mac地址表項,而且已經將PC2的mac地址從動態表項中移除。

假如我們將Client2從接口2移到接口4,並在原來接口2上,重新接入一臺MAC地址不同的客戶端,我們來通過抓包看一下Client2能不能發送和收到數據包。

首先從Client1 ping Client2

接口G0/0/1抓包結果

接口G0/0/2抓包結果

接口G0/0/4抓包結果

由抓包結果可知,目的地址是靜態MAC表項的,將從綁定的端口(G0/0/2)發送出去,在G0/0/4端口上被丟棄,所以G0/0/4收不到該ICMP Request包

而從Client2 ping Client1時

接口G0/0/4抓包結果

接口G0/0/1抓包結果

由該抓包結果可知,G0/0/4接口可以接受源地址爲靜態MAC地址的數據包,並且可以到達G0/0/1口

通過上述兩個抓包實驗,我們驗證了,將MAC地址和接口綁定後,目的地址爲該MAC地址的只能有綁定接口轉發,其他非綁定接口將會丟棄;而針對源地址爲該MAC地址的數據包,非綁定接口能夠接收。

3.黑洞MAC地址:我們將Client3的MAC地址設定爲黑洞MAC地址,可以看到表項出現了blackhole類型的mac地址,我們再通過抓包看一下實驗效果。

從Client3 ping Client1   G0/0/3接口抓包如下:

接口G0/0/1接口如下:

從上述抓包結果我們可以看到,針對源地址是黑洞MAC的數據包,設備直接丟棄,所以G0/0/1收不到ARP數據包

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章