一文徹底搞懂LAN技術-MAC 地址表、端口安全、MAC 地址飄移等

LAN 技術

1.MAC 地址表

MAC 地址表作用,為交換機提供轉發的憑據。交換機根據 MAC 地址對應的接口,然後轉發。

如何學習?

通過數據從交換機入方向時,將報文的源 MAC 和接口記錄在 MAC 地址表中。

交換機處理報文的三種行為:
  • 泛洪:如果接收到一個目的 MAC 地址不在 MAC 地址表中,則複製發送給入接口以外的所有接口。
  • 轉發:如果接收到一個目的 MAC 地址在 MAC 地址表中,並在其他接口,則發送給該接口。
  • 丟棄:如果接收到一個目的 MAC 地址在 MAC 地址表中,但是與入接口相同接口則丟棄該報文。

MAC 地址老化時間 300s。

  • 動態表項
    • 由接口通過報文中的源 MAC 地址學習獲得,表項可老化,默認老化時間 300 秒。
    • 在系統復位、接口板熱插拔或接口板復位後,動態表項會丟失。
  • 靜態表項
    • 由用戶手工配置,並下發到各接口板,表項不可老化。
    • 在系統復位、接口板熱插拔或接口板復位後,保存的表項不會丟失。
    • `[Huawei]mac-address static 0011-2233-4455 GigabitEthernet 0/0/2 vlan 1`
  • 黑洞表項
    • 由用戶手工配置,並下發到各接口板,表項不可老化。
    • 配置黑洞 MAC 地址後,源 MAC 地址或目的 MAC 地址是該 MAC 的報文將會被丟棄。
    • `[Huawei]mac-address blackhole 00aa-bbcc-ddee`

2.端口安全

  • 端口安全(Port Security)通過將接口學習到的動態 MAC地址轉換為安全 MAC地址(包括安全動態 MAC、安全靜態 MAC 和 Sticky MAC),阻止非法用戶通過本接口和交換機通信,從而增強設備的安全性。
  • 安全 MAC 地址分類
    • 使能端口安全而未使能 Sticky MAC 功能時轉換的 MAC 地址。
    • [Huawei-GigabitEthernet0/0/1]port-security enable
    • 可以被設置老化時間。重啟後丟失
    • 安全動態 MAC 地址
  • 安全靜態 MAC 地址(其實就是靜態配置的 MAC 地址)
    • 使能端口安全時手工配置的靜態 MAC 地址。
  • Sticky MAC 地址
    • 使能端口安全後又同時使能 Sticky MAC 功能後轉換到的 MAC 地址。
    • port-security mac-address sticky(前置條件是開啟了端口安全)
    • 不會被老化。重啟不丟失
修改動態安全 MAC 地址老化時間:
<code>[Huawei-GigabitEthernet0/0/1]port-security aging-time ?
INTEGER<1-1440> Aging time (in minute)/<code>
修改端口安全學習的 MAC 地址個數:
<code>[Huawei-GigabitEthernet0/0/1]port-security max-mac-num ?
INTEGER<1-4096> Maximum mac address can learn/<code>
修改觸發端口安全的懲罰行為:
<code>[Huawei-GigabitEthernet0/0/1]port-security protect-action ?
protect Discard packets //丟棄報文 名稱: 保護
restrict Discard packets and warning //丟棄報文並告警( 默認(文檔與實驗驗證得知)) 名稱: 限制
shutdown Shutdown //關閉端口,名稱: 關閉 。官方成為是默認關閉。/<code>

3.MAC 地址飄移

MAC 地址漂移是指設備上一個 VLAN 內有兩個端口學習到同一個 MAC 地址,後學習到的 MAC 地址表項覆蓋原 MAC 地址表項的現象。

情況:

  1. 網絡環路
  2. 面對黑客攻擊。
MAC 地址漂移避免機制:

a) 提高接口 MAC 地址學習優先級;b) 不允許相同優先級的接口發生;c) MAC 地址表項覆蓋。

可能存在問題 :

已經學習到錯誤的 MAC 導致正確的 MAC 地址無法上網。

修改端口學習的優先級(優先級越高越優先。默認為 0):

<code>[Huawei-GigabitEthernet0/0/2]mac-learning priority 3/<code>

配置不允許相同優先級的接口發生 MAC 地址漂移

<code>[Huawei]undo mac-learning priority 3 allow-flapping //模擬器不支持該命令/<code>

配置全局 MAC 地址漂移檢測功能

<code>[Huawei]mac-address flapping detection/<code>

配置 MAC 地址漂移檢測功能

<code>[Huawei]vlan 2
[Huawei-vlan2]loop-detect eth-loop block-time 100 retry-times 3
//在 vlan2 進行 MAC 地址飄移檢測,如果觸發停止轉發該 MAC 100s ,重試 3 次。/<code>

可以設置是屬於基於 VLAN 檢測還是基於全局檢測。

4.免費 ARP

  • IP 地址衝突檢測:當設備接口的協議狀態變為 Up 時,設備主動對外發送免費 ARP 報文。正常情況下不會收到 ARP 應答,如果收到,則表明本網絡中存在與自身 IP 地址重複的地址。如果檢測到 IP 地址衝突,設備會週期性的廣播發送免費 ARP 應答報文,直到衝突解除。
  • 用於通告一個新的 MAC 地址:發送方更換了網卡,MAC 地址變化了,為了能夠在動態 ARP 表
  • 在 VRRP 備份組中用來通告主備發生變換:發生主備變換後,MASTER 設備會廣播發送一個免費 ARP 報文來通告發生了主備變換。

5.istack

一文徹底搞懂LAN技術-MAC 地址表、端口安全、MAC 地址飄移等

接入層:接入終端。一般使用二層交換機

匯聚層:處理接入層匯聚而來的流量,VLAN 終結,STP 終結,流量過濾,作為局域網交換網絡和 IP 網絡分割線。一般三層交換機核心層:快速轉發。可以為路由器,也可以為三層交換機

一文徹底搞懂LAN技術-MAC 地址表、端口安全、MAC 地址飄移等

iStack 堆疊:將兩到多個盒式交換機虛擬化成一臺高性能的交換機。配置與接口將在邏輯層面合併。如圖,PC的角度就是隻連接了一臺交換機。

一文徹底搞懂LAN技術-MAC 地址表、端口安全、MAC 地址飄移等

CSS 集群:將兩個框式交換機虛擬化為一臺高性能的交換機,配置與接口將在邏輯層面合併。

  • 簡單

各層設備均使用堆疊技術,邏輯設備少,網絡拓撲簡單,二層天然無環,無需部署 xSTP 破環協議。

  • 高效

各層設備間使用 Eth-Trunk 鏈路聚合技術,負載分擔算法靈活,鏈路利用率高。

  • 可靠

堆疊技術同鏈路聚合技術結合使用,各層物理設備形成雙歸接入組網,提高整網可靠性。

虛擬化後:
一文徹底搞懂LAN技術-MAC 地址表、端口安全、MAC 地址飄移等


  • 交換機組建堆疊根據堆疊口的不同,可以分為兩種方式:堆疊卡堆疊和業務口堆疊。
  • 通過交換機堆疊,可以實現網絡高可靠性和網絡大數據量轉發,同時簡化網絡管理。
    • 高可靠性。堆疊系統多臺成員交換機之間冗餘備份;堆疊支持跨設備的鏈路聚合功能,實現跨設備的鏈路冗餘備份。
    • 強大的網絡擴展能力。通過增加成員交換機,可以輕鬆的擴展堆疊系統的端口數、帶寬和處理能力;同時支持成員交換機熱插拔,新加入的成員交換機自動同步主交換機的配置文件和系統軟件版本。
    • 簡化配置和管理。一方面,用戶可以通過任何一臺成員交換機登錄堆疊系統,對堆疊系統所有成員交換機進行統一配置和管理;另一方面,堆疊形成後,不需要配置複雜的二層破環協議和三層保護倒換協議,簡化了網絡配置。
堆疊:
  1. 接入堆疊卡(知道是否支持熱插拔,不支持需關機)。
  2. 開啟堆疊(需要重啟才可以配置堆疊的參數)。
  3. 配置堆疊的參數(保存配置)。
  4. 下電並連好連好線纜。
  5. 開機,根據規劃優先開機主交換機,然後是備份交換機,接著就是從交換機。
關於堆疊系統
  1. 如果是鍊形連接,新加入的交換機建議添加到鍊形的兩端,這樣對現有的業務影響最小。
  2. 如果是環形連接,需要把當前環形拆成鍊形,然後在鍊形的兩端添加設備。
  • 角色
    • 主交換機(Master):負責管理整個堆疊。堆疊中只有一臺主交換機。
    • 備交換機(Standby):是主交換機的備份交換機。當主交換機故障時,備交換機會接替原主交換機的所有業務。堆疊中只有一臺備交換機。
    • 從交換機(Slave):主要用於業務轉發,從交換機數量越多,堆疊系統的轉發能力越強。除主交換機和備交換機外,堆疊中其他所有的成員交換機都是從交換機。
    • 堆疊中所有的單臺交換機都稱為成員交換機,按照功能不同,可以分為三種角色:
  • 堆疊 ID
    • 即成員交換機的槽位號(Slot ID),用來標識和管理成員交換機,堆疊中所有成員交換機的堆疊ID 都是唯一的。
  • 堆疊優先級
    • 堆疊優先級是成員交換機的一個屬性,主要用於角色選舉過程中確定成員交換機的角色,優先級值越大表示優先級越高,優先級越高當選為主交換機的可能性越大。
    • 選舉主交換機有三個原則:1.誰先開好機。2.優先級大的優先,3,MAC 地址小的優先
  • 角色選舉、拓撲收集完成之後,剩下的其他成員交換機作為從交換機加入堆疊,所有成員交換機會自動
同步主交換機的系統軟件和配置文件:
  • 堆疊具有自動加載系統軟件的功能,待組成堆疊的成員交換機不需要具有相同軟件版本,只需要版本間兼容即可。當備交換機或從交換機與主交換機的軟件版本不一致時,備交換機或從交換機會自動從主交換機下載系統軟件,然後使用新系統軟件重啟,並重新加入堆疊。
  • 堆疊具有配置文件同步機制,備交換機或從交換機會將主交換機的配置文件同步到本設備並執行,以保證堆疊中的多臺設備能夠像一臺設備一樣在網絡中工作,並且在主交換機出現故障之後,其餘交換機仍能夠正常執行各項功能。
  • 系統完成堆疊
    • 新加入的交換機連線上電啟動後,進行角色選舉,新加入的交換機會選舉為從交換機,堆疊系統中原有主備從角色不變。
    • 角色選舉結束後,主交換機更新堆疊拓撲信息,同步到其他成員交換機上,並向新加入的交換機分配堆疊 ID(新加入的交換機沒有配置堆疊 ID或配置的堆疊 ID 與原堆疊系統的衝突時)。
    • 新加入的交換機更新堆疊 ID,並同步主交換機的配置文件和系統軟件,之後進入穩定運行狀態。


一文徹底搞懂LAN技術-MAC 地址表、端口安全、MAC 地址飄移等


一文徹底搞懂LAN技術-MAC 地址表、端口安全、MAC 地址飄移等


一文徹底搞懂LAN技術-MAC 地址表、端口安全、MAC 地址飄移等


一文徹底搞懂LAN技術-MAC 地址表、端口安全、MAC 地址飄移等


  • 由於堆疊系統中所有成員交換機都使用同一個IP 地址和 MAC地址(堆疊系統 MAC),一個堆疊分裂後,可能產生多個具有相同 IP 地址和 MAC 地址的堆疊系統。為防止堆疊分裂後,產生多個具有相同 IP 地址和 MAC 地址的堆疊系統,引起網絡故障,必須進行 IP 地址和 MAC 地址的衝突檢查。多主檢測 MAD(Multi-Active Detection),是一種檢測和處理堆疊分裂的協議。鏈路故障導致堆疊系統分裂後,MAD 可以實現堆疊分裂的檢測、衝突處理和故障恢復,降低堆疊分裂對業務的影響。
  • MAD 檢測方式有兩種:直連檢測方式和代理檢測方式。在同一個堆疊系統中,兩種檢測方式互斥,不可以同時配置。
  • 直連檢測方式是指堆疊成員交換機間通過普通線纜直連的專用鏈路進行多主檢測。在直連檢測方式中,堆疊系統正常運行時,不發送 MAD 報文;堆疊系統分裂後,分裂後的兩臺交換機以 1s 為週期通過檢測鏈路發送 MAD 報文以進行多主衝突處理。
  • 通過中間設備直連:堆疊系統的所有成員交換機之間至少有一條檢測鏈路與中間設備相連。
  • Full-mesh 方式直連:堆疊系統的各成員交換機之間通過檢測鏈路建立 Full-mesh 全連接,即每兩臺成員交換機之間至少有一條檢測鏈路。
  • 通過中間設備直連可以實現通過中間設備縮短堆疊成員交換機之間的檢測鏈路長度,適用於成員交換機相距較遠的場景。與通過中間設備直連相比,Full-mesh方式直連可以避免由中間設備故障導致的MAD檢測失敗,但是每兩臺成員交換機之間都建立全連接會佔用較多的接口,所以該方式適用於成員交換機數目較少的場景。
  • 代理檢測方式是在堆疊系統 Eth-Trunk 上啟用代理檢測,在代理設備上啟用 MAD 檢測功能。此種檢測方式要求堆疊系統中的所有成員交換機都與代理設備連接,並將這些鏈路加入同一個 Eth-Trunk 內。與直連檢測方式相比,代理檢測方式無需佔用額外的接口,Eth-Trunk 接口可同時運行 MAD 代理檢測和其他業務。
  • 在代理檢測方式中,堆疊系統正常運行時,堆疊成員交換機以 30s 為週期通過檢測鏈路發送 MAD 報文。堆疊成員交換機對在正常工作狀態下收到的 MAD 報文不做任何處理;堆疊分裂後,分裂後的兩臺交換機以 1s 為週期通過檢測鏈路發送 MAD 報文以進行多主衝突處理。
  • MAD 衝突處理
    • 堆疊分裂後,MAD 衝突處理機制會使分裂後的堆疊系統處於 Detect 狀態或 Recovery 狀態。Detect狀態表示堆疊正常工作狀態,Recovery 狀態表示堆疊禁用狀態。
    • MAD 衝突處理機制如下:MAD 分裂檢測機制會檢測到網絡中存在多個處於 Detect 狀態的堆疊系統,這些堆疊系統之間相互競爭,競爭成功的堆疊系統保持 Detect 狀態,競爭失敗的堆疊系統會轉入 Recovery 狀態;並且在 Recovery 狀態堆疊系統的所有成員交換機上,關閉除保留端口以外的其它所有物理端口,以保證該堆疊系統不再轉發業務報文。
  • MAD 故障恢復
  • 通過修復故障鏈路,分裂後的堆疊系統重新合併為一個堆疊系統。重新合併的方式有以下兩種:
    • 堆疊鏈路修復後,處於 Recovery 狀態的堆疊系統重新啟動,與 Detect 狀態的堆疊系統合併,同時將被關閉的業務端口恢復 Up,整個堆疊系統恢復。
    • 如果故障鏈路修復前,承載業務的 Detect 狀態的堆疊系統也出現了故障。此時,可以先將 Detect狀態的堆疊系統從網絡中移除,再通過命令行啟用 Recovery 狀態的堆疊系統,接替原來的業務,然後再修復原 Detect 狀態堆疊系統的故障及鏈路故障。故障修復後,重新合併堆疊系統。


分享到:


相關文章: