목차

소개

배경 정보

L3 전달: 서로 다른 BD의 엔드포인트 2개

높은 수준의 문제 해결 워크플로

첫 번째 확인 — 프로그래밍 유효성 검사

2차 확인 — 리프 노드에서 CLI를 통해 학습 및 테이블 항목 검증

세 번째 확인 — 패킷을 수집하고 포워딩 결정 분석

알려진 엔드포인트에 대한 문제 해결 워크플로

BD의 퍼베이시브 게이트웨이 확인

Leaf에서 라우팅 테이블 확인

기본 게이트웨이 IP에 대한 ARP 확인

인그레스 리프 소스 IP 및 MAC 엔드포인트 학습

인그레스 리프 대상 IP 조회 - 알려진 원격 끝점

이그레스 리프의 소스 IP 학습

이그레스 리프에 대한 대상 IP 조회

데이터 경로를 따르도록 분류

알 수 없는 엔드포인트에 대한 문제 해결 워크플로

인그레스 리프 대상 IP 조회

스파인에 대한 COOP 조회 — 대상 IP 확인

스파인에 대한 COOP 조회 - 대상 IP를 알 수 없음

ACI 포워딩 요약

소개

이 문서에서는 ACI L3 포워딩 시나리오를 이해하고 문제를 해결하는 단계에 대해 설명합니다.

배경 정보

이 문서의 자료는 Cisco Application Centric Infrastructure, Second Edition 트러블슈팅 특히 패브릭 내 포워딩 - L3 포워딩: 서로 다른 BD의 엔드포인트 2개 장.

L3 전달: 서로 다른 BD의 엔드포인트 2개

이 장에서는 서로 다른 브리지 도메인의 엔드포인트가 서로 통신할 수 없는 트러블슈팅 예에 대해 설명합니다. 이는 ACI 패브릭에서 라우팅된 플로우입니다. 그림 1은 토폴로지를 보여줍니다.

다른 브리지 도메인의 엔드포인트

높은 수준의 문제 해결 워크플로

다음은 일반적인 문제 해결 단계 및 확인 명령입니다.

첫 번째 확인 — 프로그래밍 유효성 검사

- BD 퍼베이시브 게이트웨이를 리프 노드에 푸시해야 합니다.

- 대상 BD 서브넷에 대한 경로는 리프 노드에 푸시되어야 합니다.

- 호스트의 기본 게이트웨이에 대한 ARP를 확인해야 합니다.

2차 확인 — 리프 노드에서 CLI를 통해 학습 및 테이블 항목 검증

- 소스 리프 및 대상 리프 노드가 엔드포인트를 학습하고 대상 엔드포인트를 학습하는지 확인합니다.

- 끝점 테이블 - 'show endpoint'

- TEP 대상 — 'show interface tunnel <x>'

- 'show ip route <TEP address> vrf overlay-1' 명령에서 TEP 대상을 찾고 있습니다.

- 스파인 노드가 엔드포인트를 학습하는지 확인합니다.

- '회사 내부 정보 표시'

세 번째 확인 — 패킷을 수집하고 포워딩 결정 분석

- ELAM(ELAM Assistant 또는 CLI)을 사용하여 프레임이 있는지 확인합니다.

- 또는 Triage를 사용하여 플로우를 추적합니다.

알려진 엔드포인트에 대한 문제 해결 워크플로

BD의 퍼베이시브 게이트웨이 확인

이 예에서는 다음 소스 및 대상 엔드포인트가 사용됩니다.

- EP A 10.1.1.1 leaf1.

- VPC 쌍 leaf3 및 leaf4 아래의 EP B 10.1.2.1입니다.

다음 퍼베이시브 게이트웨이가 표시되어야 합니다.

- leaf1의 BD1 게이트웨이에 대한 10.1.1.254/24

- leaf3 및 leaf4의 BD2 게이트웨이에 대한 10.1.2.254/24

다음을 사용하여 확인할 수 있습니다. leaf 노드에서 'show ip interface vrf <vrf name>'

리프1:

leaf1# show ip interface vrf Prod:VRF1

IP Interface Status for VRF "Prod:VRF1"

vlan7, Interface status: protocol-up/link-up/admin-up, iod: 106, mode: pervasive

IP address: 10.1.1.254, IP subnet: 10.1.1.0/24

IP broadcast address: 255.255.255.255

IP primary address route-preference: 0, tag: 0

leaf3 및 4:

leaf3# show ip interface  vrf Prod:VRF1

IP Interface Status for VRF "Prod:VRF1"

vlan1, Interface status: protocol-up/link-up/admin-up, iod: 159, mode: pervasive

IP address: 10.1.2.254, IP subnet: 10.1.2.0/24

IP broadcast address: 255.255.255.255

IP primary address route-preference: 0, tag: 0

leaf4# show ip interface  vrf Prod:VRF1

IP Interface Status for VRF "Prod:VRF1"

vlan132, Interface status: protocol-up/link-up/admin-up, iod: 159, mode: pervasive

IP address: 10.1.2.254, IP subnet: 10.1.2.0/24

IP broadcast address: 255.255.255.255

IP primary address route-preference: 0, tag: 0

leaf3와 leaf4는 동일한 퍼베이시브 게이트웨이 주소를 가지지만 SVI에 대해 서로 다른 VLAN 캡슐화가 나타날 수 있습니다.

- leaf3는 VLAN 1을 사용합니다.

- leaf4는 VLAN 132를 사용합니다.

이는 VLAN 1 또는 VLAN 132가 leaf의 로컬 VLAN이기 때문입니다.

퍼베이시브 게이트웨이 IP 주소가 leaf에 푸시되지 않은 경우 APIC GUI에서 VLAN을 구축하지 못하게 하는 결함이 없음을 확인합니다.

Leaf에서 라우팅 테이블 확인

Leaf1에는 서브넷 10.1.2.0/24에 엔드포인트가 없지만 이 서브넷에 도달하려면 해당 서브넷에 대한 경로가 있어야 합니다.

leaf1# show ip route 10.1.2.0/24 vrf Prod:VRF1

IP Route Table for VRF "Prod:VRF1"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

10.1.2.0/24, ubest/mbest: 1/0, attached, direct, pervasive

*via 10.0.8.65%overlay-1, [1/0], 00:22:37, static, tag 4294967294

recursive next hop: 10.0.8.65/32%overlay-1

'pervasive' 및 'direct' 플래그가 지정된 경로의 next-hop은 10.0.8.65입니다. 이는 모든 spine에 있는 anycast-v4 루프백 주소입니다.

leaf1# show isis  dteps  vrf overlay-1 | egrep 10.0.8.65

10.0.8.65          SPINE   N/A             PHYSICAL,PROXY-ACAST-V4

마찬가지로 leaf3 및 leaf4는 10.1.1.0/24에 대한 경로가 있어야 합니다.

leaf3# show ip route 10.1.1.1 vrf Prod:VRF1

IP Route Table for VRF "Prod:VRF1"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

10.1.1.0/24, ubest/mbest: 1/0, attached, direct, pervasive

*via 10.0.8.65%overlay-1, [1/0], 00:30:25, static, tag 4294967294

recursive next hop: 10.0.8.65/32%overlay-1

이러한 경로가 누락된 경우 BD1의 EPG와 BD2의 EPG 간에 계약이 없기 때문일 수 있습니다. 리프 아래에 BD1의 로컬 끝점이 없으면 BD1 퍼베이시브 게이트웨이가 leaf로 푸시되지 않습니다. BD1의 다른 EPG와 계약을 맺은 EPG에 로컬 엔드포인트가 있는 경우 BD1 서브넷은 leaf에서 학습됩니다.

기본 게이트웨이 IP에 대한 ARP 확인

로컬 엔드포인트가 상주하는 leaf에는 퍼베이시브 게이트웨이가 있어야 하므로 퍼베이시브 게이트웨이에 대한 ARP 요청은 항상 로컬 leaf에 의해 해결되어야 합니다. 다음 명령을 사용하여 로컬 leaf에서 이를 확인할 수 있습니다.

leaf1# show ip arp internal event-history event  | egrep 10.1.1.1

[116] TID 26571:arp_handle_arp_request:6135: log_collect_arp_pkt; sip = 10.1.1.1; dip = 10.1.1.254;interface = Vlan7; phy_inteface = Ethernet1/3; flood = 0; Info = Sent ARP response.

[116] TID 26571:arp_process_receive_packet_msg:8384: log_collect_arp_pkt; sip = 10.1.1.1; dip = 10.1.1.254;interface = Vlan7; phy_interface = Ethernet1/3;Info = Received arp request

인그레스 리프 소스 IP 및 MAC 엔드포인트 학습

레이어 3 포워딩의 경우 ACI는 레이어 3 소스 IP 학습 및 목적지 IP 조회를 수행합니다. 학습된 IP 주소는 VRF로 범위가 지정됩니다.

EPG의 'operational'(작동) 탭에 있는 GUI에서 이를 확인할 수 있습니다. 여기서는 IP와 MAC를 모두 학습합니다.

EPG 운영 엔드포인트

EPG 운영 엔드포인트 - 세부 정보

로컬 엔드포인트가 로컬 leaf에서 학습되는지 확인합니다. 여기서 leaf1에서 IP 10.1.1.1이 학습되었는지 확인합니다.

leaf1# show endpoint ip 10.1.1.1

Legend:

s - arp              H - vtep             V - vpc-attached     p - peer-aged

R - peer-attached-rl B - bounce           S - static           M - span

D - bounce-to-proxy  O - peer-attached    a - local-aged       m - svc-mgr

L - local            E - shared-service

+-----------------------------------+---------------+-----------------+--------------+-------------+

VLAN/                           Encap           MAC Address       MAC Info/       Interface

Domain                          VLAN            IP Address        IP Info

+-----------------------------------+---------------+-----------------+--------------+-------------+

46                                        vlan-2501    0000.1001.0101 L                      eth1/3

Prod:VRF1                                 vlan-2501          10.1.1.1 L                      eth1/3

위에 표시된 대로 엔드포인트 콘텐츠는 다음과 같습니다.

- EPG(vlan-2501)의 VLAN 캡슐화 및 eth1/3에서 학습된 MAC 주소를 사용하는 BD(BD의 내부 VLAN은 46)

- IP 10.1.1.1의 VRF(Prod:VRF1)

이는 기존 네트워크의 ARP 엔트리와 동일한 것으로 이해할 수 있습니다. ACI는 엔드포인트의 ARP 테이블에 ARP 정보를 저장하지 않습니다. 엔드포인트는 엔드포인트 테이블에만 표시됩니다.

leaf의 ARP 테이블은 L3Out 다음 홉에만 사용됩니다.

leaf1# show ip arp vrf Prod:VRF1

Flags: * - Adjacencies learnt on non-active FHRP router

+ - Adjacencies synced via CFSoE

# - Adjacencies Throttled for Glean

D - Static Adjacencies attached to down interface    IP ARP Table for context Prod:VRF1

Total number of entries: 0

Address         Age       MAC Address     Interface

< NO ENTRY >

인그레스 리프 대상 IP 조회 - 알려진 원격 끝점

대상 IP가 알려진 경우(알려진 유니캐스트), 다음은 대상 IP 10.1.2.1에 대한 'show endpoint' 출력입니다. leaf1에 상주하지 않으므로, 특히 로컬로 학습된 터널 인터페이스(터널 4)를 가리키므로 원격 학습입니다.

원격 엔드포인트에는 IP 또는 MAC 중 하나만 포함되며 둘 다 동일한 항목에 포함되지는 않습니다. 동일한 엔드포인트의 MAC 주소와 IP 주소는 엔드포인트가 로컬에서 학습된 경우에만 발생합니다.

leaf1# show endpoint ip 10.1.2.1

Legend:

s - arp              H - vtep             V - vpc-attached     p - peer-aged

R - peer-attached-rl B - bounce           S - static           M - span

D - bounce-to-proxy  O - peer-attached    a - local-aged       m - svc-mgr

L - local            E - shared-service

+-----------------------------------+---------------+-----------------+--------------+-------------+

VLAN/                           Encap           MAC Address       MAC Info/       Interface

Domain                          VLAN            IP Address        IP Info

+-----------------------------------+---------------+-----------------+--------------+-------------+

Prod:VRF1                                                    10.1.2.1 p                     tunnel4

leaf1# show interface tunnel 4

Tunnel4 is up

MTU 9000 bytes, BW 0 Kbit

Transport protocol is in VRF "overlay-1"

Tunnel protocol/transport is ivxlan

Tunnel source 10.0.88.95/32 (lo0)

Tunnel destination 10.0.96.66

Last clearing of "show interface" counters never

Tx

0 packets output, 1 minute output rate 0 packets/sec

Rx

0 packets input, 1 minute input rate 0 packets/sec

대상 TEP는 leaf3 및 4 VPC 쌍의 애니캐스트 TEP이며 spine에 대한 업링크를 통해 학습됩니다.

leaf1# show ip route 10.0.96.66 vrf overlay-1

IP Route Table for VRF "overlay-1"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

10.0.96.66/32, ubest/mbest: 4/0

*via 10.0.88.65, eth1/49.10, [115/3], 02w06d, isis-isis_infra, isis-l1-int

*via 10.0.128.64, eth1/51.8, [115/3], 02w06d, isis-isis_infra, isis-l1-int

*via 10.0.88.64, eth1/52.126, [115/3], 02w06d, isis-isis_infra, isis-l1-int

*via 10.0.88.94, eth1/50.128, [115/3], 02w06d, isis-isis_infra, isis-l1-int

IP 10.1.2.1에 대한 추가 엔드포인트 정보는 'show system internal epm endpoint ip <ip>' 명령을 사용하여 수집할 수 있습니다.

leaf1# show system internal epm endpoint ip 10.1.2.1

MAC : 0000.0000.0000 ::: Num IPs : 1

IP# 0 : 10.1.2.1 ::: IP# 0 flags :  ::: l3-sw-hit: No

Vlan id : 0 ::: Vlan vnid : 0 ::: VRF name : Prod:VRF1

BD vnid : 0 ::: VRF vnid : 2097154

Phy If : 0 ::: Tunnel If : 0x18010004

Interface : Tunnel4

Flags : 0x80004420 ::: sclass : 32771 ::: Ref count : 3

EP Create Timestamp : 10/01/2019 13:53:16.228319

EP Update Timestamp : 10/01/2019 14:04:40.757229

EP Flags : peer-aged|IP|sclass|timer|

::::

해당 출력 검사에서

- VRF VNID가 채워집니다. VXLAN의 프레임을 패브릭에 캡슐화하는 데 사용되는 VNID입니다.

- MAC 주소는 원격 IP 항목에 채워지지 않으므로 MAC 주소는 0000.0000.0000입니다.

- 라우티드 프레임에 대해서는 BD VNID를 알 수 없으며, 인그레스 리프가 라우터의 역할을 하고 MAC 재작성을 수행합니다. 즉, 원격 leaf는 목적지의 BD에 대한 가시성을 갖지 못하고 VRF만 갖습니다.

이제 프레임은 VRF의 VNID인 2097154의 VXLAN ID로 원격 TEP 10.0.96.66으로 이동하는 VXLAN 프레임에 캡슐화됩니다. 오버레이-1 라우팅 테이블(IS-IS 경로)에서 라우팅되며 대상 TEP에 도달합니다. 10.0.96.66은 leaf3 및 leaf4 VPC 쌍의 anycast TEP 주소이므로 leaf3 또는 leaf4에 도달합니다.

이그레스 리프의 소스 IP 학습

여기서 출력은 leaf3에서 가져오지만 leaf4에서 비슷합니다. 패킷이 leaf3(대상 leaf 및 TEP의 소유자)에 도달하면 leaf는 VRF에서 패킷의 소스 IP를 학습합니다.

leaf3# show endpoint ip 10.1.1.1

Legend:

s - arp              H - vtep             V - vpc-attached     p - peer-aged

R - peer-attached-rl B - bounce           S - static           M - span

D - bounce-to-proxy  O - peer-attached    a - local-aged       m - svc-mgr

L - local            E - shared-service

+-----------------------------------+---------------+-----------------+--------------+-------------+

VLAN/                           Encap           MAC Address       MAC Info/       Interface

Domain                          VLAN            IP Address        IP Info

+-----------------------------------+---------------+-----------------+--------------+-------------+

Prod:VRF1                                                    10.1.1.1 p                    tunnel26

leaf3# show interface tunnel 26

Tunnel26 is up

MTU 9000 bytes, BW 0 Kbit

Transport protocol is in VRF "overlay-1"

Tunnel protocol/transport is ivxlan

Tunnel source 10.0.88.91/32 (lo0)

Tunnel destination 10.0.88.95

Last clearing of "show interface" counters never

Tx

0 packets output, 1 minute output rate 0 packets/sec

Rx

0 packets input, 1 minute input rate 0 packets/sec

대상 TEP 10.0.88.95는 leaf1의 TEP 주소이며 모든 spine 업링크를 통해 학습됩니다.

이그레스 리프에 대한 대상 IP 조회

마지막 단계는 이그레스 리프가 대상 IP를 조회하는 것입니다. 10.1.2.1의 엔드포인트 테이블을 확인합니다.

다음 정보를 제공합니다.

- 이그레스 리프는 목적지 10.1.2.1을 알고(라우팅 테이블의 /32 호스트 경로와 유사) 경로는 올바른 VRF에서 학습됩니다.

- 이그레스 리프는 MAC 0000.1001.0201(엔드포인트 정보)을 알고 있습니다.

- 이그레스 리프는 10.1.2.1로 향하는 트래픽을 vlan-2502에서 캡슐화하고 포트 채널 1(po1)에서 전송해야 함을 알고 있습니다.

leaf3# show endpoint ip 10.1.2.1

Legend:

s - arp              H - vtep             V - vpc-attached     p - peer-aged

R - peer-attached-rl B - bounce           S - static           M - span

D - bounce-to-proxy  O - peer-attached    a - local-aged       m - svc-mgr

L - local            E - shared-service

+-----------------------------------+---------------+-----------------+--------------+-------------+

VLAN/                           Encap           MAC Address       MAC Info/       Interface

Domain                          VLAN            IP Address        IP Info

+-----------------------------------+---------------+-----------------+--------------+-------------+

2                                         vlan-2502    0000.1001.0201 LpV                       po1

Prod:VRF1                                 vlan-2502          10.1.2.1 LpV                       po1

데이터 경로를 따르도록 분류

APIC에서 Triage를 사용하여 데이터 경로 플로우를 따릅니다. Triage는 ELAM에 의존하므로 실제 데이터 흐름이 필요합니다. 이렇게 하면 패킷이 leaf3 포트 1/16의 패브릭에서 나가는 것을 확인하면서 전체 데이터 경로를 확인할 수 있습니다.

apic1# ftriage route -ii LEAF:101 -sip 10.1.1.1 -dip 10.1.2.1

fTriage Status: {"dbgFtriage": {"attributes": {"operState": "InProgress", "pid": "6888", "apicId": "1", "id": "0"}}}

Starting ftriage

Log file name for the current run is: ftlog_2019-10-01-21-17-54-175.txt

2019-10-01 21:17:54,179 INFO     /controller/bin/ftriage route -ii LEAF:101 -sip 10.1.1.1 -dip 10.1.2.1

2019-10-01 21:18:18,149 INFO     ftriage:     main:1165 Invoking ftriage with default password and default username: apic#fallback\\admin

2019-10-01 21:18:39,194 INFO     ftriage:     main:839  L3 packet Seen on bdsol-aci32-leaf1 Ingress: Eth1/3 Egress: Eth1/51 Vnid: 2097154

2019-10-01 21:18:39,413 INFO     ftriage:     main:242  ingress encap string vlan-2501

2019-10-01 21:18:39,419 INFO     ftriage:     main:271  Building ingress BD(s), Ctx

2019-10-01 21:18:41,240 INFO     ftriage:     main:294  Ingress BD(s) Prod:BD1

2019-10-01 21:18:41,240 INFO     ftriage:     main:301  Ingress Ctx: Prod:VRF1

2019-10-01 21:18:41,349 INFO     ftriage:   pktrec:490  bdsol-aci32-leaf1: Collecting transient losses snapshot for LC module: 1

2019-10-01 21:19:05,747 INFO     ftriage:     main:933  SIP 10.1.1.1 DIP 10.1.2.1

2019-10-01 21:19:05,749 INFO     ftriage:  unicast:973  bdsol-aci32-leaf1: <- is ingress node

2019-10-01 21:19:08,459 INFO     ftriage:  unicast:1215 bdsol-aci32-leaf1: Dst EP is remote

2019-10-01 21:19:09,984 INFO     ftriage:     misc:657  bdsol-aci32-leaf1: DMAC(00:22:BD:F8:19:FF) same as RMAC(00:22:BD:F8:19:FF)

2019-10-01 21:19:09,984 INFO     ftriage:     misc:659  bdsol-aci32-leaf1: L3 packet getting routed/bounced in SUG

2019-10-01 21:19:10,248 INFO     ftriage:     misc:657  bdsol-aci32-leaf1: Dst IP is present in SUG L3 tbl

2019-10-01 21:19:10,689 INFO     ftriage:     misc:657  bdsol-aci32-leaf1: RwDMAC DIPo(10.0.96.66) is one of dst TEPs ['10.0.96.66']

2019-10-01 21:20:56,148 INFO     ftriage:     main:622  Found peer-node bdsol-aci32-spine3 and IF: Eth2/1 in candidate list

2019-10-01 21:21:01,245 INFO     ftriage:     node:643  bdsol-aci32-spine3: Extracted Internal-port GPD Info for lc: 2

2019-10-01 21:21:01,245 INFO     ftriage:     fcls:4414 bdsol-aci32-spine3: LC trigger ELAM with IFS: Eth2/1 Asic :0 Slice: 0 Srcid: 32

2019-10-01 21:21:33,894 INFO     ftriage:     main:839  L3 packet Seen on bdsol-aci32-spine3 Ingress: Eth2/1 Egress: LC-2/0 FC-22/0 Port-1 Vnid: 2097154

2019-10-01 21:21:33,895 INFO     ftriage:   pktrec:490  bdsol-aci32-spine3: Collecting transient losses snapshot for LC module: 2

2019-10-01 21:21:54,487 INFO     ftriage:      fib:332  bdsol-aci32-spine3: Transit in spine

2019-10-01 21:22:01,568 INFO     ftriage:  unicast:1252 bdsol-aci32-spine3: Enter dbg_sub_nexthop with Transit inst: ig infra: False glbs.dipo: 10.0.96.66

2019-10-01 21:22:01,682 INFO     ftriage:  unicast:1417 bdsol-aci32-spine3: EP is known in COOP (DIPo = 10.0.96.66)

2019-10-01 21:22:05,713 INFO     ftriage:  unicast:1458 bdsol-aci32-spine3: Infra route 10.0.96.66 present in RIB

2019-10-01 21:22:05,713 INFO     ftriage:     node:1331 bdsol-aci32-spine3: Mapped LC interface: LC-2/0 FC-22/0 Port-1 to FC interface: FC-22/0 LC-2/0 Port-1

2019-10-01 21:22:10,799 INFO     ftriage:     node:460  bdsol-aci32-spine3: Extracted GPD Info for fc: 22

2019-10-01 21:22:10,799 INFO     ftriage:     fcls:5748 bdsol-aci32-spine3: FC trigger ELAM with IFS: FC-22/0 LC-2/0 Port-1 Asic :0 Slice: 2 Srcid: 24

2019-10-01 21:22:29,322 INFO     ftriage:  unicast:1774 L3 packet Seen on FC of node: bdsol-aci32-spine3  with Ingress: FC-22/0 LC-2/0 Port-1  Egress: FC-22/0 LC-2/0 Port-1 Vnid: 2097154

2019-10-01 21:22:29,322 INFO     ftriage:   pktrec:487  bdsol-aci32-spine3: Collecting transient losses snapshot for FC module: 22

2019-10-01 21:22:31,571 INFO     ftriage:     node:1339 bdsol-aci32-spine3: Mapped FC interface: FC-22/0 LC-2/0 Port-1 to LC interface: LC-2/0 FC-22/0 Port-1

2019-10-01 21:22:31,572 INFO     ftriage:  unicast:1474 bdsol-aci32-spine3: Capturing Spine  Transit pkt-type L3 packet on egress LC on Node: bdsol-aci32-spine3 IFS: LC-2/0 FC-22/0 Port-1

2019-10-01 21:22:31,991 INFO     ftriage:     fcls:4414 bdsol-aci32-spine3: LC trigger ELAM with IFS: LC-2/0 FC-22/0 Port-1 Asic :0 Slice: 1 Srcid: 0

2019-10-01 21:22:48,952 INFO     ftriage:  unicast:1510 bdsol-aci32-spine3: L3 packet Spine egress  Transit pkt Seen on bdsol-aci32-spine3 Ingress: LC-2/0 FC-22/0 Port-1 Egress: Eth2/3 Vnid: 2097154

2019-10-01 21:22:48,952 INFO     ftriage:   pktrec:490  bdsol-aci32-spine3: Collecting transient losses snapshot for LC module: 2

2019-10-01 21:23:50,748 INFO     ftriage:     main:622  Found peer-node bdsol-aci32-leaf3 and IF: Eth1/51 in candidate list

2019-10-01 21:24:05,313 INFO     ftriage:     main:839  L3 packet Seen on bdsol-aci32-leaf3 Ingress: Eth1/51 Egress: Eth1/12 (Po1) Vnid: 11365

2019-10-01 21:24:05,427 INFO     ftriage:   pktrec:490  bdsol-aci32-leaf3: Collecting transient losses snapshot for LC module: 1

2019-10-01 21:24:24,369 INFO     ftriage:     nxos:1404 bdsol-aci32-leaf3: nxos matching rule id:4326 scope:34 filter:65534

2019-10-01 21:24:25,698 INFO     ftriage:     main:522  Computed egress encap string vlan-2502

2019-10-01 21:24:25,704 INFO     ftriage:     main:313  Building egress BD(s), Ctx

2019-10-01 21:24:27,510 INFO     ftriage:     main:331  Egress Ctx Prod:VRF1

2019-10-01 21:24:27,510 INFO     ftriage:     main:332  Egress BD(s): Prod:BD2

2019-10-01 21:24:30,536 INFO     ftriage:  unicast:1252 bdsol-aci32-leaf3: Enter dbg_sub_nexthop with Local inst: eg infra: False glbs.dipo: 10.0.96.66

2019-10-01 21:24:30,537 INFO     ftriage:  unicast:1257 bdsol-aci32-leaf3: dbg_sub_nexthop invokes dbg_sub_eg for vip

2019-10-01 21:24:30,537 INFO     ftriage:  unicast:1784 bdsol-aci32-leaf3: <- is egress node

2019-10-01 21:24:30,684 INFO     ftriage:  unicast:1833 bdsol-aci32-leaf3: Dst EP is local

2019-10-01 21:24:30,685 INFO     ftriage:     misc:657  bdsol-aci32-leaf3: EP if(Po1) same as egr if(Po1)

2019-10-01 21:24:30,943 INFO     ftriage:     misc:657  bdsol-aci32-leaf3: Dst IP is present in SUG L3 tbl

2019-10-01 21:24:31,242 INFO     ftriage:     misc:657  bdsol-aci32-leaf3: RW seg_id:11365 in SUG same as EP segid:11365

2019-10-01 21:24:37,631 INFO     ftriage:     main:961  Packet is Exiting fabric with peer-device: bdsol-aci32-n3k-3 and peer-port: Ethernet1/12

ELAM Assistant 앱을 사용하여 이그레스 리프의 패킷 캡처

다음은 leaf3에서 ELAM Assistant 앱이 스파인에서 오는 패킷을 캡처한 것입니다. 이를 통해 다음 사항을 알 수 있습니다.

- 외부 레이어 4 정보의 VNID(VNID는 2097154)입니다.

- 외부 L3 헤더 소스 TEP 및 목적지 TEP.

ELAM Assistant — L3 플로우 이그레스 리프(1부)

ELAM Assistant — L3 플로우 이그레스 리프(2부)

Packet Forwarding Information(패킷 전달 정보) 섹션에서는 포트 채널 1에서 나왔음을 확인합니다

ELAM Assistant — L3 이그레스 리프 — 패킷 포워딩 정보

알 수 없는 엔드포인트에 대한 문제 해결 워크플로

이 섹션에서는 인그레스 리프가 목적지 IP를 모르는 경우의 차이점을 보여줍니다.

인그레스 리프 대상 IP 조회

첫 번째 단계는 대상 IP에 대한 엔드포인트 학습이 있는지 확인하는 것입니다.

leaf1# show endpoint ip 10.1.2.1

Legend:

s - arp              H - vtep             V - vpc-attached     p - peer-aged

R - peer-attached-rl B - bounce           S - static           M - span

D - bounce-to-proxy  O - peer-attached    a - local-aged       m - svc-mgr

L - local            E - shared-service

+-----------------------------------+---------------+-----------------+--------------+------------+

VLAN/                           Encap           MAC Address       MAC Info/       Interface

Domain                          VLAN            IP Address        IP Info

+-----------------------------------+---------------+-----------------+--------------+------------+

<NO ENTRY>

목적지에 대한 엔드포인트 테이블에 아무것도 없으므로 다음 단계는 목적지에 대한 가장 긴 접두사 일치 경로를 찾는 라우팅 테이블을 확인하는 것입니다.

leaf1# show ip route 10.1.2.1 vrf Prod:VRF1

IP Route Table for VRF "Prod:VRF1"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

10.1.2.0/24, ubest/mbest: 1/0, attached, direct, pervasive

*via 10.0.8.65%overlay-1, [1/0], 01:40:18, static, tag 4294967294

recursive next hop: 10.0.8.65/32%overlay-1

/24 BD 서브넷 10.1.2.0/24에 속한다는 것은 leaf가 대상 TEP 10.0.8.65(spine의 anycast-v4)를 사용하여 VXLAN에서 프레임을 캡슐화한다는 것을 의미합니다. 프레임은 VRF VNID인 VXLAN ID를 사용합니다.

스파인에 대한 COOP 조회 — 대상 IP 확인

패킷은 IP 데이터베이스에서 COOP 조회를 수행하는 스파인 중 하나에 도달합니다. 소스를 확인하고 COOP 데이터베이스에서 대상 IP를 올바르게 학습해야 합니다.

COOP 데이터베이스에서 IP를 찾으려면 키가 VRF VNID입니다(이 예에서는 2097154)

아래 출력에서 COOP 데이터베이스에 TEP 10.0.88.95(leaf1)의 소스 IP에 대한 항목이 올바르게 포함되어 있음을 확인할 수 있습니다.

spine1# show coop internal info ip-db key 2097154 10.1.1.1

IP address : 10.1.1.1

Vrf : 2097154

Flags : 0

EP bd vnid : 15302583

EP mac :  00:00:10:01:01:01

Publisher Id : 10.0.88.95

Record timestamp : 10 01 2019 14:16:50 522482647

Publish timestamp : 10 01 2019 14:16:50 532239332

Seq No: 0

Remote publish timestamp: 01 01 1970 00:00:00 0

URIB Tunnel Info

Num tunnels : 1

Tunnel address : 10.0.88.95

Tunnel ref count : 1

아래 출력은 COOP 데이터베이스에 TEP 10.0.96.66(leaf3 및 4 VPC 쌍의 애니캐스트 TEP)의 대상 IP 항목이 올바르게 있음을 보여줍니다

spine1# show coop internal info ip-db key 2097154 10.1.2.1

IP address : 10.1.2.1

Vrf : 2097154

Flags : 0

EP bd vnid : 15957974

EP mac :  00:00:10:01:02:01

Publisher Id : 10.0.88.90

Record timestamp : 10 01 2019 14:52:52 558812544

Publish timestamp : 10 01 2019 14:52:52 559479076

Seq No: 0

Remote publish timestamp: 01 01 1970 00:00:00 0

URIB Tunnel Info

Num tunnels : 1

Tunnel address : 10.0.96.66

Tunnel ref count : 1

이 시나리오에서 COOP는 대상 IP를 알고 있으므로 VXLAN 패킷에서 외부 IP 헤더의 대상 IP를 10.0.96.66으로 재작성한 다음 leaf3 또는 leaf4(ECMP 해싱에 따라 다름)로 전송합니다. VXLAN 프레임의 소스 IP는 변경되지 않으므로 leaf1 PTEP입니다.

스파인에 대한 COOP 조회 - 대상 IP를 알 수 없음

대상 IP에 대한 COOP 항목이 채워지지 않은 경우(무음 엔드포인트 또는 시간 초과), 스파인은 이를 해결하기 위해 ARP 스캔을 생성합니다. 자세한 내용은 "멀티 포드 포워딩" 섹션을 참조하십시오.

ACI 포워딩 요약

다음 그림에는 레이어 2 및 레이어 3의 ACI 포워딩 활용 사례가 요약되어 있습니다.