在vPC拓扑中,仅孤立端口流量或泛洪流量(未知单播、广播、组播)的对等链路上会看到用户流量。 对于此泛洪流量,交换机要求确保在vPC的一条支路上接收的泛洪流量不会发回另一个vPC支路上,以便数据包不会发回源或复制到其他vPC。
在基于Carmel的交换机(Nexus 55xx)中,vPC环路避免实施与基于Gatos(Nexus 5010/5020)的实施不同,后者使用单独的内部MCT VLAN在对等链路上泛洪流量。
由于基于Carmel的交换机支持L2MP或fabricpath,工程部门决定在对等链路上使用基于L2MP的转发。使用此型号时,vPC主交换机的交换机ID为2748(0xabc),而vPC辅助交换机的交换机ID为2749(0xabd)。 模拟交换机ID 2750(0xabe)将用作传入vPC但通过对等链路发送的帧的源交换机ID。vPC主交换机上的所有端口将是FTAG 256的成员,而vPC辅助交换机上的所有端口将是FTAG 257的成员。在vPC主交换机中,只有孤立端口将是FTAG 257的成员,而在vPC辅助交换机中,孤立端口将是FTAG 256的成员。
本文档没有任何特定的要求。
本文档不限于特定的软件和硬件版本。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
对于进入vPC主交换机的广播/未知单播/组播帧,它们将通过对等链路以FTAG 256发送出去。当vPC辅助交换机通过vPC对等链路获取此帧时,它会检查FTAG,自其256以来,vPC辅助交换机只会将其发送到仅是孤立端口的FTAG 256成员。对于来自vPC辅助的泛洪流量,它将以FTAG 257发送,当vPC主交换机收到此帧时,它仅将收到的泛洪帧发送给仅作为孤立端口的FTAG 257的成员。这是基于Carmel的交换机如何实现vPC环路避免的方法。
为了深入探讨基于L2MP/FTAG的泛洪帧在对等链路间的转发,请使用此拓扑:
N5K-C5596UP-109和N5K-C5596UP-100是运行NX-OS 5.2(1)N1(2a)的Nexus 5596交换机的vPC对。N5K-C5596UP-109是vPC主交换机,N5K-C5596UP-110是vPC辅助交换机。Port-channel 1是vPC对等链路。显示的IP地址属于交换机的接口VLAN 1。主机1和主机2是通过VLAN 1中的vPC连接的思科交换机。本文档中称为主机1和主机2。VLAN 1中有孤立端口连接到两台交换机上的Eth1/32。
以下是交换机的一些命令输出:
N5K-C5596UP-109# show vpc Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 2 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status : success Per-vlan consistency status : success Type-2 consistency status : success vPC role : primary Number of vPCs configured : 2 Peer Gateway : Enabled Peer gateway excluded VLANs : - Dual-active excluded VLANs : - Graceful Consistency Check : Enabled Auto-recovery status : Disabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ -------------------------------------------------- 1 Po1 up 1 vPC status ---------------------------------------------------------------------------- id Port Status Consistency Reason Active vlans ------ ----------- ------ ----------- -------------------------- ----------- 111 Po111 up success success 1 200 Po200 up success success 1 N5K-C5596UP-109# show platform fwm info l2mp myswid switch id ------------------------------------------------------------------- switch id manager ------------------------------------------------------------------- vpc role: 0 my primary switch id: 2748 (0xabc) emu switch id: 2750 (0xabe) peer switch id: 2749 (0xabd) N5K-C5596UP-109# show vpc orphan-ports Note: --------::Going through port database. Please be patient.::-------- VLAN Orphan Ports ------- ------------------------- 1 Eth1/32 N5K-C5596UP-110# show vpc Legend: (*) - local vPC is down, forwarding via vPC peer-link vPC domain id : 2 Peer status : peer adjacency formed ok vPC keep-alive status : peer is alive Configuration consistency status : success Per-vlan consistency status : success Type-2 consistency status : success vPC role : secondary Number of vPCs configured : 2 Peer Gateway : Enabled Peer gateway excluded VLANs : - Dual-active excluded VLANs : - Graceful Consistency Check : Enabled Auto-recovery status : Disabled vPC Peer-link status --------------------------------------------------------------------- id Port Status Active vlans -- ---- ------ -------------------------------------------------- 1 Po1 up 1 vPC status ---------------------------------------------------------------------------- id Port Status Consistency Reason Active vlans ------ ----------- ------ ----------- -------------------------- ----------- 111 Po111 up success success 1 200 Po200 up success success 1 N5K-C5596UP-110# show platform fwm info l2mp myswid switch id ------------------------------------------------------------------- switch id manager ------------------------------------------------------------------- vpc role: 1 my primary switch id: 2749 (0xabd) emu switch id: 2750 (0xabe) peer switch id: 2748 (0xabc) N5K-C5596UP-110# show vpc orphan-ports Note: --------::Going through port database. Please be patient.::-------- VLAN Orphan Ports ------- ------------------------- 1 Eth1/32 Now lets check on default FTAGs used and its members. N5K-C5596UP-109# show platform fwm info l2mp ftag all L2MP FTAG ------------------------------------------------------------------- ftag[0x9565b1c] id: 256 (0x100) Topology ID: 0x111 Ftag flags: 0 (invalid ftag-flags) Is stale: FALSE ftag_mask[0x973eca4] ifindex array: 0x160000c7 0x1600006e 0x1a01f000 0x15010000 0x15020000 0x1600007e 0x16000000 ifmap[0x88400fc] ifmap idx 6: ref 1, lu_mcq_alloced 0, lu_mcq 15 (orig 15) 'not pruned' ifmap idx 6: prune_ifmap 0, prune ref count 0, prune_unvisited 0 ifmap_idx 6: oifls_macg_ref_cnt 0, num_oifls 0 ifmap idx 6: ifs - sup-eth1 sup-eth2 Po200 Po1 Po111 Eth1/32 Po127 rpf: (0x0) alternate: 0 intf: Po1 (0x16000000) ftag_ucast_index: 1 ftag_flood_index: 1 ftag_mcast_index: 32 ftag_alt_mcast_index: 48 ------------------------------------------------------------------- ftag[0x9565e3c] id: 257 (0x101) Topology ID: 0x111 Ftag flags: 0 (invalid ftag-flags) Is stale: FALSE ftag_mask[0x95612b4] ifindex array: 0x1a01f000 0x15010000 0x15020000 0x16000000 ifmap[0x883b81c] ifmap idx 11: ref 1, lu_mcq_alloced 0, lu_mcq 14 (orig 14) 'not pruned' ifmap idx 11: prune_ifmap 0, prune ref count 0, prune_unvisited 0 ifmap_idx 11: oifls_macg_ref_cnt 0, num_oifls 0 ifmap idx 11: ifs - sup-eth1 sup-eth2 Po1 Eth1/32 rpf: (0x0) alternate: 1 intf: Po1 (0x16000000) ftag_ucast_index: 0 ftag_flood_index: -1 ftag_mcast_index: 0 ftag_alt_mcast_index: 0 ------------------------------------------------------------------- N5K-C5596UP-109# N5K-C5596UP-110# show platform fwm info l2mp ftag all L2MP FTAG ------------------------------------------------------------------- ftag[0x956a99c] id: 256 (0x100) Topology ID: 0x111 Ftag flags: 0 (invalid ftag-flags) Is stale: FALSE ftag_mask[0x98b4764] ifindex array: 0x16000066 0x1a01f000 0x15010000 0x15020000 0x16000000 ifmap[0x9635adc] ifmap idx 4: ref 1, lu_mcq_alloced 0, lu_mcq 15 (orig 15) 'not pruned' ifmap idx 4: prune_ifmap 0, prune ref count 0, prune_unvisited 0 ifmap_idx 4: oifls_macg_ref_cnt 0, num_oifls 0 ifmap idx 4: ifs - sup-eth1 sup-eth2 Po103 Po1 Eth1/32 rpf: (0x0) alternate: 1 intf: Po1 (0x16000000) ftag_ucast_index: 1 ftag_flood_index: -1 ftag_mcast_index: 32 ftag_alt_mcast_index: 48 ------------------------------------------------------------------- ftag[0x956acbc] id: 257 (0x101) Topology ID: 0x111 Ftag flags: 0 (invalid ftag-flags) Is stale: FALSE ftag_mask[0x97359bc] ifindex array: 0x160000c7 0x16000066 0x1600006e 0x1a01f000 0x15010000 0x15020000 0x1600007e 0x16000000 ifmap[0x95c624c] ifmap idx 7: ref 1, lu_mcq_alloced 0, lu_mcq 16 (orig 16) 'not pruned' ifmap idx 7: prune_ifmap 0, prune ref count 0, prune_unvisited 0 ifmap_idx 7: oifls_macg_ref_cnt 0, num_oifls 0 ifmap idx 7: ifs - sup-eth1 sup-eth2 Po200 Po103 Po1 Po111 Eth1/32 Po127 rpf: (0x0) alternate: 0 intf: Po1 (0x16000000) ftag_ucast_index: 0 ftag_flood_index: 1 ftag_mcast_index: 32 ftag_alt_mcast_index: 48 -------------------------------------------------------------------
测试 1:广播ARP流量进入vPC辅助
从主机1(192.168.1.101)对不存在的IP 192.168.1.199执行ping操作。 因此,主机1不断发出广播ARP请求,询问“谁是192.168.1.199”。 主机1会将此广播流量散列到vPC辅助交换机N5K-C5596UP-110,然后vPC辅助交换机N5K-C5596UP-110,从而将其泛洪到VLAN 1中的所有端口,包括vPC对等链路Po1。
捕获端口通道1的TX SPAN,以查看此ARP广播的交换矩阵路径报头,该ARP广播是FP术语中的多目标帧。查看此多目标帧的交换矩阵路径报头。
由于帧通过vPC(vPC 111)进入,因此源交换机ID为abe.00.0000。
目的地是广播MAC FF:FF:FF:FF:FF:FF
FTAG是257。
当此帧进入vPC主交换机时,它将检查FTAG 257。由于只有孤立端口是FTAG 257的成员,因此此广播ARP帧将仅发送到Eth 1/32。
测试 2:进入vPC辅助的未知单播帧
为了引入未知单播流量,在主机1上,我为192.168.1.99设置了静态ARP,静态MAC为0001.0002.0003,并对192.168.1.99执行ping操作。ICMP回应请求到达N5K-C5596UP-110,由于不知道MAC 0001.0002.0003在何处,因此它将该帧泛洪到VLAN中,包括对等链路。
捕获端口通道1的TX SPAN,以查看此未知单播泛洪帧的交换矩阵路径报头,该帧是FP术语中的多目标帧。查看此多目标帧的交换矩阵路径报头。
由于帧通过vPC(vPC 111)进入,因此源交换机ID为abe.00.0000
目标是组播MAC 01:bb:cc:dd:01:01
FTAG是257。
当此帧进入vPC主交换机时,它将检查FTAG 257。由于只有孤立端口是FTAG 257的成员,因此此vPC主交换机将仅将此帧泛洪到孤立端口Eth 1/32。
由于上述机制,以下是流入vPC辅助交换机的泛洪流量的流。
测试 3:广播ARP流量进入vPC主要
从主机2(192.168.1.69)对不存在的IP 192.168.1.200执行ping操作。 因此,主机2不断发出广播ARP请求,询问“谁是192.168.1.200”。 主机2会将此广播流量散列到vPC主交换机N5K-C5596UP-109,而vPC主交换机N5K-C5596UP-109又将其泛洪到VLAN 1中的所有端口,包括vPC对等链路Po1。
捕获端口通道1的TX SPAN,以查看此ARP广播的交换矩阵路径报头,该ARP广播是FP术语中的多目标帧。查看此多目标帧的交换矩阵路径报头。
由于帧通过vPC(vPC 200)进入,因此源交换机ID为abe.00.0000
目的地是广播MAC FF:FF:FF:FF:FF:FF
FTAG是256。
当此帧进入vPC辅助交换机时,它将检查FTAG 256。由于只有孤立端口是FTAG 256的成员,因此此广播ARP帧将仅发送到Eth 1/32。
测试 4:传入vPC主要的未知单播帧
为引入未知单播流量,在主机2上,为192.168.1.200设置静态ARP,静态MAC为0003.0004.0005,ping静态MAC为192.168.1.200。ICMP回应请求散列到vPC主N5K-C5596UP-109,由于它不知道MAC 0003.0004.0005在何处,因此它将该帧泛洪到VLAN中,包括对等链路。捕获端口通道1的TX SPAN,以查看此未知单播泛洪帧的交换矩阵路径报头,该帧是FP术语中的多目标帧。查看此多目标帧的交换矩阵路径报头。
由于帧通过vPC(vPC 200)进入,因此源交换机ID为abe.00.0000
目标是用于未知单播泛洪的组播MAC 01:bb:cc:dd:01:01
FTAG是256。
当此帧进入vPC辅助交换机时,它将检查FTAG 257。由于只有孤立端口是FTAG 256的成员,因此此vPC主要将此帧仅泛洪到孤立端口Eth 1/32。
由于上述机制,以下是流入vPC主交换机的泛洪流量的流量。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
03-Jul-2014 |
初始版本 |