목차

소개

토폴로지

인그레스 포워딩 엔진 확인

트리거 구성

캡처 시작

결과 해석

추가 확인

소개

이 문서에서는 Cisco Nexus 7000(N7K) F2 모듈에서 ELAM을 수행하는 데 사용되는 단계에 대해 설명하고, 가장 관련성이 높은 출력을 설명하고, 결과를 해석하는 방법에 대해 설명합니다.

팁:ELAM에 대한 개요는 ELAM 개요 문서를 참조하십시오.

토폴로지

이 예에서 VLAN 10의 호스트(MAC 주소 0050.56a1.1a01이 있는 10.1.101), 포트 Eth6/4는 VLAN 10(10.1.102)에 있는 호스트에 ICMP(Internet Control Message Protocol) 요청을 전송합니다. MAC000000 0.56A1.1AEF), 포트 Eth6/3. ELAM은 10.1.101에서 10.1.1.102으로 이 단일 프레임을 캡처하기 위해 사용됩니다. ELAM을 사용하면 단일 프레임만 캡처할 수 있습니다.

N7K에서 ELAM을 수행하려면 먼저 해당 모듈에 연결해야 합니다(네트워크 관리자 권한이 필요함).

N7K# attach module 6

Attaching to module 6 ...

To exit type 'exit', to abort type '$.'

module-6#

인그레스 포워딩 엔진 확인

트래픽은 포트 Eth6/4에서 스위치를 인그레스로 합니다. 시스템에서 모듈을 확인하면 모듈 6이 F2 모듈임을 알 수 있습니다.N7K는 완전히 분산되어 있으며, 수퍼바이저가 아닌 모듈이 데이터 플레인 트래픽에 대해 포워딩 결정을 내린다는 점을 기억해야 합니다.

N7K# show module 6

Mod  Ports  Module-Type                 Model              Status

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

6    48     1/10 Gbps Ethernet Module   N7K-F248XP-25E     ok

F2 모듈의 경우 내부 코드 이름 Clipper를 사용하여 L2(Layer 2) Forwarding Engine(FE)에서 ELAM을 수행합니다.L2 FE 데이터 버스(DBUS)에는 L2 및 L3(Layer 3) 조회 이전의 원래 헤더 정보가 포함되며 RBUS(Result Bus)에는 L3 및 L2 조회 후의 결과가 포함됩니다.

N7K F2에는 모듈당 12개의 FE가 있으므로 포트 Eth6/4의 FE에 사용되는 Clipper ASIC을 확인해야 합니다. 다음을 확인하려면 이 명령을 입력하십시오.

module-6# show hardware internal dev-port-map

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

CARD_TYPE:         48 port 10G

>Front Panel ports:48

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

Device name             Dev role              Abbr num_inst:

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

> Clipper FWD            DEV_LAYER_2_LOOKUP     L2LKP  12

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

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

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

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

...

3       0       0       0       0       0       0

4       0       0       0       0       0       0

출력에서 포트 Eth6/4가 Clipper(L2LKP) 인스턴스 0에 있음을 확인할 수 있습니다.

module-6# elam asic clipper instance 0

module-6(clipper-elam)# layer2

module-6(clipper-l2-elam)#

트리거 구성

Clipper ASIC는 여러 프레임 유형에 대해 ELAM 트리거를 지원합니다.ELAM 트리거는 프레임 유형에 맞춰 정렬되어야 합니다.프레임이 IPv4 프레임인 경우 트리거도 IPv4여야 합니다. IPv4 프레임은 다른 트리거와 함께 캡처되지 않습니다.IPv6에도 동일한 논리가 적용됩니다.

Clipper ASIC는 다음 프레임 유형을 지원합니다.

module-6(clipper-l2-elam)# trigger dbus ?

arp    ARP Frame Format

fc     Fc hdr Frame Format

ipv4   IPV4 Frame Format

ipv6   IPV6 Frame Format

other  L2 hdr Frame Format

pup    PUP Frame Format

rarp   Rarp hdr Frame Format

valid  On valid packet

NX-OS(Nexus Operating Systems)를 사용하면 물음표 문자를 사용하여 ELAM 트리거를 분리할 수 있습니다.F2 모듈에서는 ELAM에 대해 다음과 같은 몇 가지 옵션을 사용할 수 있습니다.

module-6(clipper-l2-elam)# trigger dbus ipv4 ingress if ?

<CR>

destination-ipv4-address         destination ipv4 address

destination-mac-address          Inner destination mac address

source-index                     Source index

source-ipv4-address              source ipv4 address

source-mac-address               Inner source mac address

vlan                             Vlan

etc?

이 예에서는 소스 및 대상 IPv4 주소를 기반으로 프레임이 캡처되므로 해당 값만 지정됩니다.

클리퍼는 DBUS와 RBUS에 대해 트리거가 설정되어야 한다고 요구합니다.이는 PB(Packet Buffer) 인스턴스를 지정해야 할 필요가 없으므로 M-Series 모듈과 다릅니다.이렇게 하면 RBUS 트리거가 간소화됩니다.

다음은 DBUS 트리거입니다.

module-6(clipper-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address

10.1.1.101 destination-ipv4-address 10.1.1.102

다음은 RBUS 트리거입니다.

module-6(clipper-l2-elam)# trigger rbus ingress if trig

캡처 시작

인그레스 FE가 선택되고 트리거를 구성했으므로 캡처를 시작할 수 있습니다.

module-6(clipper-l2-elam)# start

ELAM의 상태를 확인하려면 status 명령을 입력합니다.

module-6(clipper-l2-elam)# status

ELAM instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if

source-ipv4-address 10.1.1.101 destination-ipv4-address 10.1.1.102

L2 DBUS Armed

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

L2 RBUS Armed

FE에서 트리거와 일치하는 프레임을 수신하면 ELAM 상태가 트리거됨으로 표시됩니다.

module-6(clipper-l2-elam)# status

ELAM instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if

source-ipv4-address 10.1.1.101 destination-ipv4-address 10.1.1.102

L2 DBUS Triggered

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

L2 RBUS Triggered

결과 해석

ELAM 결과를 표시하려면 show dbus 및 show rbus 명령을 입력합니다.다음은 이 예제와 가장 관련이 있는 ELAM 데이터의 발췌문입니다(일부 출력은 생략됨).

module-6(clipper-l2-elam)# show dbus

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

L2 DBUS CONTENT - IPV4 PACKET

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

...

vlan                : 0xa             destination-index   : 0x0

source-index        : 0x3             bundle-port         : 0x0

sequence-number     : 0x3f            vl                  : 0x0

...

source-ipv4-address: 10.1.1.101

destination-ipv4-address: 10.1.1.102

destination-mac-address: 0050.56a1.1aef

source-mac-address: 0050.56a1.1a01

module-6(clipper-l2-elam)#  show rbus

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

L2 RBUS INGRESS CONTENT

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

l2-rbus-trigger     : 0x1             sequence-number     : 0x3f

di-ltl-index        : 0x2             l3-multicast-di     : 0x0

source-index        : 0x3             vlan-id             : 0xa

DBUS 데이터를 사용하여 프레임이 VLAN 10(vlan:0xa) 소스 MAC 주소가 0050.56a1.1a01이고 대상 MAC 주소가 0050.56a1.1aef인.또한 이 프레임이 10.1.1.101에서 소싱되고 10.1.102로 지정되는 IPv4 프레임임을 확인할 수 있습니다.

팁:TOS(Type of Service) 값, IP 플래그, IP 길이, L2 프레임 길이와 같이 이 출력에 포함되지 않은 기타 여러 유용한 필드가 있습니다.

프레임이 수신되는 포트를 확인하려면 SRC_INDEX 명령(소스 LTL(Local Target Logic))을 입력합니다. LTL을 N7K의 포트 또는 포트 그룹에 매핑하려면 다음 명령을 입력합니다.

N7K# show system internal pixm info ltl 0x3

Type            LTL

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

PHY_PORT       Eth6/4

출력은 0x3의 소스 인덱스가 포트 Eth6/4에 매핑되는 것을 보여줍니다. 이렇게 하면 프레임이 포트 Eth6/4에서 수신되었음을 확인합니다.

RBUS 데이터를 사용하여 프레임이 VLAN 10에서 스위칭되었는지 확인할 수 있습니다(vlan-id:0xa) 또한 di-ltl-index(대상 LTL)에서 이그레스 포트를 확인할 수 있습니다.

N7K# show system internal pixm info ltl 0x2

Type            LTL

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

PHY_PORT       Eth6/3

출력은 0x2의 di-ltl-index가 포트 Eth6/3에 매핑되는 것을 보여 줍니다. 이렇게 하면 프레임이 포트 Eth6/3에서 전환되었음을 확인합니다.

추가 확인

스위치가 LTL 풀을 할당하는 방법을 확인하려면 show system internal pixm info ltl-region 명령을 입력합니다.이 명령의 출력은 LTL이 물리적 포트와 일치하지 않을 경우 LTL의 목적을 파악하는 데 유용합니다.대표적인 예가 Drop LTL입니다.

N7K# show system internal pixm info ltl 0x11a0

0x11a0 is not configured

N7K# show system internal pixm info ltl-region

LTL POOL TYPE                          SIZE        RANGE

=====================================================================

DCE/FC Pool                            1024       0x0000 to 0x03ff

SUP Inband LTL                           32       0x0400 to 0x041f

MD Flood LTL                              1       0x0420

Central R/W                               1       0x0421

UCAST Pool                             1536       0x0422 to 0x0a21

PC Pool                                1720       0x0a22 to 0x10d9

LC CPU Pool                              32       0x1152 to 0x1171

EARL Pool                                72       0x10da to 0x1121

SPAN Pool                                48       0x1122 to 0x1151

UCAST VDC Use Pool                       16       0x1172 to 0x1181

UCAST Generic Pool                       30       0x1182 to 0x119f

LISP Pool                                 4       0x1198 to 0x119b

Invalid SI                                1       0x119c to 0x119c

ESPAN SI                                  1       0x119d to 0x119d

Recirc SI                                 1       0x119e to 0x119e

Drop DI                                   2       0x119f to 0x11a0

UCAST (L3_SVI_SI) Region                 31       0x11a1 to 0x11bf

UCAST (Fex/GPC/SVI-ES)       3648       0x11c0 to 0x1fff

UCAST Reserved for Future Use Region   2048       0x2000 to 0x27ff

======================> UCAST MCAST BOUNDARY <======================

VDC OMF Pool                             32       0x2800 to 0x281f