首先我們來回憶一下什麼是mac位址漂移?
mac位址漂移是指:在同乙個vlan內,乙個mac位址有兩個出介面,並且後學習到的出介面覆蓋原出介面的現象。這是官方定義,通俗的講,mac位址漂移指的是mac位址表項的出介面發生了變更。到底什麼意思呢?看了下圖就明白了。
mac位址漂移會有什麼影響呢?
1、上網響應慢!!
2、上網無響應!!
以上這些都可能是mac位址漂移,組網裝置成環導致的。只要解決mac位址漂移,破除組網中的環路,這些討厭的畫面就會自動消失的。
那為什麼會有mac位址漂移呢?
如上圖所示,正常情況下,pc的報文通過port1進入switch後,會從port3**出去,mac位址表項學習到的出介面是port1。但是當switch、switch1和swtich2三颱裝置之間存在環路時,pc的報文通過switch2-->switch1後,又會通過port2進入switch,導致mac位址表項的出介面更新為port2,從而就會產生mac位址漂移告警。由此可見mac位址發生漂移的根本原因就是組網中存在二層環路。
怎麼判斷裝置上是否存在mac位址漂移呢?
怎麼消除mac位址漂移告警呢?
第一種:人工把發生漂移的介面shutdown。
優點:最簡單可靠
缺點:需要人工參與,整個介面的流量都會中斷。
第二種:通過在介面上配置漂移檢測動作為error-dwon,自動down掉漂移的埠。
優點:及時快捷,還可以通過配置自動恢復時間定時恢復埠。
缺點:整個介面的流量都會中斷。
優點:只解決存在環路的vlan域,不會使其他正常vlan域的流量中斷。
缺點:指定老化週期內,只能使乙個介面從vlan中退出。如果存在多個環路,破環會比較慢。
交換機實現的mac位址漂移告警功能有什麼亮點呢?
即同乙個vlan內,如果有多個mac位址都在發生漂移,只記錄第乙個上報漂移的mac位址。為什麼呢?因為只要乙個vlan域內存在環路,該vlan內所有的mac位址都會發生漂移的。
預設情況下,在漂移記錄老化時間300秒內,mac位址表項出介面變更10次,才認為發生了mac位址漂移,才會上報mac位址漂移告警。
指定某個vlan不進行mac位址漂移的檢測後,該vlan內的mac位址發生漂移時,不會記錄資訊,也不會上報告警資訊。
【江湖小貼士】
所有的mac位址漂移告警都需要處理嗎?其實不是的,只有mac位址漂移告警在短時間多次出現的情況才需要處理,偶爾出現的可以不用關注啦,類似於下面這兩種情況就可以不用關注的。
1、因為環路切換,導致的mac位址漂移告警。
2、因為無線使用者漫遊,導致的mac位址漂移告警。
HCIE R S面試 MAC位址漂移及應對
有點冷 裝置的乙個vlan內有兩個埠學習到同乙個mac位址,後學習到的mac位址表項覆蓋原mac位址表項的現象。正常情況下,網路中不會在短時間內出現大量mac位址漂移的情況,出現後說明網路 現了二層環路,這時裝置cpu佔用率會有不同程度的公升高。可以通過檢視告警資訊和漂移記錄,定位和排除環路。通俗的...
華為 MAC位址表
mac位址表記錄了交換機學習到的其他裝置的mac位址與介面的對應關係,以及介面所屬vlan等資訊。裝置在 報文時,根據報文的目的mac位址查詢mac位址表,如果mac位址表中包含與報文目的mac位址對應的表項,則直接通過該表項中的出介面 該報文 如果mac位址表中沒有包含報文目的mac位址對應的表項...
獲取裝置mac位址
nsstring macaddress if sysctl mib,6,null,len,null,0 0 if buf malloc len null if sysctl mib,6,buf,len,null,0 0 ifm struct if msghdr buf sdl struct sock...