簡介
本文檔介紹在以應用為中心的基礎設施(ACI)交換矩陣中使用地址解析協定(ARP)泛洪和ARP收集。
瞭解ARP泛洪
在思科ACI中,可以選擇使用ARP泛洪或在需要時將其停用。必須瞭解有關ARP泛洪的交換矩陣行為,才能排除第2層故障。
如果啟用了ARP泛洪,ARP流量會根據傳統網路中的常規ARP處理在交換矩陣內泛洪。當您需要無故ARP (GARP)請求來更新主機ARP快取或路由器ARP快取時,需要ARP泛洪。當IP地址可以具有不同的MAC地址時(例如,使用負載平衡器和防火牆的故障轉移集群),就會出現這種情況。
如果ARP泛洪被停用,交換矩陣會嘗試使用單播將ARP流量傳送到目的地。因此,系統會對ARP資料包的目標IP地址進行第3層查詢。ARP的行為與第3層單播資料包一樣,直到到達目的枝葉交換機。
注意:請注意,僅當網橋域上啟用了單播路由時,此選項才適用。如果單播路由被停用,ARP泛洪將隱式啟用。
接下來,您將看到一些與ARP泛洪相關的使用案例。
使用案例1.在ACI中學習終端
此使用案例適用於枝葉交換機已知兩個端點的情況。
在這種情況下,ARP泛洪不起作用。當枝葉交換機知道其終端資訊時,流量進行本地交換。當一個終端(例如H1)向另一個終端(H2)傳送ARP請求,並且停用ARP泛洪時,此行為相同。由於枝葉交換機知道H2的連線位置並檢查ARP目標IP地址(即H2 IP地址),因此不需要泛洪流量或將流量重定向到主幹層。因此,它向H2傳送ARP請求。
無論終端組(EPG)、網橋域或接入/封裝設定如何,如果枝葉知道終端,則以相同的方式進行處理。
範例 1.交換矩陣已知的終端,工作於同一EPG、網橋域和接入/封裝。
範例 2.交換矩陣已知的終端,工作於相同的EPG網橋域但接入/封裝不同。
範例 3. 交換矩陣已知的端點,可在不同EPG但相同的網橋域中工作。
當停用ARP泛洪且終端屬於同一網橋域中的不同EPG的一部分時,連線到同一枝葉交換機時,如果枝葉交換機知道ARP目標IP地址(單播路由已啟用),則ARP流量將進行本地路由。
使用案例2.在COOP中學習終端
當兩個終端都連線到不同的枝葉交換機時,此用例即適用;此用例存在於主幹交換機的合作協定(COOP)資料庫中。
ARP請求必須透過交換矩陣進行轉發。從H1到H3的ARP流量是:
範例 1. 交換矩陣已知的端點,工作在相同的EPG、網橋域和接入/封裝。
範例 2. 交換矩陣已知的終端,工作於相同的EPG網橋域但接入/封裝不同。
範例 3. 交換矩陣已知的端點,可在不同EPG但相同的網橋域中工作。
使用案例3.目標IP未知,ARP泛洪已停用
此使用案例適用於入口枝葉不知道目標IP地址的位置(ARP泛洪已停用,單播路由已啟用)。
在類似場景中,當停用ARP泛洪且入口枝葉不知道ARP目標IP地址位於何處時,ARP請求會傳送到任播主幹-代理隧道終端(TEP),而不是泛洪。從H1到H2的ARP流量是:
範例 1.無論EPG、網橋域或接入/封裝設定如何,ARP請求流都與前述相同。
使用案例4.目標IP未知,啟用ARP泛洪
此使用案例適用於入口枝葉不知道目標IP地址的位置(啟用ARP泛洪,啟用單播路由)。
如果在網橋域中啟用了ARP泛洪,來自H1的ARP請求將透過泛洪到達H2。從H1到H2的ARP流量流為:
範例 1.
注意:Cisco ACI(網橋域或EPG級別)封裝中的泛洪可用於將網橋域內的泛洪流量限制為單個封裝。當兩個EPG共用同一網橋域並且啟用了「封裝中泛洪」時,EPG泛洪流量不會到達另一個EPG。
啟用ARP泛洪的好處之一是能夠檢測從一個位置移動到另一個位置的靜默IP,而無需通知ACI枝葉。由於ARP請求在網橋域內泛洪,即使ACI枝葉仍認為IP位於舊位置,具有靜默IP的主機也會作出適當響應,以便ACI枝葉可以相應地更新其條目。
如果ARP泛洪被停用,ACI枝葉會一直將ARP請求僅轉發到舊位置,直到IP終端老化。另一方面,停用ARP泛洪的好處是能夠將ARP請求直接傳送到目標IP的位置,從而最佳化流量,假設沒有終端移動而不透過GARP等通知其移動。
使用案例5.不同EPG和BD中的終端
當終端連線到不同的EPG和不同的網橋域時,將應用此使用案例。
當終端屬於不同的EPG和不同的網橋域時,必須路由它們之間的流量。泛洪不會跨越網橋域,包括ARP泛洪。因此,如果H1需要與連線在同一枝葉交換機上的H2通訊,流量將傳送到預設網關MAC地址,因此ARP泛洪在本示例中並不相關。
瞭解ARP收集
思科ACI具有多種檢測靜默主機的機制,其中ACI枝葉尚未獲知本地終端。ACI有一些機制可以檢測這些靜默主機。對於傳送到未知MAC的第2層交換流量,您可以在網橋域(BD)下將第2層未知單播選項設定為泛洪,而對於具有廣播目標MAC的ARP請求,可以在網橋域下使用ARP泛洪選項來控制泛洪行為。此外,思科ACI使用ARP收集來傳送ARP請求,以解決尚未獲知的終端的IP地址(無提示主機檢測)。
透過ARP收集,如果主幹沒有有關ARP請求目的地連線位置的資訊(目標IP不在COOP資料庫中),交換矩陣將生成一個來自網橋域交換機虛擬介面(SVI)(沈浸式網關) IP地址的ARP請求。此ARP請求傳送到網橋域的所有枝葉節點的邊緣介面部分。此外,只要流量被路由到未知IP,無論配置如何(第3層)路由流量都會觸發ARP收集,例如ARP泛洪。
ARP收集功能有一些要求:
使用案例1.目標IP未知,ARP泛洪已停用
此使用案例適用於目標/目標終端對交換矩陣未知的情況(ARP泛洪已停用)。
當終端位於不同的枝葉交換機上,同時屬於同一EPG和網橋域,並且使用同一VLAN訪問對映時,ARP請求(例如,從H1到H3)必須透過交換矩陣轉發。如果主幹交換機(靜默主機)上的COOP資料庫中缺少H3資訊,並且停用了ARP泛洪,則也可以使用ARP收集,如下圖所示。
從H1到H3的ARP流量是:
-
H1使用廣播目標MAC向H3傳送ARP請求。
-
ACI嘗試使用單播轉發來傳送ARP請求,因此本地枝葉交換機檢查ARP目標IP地址(H3 IP)。由於本地枝葉交換機不知道終端H3的IP地址,因此它會將ARP請求傳送到主幹交換機以進行主幹-代理。
-
主幹交換機上的COOP資料庫中缺少H3資訊,並且會使用沈浸式網關IP地址作為源來觸發ARP收集。此ARP請求在域中泛洪。
-
H3接收ARP請求並做出回覆,而在交換矩陣中獲知。
無論EPG、網橋域或接入/封裝設定如何,當兩個端點嘗試彼此通訊時(無論它們與交換矩陣內的相同或不同枝葉交換機的連線如何),ARP收集功能都以相同的方式工作。
使用案例2.不同EPG和BD中的終端
此使用案例適用於終端在不同EPG和網橋域(啟用ARP泛洪)中連線的情況。
當終端屬於不同的EPG和不同的網橋域時,必須路由它們之間的流量。泛洪不會跨越網橋域,包括可能由ARP匯聚生成的ARP泛洪。因此,如果H1需要與連線在同一枝葉交換機上的H2通訊,流量將傳送到預設網關MAC地址,因此ARP收集在此示例中並不相關。