MAC 學習提供與部署的網路連線,其中從一個 vNIC 使用多個 MAC 位址。
例如,在套疊 Hypervisor 部署中,ESXi 虛擬機器在 ESXi 主機上執行,多個虛擬機器在 ESXi 虛擬機器內執行。如果未使用 MAC 學習,則在 ESXi 虛擬機器的 vNIC 連線至交換器連接埠時,它僅包含靜態 MAC 位址。在 ESXi 虛擬機器中執行的虛擬機器不具備網路連線能力,因為其封包具有不同的來源 MAC 位址。透過 MAC 學習,vSwitch 會檢查來自 vNIC 之每個封包的來源 MAC 位址,學習其 MAC 資料表中的 MAC 位址並允許封包通過。如果在特定期間內未使用學習的 MAC 位址,則系統會將其移除。
MAC 學習還支援未知的單點傳播洪泛。通常,當連接埠收到的封包具有未知的目標 MAC 位址時,將丟棄該封包。如果啟用未知的單點傳播洪泛,則連接埠會將未知的單點傳播流量洪泛至已啟用 MAC 學習和未知單點傳播洪泛之交換器上的每個連接埠。此屬性預設處於啟用狀態,但僅在啟用 MAC 學習時才會這樣。
您可以設定可學習的 MAC 位址數目。每個連接埠的最大值為 4096,這是預設值。您也可以設定何時達到限制的原則。選項包括:
- 捨棄 - 捨棄來自未知來源 MAC 位址的封包。輸入至此 MAC 位址的封包將視為未知的單點傳播。連接埠只有在已啟用未知單點傳播洪泛時才會接收封包。
- 允許 - 來自未知來源 MAC 位址的封包會進行轉送,但無法學習位址。輸入至此 MAC 位址的封包將視為未知的單點傳播。連接埠只有在已啟用未知單點傳播洪泛時才會接收封包。
在 vSphere 6.7 及更高版本中,可以使用 vSphere API 在分散式虛擬連接埠群組上啟用 MAC 學習。您可以在 vSphere Distributed Switch、分散式虛擬連接埠群組和分散式虛擬連接埠上設定 MAC 學習原則。如果未在分散式虛擬連接埠群組上設定 MAC 學習原則,則會從 vSphere Distributed Switch 繼承該原則,如果未在 DVport 上啟用該原則,則會從分散式虛擬連接埠群組繼承該原則。如需詳細資訊,請參閱《vSphere Web Services API 參考》。