목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

토폴로지

문제 해결

다음을 확인합니다.

관련 정보

소개

이 문서에서는 FabricPath 문제를 해결하기 위한 기본 단계를 설명합니다.

사전 요구 사항

요구 사항

Cisco NXOS®에서는 다음 항목에 대해 알고 있는 것이 좋습니다.

- 패브릭 경로

- 중간 시스템에서 중간 시스템으로(IS-IS)

- STP(Spanning Tree Protocol)

- ELAM(Embedded Logic Analyzer Module)

사용되는 구성 요소

이 문서는 Nexus 7000과 같은 특정 하드웨어로 제한됩니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

FabricPath는 특히 대규모 데이터 센터 환경에서 이더넷 네트워킹 기능을 향상시키는 것을 목표로 하는 Cisco 기술입니다.

다음은 Cisco Nexus 7000 Series에서 FabricPath가 제공하는 주요 기능과 이점입니다.

1. 확장성: FabricPath는 다수의 vPC(virtual port channel)를 지원하고 STP(Spanning Tree Protocol)와 일반적으로 관련된 제한 없이 다수의 호스트를 처리할 수 있는 확장성이 뛰어난 레이어 2 네트워크를 제공하도록 설계되었습니다.

2. 루프 프리 토폴로지: FabricPath는 FabricPath 네트워크 도메인 내에서 STP를 수행할 필요가 없습니다. 이 작업은 라우팅 같은 기술을 사용하여 이더넷 프레임을 전달하는 방식으로 수행되며, 이를 TRILL(Transparent Interconnection of Lots of Links)이라고 합니다. TRILL은 루프를 방지하고 모든 경로가 활성 상태가 되도록 합니다.

3. 고가용성: FabricPath를 사용하면 네트워크 토폴로지 변경을 보다 효율적으로 처리하여 통합 시간을 단축할 수 있습니다. 이를 통해 전반적인 네트워크 안정성이 향상되고 네트워크 가용성이 향상됩니다.

4. 사용 편의성: 이 기술은 유연하고 확장 가능한 레이어 2 아키텍처를 허용하여 네트워크 설계를 간소화합니다. 따라서 네트워크를 더 쉽게 관리하고 운영의 복잡성을 줄일 수 있습니다.

5. ECMP(Equal-Cost Multipath): FabricPath는 ECMP를 지원하므로 네트워크의 두 지점 간에 다중 병렬 경로를 사용할 수 있습니다. 따라서 사용 가능한 모든 경로에서 트래픽을 로드 밸런싱하여 대역폭 활용을 최적화합니다.

6. 가상화 지원: FabricPath는 가상화된 데이터 센터 및 프라이빗 클라우드 구축을 위한 이상적인 인프라를 제공합니다. 많은 수의 가상 환경을 처리할 수 있으므로 이러한 유형의 애플리케이션에 적합합니다.

또한 FabricPath는 많은 이점을 제공하지만, 대규모, 동적, 확장 가능한 레이어 2 도메인이 필요한 데이터 센터와 같이 네트워크 설계 목표에 부합하는 특정 이점이 있는 환경에서 가장 적합합니다.

토폴로지

간소화를 위해 이 토폴로지에는 스파인 하나와 리프 두 개만 표시됩니다.

에뮬레이트된 스위치 ID 리프 A: 3101

에뮬레이트된 스위치 ID 리프 D :3102

문제 해결

호스트 1은 호스트 2와 통신할 수 없습니다.

Leaf_A# ping 192.168.10.17

PING 192.168.10.17 (192.168.10.17): 56 data bytes

ping: sendto 192.168.10.17 64 chars, No route to host

Request 0 timed out

ping: sendto 192.168.10.17 64 chars, No route to host

^C

--- 192.168.10.17 ping statistics ---

2 packets transmitted, 0 packets received, 100.00% packet loss

Leaf_A#

1) MAC 주소 테이블이 두 호스트에 대해 올바르게 입력되었는지 확인합니다.

Leaf_A# show mac address-table vlan 409

Note: MAC table entries displayed are getting read from software.

Use the 'hardware-age' keyword to get information related to 'Age'

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 , ~~~ - use 'hardware-age' keyword to retrieve age info

VLAN MAC Address Type age Secure NTFY Ports/SWID.SSID.LID

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

* 409 aaaa.aaaa.aaaa dynamic ~~~ F F Po3

<------ Leaf A is not learning the mac address of Host 2

Leaf_A#

Leaf_D# show mac address-table vlan 409

Note: MAC table entries displayed are getting read from software.

Use the 'hardware-age' keyword to get information related to 'Age'

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 , ~~~ - use 'hardware-age' keyword to retrieve age info

VLAN MAC Address Type age Secure NTFY Ports/SWID.SSID.LID

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

* 409 bbbb.bbbb.bbbb dynamic ~~~ F F Po4

409 aaaa.aaaa.aaaa dynamic ~~~ F F 3101.1.65535    <------ Leaf D is correctly learning both Mac Addresses.

Leaf_D#

2) 경로에 포함된 모든 인터페이스 및 vlan의 컨피그레이션을 확인합니다. FabricPath를 활성화해야 합니다.

Leaf_A# show run fabricpath

!Command: show running-config fabricpath

!Time: Mon Apr 22 23:12:40 2024

version 6.2(12)

install feature-set fabricpath

feature-set fabricpath

vlan 409

mode fabricpath

fabricpath domain default

fabricpath switch-id 301

vpc domain 301

fabricpath switch-id 3101

interface port-channel1

switchport mode fabricpath

interface port-channel2

switchport mode fabricpath

interface Ethernet1/1

switchport mode fabricpath

interface Ethernet1/2

switchport mode fabricpath

Leaf_A#

Leaf_D# show run fabricpath

!Command: show running-config fabricpath

!Time: Mon Apr 22 23:12:40 2024

version 6.2(12)

install feature-set fabricpath

feature-set fabricpath

<--------- FabricPath is not enabled for VLAN 409

fabricpath switch-id 101

vpc domain 302

fabricpath switch-id 3102

interface port-channel1

switchport mode fabricpath

interface port-channel2

switchport mode fabricpath

interface Ethernet1/1

switchport mode fabricpath

interface Ethernet1/2

switchport mode fabricpath

Leaf_D#

Leaf_D#

Spine_A# show run fabricpath

!Command: show running-config fabricpath

!Time: Mon Apr 22 23:12:40 2024

version 6.2(12)

install feature-set fabricpath

feature-set fabricpath

vlan 409

mode fabricpath

fabricpath domain default

fabricpath switch-id 31

vpc domain 101

fabricpath switch-id 1003

interface port-channel1

switchport mode fabricpath

interface port-channel2

switchport mode fabricpath

interface Ethernet1/1

switchport mode fabricpath

interface Ethernet1/2

switchport mode fabricpath

interface Ethernet1/3

switchport mode fabricpath

interface Ethernet1/4

switchport mode fabricpath

Spine_A#

3) FabricPath에 참여하는 모든 디바이스의 스위치 ID를 확인합니다.

Leaf_A# show fabricpath switch-id local

Switch-Id: 301

System-Id: aaaa.aaaa.b341

Leaf_A#

Leaf_D# show fabricpath switch-id local

Switch-Id: 101

System-Id: bbbb.bbbb.b342

Leaf_D#

Spine_A# show fabricpath switch-id local

Switch-Id: 31

System-Id: cccc.cccc.b343

Spine_A#

4) 모든 디바이스의 스위치 ID로 올바른 경로가 구성되었는지 확인합니다.

Leaf_A# show fabricpath route switchid 101

FabricPath Unicast Route Table

'a/b/c' denotes ftag/switch-id/subswitch-id

'[x/y]' denotes [admin distance/metric]

ftag 0 is local ftag

subswitch-id 0 is default subswitch-id

FabricPath Unicast Route Table for Topology-Default

1/101/0, number of next-hops: 1

via Po1, [115/5], 1 day/s 12:21:29, isis_fabricpath-default <------ The route from Leaf A to Leaf D is correctly configured.

Leaf_A

Leaf_D# show fabricpath route switchid 301

FabricPath Unicast Route Table

'a/b/c' denotes ftag/switch-id/subswitch-id

'[x/y]' denotes [admin distance/metric]

ftag 0 is local ftag

subswitch-id 0 is default subswitch-id

FabricPath Unicast Route Table for Topology-Default

1/301/0, number of next-hops: 1

via Po2, [115/5], 1 day/s 12:21:29, isis_fabricpath-default  <------ The route from Leaf D to Leaf A is correctly configured.

Leaf_D

Spine_A# show fabricpath route switchid 301

FabricPath Unicast Route Table

'a/b/c' denotes ftag/switch-id/subswitch-id

'[x/y]' denotes [admin distance/metric]

ftag 0 is local ftag

subswitch-id 0 is default subswitch-id

FabricPath Unicast Route Table for Topology-Default

1/301/0, number of next-hops: 1

via Po1, [115/20], 1 day/s 06:13:21, isis_fabricpath-default <------ The route from Spine A to Leaf A is correctly configured.

Spine_A#

Spine_A# show fabricpath route switchid 101

FabricPath Unicast Route Table

'a/b/c' denotes ftag/switch-id/subswitch-id

'[x/y]' denotes [admin distance/metric]

ftag 0 is local ftag

subswitch-id 0 is default subswitch-id

FabricPath Unicast Route Table for Topology-Default

1/101/0, number of next-hops: 1

via Po2, [115/20], 1 day/s 06:13:21, isis_fabricpath-default <------ The route from Spine A to Leaf D is correctly configured.

Spine_A#

5) 나뭇잎과 가시간의 IS-IS 인접성을 확인합니다.

Leaf_A# show fabricpath isis adjacency

Fabricpath IS-IS domain: default Fabricpath IS-IS adjacency database:

System ID SNPA Level State Hold Time Interface

cccc.cccc.b343 N/A 1 UP 00:00:27 port-channel1

Leaf_A#

Leaf_D# show fabricpath isis adjacency

Fabricpath IS-IS domain: default Fabricpath IS-IS adjacency database:

System ID SNPA Level State Hold Time Interface

cccc.cccc.b343 N/A 1 UP 00:00:27 port-channel2

Leaf_D#

6) 현재 구축에 충돌이 없는지 확인합니다.

Leaf_A# show fabricpath conflict all

No Fabricpath ports in a state of resource conflict.

No Switch id Conflicts

No transitions in progress

Leaf_A#

Leaf_D# show fabricpath conflict all

No Fabricpath ports in a state of resource conflict.

No Switch id Conflicts

No transitions in progress

Leaf_D#

Spine_A# show fabricpath conflict all

No Fabricpath ports in a state of resource conflict.

No Switch id Conflicts

No transitions in progress

Spine_A#

7) VLAN이 IS-IS VLAN 범위에 추가되었는지 확인합니다.

Leaf_A# show fabricpath isis vlan-range

Fabricpath IS-IS domain: default

MT-0

Vlans configured:1,409

Leaf_A#

Leaf_D# show fabricpath isis vlan-range

Fabricpath IS-IS domain: default

MT-0

Vlans configured:1             <------ VLAN 409 is not present

Leaf_D

Spine_A# show fabricpath isis vlan-range

Fabricpath IS-IS domain: default

MT-0

Vlans configured:1, 409

Spine_A#

8) ELAM이 스파인 A에서 트리거되는지 확인합니다.

module-1# show hardware internal dev-port-map      <------ Determine the F4 ASIC that is used for the FE on port Eth1/2. Enter this command in order to verify this.

--------------------------------------------------------------

CARD_TYPE: 48 port 10G

>Front Panel ports:48

--------------------------------------------------------------

Device name Dev role Abbr num_inst:

--------------------------------------------------------------

> Flanker Eth Mac Driver DEV_ETHERNET_MAC MAC_0 6

> Flanker Fwd Driver DEV_LAYER_2_LOOKUP L2LKP 6

> Flanker Xbar Driver DEV_XBAR_INTF XBAR_INTF 6

> Flanker Queue Driver DEV_QUEUEING QUEUE 6

> Sacramento Xbar ASIC DEV_SWITCH_FABRIC SWICHF 2

> Flanker L3 Driver DEV_LAYER_3_LOOKUP L3LKP 6

> EDC DEV_PHY PHYS 7

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

+----------------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++------------+

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

FP port | PHYS | MAC_0 | L2LKP | L3LKP | QUEUE |SWICHF

1       0      0       0       0       0     0,1

2       0      0       0       0       0     0,1

...

module-1#

module-1#

module-1# elam asic flanker instance 0

module-1(fln-elam)#

module-1(fln-elam)# elam asic flanker instance 0

module-1(fln-elam)# layer3

module-1(fln-l2-elam)#

module-1(fln-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17

module-1(fln-l2-elam)#

module-1(fln-l2-elam)# trigger rbus ingress if trig

module-1(fln-l2-elam)# start

module-1(fln-l2-elam)#

module-1(fln-l2-elam)#

module-1(fln-l2-elam)# status

ELAM Slot 1 instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17

L2 DBUS: Armed

ELAM Slot 1 instance 0: L2 RBUS Configuration: trigger rbus ingress if trig

L2 RBUS: Armed

module-1(fln-l2-elam)# status

ELAM Slot 1 instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17

L2 DBUS: Armed

ELAM Slot 1 instance 0: L2 RBUS Configuration: trigger rbus ingress if trig

L2 RBUS: Armed                                                                                                      <------ ELAM is not triggered.

module-1(fln-l2-elam)#

9) FabricPath에 VLAN 409를 추가합니다.

Leaf_D(config)# vlan 409

Leaf_D(config-vlan)# mode fabricpath

Leaf_D(config-vlan)# show run vlan

!Command: show running-config vlan

!Time: Wed Apr 24 20:27:29 2024

version 6.2(12)

vlan 1,409

vlan 409

mode fabricpath

Leaf_D(config-vlan)#

다음을 확인합니다.

1) mac 주소 테이블을 확인합니다.

Leaf_A# show mac address-table vlan 409

Note: MAC table entries displayed are getting read from software.

Use the 'hardware-age' keyword to get information related to 'Age'

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 , ~~~ - use 'hardware-age' keyword to retrieve age info

VLAN MAC Address Type age Secure NTFY Ports/SWID.SSID.LID

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

* 409 aaaa.aaaa.aaaa dynamic ~~~ F F Po3

409 bbbb.bbbb.bbbb dynamic ~~~ F F 3102.1.65535

Leaf_A#

Leaf_D# show mac address-table vlan 409

Note: MAC table entries displayed are getting read from software.

Use the 'hardware-age' keyword to get information related to 'Age'

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 , ~~~ - use 'hardware-age' keyword to retrieve age info

VLAN MAC Address Type age Secure NTFY Ports/SWID.SSID.LID

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

* 409 bbbb.bbbb.bbbb dynamic ~~~ F F Po4

409 aaaa.aaaa.aaaa dynamic ~~~ F F 3101.1.65535

Leaf_D#

2) ELAM이 스파인 A에서 트리거되는지 확인합니다.

module-1# elam asic flanker instance 0

module-1(fln-elam)#

module-1(fln-elam)# elam asic flanker instance 0

module-1(fln-elam)# layer2

module-1(fln-l2-elam)#

module-1(fln-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17

module-1(fln-l2-elam)#

module-1(fln-l2-elam)# trigger rbus ingress if trig

module-1(fln-l2-elam)# start

module-1(fln-l2-elam)#

module-1(fln-l2-elam)# status

ELAM Slot 1 instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17

L2 DBUS: Armed

ELAM Slot 1 instance 0: L2 RBUS Configuration: trigger rbus ingress if trig

L2 RBUS: Armed

module-1(fln-l2-elam)# status

ELAM Slot 1 instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if source-ipv4-address 192.168.10.17

L2 DBUS: Triggered             <-------- ELAM triggered

ELAM Slot 1 instance 0: L2 RBUS Configuration: trigger rbus ingress if trig

L2 RBUS: Triggered             <-------- ELAM triggered

module-1(fln-l2-elam)#

3) 리프 A에서 호스트 A로의 연결을 확인합니다.

Leaf_A# ping 192.168.10.17

PING 192.168.10.17 (192.168.10.17): 56 data bytes

64 bytes from 192.168.10.17: icmp_seq=0 ttl=254 time=1.703 ms

64 bytes from 192.168.10.17: icmp_seq=1 ttl=254 time=1.235 ms

64 bytes from 192.168.10.17: icmp_seq=2 ttl=254 time=1.197 ms

64 bytes from 192.168.10.17: icmp_seq=3 ttl=254 time=3.442 ms

64 bytes from 192.168.10.17: icmp_seq=4 ttl=254 time=1.331 ms

--- 192.168.10.17 ping statistics ---

5 packets transmitted, 5 packets received, 0.00% packet loss

round-trip min/avg/max = 1.197/1.781/3.442 ms

Leaf_A#

관련 정보

Cisco 패브릭 경로

Cisco Nexus 7000 Series NX-OS FabricPath 명령 참조

Nexus 7000 M3 Module ELAM Procedure