소개
이 문서에서는 F2/F2e MAC 테이블의 전체 조건 및 이를 완화하기 위한 방법에 대해 설명합니다.
SoC(Switch on Chip)당 MAC 제한이 16k인 F2 모듈은 60% 활용률로 임의의 MAC 테이블이 전체 오류 메시지임을 보고합니다.라인 카드가 사용 가능한 16k MAC 테이블 공간 전체를 사용할 수 없는 이유는 무엇입니까?
%L2MCAST-SLOT2-2-L2MCAST_MAC_FULL_LC: Failed to insert entry in MAC table for FE 1 swidx 271 (0x10f) with err (mac table full). To avoid possible multicast traffic loss, disable OMF. Use the con figuration CLI: "no ip igmp snooping optimise-multicast-flood"
사전 요구 사항
요구 사항
Nexus 7000 아키텍처에 대해 알고 있는 것이 좋습니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Nexus 7000(릴리스 6.2.10 이상)
- F2e 시리즈 라인 카드
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
F2 모듈에는 포워딩 엔진의 SoC당 16k MAC 테이블 공간이 있습니다.
각 모듈에는 12개의 SoC가 있고 각 서비스에는 각각 4개의 포트가 있습니다.
module-1# show hardware internal forwarding f2 l2 table utilization instance all
L2 Forwarding Resources
-------------------------
L2 entries: Module inst total used mcast ucast lines lines_full
------------------------------------------------------------------------------
1 0 16384 9647 265 9382 512 0
1 1 16384 7430 1 7429 512 0
1 2 16384 9654 264 9390 512 0
1 3 16384 7430 7 7423 512 0
1 4 16384 7564 8 7556 512 0
1 5 16384 7432 1 7431 512 0
1 6 16384 7418 0 7418 512 0
1 7 16384 558 0 558 512 0
1 8 16384 558 0 558 512 0
1 9 16384 558 0 558 512 0
1 10 16384 558 0 558 512 0
1 11 16384 7416 0 7416 512 0
이 출력은 SoC당 하드웨어 MAC 주소 테이블의 사용을 강조 표시합니다.
MAC 테이블 전체 메시지를 받는 이유를 이해하려면 MAC 테이블이 어떻게 분할되는지 이해해야 합니다.이 다이어그램은 시각적으로 명확함을 보여줍니다.
- F2 라인 카드의 16k인 MAC 테이블은 페이지에 분배됩니다.각 페이지에는 512개의 항목이 포함될 수 있습니다.총 32페이지가 있습니다.페이지 중 하나에 새 MAC을 배치하기 위해 양방향 해시를 사용할 수 있습니다.
- 이제 모든 페이지에서 4줄이 사용되는 시나리오를 살펴보겠습니다.즉, 32개의 고유한 MAC이 모든 페이지의 동일한 줄에 매칭하는 해싱 출력을 갖게 되었다는 것입니다.
- 동일한 해시 출력을 가진 33번째 MAC가 생성되면 이를 설치할 수 없으며 앞서 표시된 오류 메시지가 표시될 수 있습니다.
- 행 전체 열은 이 상태에 도달한 행 수를 추적합니다.
또한 이 출력은 페이지당 행 수 및 라인 전체 조건에 도달한 경우에도 표시됩니다.
특정 방식으로 해싱하는 MAC 주소만 이 조건을 발생하지만 다른 MAC 주소에 대해서는 문제가 표시되지 않습니다.
일반적으로 멀티캐스트 MAC 주소는 유니캐스트 MAC처럼 무작위화되지 않으므로 이 주소를 더 자주 볼 수 있습니다.일반적으로 라인 카드는 사용률 효율성을 검증하기 위해 업계 표준 RFC 테스트로 테스트됩니다.그러나 특정 고객 환경에서 특정 MAC 조합이 최적화되어 있지 않아 이 오류가 발생할 가능성이 항상 있습니다.
완화 단계
이러한 단계를 통해 MAC 테이블 사용을 줄일 수 있습니다.
- prune vlan
- L3 분리
- 기타 설계 옵션(fabricpath)
- 향후 성장을 위한 M2 또는 F3 모듈
옵션 1. VLAN 정리
참고:vlan 100 및 200에 대한 SVI가 없습니다. 이는 중요한 가정이며 옵션 2를 읽을 때 명확해집니다.
이 간단한 설정에서는 서로 다른 SoCs에 두 개의 호스트가 있습니다.
N7KA-VDC-1(config-vlan)# sh mac address-table
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
---------+-----------------+--------+---------+------+----+------------------
* 100 8478.ac0e.4742 dynamic ~~~ F F Eth6/4
* 200 8478.ac5b.2b42 dynamic ~~~ F F Eth6/5
N7KA-VDC-1# sh vlan internal bd-info vlan-to-bd 100
VDC Id Vlan Id BD Id
------ ------- -------
1 100 38
N7KA-VDC-1# sh vlan internal bd-info vlan-to-bd 200
VDC Id Vlan Id BD Id
------ ------- -------
1 200 39
N7KA-VDC-1(config-if-range)# sh hard mac address-table 6
FE | Valid| PI| BD | MAC | Index| Stat| SW | Modi| Age| Tmr|
| | | | | | ic | | fied|Byte| Sel|
---+------+---+------+---------------+-------+-----+-----+-----+----+----+-
0 1 1 38 8478.ac0e.4742 0x00053 0 0x081 1 138 1
0 1 0 39 8478.ac5b.2b42 0x00054 0 0x091 1 138 1
1 1 0 38 8478.ac0e.4742 0x00053 0 0x091 1 138 1
1 1 1 39 8478.ac5b.2b42 0x00054 0 0x081 1 138 1
각 FE(포워딩 엔진 = SoC)는 사용 중인 MAC 주소 2개를 표시합니다.
이제 VLAN을 정리하면 이 이미지에 표시된 대로 컨피그레이션이 수행됩니다.
VLAN을 정리하면 FE(SoC)당 한 개의 항목이 더 적습니다. VLAN을 정리하면 MAC 주소에 대한 FE 간의 동기화가 방지됩니다.
N7KA-VDC-1(config-if-range)# sh hard mac address-table 6
FE | Valid| PI| BD | MAC | Index| Stat| SW | Modi| Age| Tmr|
| | | | | | ic | | fied|Byte| Sel|
---+------+---+------+---------------+-------+-----+-----+-----+----+----+-
0 1 1 38 8478.ac0e.4742 0x00053 0 0x081 1 138 1
1 1 1 39 8478.ac5b.2b42 0x00054 0 0x081 1 138 1
옵션 2. L3 분리
여기서는 VLAN을 정리했지만 이 VDC에 SVI(Switch Virtual Interface)를 VLAN 100 및 200에 대해 구성한 것으로 가정합니다.
MAC 테이블은 이렇게 표시되며, 여기서 VLAN이 정리되더라도 FE 간에 MAC 주소가 동기화됩니다.이는 SVI(Switch Virtual Interface)가 활성화되고 FE가 다른 VLAN의 MAC 주소도 알아야 하기 때문입니다.
N7KA-VDC-1(config-if-range)# sh hard mac address-table 6
FE | Valid| PI| BD | MAC | Index| Stat| SW | Modi| Age| Tmr|
| | | | | | ic | | fied|Byte| Sel|
---+------+---+------+---------------+-------+-----+-----+-----+----+----+-
0 1 1 38 8478.ac0e.4742 0x00053 0 0x081 1 138 1
0 1 0 39 8478.ac5b.2b42 0x00054 0 0x091 1 138 1
1 1 0 38 8478.ac0e.4742 0x00053 0 0x091 1 138 1
1 1 1 39 8478.ac5b.2b42 0x00054 0 0x081 1 138 1
vlan 200 SVI를 제거하면 MAC 테이블에 FE0의 vlan 200 mac에 대한 동기화가 표시되지 않습니다.
N7KA-VDC-1(config-if-range)# sh hard mac address-table 6
FE | Valid| PI| BD | MAC | Index| Stat| SW | Modi| Age| Tmr|
| | | | | | ic | | fied|Byte| Sel|
---+------+---+------+---------------+-------+-----+-----+-----+----+----+-
0 1 1 38 8478.ac0e.4742 0x00053 0 0x081 1 138 1
1 1 0 38 8478.ac0e.4742 0x00053 0 0x091 1 138 1
1 1 1 39 8478.ac5b.2b42 0x00054 0 0x081 1 138 1
이 단계의 결론은 SVI를 삭제하는 것이 아니라 별도의 레이어 3 VDC를 생성하여 SVI를 다른 VDC로 이동하는 것이 선택인지 분석하는 것입니다.이는 쉬운 설계 단계가 아니며 자세한 계획이 필요합니다.
옵션 3. Fabricpath와 같은 대체 설계 아키텍처
이러한 솔루션은 이 문서의 범위를 벗어나 보다 복잡한 대안이지만 MAC 사용 효율성을 제공할 수 있습니다.
옵션 4. M2/F3 카드와 같은 대용량 라인 카드 사용
M2 및 F3 라인 카드는 MAC 테이블 용량이 훨씬 높습니다.
M2 데이터 시트 => MAC 테이블(SoC당 128k)
F3 데이터 시트 ==> MAC 테이블(SoC당 64k)