이 문서에서는 Cisco Nexus 7000(N7K) M-Series 모듈에서 ELAM을 수행하는 데 사용되는 단계와 가장 관련성이 높은 출력에 대해 설명하고 결과를 해석하는 방법에 대해 설명합니다.
이 예에서 VLAN 2500(10.0.5.101)의 호스트, 포트 Eth4/1은 VLAN 55(10.0.3.101)의 호스트, 포트 Eth3/5에 ICMP(Internet Control Message Protocol) 요청을 보냅니다. ELAM은 이 단일 패킷을 10.0.5.101에서 10.0.3.101로 캡처하는 데 사용됩니다. ELAM을 사용하면 단일 프레임을 캡처할 수 있다는 점을 기억해야 합니다.
N7K에서 ELAM을 수행하려면 먼저 적절한 모듈에 연결해야 합니다(네트워크 관리자 권한이 필요함).
N7K# attach module 4
Attaching to module 4 ...
To exit type 'exit', to abort type '$.'
module-4#
포트 Eth4/1에서 트래픽이 스위치에 유입되어야 합니다. 시스템에서 모듈을 확인하면 모듈 4가 M 시리즈 모듈임을 알 수 있습니다. N7K가 완전히 분산되고 수퍼바이저가 아닌 모듈이 데이터 플레인 트래픽에 대한 포워딩 결정을 내린다는 점을 기억해야 합니다.
N7K# show module
Mod Ports Module-Type Model Status
--- ----- ----------------------------------- ------------------ ----------
3 32 10 Gbps Ethernet Module N7K-M132XP-12 ok
4 48 10/100/1000 Mbps Ethernet Module N7K-M148GT-11 ok
5 0 Supervisor module-1X N7K-SUP1 active *
6 0 Supervisor module-1X N7K-SUP1 ha-standby
M 시리즈 모듈의 경우, 내부 코드 이름이 Eureka인 레이어 2(L2) FE(Forwarding Engine)에서 ELAM을 수행합니다. L2 FE 데이터 버스(DBUS)에는 L2 및 레이어 3(L3) 조회 전의 원래 헤더 정보가 포함되며, 결과 버스(RBUS)에는 L3 및 L2 조회 이후의 결과가 포함됩니다. L3 조회는 내부 코드 이름이 Lamira인 L3/L4(Layer 4) FE에 의해 수행되며, 이는 Supervisor Engine 2T를 실행하는 Cisco Catalyst 6500 Series 스위치 플랫폼에서 사용되는 것과 동일한 프로세스입니다.
N7K M-Series 모듈은 각 모듈에 대해 여러 FE를 사용할 수 있으므로 포트 Eth4/1의 FE에 사용되는 Eureka ASIC를 결정해야 합니다. 이를 확인하려면 다음 명령을 입력합니다.
module-4# show hardware internal dev-port-map
(some output omitted)
--------------------------------------------------------------
CARD_TYPE: 48 port 1G
>Front Panel ports:48
--------------------------------------------------------------
Device name Dev role Abbr num_inst:
--------------------------------------------------------------
> Eureka DEV_LAYER_2_LOOKUP L2LKP 1
+--------------------------------------------------------------+
+-----------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++--------+
+--------------------------------------------------------------+
FP port|PHYS |SECUR |MAC_0 |RWR_0 |L2LKP |L3LKP |QUEUE |SWICHF
1 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0
출력에서 포트 Eth4/1이 Eureka(L2LKP) 인스턴스 0에 있음을 볼 수 있습니다.
module-4# elam asic eureka instance 1
module-4(eureka-elam)#
Eureka ASIC는 IPv4, IPv6 등에 대한 ELAM 트리거를 지원합니다. ELAM 트리거는 프레임 유형에 맞춰야 합니다. 프레임이 IPv4 프레임이면 트리거도 IPv4여야 합니다. IPv4 프레임은 다른 트리거로 캡처되지 않습니다. IPv6에도 동일한 논리가 적용됩니다.
Nexus 운영 체제(NX-OS)에서는 물음표 문자를 사용하여 ELAM 트리거를 분리할 수 있습니다.
module-4(eureka-elam)# trigger dbus dbi ingress ipv4 if ?
(some output omitted)
destination-flood Destination Flood
destination-index Destination Index
destination-ipv4-address Destination IP Address
destination-mac-address Destination MAC Address
ip-tos IP TOS
ip-total-len IP Total Length
ip-ttl IP TTL
source-mac-address Source MAC Address
vlan-id Vlan ID Number
이 예에서는 소스 및 목적지 IPv4 주소에 따라 프레임이 캡처되므로 해당 값만 지정됩니다.
Eureka는 트리거가 DBUS 및 RBUS에 대해 설정되어야 함을 요구합니다. RBUS 데이터가 상주할 수 있는 2개의 서로 다른 패킷 버퍼(PB)가 있습니다. 정확한 PB 인스턴스의 결정은 정확한 모듈 유형 및 인그레스 포트에 따라 달라집니다. 일반적으로 PB1을 구성하는 것이 좋으며 RBUS가 트리거되지 않을 경우 PB2를 사용하여 컨피그레이션을 반복합니다.
다음은 DBUS 트리거입니다.
module-4(eureka-elam)# trigger dbus dbi ingress ipv4 if source-ipv4-address
10.0.5.101 destination-ipv4-address 10.0.3.101 rbi-corelate
RBUS 트리거는 다음과 같습니다.
module-4(eureka-elam)# trigger rbus rbi pb1 ip if cap2 1
이제 인그레스 FE가 선택되고 트리거를 구성했으므로 캡처를 시작할 수 있습니다.
module-4(eureka-elam)# start
ELAM의 상태를 확인하려면 status 명령을 입력합니다.
module-4(eureka-elam)# status
Instance: 1
EU-DBUS: Armed
trigger dbus dbi ingress ipv4 if source-ipv4-address 10.0.5.101
destination-ipv4-address 10.0.3.101 rbi-corelate
EU-RBUS: Armed
trigger rbus rbi pb1 ip if cap2 1
LM-DBUS: Dis-Armed
No configuration
LM-RBUS: Dis-Armed
No configuration
트리거와 일치하는 프레임이 FE에 수신되면 ELAM 상태가 Triggered로 표시됩니다.
module-4(eureka-elam)# status
Instance: 1
EU-DBUS: Triggered
trigger dbus dbi ingress ipv4 if source-ipv4-address 10.0.5.101
destination-ipv4-address 10.0.3.101 rbi-corelate
EU-RBUS: Triggered
trigger rbus rbi pb1 ip if cap2 1
LM-DBUS: Dis-Armed
No configuration
LM-RBUS: Dis-Armed
No configuration
ELAM 결과를 표시하려면 show dbus 및 show rbus 명령을 입력합니다. 동일한 트리거와 일치하는 많은 양의 트래픽이 있는 경우 DBUS 및 RBUS가 서로 다른 프레임에서 트리거될 수 있습니다. 따라서 DBUS 및 RBUS 데이터에서 내부 시퀀스 번호가 일치하는지 확인하는 것이 중요합니다.
module-4(eureka-elam)# show dbus | i seq
seq = 0x05
module-4(eureka-elam)# show rbus | i seq
seq = 0x05
다음은 이 예와 가장 관련이 있는 ELAM 데이터에서 발췌한 것입니다(일부 출력은 생략됨).
module-4(eureka-elam)# show dbus
seq = 0x05
vlan = 2500
source_index = 0x00a21
l3_protocol = 0x0 (0:IPv4, 6:IPv6)
l3_protocol_type = 0x01, (1:ICMP, 2:IGMP, 4:IP, 6:TCP, 17:UDP)
dmac = 00.00.0c.07.ac.65
smac = d0.d0.fd.b7.3d.c2
ip_ttl = 0xff
ip_source = 010.000.005.101
ip_destination = 010.000.003.101
module-4(eureka-elam)# show rbus
seq = 0x05
flood = 0x0
dest_index = 0x009ed
vlan = 55
ttl = 0xfe
data(rit/dmac/recir) = 00.05.73.a9.55.41
data(rit/smac/recir) = 84.78.ac.0e.47.41
DBUS 데이터를 사용하면 소스 MAC 주소 d0d0.fdb7.3dc2 및 대상 MAC 주소 0000.0c07.ac65를 사용하여 VLAN 2500에서 프레임이 수신되는지 확인할 수 있습니다. 이 프레임은 10.0.5.101에서 소싱되며 10.0.3.101로 향하는 IPv4 프레임임을 확인할 수도 있습니다.
프레임이 수신된 포트를 확인하려면 SRC_INDEX 명령(소스 LTL(Local Target Logic))을 입력합니다. LTL을 N7K에 대한 포트 또는 포트 그룹에 매핑하려면 다음 명령을 입력합니다.
N7K# show system internal pixm info ltl 0xa21
Member info
------------------
Type LTL
---------------------------------
PHY_PORT Eth4/1
FLOOD_W_FPOE 0x8014
이 출력은 0xa21의 SRC_INDEX가 포트 Eth4/1에 매핑되는 것을 보여줍니다. 그러면 프레임이 포트 Eth4/1에 수신됩니다.
RBUS 데이터를 사용하면 프레임이 VLAN 55로 라우팅되고 TTL이 DBUS 데이터의 0xff에서 RBUS 데이터의 0xfe로 감소하는지 확인할 수 있습니다. 소스 및 대상 MAC 주소가 각각 8478.ac0e.4741 및 0005.73a9.5541로 재작성되는 것을 확인할 수 있습니다. 또한 DEST_INDEX(대상 LTL)에서 이그레스 포트를 확인할 수 있습니다.
N7K# show system internal pixm info ltl 0x9ed
Member info
------------------
Type LTL
---------------------------------
PHY_PORT Eth3/5
FLOOD_W_FPOE 0x8017
FLOOD_W_FPOE 0x8016
출력에 0x9ed의 DEST_INDEX가 포트 Eth3/5에 매핑되는 것이 표시됩니다. 그러면 프레임이 포트 Eth3/5에서 전송됨을 확인합니다.
스위치에서 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
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
11-Oct-2013 |
최초 릴리스 |