本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
此文件說明設定於虛擬連接埠通道 (vPC) 網域之 Cisco Nexus 交換器的常見 vPC 增強功能。
思科建議您瞭解與使用案例、組態及虛擬連接埠通道 (vPC) 之實作相關的基本資訊。 如需有關此功能的詳細資訊,請參閱以下其中一份適用的文件:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
自從 Cisco Nexus 資料中心交換器的 Cisco NX-OS 問世後,虛擬連接埠通道 (vPC) 功能已獲得許多增強功能,其中改善 vPC 連接裝置在故障情況下的可靠性,並最佳化 vPC 對等交換器的轉送行為。瞭解每項增強功能的目的、增強功能帶來的行為變化以及增強功能解決的故障場景,可以幫助您瞭解為何以及何時可以在vPC域中配置增強功能,以幫助最好地滿足業務需求和要求。
本文件涵蓋的程序適用於所有支援 vPC 功能的 Cisco Nexus 資料中心交換器。
本節將說明 vPC 對等交換器增強功能,此功能須使用 peer-switch vPC 網域組態命令才可啟用。
在許多環境中,vPC 網域的 Nexus 交換器組為彙總或核心交換器,做為第 2 層交換乙太網路網域和第 3 層路由網域間的邊界。兩個交換器皆設定多個 VLAN,並負責安排 VLAN 間東西流量和南北流量的路由。在此類環境中,就跨距樹狀目錄通訊協定角度來看,Nexus 交換器一般也可做為根橋接器。
正常來說,將跨距樹狀目錄優先順序設定為低數值(例如 0),即可將單一 vPC 對等設定為跨距樹狀目錄的根橋接器。 將其他的 vPC 對等設定為較高的跨距樹狀目錄優先順序(例如 4096),使其能在做為根橋接器的 vPC 對等故障時,接管跨距樹狀目錄內的根橋接器角色。透過此組態,做為根橋接器的 vPC 對等會產生具有橋接器 ID(包含其系統 MAC 位址)的跨距樹狀目錄橋接器通訊協定資料單位 (BPDU)。
但是,如果充當根網橋的vPC對等體發生故障,導致另一個vPC對等體接管作為生成樹根網橋,則另一個vPC對等體會使用包含其系統MAC地址的網橋ID建立生成樹BPDU,該網橋ID不同於原始根網橋系統MAC地址。根據下游網橋的連線方式,此更改的影響會有所不同,這些小節對此進行了說明。
連接至具有備援連結(從跨距樹狀目錄通訊協定角度來看,其中一個連結為「封鎖」狀態)的兩個 vPC 對等之非 vPC 連接橋接器,會偵測到 BPDU 的變更(因此也會偵測到根橋接器中的變更),如此會發生根連接埠的變更。其他「指定轉送」介面會立即轉換至「封鎖」狀態,接著周遊跨距樹狀目錄通訊協定有限狀態機器(封鎖、學習及轉送),其間隔暫停時間相當於設定的跨距樹狀目錄通訊協定轉送延遲計時器時間(依預設為 15 秒)。
根連接埠的變更與後續跨距樹狀目錄通訊協定有限狀態機器的周遊,可能會造成網路大量中斷。vPC 對等交換器增強功能的導入主要用於防止此問題造成的網路中斷(如果其中一個 vPC 對等離線)。透過 vPC 對等交換器增強功能,非 vPC 連接橋接器仍會產生處於「封鎖」狀態的單一備援連結,但如果現有的根連接埠因連結故障而關閉,則會立即將該介面轉換為「轉送」狀態。當離線 vPC 對等恢復連線後,相同程序便會發生:具有最低根橋接器成本的介面會取得根連接埠角色,而備援連結會立即轉換為「封鎖」狀態。唯一會觀察到的資料層影響為無可避免的處理中封包遺失(封包在 vPC 對等離線時周遊其中)。
位於跨距樹狀目錄網域中的 vPC 連接橋接器會偵測到 BPDU 的變更(也就是根橋接器的變更),並從本機 MAC 位址表排清動態學習 MAC 位址。此行為在 vPC 連接裝置的拓撲中效率不彰且沒有必要,因為此類裝置不仰賴跨距樹狀目錄通訊協定建立無迴圈的拓撲。就跨距樹狀目錄通訊協定角度來看,vPC 會被視為單一邏輯介面(如同正常連接埠通道),因此 vPC 對等的遺失就類似於連接埠通道成員中單一連結的遺失。在任何一種情況下,跨距樹狀目錄都不會改變,因此不需要從跨距樹狀目錄網域中的橋接器動態學習的MAC位址(其目的在於允許乙太網路泛洪和學習行為重新學習跨距樹狀目錄的新轉送介面上的MAC位址)。
此外,動態獲取的MAC地址可能會造成中斷。思考兩個主機具有主要為單向之 UDP 型流量(例如將資料傳送至 TFTP 伺服器的 TFTP 用戶端)的情況。 在此流量中,資料大部分會從 TFTP 用戶端流向 TFTP 伺服器(罕見情況為 TFTP 伺服器將封包傳回 TFTP 用戶端)。因此,在生成樹域中動態學習的MAC地址刷新後,TFTP伺服器MAC在一段時間內無法學習。這表示傳送到TFTP伺服器的TFTP使用者端資料會在整個VLAN中泛洪,因為流量是未知的單點傳播流量。這可能會造成大量資料流移動至未預期的網路位置,且如果其流向網路的超額訂閱區段,則可能導致效能問題。
vPC 對等交換器增強功能的導入,係用於防止此種效率不彰和不必要的行為發生(如果做為一或多個 VLAN 之跨距樹狀目錄根橋接器的 vPC 對等遭重新載入或關閉)。
若要啟用 vPC 對等交換器增強功能,則兩個 vPC 對等皆必須具有相同的跨距樹狀目錄通訊協定組態(其中包括適用於所有 vPC VLAN 的跨距樹狀目錄優先順序值),且必須為適用於所有 vPC VLAN 的根橋接器。符合以上先決條件後,必須設定 peer-switch vPC 網域組態命令,才可啟用 vPC 對等交換器增強功能。
附註:只有 vPC 網域包含適用於所有 VLAN 的根時,才會支援 vPC 對等交換器增強功能。
啟用 vPC 對等交換器增強功能後,兩個 vPC 對等皆會開始產生具有橋接器 ID(包含由兩個 vPC 對等共用的 vPC 系統 MAC 位址)的相同跨距樹狀目錄 BPDU。如果 vPC 對等重新載入,則由其餘 vPC 對等產生的跨距樹狀目錄 BPDU 不會變更,因此跨距樹狀目錄網域中的其他橋接器不會出現根橋接器的任何變更,且不會以非最佳方式針對網路的變更進行回應。
vPC對等交換機增強功能有一些警告,您在配置生產環境之前必須瞭解這些警告。
啟用 vPC 對等交換器增強功能前,所有 vPC VLAN 的跨距樹狀目錄優先順序組態必須修正,使其在 vPC 對等兩者間皆相同。
考量此處 N9K-1 遭設定為 VLAN 1、10 和 20(優先順序為 0)之跨距樹狀目錄根橋接器的組態。 N9K-2 為適用於 VLAN 1、10 和 20(優先順序為 4096)的次要跨距樹狀目錄根橋接器。
N9K-1# show running-config spanning-tree spanning-tree vlan 1,10,20 priority 0 interface port-channel1 spanning-tree port type network N9K-2# show running-config spanning-tree spanning-tree vlan 1,10,20 priority 4096 interface port-channel1 spanning-tree port type network
啟用 vPC 對等交換器增強功能前,您必須修正 N9K-2 之 VLAN 1、10 和 20 的跨距樹狀目錄優先順序組態,以符合 N9K-1 之相同 VLAN 的跨距樹狀目錄優先順序組態。 此修正的範例如下所示。
N9K-2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. N9K-2(config)# spanning-tree vlan 1,10,20 priority 0 N9K-2(config)# end N9K-2# show running-config spanning-tree spanning-tree vlan 1,10,20 priority 0 interface port-channel1 spanning-tree port type network N9K-1# show running-config spanning-tree spanning-tree vlan 1,10,20 priority 0 interface port-channel1 spanning-tree port type network
考量以下拓撲:
在此拓撲中,兩個 vPC 對等(N9K-1 和 N9K-2)在 Po1 和 Po2 之間具有兩個第 2 層 trunk。 Po1 為承載 vPC VLAN 的 vPC 對等連結,而 Po2 為承載所有非 vPC VLAN 的第 2 層 trunk。如果透過 Po2 承載的非 vPC VLAN 的跨距樹狀目錄優先順序值在 N9K-1 和 N9K-2 皆相同,則每個 vPC 對等會產生從 vPC 系統 MAC 位址(在兩個交換器中皆相同)產生的跨距樹狀目錄 BPDU 訊框。因此,即使 N9K-2 為產生跨距樹狀目錄 BPDU 的交換器,也會出現 N9K-1 看似從每個非 vPC VLAN 之 Po2 接收自己的跨距樹狀目錄 BPDU 的情況。就跨距樹狀目錄角度來看,N9K-1 會針對所有非 vPC VLAN 將 Po2 設置為 「封鎖」狀態。
這是預期行為。為防止出現此行為或因應此問題,兩個 vPC 對等皆必須在所有非 vPC VLAN 中,使用不同的跨距樹狀目錄優先順序值設定。如此會使其中一個 vPC 對等成為適用於非 vPC VLAN 的根橋接器,並將 vPC 對等間的第 2 層 trunk 轉換為「指定轉送」狀態。同樣的,遠端 vPC 對等會將 vPC 對等間的第 2 層 trunk 轉換為「指定根」狀態。如此會使非 vPC VLAN 中的流量透過第 2 層 trunk 在兩個 vPC 對等間流動。
設定 vPC 對等交換器功能的方法範例如下所示。
在此範例中,N9K-1 會設定為適用於 VLAN 1、10 和 20(優先順序為 0)的跨距樹狀目錄根橋接器。 N9K-2 為適用於 VLAN 1、10 和 20(優先順序為 4096)的次要跨距樹狀目錄根橋接器。
N9K-1# show running-config vpc <snip> vpc domain 1 role priority 150 peer-keepalive destination 10.122.190.196 interface port-channel1 vpc peer-link N9K-2# show running-config vpc <snip> vpc domain 1 peer-keepalive destination 10.122.190.195 interface port-channel1 vpc peer-link N9K-1# show running-config spanning-tree spanning-tree vlan 1,10,20 priority 0 interface port-channel1 spanning-tree port type network N9K-2# show running-config spanning-tree spanning-tree vlan 1,10,20 priority 4096 interface port-channel1 spanning-tree port type network
首先,N9K-2 的跨距樹狀目錄優先順序組態必須變更為與 N9K-1 的組態相同。為使 vPC 對等交換器功能如預期運作,此變更為必要作業。如果 N9K-2 的系統 MAC 位址低於 N9K-1 的系統 MAC 位址,則 N9K-2 會奪取跨距樹狀目錄網域之根橋接器的角色,如此會造成跨距樹狀目錄網域的其他橋接器排清所有受影響 VLAN 的本機 MAC 位址表。此現象的範例如下所示。
N9K-1# show spanning-tree vlan 1 VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 1 Address 689e.0baa.dea7 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 1 (priority 0 sys-id-ext 1) Address 689e.0baa.dea7 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Po1 Desg FWD 1 128.4096 (vPC peer-link) Network P2p Po10 Desg FWD 1 128.4105 (vPC) P2p Po20 Desg FWD 1 128.4115 (vPC) P2p N9K-2# show spanning-tree vlan 1 VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 1 Address 689e.0baa.dea7 Cost 1 Port 4096 (port-channel1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 4097 (priority 4096 sys-id-ext 1) Address 689e.0baa.de07 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Po1 Root FWD 1 128.4096 (vPC peer-link) Network P2p Po10 Desg FWD 1 128.4105 (vPC) P2p Po20 Desg FWD 1 128.4115 (vPC) P2p N9K-2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. N9K-2(config)# spanning-tree vlan 1,10,20 priority 0 N9K-2(config)# end N9K-2# show spanning-tree vlan 1 VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 1 Address 689e.0baa.de07 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 1 (priority 0 sys-id-ext 1) Address 689e.0baa.de07 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Po1 Desg FWD 1 128.4096 (vPC peer-link) Network P2p Po10 Desg FWD 1 128.4105 (vPC) P2p Po20 Desg FWD 1 128.4115 (vPC) P2p
接著,我們可透過 peer-switch vPC 網域組態命令,啟用 vPC 對等交換器功能。這會變更兩個 vPC 對等產生之跨距樹狀目錄 BPDU 中的橋接器 ID,如此會造成跨距樹狀目錄網域中的其他橋接器排清所有受影響 VLAN 的本機 MAC 位址表。
N9K-1# configure terminal N9K-1(config)# vpc domain 1 N9K-1(config-vpc-domain)# peer-switch N9K-1(config-vpc-domain)# end N9K-1# N9K-2# configure terminal N9K-2(config)# vpc domain 1 N9K-2(config-vpc-domain)# peer-switch N9K-2(config-vpc-domain)# end N9K-2#
您可藉由使用 show spanning-tree summary 命令,驗證聲稱為 vPC VLAN 之根橋器的兩個 vPC 對等,確認 vPC 對等交換器功能如預期運作。此輸出還必須表明vPC對等交換機功能已啟用且運行正常。
N9K-1# show spanning-tree summary Switch is in rapid-pvst mode Root bridge for: VLAN0001, VLAN0010, VLAN0020 L2 Gateway STP is disabled Port Type Default is disable Edge Port [PortFast] BPDU Guard Default is disabled Edge Port [PortFast] BPDU Filter Default is disabled Bridge Assurance is enabled Loopguard Default is disabled Pathcost method used is short vPC peer-switch is enabled (operational) STP-Lite is disabled Name Blocking Listening Learning Forwarding STP Active ---------------------- -------- --------- -------- ---------- ---------- VLAN0001 0 0 0 3 3 VLAN0010 0 0 0 3 3 VLAN0020 0 0 0 3 3 ---------------------- -------- --------- -------- ---------- ---------- 3 vlans 0 0 0 9 9 N9K-2# show spanning-tree summary Switch is in rapid-pvst mode Root bridge for: VLAN0001, VLAN0010, VLAN0020 L2 Gateway STP is disabled Port Type Default is disable Edge Port [PortFast] BPDU Guard Default is disabled Edge Port [PortFast] BPDU Filter Default is disabled Bridge Assurance is enabled Loopguard Default is disabled Pathcost method used is short vPC peer-switch is enabled (operational) STP-Lite is disabled Name Blocking Listening Learning Forwarding STP Active ---------------------- -------- --------- -------- ---------- ---------- VLAN0001 0 0 0 3 3 VLAN0010 0 0 0 3 3 VLAN0020 0 0 0 3 3 ---------------------- -------- --------- -------- ---------- ---------- 3 vlans 0 0 0 9 9
使用 show spanning-tree vlan {x} 命令,以檢視特定 VLAN 相關的詳細資訊。保留主要或可操作之主要 vPC 角色的交換器,會使其所有介面處於「指定轉送」狀態。保留次要或可操作之次要 vPC 角色的交換器,會使其所有介面處於「指定轉送」狀態(處於「根轉送」狀態的 vPC 對等連結除外)。請注意,顯示於 show vpc role 之輸出內容的 vPC 系統 MAC 位址,會與根橋接器 ID 和各 vPC 對等的橋接器 ID 相同。
N9K-1# show vpc role vPC Role status ---------------------------------------------------- vPC role : primary Dual Active Detection Status : 0 vPC system-mac : 00:23:04:ee:be:01 vPC system-priority : 32667 vPC local system-mac : 68:9e:0b:aa:de:a7 vPC local role-priority : 150 vPC local config role-priority : 150 vPC peer system-mac : 68:9e:0b:aa:de:07 vPC peer role-priority : 32667 vPC peer config role-priority : 32667 N9K-1# show spanning-tree vlan 1 VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 1 Address 0023.04ee.be01 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 1 (priority 0 sys-id-ext 1) Address 0023.04ee.be01 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Po1 Desg FWD 1 128.4096 (vPC peer-link) Network P2p Po10 Desg FWD 1 128.4105 (vPC) P2p Po20 Desg FWD 1 128.4115 (vPC) P2p N9K-2# show vpc role vPC Role status ---------------------------------------------------- vPC role : secondary Dual Active Detection Status : 0 vPC system-mac : 00:23:04:ee:be:01 vPC system-priority : 32667 vPC local system-mac : 68:9e:0b:aa:de:07 vPC local role-priority : 32667 vPC local config role-priority : 32667 vPC peer system-mac : 68:9e:0b:aa:de:a7 vPC peer role-priority : 150 vPC peer config role-priority : 150 N9K-2# show spanning-tree vlan 1 VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 1 Address 0023.04ee.be01 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 1 (priority 0 sys-id-ext 1) Address 0023.04ee.be01 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- -------------------------------- Po1 Root FWD 1 128.4096 (vPC peer-link) Network P2p Po10 Desg FWD 1 128.4105 (vPC) P2p Po20 Desg FWD 1 128.4115 (vPC) P2p
最後,我們可使用各 vPC 對等的 Ethanalyzer 控制層封包擷取公用程式,確認兩個 vPC 對等正在產生具有橋接器 ID 和根橋接器 ID(包含兩個 vPC 對等間共用的 vPC 系統 MAC 位址)的跨距樹狀目錄 BPDU。
N9K-1# ethanalyzer local interface inband display-filter stp limit-captured-frames 0 <snip> Capturing on inband 2021-05-13 01:59:51.664206 68:9e:0b:aa:de:d4 -> 01:80:c2:00:00:00 STP RST. Root = 0/1/00:23:04:ee:be:01 Cost = 0 Port = 0x9000 N9K-2# ethanalyzer local interface inband display-filter stp limit-captured-frames 0 <snip> Capturing on inband 2021-05-13 01:59:51.777034 68:9e:0b:aa:de:34 -> 01:80:c2:00:00:00 STP RST. Root = 0/1/00:23:04:ee:be:01 Cost = 0 Port = 0x9000
啟用 vPC 對等交換器增強功能的影響,會視跨距樹狀目錄網域的其他橋接器透過 vPC 連接至兩個 vPC 對等與否,或橋接器未使用 vPC 備援連接至兩個 vPC 對等與否而有所差異。
如果具有到兩個vPC對等體的冗餘鏈路的非vPC連線網橋(因此從生成樹協定角度而言,一個鏈路處於阻塞狀態)檢測到在生成樹BPDU中通告的生成樹根網橋發生變化,則網橋的根埠可以在兩個冗餘介面之間更改。相反的,如此可能會造成其他「指定轉送」介面立即轉換至「封鎖」狀態,接著周遊跨距樹狀目錄通訊協定有限狀態機器(封鎖、學習及轉送),其間隔暫停時間相當於設定的跨距樹狀目錄通訊協定轉送延遲計時器時間(依預設為 15 秒)。 根連接埠的變更與後續跨距樹狀目錄通訊協定有限狀態機器的周遊,可能會造成網路大量中斷。
值得一提的是,每當目前為跨距樹狀目錄網域之根橋接器的 vPC 對等離線(例如斷電、硬體故障或重新載入)時,就會發生這個影響。 此行為並非專屬於 vPC 對等交換器增強功能 – 從跨距樹狀目錄角度來看,啟用 vPC 對等交換器增強功能僅會造成 vPC 對等離線的類似行為。
如果 vPC 連接橋接器偵測到跨距樹狀目錄根橋接器中的變更(在跨距樹狀目錄 BPDU 中通告),則橋接器會從其 MAC 位址表排清動態學習的 MAC 位址。配置vPC對等交換機功能時,您可以在以下兩種情況下觀察此行為:
在大部分情況和拓撲中,並未觀察到因這兩種情況之一所造成的資料層影響。但是在短時間內,資料層流量會由於未知的單點傳送泛洪,而在 VLAN 內泛洪,因為訊框的目的地 MAC 位址不會在任何交換器連接埠上受到學習,因而直接導致動態學習 MAC 位址排清的結果。在部分拓撲中,如果資料層流量泛洪至 VLAN 內之超額訂閱的網路裝置,則此可能會造成短暫的效能問題或封包遺失。如此亦可能造成耗用大量頻寬之單向流動或無訊息主機(主要接收封包且鮮少傳送封包的主機)的問題,因為此流量會長時間在 VLAN 內泛洪,而非如常直接切換至目的地。
值得一提的是,此影響攸關於從受影響之 VLAN 內的橋接器 MAC 位址表排清動態學習 MAC 位址。此行為並非專屬於 vPC 對等交換器增強功能或根橋接器中的變更 – 此行為亦可能由拓撲變更通知(變更乃是由於非邊緣連接埠在 VLAN 內出現所產生)所造成。
考量以下拓撲:
在此拓撲中,N9K-1 和 N9K-2 為 vPC 網域中的 vPC 對等。N9K-1 會設定為適用於所有 VLAN 的跨距樹狀目錄優先順序值 0,使 N9K-1 成為所有 VLAN 的根橋接器。N9K-2 會設定為適用於所有 VLAN 的跨距樹狀目錄優先順序值 4096,使 N9K-2 成為所有 VLAN 的次要根橋接器。Access-1 為透過第 2 層交換器連接埠,同時備援連接至 N9K-1 和 N9K-2 的交換器。此類交換器連接埠並未組合成連接埠通道,因此跨距樹狀目錄通訊協定會將連接放置在處於「指定根」狀態之 N9K-1 的連結,以及連接至處於「替代封鎖」狀態之 N9K-2 的連結。
考量 N9K-1 因為交換器硬體故障、斷電或重新載入而離線的故障情況。N9K-2 會透過使用系統 MAC 位址做為橋接器 ID 通告跨距樹狀目錄 BPDU,宣告自身為所有 VLAN 的根橋接器。Access-1看到根網橋ID發生更改。此外,其「指定根」連接埠會轉換為「關閉/關閉」狀態,如此表示新的「指定根」連接埠會是原本對應 N9K-2 且處於「替代封鎖」狀態的連結。
「指定轉送」連接埠的如此變更,會造成非邊緣跨距樹狀目錄連接埠通過跨距樹狀目錄通訊協定有限狀態機器(封鎖、學習及轉送),其間隔暫停時間相當於設定的跨距樹狀目錄通訊協定轉送延遲計時器時間(依預設為 15 秒)。 此程序可能會對網路造成嚴重中斷。
在啟用 vPC 對等交換器增強功能的相同故障情況中,N9K-1 和 N9K-2 會使用共用 vPC 系統 MAC 位址做為橋接器 ID 傳輸相同的跨距樹狀目錄 BPDU。如果 N9K-1 故障,N9K-2 會持續傳輸此相同跨距樹狀目錄 BPDU。因此,Access-1 會立即將對應 N9K-2 的「替代封鎖」連結轉換為「指定根」狀態,然後開始在連結中轉送流量。此外,跨距樹狀目錄根橋接器 ID 不會變更的情況,可防止非邊緣連接埠通過跨距樹狀目錄通訊協定有限狀態機器,減少網路中觀察到中斷次數。
考量以下拓撲:
在此拓撲中,N9K-1 和 N9K-2 為 vPC 網域中的 vPC 對等,可在 VLAN 10 和 VLAN 20 間執行 VLAN 間路由。 N9K-1 會設定為適用於 VLAN 10 和 VLAN 20 的跨距樹狀目錄優先順序值 0,使 N9K-1 成為兩個 VLAN 的根橋接器。N9K-2 會設定為適用於 VLAN 10 和 VLAN 20 的跨距樹狀目錄優先順序值 4096,使 N9K-2 成為兩個 VLAN 的次要根橋接器。Host-1、Host-2、Host-3 及 Host-4 均會持續彼此進行通訊。
考量 N9K-1 因為交換器硬體故障、斷電或重新載入而離線的故障情況。N9K-2 會透過使用系統 MAC 位址做為橋接器 ID 通告跨距樹狀目錄 BPDU,宣告自身為 VLAN 10 和 VLAN 20 的根橋接器。Access-1和Access-2在根網橋ID中會看到一個變化,儘管生成樹保持不變(即面向N9K-1和N9K-2的vPC仍然是指定的根埠),但Access-1和Access-2都會刷新VLAN 10和VLAN 20中所有動態獲知的MAC地址的MAC地址。
在大部分的環境中,排清動態學習的 MAC 位址會造成的影響微乎其微。沒有任何封包遺失(除在 N9K-1 故障時傳輸至其中而遺失的封包外),但流量會暫時在各廣播網域內泛洪做為未知的單點傳送流量,而廣播網域中所有的交換器會重新學習動態 MAC 位址。
在啟用 vPC 對等交換器增強功能的相同故障情況中,N9K-1 和 N9K-2 會使用共用 vPC 系統 MAC 位址做為橋接器 ID 傳輸相同的跨距樹狀目錄 BPDU。如果 N9K-1 故障,N9K-2 會持續傳輸此相同跨距樹狀目錄 BPDU。因此,Access-1和Access-2不知道生成樹拓撲發生了任何變化 — 從它們的角度來看,根網橋生成樹BPDU是相同的,因此不需要刷新相關VLAN中動態獲取的MAC地址。在此故障情況中,如此可防止每個廣播網域中發生未知單點傳送流量泛洪。
本節將說明 vPC 對等閘道增強功能,此功能須使用 peer-gateway vPC 網域組態命令才可啟用。
vPC 網域中設定的 Nexus 交換器會依預設執行雙主動第一躍點備援通訊協定 (FHRP) 轉送。這表示如果任一 vPC 對等接收到封包(其目的地 MAC 位址屬於交換器中設定的熱待命路由器通訊協定 [HSRP] 或虛擬路由器備援通訊協定 [VRRP] 群組),交換器會根據其本機路由表進行封包的路由(無論其 HSRP 或 VRRP 控制層狀態)。換句話說,對於處於 HSRP 待命或 VRRP 備份狀態的 vPC 對等,將封包路由傳送至 HSRP 或 VRRP 虛擬 MAC 位址乃是預期的行為。
當 vPC 對等將封包路由傳送至 FHRP 虛擬 MAC 位址時,會使用新的來源和目的地 MAC 位址重寫封包。來源MAC位址是封包路由到的VLAN中vPC對等交換虛擬介面(SVI)的MAC位址。根據vPC對等體本地路由表,目的MAC地址是與資料包目的IP地址的下一跳IP地址關聯的MAC地址。在 VLAN 間路由情況下,如果封包已經過重寫,則封包的目的地 MAC 位址會是主機的 MAC 位址(封包的最終目的地)。
部分主機不會跟進標準轉送行為做為最佳化功能。透過此行為,當該主機回覆傳入封包時,不會執行路由表和/或 ARP 快取查詢。但是,主機會翻轉回覆封包之傳入封包的來源和目的地 MAC 位址。換句話說,傳入封包的來源 MAC 位址會成為回覆封包的目的地 MAC 位址,且傳入封包的目的地 MAC 位址會成為回覆封包的來源 MAC 位址。此行為與遵循標準轉送行為的主機不同,可執行本機路由表和/或 ARP 快取查詢,並將回覆封包的目的地 MAC 位址設定為 FHRP 虛擬 MAC 位址。
如果主機產生的回覆封包定址於一個 vPC 對等,但將 vPC 輸出至另一個 vPC 對等,則此非標準主機行為可能違反 vPC 迴圈避免規則。另一個 vPC 對等會接收到封包,該封包的傳送目的地為 vPC 對等所擁有的 MAC 位址,並會把封包從 vPC 對等連結轉送至 vPC 對等,而且該對等所擁有的 MAC 位址,即為封包的 MAC 位址欄位中所示的目的地。擁有 MAC 位址的 vPC 對等會嘗試在本機路由傳送封包。如果封包需要輸出 vPC,則 vPC 對等會因為違反 vPC 迴圈避免規則而捨棄此封包。因此,您可以利用此非標準行為觀察源自或目的地為主機的某些流的連線問題或封包丟失。
vPC 對等閘道增強功能的導入,係用於排除利用此非標準行為之主機所引起的封包遺失問題。藉由讓一個 vPC 對等在本機路由傳送至另一個 vPC 對等之 MAC 位址的封包,即可完成導入,使路由傳送至遠端 vPC 對等的封包不需要輸出 vPC 對等連結即可進行路由傳送。換句話說,vPC 對等閘道增強功能可讓一個 vPC 對等「代表」遠端 vPC 對等來路由傳送封包。vPC 對等閘道增強功能可使用 peer-gateway vPC 網域組態命令啟用。
如果在兩個vPC對等體與連線vPC的路由器或通過vPC孤立埠連線的路由器之間形成動態單播路由協定鄰接,則如果之後未立即配置通過vPC的路由/第3層增強功能,則路由協定鄰接可以在啟用vPC對等網關增強功能後持續開始抖動。此類故障情況將會在本文件之使用 vPC 對等閘道透過 vPC 形成單點傳送路由通訊協定鄰接範例故障情況和使用 vPC 對等閘道透過 vPC VLAN 形成單點傳送路由通訊協定鄰接的章節中詳細說明。
若要解決此問題,請在使用 peer-gateway vPC 網域組態命令啟用 vPC 對等閘道增強功能後,立即使用 layer3 peer-router vPC 網域組態命令啟用 Routing/Layer 3 over vPC 增強功能。
當 vPC 對等閘道增強功能啟用後,產生的 ICMP 和 ICMPv6 重新導向封包會在所有 vPC VLAN SVI(換句話說,與透過 vPC 對等連結中繼之 VLAN 相關聯的任何 SVI)中自動遭到停用。 交換器可透過在所有 vPC VLAN SVI 中設定 no ip redirects 和 no ipv6 redirects 達成此目的。這可防止交換器產生ICMP重新導向封包,以回應傳入交換器、但具有交換器vPC對等點的目的地MAC和IP位址的封包。
如果必須在特定 VLAN 內的環境中使用 ICMP 或 ICMPv6 重新導向封包,則您必須使用 peer-gateway exclude-vlan <vlan-id> vPC 網域組態命令,排除此 VLAN 利用 vPC 對等閘道增強功能。
附註:peer-gateway exclude-vlan<vlan-id> vPC 網域組態命令不支援 Nexus 9000 系列交換器。
設定 vPC 對等閘道功能的方法範例如下所示。
在此範例中,N9K-1 和 N9K-2 為 vPC 網域中的 vPC 對等。兩個 vPC 對等皆已針對 VLAN 10 設定 HSRP 群組。 N9K-1 為優先順序 150 的 HSRP Active 路由器,而 N9K-2 為預設優先順序 100 的 HSRP Standby 路由器。
N9K-1# show running-config vpc <snip> vpc domain 1 role priority 150 peer-keepalive destination 10.82.140.43 interface port-channel1 vpc peer-link N9K-2# show running-config vpc <snip> vpc domain 1 peer-keepalive destination 10.82.140.42 interface port-channel1 vpc peer-link N9K-1# show running-config interface vlan 10 <snip> interface Vlan10 no shutdown ip address 192.168.10.2/24 hsrp 10 preempt priority 150 ip 192.168.10.1 N9K-2# show running-config interface vlan 10 <snip> interface Vlan10 no shutdown ip address 192.168.10.3/24 hsrp 10 ip 192.168.10.1 N9K-1# show hsrp interface vlan 10 brief *:IPv6 group #:group belongs to a bundle P indicates configured to preempt. | Interface Grp Prio P State Active addr Standby addr Group addr Vlan10 10 150 P Active local 192.168.10.3 192.168.10.1 (conf) N9K-2# show hsrp interface vlan 10 brief *:IPv6 group #:group belongs to a bundle P indicates configured to preempt. | Interface Grp Prio P State Active addr Standby addr Group addr Vlan10 10 100 Standby 192.168.10.2 local 192.168.10.1 (conf)
N9K-1 之 VLAN 10 SVI 的 MAC 位址為 00ee.ab67.db47,而 N9K-2 之 VLAN 10 SVI 的 MAC 位址為 00ee.abd8.747f。VLAN 10 的 HSRP 虛擬 MAC 位址為 0000.0c07.ac0a。在此狀態下,每台交換機的VLAN 10 SVI MAC地址和HSRP虛擬MAC地址出現在每台交換機的MAC地址表中。每台交換機的VLAN 10 SVI MAC地址和HSRP虛擬MAC地址都顯示網關(G)標誌,表示交換機在本地路由發往此MAC地址的資料包。
請注意,N9K-1 的 MAC 位址表不會出現 N9K-2 之 VLAN 10 SVI MAC 位址的 Gateway 旗標。同樣的,N9K-2 的 MAC 位址表不會出現 N9K-1 之 VLAN 10 SVI MAC 位址的 Gateway 旗標。
N9K-1# show mac address-table vlan 10 Legend: * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC age - seconds since last seen,+ - primary entry using vPC Peer-Link, (T) - True, (F) - False, C - ControlPlane MAC, ~ - vsan VLAN MAC Address Type age Secure NTFY Ports ---------+-----------------+--------+---------+------+----+------------------ G 10 0000.0c07.ac0a static - F F sup-eth1(R) G 10 00ee.ab67.db47 static - F F sup-eth1(R) * 10 00ee.abd8.747f static - F F vPC Peer-Link(R) N9K-2# show mac address-table vlan 10 Legend: * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC age - seconds since last seen,+ - primary entry using vPC Peer-Link, (T) - True, (F) - False, C - ControlPlane MAC, ~ - vsan VLAN MAC Address Type age Secure NTFY Ports ---------+-----------------+--------+---------+------+----+------------------ G 10 0000.0c07.ac0a static - F F vPC Peer-Link(R) * 10 00ee.ab67.db47 static - F F vPC Peer-Link(R) G 10 00ee.abd8.747f static - F F sup-eth1(R)
我們可透過 peer-gateway vPC 網域組態命令啟用 vPC 對等閘道增強功能。這允許交換機本地路由接收的資料包,其目的MAC地址屬於在vPC對等鏈路上獲知的vPC對等MAC地址。這是通過在交換機的MAC地址表內的vPC對等MAC地址上設定網關標誌來實現的。
N9K-1# configure terminal Enter configuration commands, one per line. End with CNTL/Z. N9K-1(config)# vpc domain 1 N9K-1(config-vpc-domain)# peer-gateway N9K-1(config-vpc-domain)# end N9K-1# N9K-2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. N9K-2(config)# vpc domain 1 N9K-2(config-vpc-domain)# peer-gateway N9K-2(config-vpc-domain)# end N9K-2#
您可透過驗證 Gateway 旗標是否出現於 vPC 對等 MAC 的 MAC 位址表中,來確認 vPC 對等閘道增強功能是否如預期運作。
N9K-1# show mac address-table vlan 10 Legend: * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC age - seconds since last seen,+ - primary entry using vPC Peer-Link, (T) - True, (F) - False, C - ControlPlane MAC, ~ - vsan VLAN MAC Address Type age Secure NTFY Ports ---------+-----------------+--------+---------+------+----+------------------ G 10 0000.0c07.ac0a static - F F sup-eth1(R) G 10 00ee.ab67.db47 static - F F sup-eth1(R) G 10 00ee.abd8.747f static - F F vPC Peer-Link(R) N9K-2# show mac address-table vlan 10 Legend: * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC age - seconds since last seen,+ - primary entry using vPC Peer-Link, (T) - True, (F) - False, C - ControlPlane MAC, ~ - vsan VLAN MAC Address Type age Secure NTFY Ports ---------+-----------------+--------+---------+------+----+------------------ G 10 0000.0c07.ac0a static - F F vPC Peer-Link(R) G 10 00ee.ab67.db47 static - F F vPC Peer-Link(R) G 10 00ee.abd8.747f static - F F sup-eth1(R)
啟用vPC對等網關增強功能的影響可能因周圍拓撲和所連線主機的行為而異,如以下小節所述。如果這兩個子部分均不適用於您的環境,則啟用vPC對等網關增強功能不會造成中斷,也不會對您的環境產生影響。
如果在兩個vPC對等體與連線vPC的路由器或通過vPC孤立埠連線的路由器之間形成動態單播路由協定鄰接,則如果之後未立即配置通過vPC的路由/第3層增強功能,則路由協定鄰接可以在啟用vPC對等網關增強功能後持續開始抖動。此類故障情況將會在本文件之使用 vPC 對等閘道透過 vPC 形成單點傳送路由通訊協定鄰接範例故障情況和使用 vPC 對等閘道透過 vPC VLAN 形成單點傳送路由通訊協定鄰接的章節中詳細說明。
若要解決此問題,請在使用 peer-gateway vPC 網域組態命令啟用 vPC 對等閘道增強功能後,立即使用 layer3 peer-router vPC 網域組態命令啟用 Routing/Layer 3 over vPC 增強功能。
當 vPC 對等閘道增強功能啟用後,產生的 ICMP 和 ICMPv6 重新導向封包會在所有 vPC VLAN SVI(換句話說,與透過 vPC 對等連結中繼之 VLAN 相關聯的任何 SVI)中自動遭到停用。 交換器可透過在所有 vPC VLAN SVI 中設定 no ip redirects 和 no ipv6 redirects 達成此目的。這可防止交換器產生ICMP重新導向封包,以回應傳入交換器、但具有交換器vPC對等點的目的地MAC和IP位址的封包。
如果必須在特定 VLAN 內的環境中使用 ICMP 或 ICMPv6 重新導向封包,則您必須使用 peer-gateway exclude-vlan <vlan-id> vPC 網域組態命令,排除此 VLAN 利用 vPC 對等閘道增強功能。
附註:peer-gateway exclude-vlan<vlan-id> vPC 網域組態命令不支援 Nexus 9000 系列交換器。
考量以下拓撲:
在此拓撲中,N9K-1 和 N9K-2 為 vPC 網域中的 vPC 對等,可在 VLAN 10 和 VLAN 20 間執行 VLAN 間路由。 介面 Po1 為 vPC 對等連結。命名為 Host-1 的主機會透過 vPC Po10 連接至 VLAN 10 的 N9K-1 和 N9K-2。 Host-1 擁有 IP 位址 192.168.10.10,其 MAC 位址為 0000.0000.0010。 命名為 Host-2 的主機會透過 vPC Po20 連接至 VLAN 20 的 N9K-1 和 N9K-2。 Host-2 擁有 IP 位址 192.168.20.10,其 MAC 位址為 0000.0000.0020。
N9K-1 和 N9K-2 在 VLAN 10 和 VLAN 20 中皆具有 SVI,每個 SVI 下皆已啟用 HSRP。N9K-1 之 VLAN 10 介面的 IP 位址為 192.168.10.2,而 N9K-1 之 VLAN 20 介面的 IP 位址為 192.168.20.2。 N9K-1 之兩個 SVI 的實體 MAC 位址皆為 00ee.ab67.db47。 N9K-2 之 VLAN 10 介面的 IP 位址為 192.168.10.3,而 N9K-2 之 VLAN 20 介面的 IP 位址為 192.168.20.3。 N9K-2 之兩個 SVI 的實體 MAC 位址皆為 00ee.abd8.747f。VLAN 10 的 HSRP 虛擬 IP 位址為 192.168.10.1,而 HSRP 虛擬 MAC 位址為 0000.0c07.ac0a。VLAN 20 的 HSRP 虛擬 IP 位址為 192.168.20.1,而 HSRP 虛擬 MAC 位址為 0000.0c07.ac14。
考量 Host-1 傳送 ICMP 回應要求封包至 Host-2 的情況。 在 Host-1 解析其預設閘道(HSRP 虛擬 IP 位址)的 ARP 後,Host-1 會遵循標準轉送行為,並產生 ICMP 回應要求封包(其來源 IP 位址為 192.168.10.10、目的地 IP 位址為 192.168.20.10、來源 MAC 位址為 0000.0000.0010,以及目的地 MAC 位址為 0000.0c07.ac0a)。此封包會輸出至 N9K-1。 其視覺範例如下所示。
N9K-1 會接收此封包。由於此封包的目的地為 HSRP 虛擬 MAC 位址,因此 N9K-1 可根據其本機路由表路由傳送此封包(不受其 HSRP 控制層狀態影響)。此資料包從VLAN 10路由到VLAN 20。在路由資料包過程中,N9K-1會通過重新定址資料包的源MAC地址和目標MAC地址欄位來執行資料包重寫。新的封包來源 MAC 位址會是與 N9K-1 的 VLAN 20 SVI (00ee.ab67.db47) 相關聯的實體 MAC 位址,而新的目的地 MAC 位址會是與 Host-2 (0000.0000.0020) 相關聯的 MAC 位址。其視覺範例如下所示。
Host 2 會接收此封包,並產生 ICMP 回應回覆封包來回覆 Host-1 的 ICMP 回應要求封包。但是,Host-2 有時並不遵循標準轉送行為。若要最佳化其轉送功能, Host-2 不會執行 Host-1 之 IP 位址 (192.168.10.10) 的路由表或 ARP 快取查詢;反之,Host-2 會反轉其原始接收之 ICMP 回應要求封包的來源 MAC 位址和目的地 MAC 位址欄位。因此,Host-2 產生的 ICMP 回應回覆封包的來源 IP 位址為 192.168.20.10、目的地 IP 位址為 192.168.10.10、來源 MAC 位址為 0000.0000.0020,以及目的地 MAC 位址為 00ee.ab67.db47。
如果此 ICMP 回應回覆封包輸出至 N9K-1,則此封包會毫無問題地遭轉送至 Host-1。但是,請考量此 ICMP 回應回覆封包輸出至 N9K-2 的情況,如下所示。
N9K-2 會接收此封包。由於此資料包的目的地是N9K-1的VLAN 20 SVI的物理MAC地址,因此N9K-2會通過vPC對等鏈路將該資料包轉發到N9K-1,因為N9K-2無法代表N9K-1路由此資料包。此處顯示了一個直觀示例。
N9K-1 會接收此封包。由於此封包的目的地為 N9K-1 之 VLAN 20 SVI 的實體 MAC 位址,因此 N9K-1 可根據其本機路由表路由傳送此封包(不受其 HSRP 控制層狀態影響)。此資料包從VLAN 20路由到VLAN 10。但是,此路由的出口介面解析為vPC Po10,該介面在N9K-2上處於運行狀態。 這是對vPC環路避免規則的違規 — 如果N9K-1通過vPC對等鏈路收到資料包,如果N9K-2上相同vPC介面已啟動,則N9K-1無法將該資料包從vPC介面轉發出去。由於此違規,N9K-1將丟棄此資料包。其視覺範例如下所示。
您可透過使用 peer-gateway vPC 網域組態命令啟用 vPC 對等閘道增強功能,藉以解決此問題。如此即使封包之目的地 MAC 位址為 N9K-1 所擁有(而非 N9K-2),仍可讓 N9K-2 代表 N9K-1 路由傳送 ICMP 回應回覆封包(和其他以類似方式定址的封包)。 因此,N9K-2 可從其 vPC Po10 介面轉送此封包,而非透過 vPC 對等連結進行轉送。
本節將說明 Routing/Layer 3 over vPC 增強功能,此功能須使用 layer3 peer-router vPC 網域組態命令才可啟用。
附註:不支援啟用 Routing/Layer 3 over vPC 增強功能,形成 vPC 的多點傳送路由通訊協定鄰接(亦即通訊協定無關多點傳送 [PIM] 鄰接)。
在部分環境中,客戶希望透過 vPC 將路由器連接至 Nexus 交換器組,並使用兩個 vPC 對等透過 vPC 形成單點傳送路由通訊協定鄰接。或者,某些使用者喜歡通過vPC VLAN將路由器連線到單個vPC對等體,並通過vPC VLAN與兩個vPC對等體形成單播路由協定鄰接。因此,針對透過兩個 Nexus 交換器通告的首碼,vPC 連接路由器會使用等價多重路徑 (ECMP)。這比在與vPC連線的路由器和兩個vPC對等體之間使用專用路由鏈路來節省IP地址利用率(需要3個IP地址而不是4個IP地址)或降低配置複雜性(路由介面與SVI並行,特別是在需要子介面的VRF-Lite環境中)更為可取。
在過去,Cisco Nexus 平台並不支援透過 vPC 形成單點傳送路由通訊協定鄰接。但是,有些使用者可能實現了一種拓撲,在該拓撲中,單播路由協定鄰接關係在vPC上順利形成,即使它們不受支援。在網路發生部分變更後(例如 vPC 連接路由或 vPC 對等本身的軟體升級、防火牆容錯移轉等),透過 vPC 的單點傳送路由通訊協定鄰接會停止運作,導致資料層流量封包遺失,或單點傳送路由通訊協定鄰接無法建立一或兩個 vPC 對等。此類情況故障與不支援之原因背後的技術詳細資料將於本文件的範例故障情況章節中探討。
導入 Routing/Layer 3 over vPC 增強功能,藉此新增透過 vPC 形成單點傳送路由通訊協定鄰接的支援。藉由讓 TTL 為 1 的單點傳送路由通訊協定封包透過 vPC 對等連結轉送,即可達成此目的,不會使封包的 TTL 遞減。因此,單點傳送通訊協定鄰接可毫無問題地透過 vPC 或 vPC VLAN 形成。使用 peer-gateway vPC 網域組態命令啟用 vPC 對等閘道增強功能後,Routing/Layer 3 over vPC 增強功能可使用 layer3 peer-router vPC 網域組態命令啟用 。
針對每個 Cisco Nexus 平台導入 Routing/Layer 3 over vPC 增強功能的支援之 NX-OS 軟體版本,皆記載於在 Nexus 平台上透過虛擬連接埠通道路由的支援拓撲文件內的表 2(「透過 vPC 的路由通訊協定鄰接支援」)。
啟用Routing/Layer 3 over vPC增強功能後,兩個vPC對等體都會開始生成類似以下內容的系統日誌:
2021 May 26 19:13:47.079 switch %VPC-2-L3_VPC_UNEQUAL_WEIGHT: Layer3 peer-router is enabled. Please make sure both vPC peers have the same L3 routing configuration. 2021 May 26 19:13:47.351 switch %VPC-2-L3_VPC_UNEQUAL_WEIGHT: Unequal weight routing is not supported in L3 over vPC. Please make sure both vPC peers have equal link cost configuration
以上系統日誌皆不會顯示交換器的問題。這些系統日誌向管理員發出警告,當啟用通過vPC的路由/第3層增強功能時,這兩個vPC對等體上的路由配置、成本和權重必須相同,以確保兩個vPC對等體能夠以相同方式路由流量。這不一定表示任何一個 vPC 對等出現不符合的路由組態、成本或加權。
以上系統日誌可透過此處顯示的組態停用。
switch# configure terminal switch(config)# vpc domain 1 switch(config-vpc-domain)# no layer3 peer-router syslog switch(config-vpc-domain)# end switch#
此組態必須在兩個 vPC 對等上執行,才可在其中停用系統日誌。
當 Routing/Layer 3 over vPC 增強功能在 Nexus 9000 系列交換器(配備執行 NX-OS 軟體 9.3 (6) 版以前之 NX-OS 軟體版本的 Cloud Scale ASIC)上啟用後,與單點傳送路由通訊協定(TTL 為 1)不相關聯的資料層流量會推送至監管裝置,並在軟體(而非硬體)中轉送。根據Nexus交換機是固定機箱(也稱為「架頂式」)交換機還是模組化機箱(也稱為「行尾式」)交換機,以及交換機當前的NX-OS軟體版本,此問題的根本原因可能是軟體缺陷Cisco錯誤ID CSCvs82183 或軟體瑕疵思科錯誤 ID CSCvw16965 .此兩種軟體瑕疵僅會影響配備 Cloud Scale ASIC 的 Nexus 9000 系列交換器 – 其他 Cisco Nexus 硬體平台皆未受到任一問題影響。如需詳細資料,請參閱個別軟體瑕疵的資訊。
若要避免此類軟體瑕疵,思科建議升級至 NX-OS 軟體 9.3(6) 版或更新版本。做為一般建議,思科通常會建議升級至適用於 Nexus 9000 系列交換器之最新建議的 NX-OS 軟體版本(請參照適用於 Cisco Nexus 9000 系列交換器的建議 Cisco NX-OS 版本文件)。
設定 Routing/Layer 3 over vPC 增強功能的方式範例如下所示。
在此範例中,N9K-1 和 N9K-2 為 vPC 網域中的 vPC 對等。兩個 vPC 對等皆已啟用 vPC 對等閘道增強功能,此功能必須先啟用,才可啟用 Routing/Layer 3 over vPC 增強功能。兩個 vPC 對等在 VLAN 10 中皆具有 SVI,且 SVI 已在 OSPF 程序 1 下啟用。 使用 vPC 連接 OSPF 路由器(IP 位址和相鄰裝置 ID 為 192.168.10.3)的 N9K-1 和 N9K-3 皆停滯在 OSPF EXSTART/EXCHANGE 狀態。
N9K-1# show running-config vpc <snip> vpc domain 1 role priority 150 peer-keepalive destination 10.122.190.196 peer-gateway interface port-channel1 vpc peer-link N9K-2# show running-config vpc <snip> vpc domain 1 peer-keepalive destination 10.122.190.195 peer-gateway interface port-channel1 vpc peer-link N9K-1# show running-config interface Vlan10 interface Vlan10 no shutdown no ip redirects ip address 192.168.10.1/24 no ipv6 redirects ip router ospf 1 area 0.0.0.0 N9K-2# show running-config interface Vlan10 interface Vlan10 no shutdown no ip redirects ip address 192.168.10.2/24 no ipv6 redirects ip router ospf 1 area 0.0.0.0 N9K-1# show running-config ospf feature ospf router ospf 1 interface Vlan10 ip router ospf 1 area 0.0.0.0 N9K-2# show running-config ospf feature ospf router ospf 1 interface Vlan10 ip router ospf 1 area 0.0.0.0 N9K-1# show ip ospf neighbors OSPF Process ID 1 VRF default Total number of neighbors: 3 Neighbor ID Pri State Up Time Address Interface 192.168.10.2 1 TWOWAY/DROTHER 00:08:10 192.168.10.2 Vlan10 192.168.10.3 1 EXCHANGE/BDR 00:07:43 192.168.10.3 Vlan10 N9K-2# show ip ospf neighbors OSPF Process ID 1 VRF default Total number of neighbors: 3 Neighbor ID Pri State Up Time Address Interface 192.168.10.1 1 TWOWAY/DROTHER 00:08:21 192.168.10.1 Vlan10 192.168.10.3 1 EXSTART/BDR 00:07:48 192.168.10.3 Vlan10
我們可透過 layer3 peer-router vPC 網域組態命令啟用 Routing/Layer 3 over vPC 增強功能。如此可防止 vPC 對等因啟用 vPC 對等閘道增強功能,而使已路由之單點傳送路由通訊協定封包的 TTL 遞減。
N9K-1# configure terminal Enter configuration commands, one per line. End with CNTL/Z. N9K-1(config)# vpc domain 1 N9K-1(config-vpc-domain)# layer3 peer-router N9K-1(config-vpc-domain)# end N9K-1# N9K-2# configure terminal Enter configuration commands, one per line. End with CNTL/Z. N9K-2(config)# vpc domain 1 N9K-2(config-vpc-domain)# layer3 peer-router N9K-2(config-vpc-domain)# end N9K-2#
您可透過驗證使用 vPC 連接 OSPF 相鄰裝置的 OSPF 鄰接,在啟用 Routing/Layer 3 over vPC 增強功能後,是否立即轉換至 FULL 狀態,確認 Routing/Layer 3 over vPC 增強功能是否如預期運作。
N9K-1# show ip ospf neighbors OSPF Process ID 1 VRF default Total number of neighbors: 3 Neighbor ID Pri State Up Time Address Interface 192.168.10.2 1 TWOWAY/DROTHER 00:12:17 192.168.10.2 Vlan10 192.168.10.3 1 FULL/BDR 00:00:29 192.168.10.3 Vlan10 N9K-2# show ip ospf neighbors OSPF Process ID 1 VRF default Total number of neighbors: 3 Neighbor ID Pri State Up Time Address Interface 192.168.10.1 1 TWOWAY/DROTHER 00:12:27 192.168.10.1 Vlan10 192.168.10.3 1 FULL/BDR 00:00:19 192.168.10.3 Vlan10
啟用 Routing/Layer 3 over vPC 增強功能本質上不會對 vPC 網域造成任何影響。如此表示,當您啟用 Routing/Layer 3 over vPC 增強功能後,vPC 對等不會暫停任何 vPC,任何資料層流量本質上亦不會因啟用此增強功能而受到影響。
但是,如果在啟用此增強後動態路由協定鄰接(以前因未啟用vPC上的路由/第3層增強功能而關閉)突然出現,則取決於受影響的路由協定鄰接的作用、通過這些鄰接關係通告的特定字首以及單播路由表的當前狀態,在啟用vPC上的路由/第3層增強功能時,可能會出現一些中斷。
因此,思科建議客戶在維護時段啟用此增強功能,並期望出現控制平面和資料平面中斷,除非客戶非常確信受影響的路由協定鄰接關係不會對網路運行產生重大影響。
思科還建議仔細檢視本文檔的警告部分,以瞭解影響NX-OS軟體版本的任何軟體缺陷,這些缺陷可能導致TTL為1的自然資料平面流量在軟體而非硬體中處理。
考量以下所示的拓撲:
在此拓撲中,Nexus 交換器 N9K-1 和 N9K-2 皆為 vPC 網域內的 vPC 對等,其中的 vPC 對等閘道增強功能尚未啟用。介面 Po1 為 vPC 對等連結。主機名為Router的路由器通過vPC Po10連線到N9K-1和N9K-2。主機通過vPC Po20連線到N9K-1和N9K-2。路由器的Po10介面是路由埠通道,在單播路由協定下啟用。N9K-1 和 N9K-2 皆具有遵循相同單點傳送路由通訊協定啟用的 SVI 介面,且皆與 Router 位於相同的廣播網域。
不支援在不啟用vPC對等網關增強功能的vPC上的單播路由協定鄰接關係,因為vPC連線的路由器的ECMP雜湊決策和第2層埠通道雜湊決策可能不同。在此拓撲中,路由器、N9K-1和N9K-2之間將成功形成路由協定鄰接。請考慮路由器和主機之間的流量流。通過路由器發往主機的資料平面流量可以用屬於N9K-1的SVI MAC地址的目標MAC地址重寫(由於路由器做出的ECMP雜湊決定),但輸出到介面Ethernet1/2外(由於路由器作出的第2層埠通道雜湊決定)。
由於目的地 MAC 位址屬於 N9K-1,且 vPC 對等閘道增強功能(此功能可讓 N9K-2 代表 N9K-1 路由傳送封包)尚未啟用,因此 N9K-2 會接收此封包,並透過 vPC 對等連結轉送。N9K-1 會透過 vPC 對等連結接收此封包,並瞭解可能需要從其 vPC Po20 中的 Ethernet1/2 轉送封包。 這會違反 vPC 迴圈避免規則,所以 N9K-1 會捨棄硬體中的封包。因此,您可以觀察此拓撲中流經vPC域的某些流的連線問題或資料包丟失。
您可透過使用 peer-gateway vPC 網域組態命令啟用 vPC 對等閘道增強功能,再使用 layer3 peer-router vPC 網域組態命令啟用 Routing/Layer 3 over vPC 增強功能來解決此問題。為了最大限度地減少中斷,您需要快速連續啟用兩個vPC增強功能,以便使用vPC對等網關的vPC上的單播路由協定鄰接中描述的故障場景沒有時間發生。
考量以下所示的拓撲:
在此拓撲中,Nexus 交換器 N9K-1 和 N9K-2 皆為 vPC 網域內的 vPC 對等,其中的 vPC 對等閘道增強功能已啟用。介面 Po1 為 vPC 對等連結。主機名為Router的路由器通過vPC Po10連線到N9K-1和N9K-2。路由器的Po10介面是路由埠通道,在單播路由協定下啟用。N9K-1 和 N9K-2 皆具有遵循相同單點傳送路由通訊協定啟用的 SVI 介面,且皆與 Router 位於相同的廣播網域。
不支援在已啟用vPC對等網關增強功能的vPC上建立單播路由協定鄰接,因為vPC對等網關增強功能可以防止在與vPC連線的路由器和兩個vPC對等體之間形成單播路由協定鄰接。在此拓撲中,路由器與N9K-1或N9K-2之間的路由協定鄰接關係可能無法按預期啟動,具體取決於路由器發起的單播路由協定資料包如何通過vPC Po10到達N9K-1或N9K-2雜湊。
所有路由皆可毫無問題地傳送和接收連結本機的多點傳送路由通訊協定封包(一般稱為「Hello」封包),因為此類封包皆會成功泛洪至 vPC VLAN。但是,請考慮以下情況:由於路由器作出第2層埠通道雜湊決策,從路由器發往N9K-1的單播路由協定資料包從Ethernet1/2發往N9K-2。此封包會傳送至 N9K-1 的 SVI MAC 位址,但會輸入 N9K-2 的 Ethernet1/1 介面。N9K-2 會看見封包傳送至 N9K-1 的 SVI MAC 位址,而由於 vPC 對等閘道增強功能已啟用,所以該位址會安裝於 N9K-2 的 MAC 位址表(具有「G」或「Gateway」旗標)。因此,N9K-2 會嘗試代表 N9K-1 在本機安排單點傳送路由通訊協定封包的路由。
但是,通過路由資料包,資料包的生存時間(TTL)會減少,而大多數單播路由協定資料包的TTL是1。因此,資料包的TTL會減少為0,然後由N9K-2丟棄。從N9K-1的角度來看,N9K-1正在接收來自路由器的本地鏈路組播路由協定資料包,能夠向路由器傳送單播路由協定資料包,但未接收來自路由器的單播路由協定資料包。因此,N9K-1 會解除與 Router 的路由通訊協定鄰接,然後針對路由通訊協定重新啟動其本機有限狀態機器。同樣地,Router 會針對路由通訊協定重新啟動其本機有限狀態機器。
您可透過 layer 3 peer-router vPC 網域組態命令啟用 Routing/Layer 3 over vPC 增強功能來解決此問題。如此可讓 TTL 為 1 的單點傳送路由通訊協定封包透過 vPC 對等連結轉送,不會使封包的 TTL 遞減。因此,單點傳送通訊協定鄰接可毫無問題地透過 vPC 或 vPC VLAN 形成。
考量以下所示的拓撲:
在此拓撲中,Nexus 交換器 N9K-1 和 N9K-2 皆為 vPC 網域內的 vPC 對等,其中的 vPC 對等閘道增強功能尚未啟用。介面 Po1 為 vPC 對等連結。主機名為Router的路由器通過Ethernet1/1連線到N9K-1的Ethernet1/1。路由器的Ethernet1/1介面是一個路由介面,在單播路由協定下啟用。N9K-1 和 N9K-2 皆具有遵循相同單點傳送路由通訊協定啟用的 SVI 介面,且皆與 Router 位於相同的廣播網域。
不支援未啟用vPC對等網關增強功能的vPC VLAN上的單播路由協定鄰接關係,因為vPC VLAN連線路由器的ECMP雜湊決策可能導致N9K-2丟棄資料平面流量,從而違反vPC環路避免規則。在此拓撲中,路由器、N9K-1和N9K-2之間將成功形成路由協定鄰接。請考慮路由器和主機之間的流量流。通過路由器發往主機的資料平面流量可以用屬於N9K-2的SVI MAC地址的目標MAC地址重寫(由於路由器做出的ECMP雜湊決定),並從介面Ethernet1/1出口到N9K-1。
由於目的地 MAC 位址屬於 N9K-2,且 vPC 對等閘道增強功能(此功能可讓 N9K-1 代表 N9K-2 路由傳送封包)尚未啟用,因此 N9K-1 會接收此封包,並透過 vPC 對等連結轉送。N9K-2 會透過 vPC 對等連結接收此封包,並瞭解可能需要從其 vPC Po20 中的 Ethernet1/2 轉送封包。 這會違反 vPC 迴圈避免規則,所以 N9K-2 會捨棄硬體中的封包。因此,您可以觀察此拓撲中流經vPC域的某些流的連線問題或資料包丟失。
您可透過使用 peer-gateway vPC 網域組態命令啟用 vPC 對等閘道增強功能,再使用 layer3 peer-router vPC 網域組態命令啟用 Routing/Layer 3 over vPC 增強功能來解決此問題。為了最大限度地減少中斷,您需要快速連續啟用兩個vPC增強功能,以便使用vPC對等網關的vPC上的單播路由協定鄰接中描述的故障場景沒有時間發生。
考量以下所示的拓撲:
在此拓撲中,Nexus 交換器 N9K-1 和 N9K-2 皆為 vPC 網域內的 vPC 對等,其中的 vPC 對等閘道增強功能已啟用。介面 Po1 為 vPC 對等連結。主機名為Router的路由器通過Ethernet1/1連線到N9K-1的Ethernet1/1。路由器的Ethernet1/1介面是一個路由介面,在單播路由協定下啟用。N9K-1 和 N9K-2 皆具有遵循相同單點傳送路由通訊協定啟用的 SVI 介面,且皆與 Router 位於相同的廣播網域。
由於 vPC 對等閘道增強功能會讓單點傳送路由通訊協定鄰接,無法在 vPC VLAN 連接路由器和 vPC 對等(vPC VLAN 連接路由器未直接連接)間形成,因此不支援透過啟用 vPC 對等閘道增強功能的 vPC VLAN 形成單點傳送路由通訊協定鄰接。在此拓撲中,由於 N9K-1 將單點傳送路由通訊協定封包路由傳送至 N9K-2 的 SVI MAC 位址(因為 vPC 對等閘道增強功能已啟用),因此 Router 和 N9K-2 間的路由通訊協定鄰接無法如預期建立。因為封包已路由傳送,因此其存留時間 (TTL) 必須遞減。單播路由協定資料包的TTL通常為1,將資料包的TTL降低為0的路由器必須丟棄該資料包。
所有路由皆可毫無問題地傳送和接收連結本機的多點傳送路由通訊協定封包(一般稱為「Hello」封包),因為此類封包皆會成功泛洪至 vPC VLAN。但是,請考慮以下情況:源自N9K-2的路由器的單播路由協定資料包從Ethernet1/1進入N9K-1。此資料包的目的地為N9K-2的SVI MAC地址,但輸入N9K-1的Ethernet1/1介面。N9K-1 會看見封包傳送至 N9K-2 的 SVI MAC 位址,而由於 vPC 對等閘道增強功能已啟用,所以該位址會安裝於 N9K-1 的 MAC 位址表(具有「G」或「Gateway」旗標)。因此,N9K-1 會嘗試代表 N9K-2 在本機安排單點傳送路由通訊協定封包的路由。
然而,通過路由資料包,資料包的TTL會遞減,而大多數單播路由協定資料包的TTL會遞減1。因此,資料包的TTL會遞減為0,然後由N9K-1丟棄。從N9K-2的角度來看,N9K-2正在接收來自路由器的本地鏈路組播路由協定資料包,能夠向路由器傳送單播路由協定資料包,但不會接收來自路由器的單播路由協定資料包。因此,N9K-2 會解除與 Router 的路由通訊協定鄰接,然後針對路由通訊協定重新啟動其本機有限狀態機器。同樣地,Router 會針對路由通訊協定重新啟動其本機有限狀態機器。
您可透過 layer 3 peer-router vPC 網域組態命令啟用 Routing/Layer 3 over vPC 增強功能來解決此問題。如此可讓 TTL 為 1 的單點傳送路由通訊協定封包透過 vPC 對等連結轉送,不會使封包的 TTL 遞減。因此,單點傳送通訊協定鄰接可毫無問題地透過 vPC 或 vPC VLAN 形成。
考量以下所示的拓撲:
在此拓撲中,Nexus 交換器 N9K-1 和 N9K-2 皆為 vPC 網域內的 vPC 對等,其中的 vPC 對等閘道增強功能已啟用。Nexus 交換器 N9K-3 和 N9K-4 皆為 vPC 網域內的 vPC 對等,其中的 vPC 對等閘道增強功能已啟用。兩個 vPC 網域會透過連續 vPC Po10 彼此連接。 所有四個交換器皆具有遵循單點傳送路由通訊協定啟用的 SVI 介面,且皆位於相同的廣播網域。
由於 vPC 對等閘道增強功能可能會讓單點傳送路由通訊協定鄰接,無法在一個 vPC 網域和另一個 vPC 網域間形成,因此不支援透過啟用 vPC 對等閘道增強功能的連續 vPC 形成單點傳送路由通訊協定鄰接。在此拓撲中,N9K-1 和 N9K-3 或 N9K-4(或兩者)間的路由通訊協定鄰接可能無法如預期建立。同樣地,N9K-2 和 N9K-3 或 N9K-4(或兩者)間的路由通訊協定鄰接可能無法如預期建立。這是因為單播路由協定資料包可以發往一台路由器(例如N9K-3),但根據始發路由器的第2層埠通道雜湊決策轉發到另一台路由器(例如N9K-4)。
此問題的根本原因與本文件之「使用 vPC 對等閘道透過 vPC 形成單點傳送路由通訊協定鄰接」的章節所述的根本原因相同。您可透過 layer 3 peer-router vPC 網域組態命令啟用 Routing/Layer 3 over vPC 增強功能來解決此問題。如此可讓 TTL 為 1 的單點傳送路由通訊協定封包透過 vPC 對等連結轉送,不會使封包的 TTL 遞減。因此,單點傳送通訊協定鄰接可毫無問題地透過連續 vPC 形成。
考量以下所示的拓撲:
在此拓撲中,Nexus 交換器 N9K-1 和 N9K-2 皆為 vPC 網域內的 vPC 對等,其中的 vPC 對等閘道增強功能已啟用。Nexus 交換器 N9K-3 和 N9K-4 皆為 vPC 網域內的 vPC 對等,其中的 vPC 對等閘道增強功能已啟用。兩個 vPC 網域會透過連續 vPC Po10 彼此連接。 所有四個交換器皆具有遵循單點傳送路由通訊協定啟用的 SVI 介面,且皆位於相同的廣播網域。N9K-4 為廣播網域的 OSPF 指定路由器 (DR),而 N9K-3 為廣播網域的 OSPF 備份指定路由器 (BDR)。
在此情況中,由於單點傳送 OSPF 封包輸出兩個交換器的 Ethernet1/1,因此 N9K-1 和 N9K-3 間的 OSPF 鄰接會轉換為 FULL 狀態。同樣地,由於單點傳送 OSPF 封包輸出兩個交換器的 Ethernet1/2,因此 N9K-2 和 N9K-3 間的 OSPF 鄰接會轉換為 FULL 狀態。
但是,由於單點傳送 OSPF 封包輸出兩個交換器的 Ethernet1/1,且遭 N9K-2 和 N9K-4 捨棄(如本文件之「使用 vPC 對等閘道透過連續 vPC 形成單點傳送路由通訊協定鄰接」的章節所述),因此 N9K-1 和 N9K-4 間的 OSPF 鄰接會停滯在 EXSTART 或 EXCHANGE 狀態。同樣地,由於單點傳送 OSPF 封包輸出兩個交換器的 Ethernet1/2,且遭 N9K-1 和 N9K-3 捨棄(如本文件之「使用 vPC 對等閘道透過連續 vPC 形成單點傳送路由通訊協定鄰接」的章節所述),因此 N9K-2 和 N9K-4 間的 OSPF 鄰接會停滯在 EXSTART 或 EXCHANGE 狀態。
因此,使用廣播網域之 BDR 的 N9K-1 和 N9K-2 會處於 FULL 狀態,但使用廣播網域的 DR 時會處於 EXSTART 或 EXCHANGE 狀態。廣播網域的 DR 和 BDR 會同時保留 OSPF 連結狀態資料庫 (LSDB) 的完整副本,但使用廣播網域之 DR 的 OSPF DROTHER 路由器必須處於 FULL 狀態,才可安裝透過 DR 或 BDR 的 OSPF 學習的首碼。因此,N9K-1 和 N9K-2 可能擁有從 N9K-3 和 N9K-4(出現於 OSPF LSDB)學習的首碼,但在 N9K-1 和 N9K-2 轉換為 N9K-4(廣播網域的 DR)的 FULL 狀態之前,此類首碼無法安裝於單點傳送路由表。
您可透過 layer 3 peer-router vPC 網域組態命令啟用 Routing/Layer 3 over vPC 增強功能來解決此問題。如此可讓 TTL 為 1 的單點傳送路由通訊協定封包透過 vPC 對等連結轉送,不會使封包的 TTL 遞減。因此,單點傳送通訊協定鄰接可毫無問題地透過連續 vPC 形成。而 N9K-1 和 N9K-2 會轉換為 N9K-4(廣播網域的 DR)的 FULL 狀態,且會將透過 OSPF 從 N9K-3 和 N9K-4 學習的首碼, 成功安裝於其個別的單點傳送路由表。
修訂 | 發佈日期 | 意見 |
---|---|---|
5.0 |
05-Dec-2024 |
固定報頭和連結、機器翻譯和SEO最佳化 |
4.0 |
12-Dec-2022 |
重新認證 |
3.0 |
29-Oct-2021 |
已更正vPC對等網關故障場景中的拼寫錯誤。 |
2.0 |
15-Sep-2021 |
新增有關在Nexus 9000系列交換機上不支援「peer-gateway exclude-vlan」 vPC域配置命令的說明。 |
1.0 |
30-Jul-2021 |
初始版本 |