vPC 토폴로지에서는 고아 포트 트래픽 또는 플러딩된 트래픽(알 수 없는 유니캐스트, 브로드캐스트, 멀티캐스트)에 대해서만 피어 링크에서 사용자 트래픽이 표시됩니다. 이 플러드 트래픽의 경우, vPC의 한 레그에서 수신한 플러드 트래픽이 다른 vPC 레그로 다시 전송되지 않도록 스위치에서 요구하는 사항이 있습니다. 따라서 패킷은 소스로 다시 전송되거나 다른 vPC로 복제되지 않습니다.
Carmel 기반 스위치(Nexus 55xx)에서 vPC 루프 회피 구현은 피어 링크 전체의 플러딩 트래픽에 별도의 내부 MCT VLAN을 사용하는 Gatos(Nexus 5010/5020) 기반 구현과 다릅니다.
Carmel 기반 스위치는 L2MP 또는 Fabricpath를 지원하므로, 엔지니어링은 피어 링크 전체에서 L2MP 기반 포워딩을 사용하기로 결정했습니다. 이 모델에서는 vPC 기본 스위치에는 스위치 ID가 2748(0xabc)이고 vPC 보조 스위치에는 스위치 ID가 2749(0xabd)입니다. 에뮬레이트된 스위치 ID 2750(0xabe)은 vPC를 인그레스(ingress)하고 피어 링크를 통해 전송되는 프레임의 소스 스위치 ID로 사용됩니다. vPC 기본 포트의 모든 포트는 FTAG 256의 멤버이고 vPC 보조 포트는 FTAG 257의 멤버가 됩니다. vPC 기본 스위치에서는 고아 포트만 FTAG 257의 멤버가 되고 vPC 보조 스위치에서는 고아 포트만 FTAG 256의 멤버가 됩니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
vPC 기본 스위치로 들어오는 브로드캐스트/알 수 없는 유니캐스트/멀티캐스트 프레임의 경우 피어 링크 전체에서 FTAG 256을 사용하여 전송됩니다. vPC 보조 스위치가 vPC 피어 링크를 통해 이 프레임을 가져오면 FTAG를 검사하고, vPC 보조 스위치는 256부터 고아 포트만 되는 FTAG 256 멤버로만 전송합니다. vPC 2차로부터의 플러드 트래픽의 경우 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 보조 스위치입니다. 포트 채널 1은 vPC 피어 링크입니다. 표시된 IP 주소는 스위치의 인터페이스 VLAN 1에 속합니다. 호스트 1과 호스트 2는 VLAN 1의 vPC를 통해 연결된 Cisco 스위치입니다. 이 문서에서는 호스트 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: vPC 보조로 들어오는 브로드캐스트 ARP 트래픽
존재하지 않는 IP 192.168.1.199이 호스트 1(192.168.1.101)에서 ping됩니다. 이로 인해 호스트 1은 "누가 192.168.1.199"을 묻는 브로드캐스트 ARP 요청을 계속 전송합니다. 호스트 1은 이 브로드캐스트 트래픽을 vPC 보조 스위치 N5K-C5596UP-110으로 해시합니다. 그러면 vPC 피어 링크인 Po1을 포함하여 VLAN 1의 모든 포트에 플러딩됩니다.
Port-channel 1의 TX SPAN이 캡처되어 FP 용어에서 다중 대상 프레임인 이 ARP 브로드캐스트의 패브릭 경로 헤더를 확인합니다. 이 다중 대상 프레임의 패브릭 경로 헤더를 확인합니다.
프레임이 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에서 정적 MAC가 0001.0002.0003인 192.168.1.99에 대해 고정 ARP를 설정하고 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: vPC Primary로 들어오는 브로드캐스트 ARP 트래픽
존재하지 않는 IP 192.168.1.200이 호스트 2(192.168.1.69)에서 ping됩니다. 이로 인해 호스트 2는 "누가 192.168.1.200"을 묻는 브로드캐스트 ARP 요청을 계속 전송합니다. 호스트 2는 이 브로드캐스트 트래픽을 vPC 기본 스위치 N5K-C5596UP-109로 해시합니다. 그러면 vPC 피어 링크인 Po1을 포함하여 VLAN 1의 모든 포트에 플러딩됩니다.
Port-channel 1의 TX SPAN이 캡처되어 FP 용어에서 다중 대상 프레임인 이 ARP 브로드캐스트의 패브릭 경로 헤더를 확인합니다. 이 다중 대상 프레임의 패브릭 경로 헤더를 확인합니다.
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 Primary로 들어오고 있습니다.
알 수 없는 유니캐스트 트래픽을 소개하기 위해 호스트 2에서 192.168.1.200용 고정 ARP는 정적 MAC이 0003.0004.0005이고 ping이 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 |
최초 릴리스 |