本文檔介紹在Cisco Nexus 7000(N7K)M系列模組上執行ELAM的步驟,說明最相關的輸出,並說明如何解釋結果。
在本範例中,VLAN 2500(10.0.5.101)上連線埠Eth4/1上的主機向VLAN 55(10.0.3.101)(連線埠Eth3/5)上的主機傳送網際網路控制訊息通訊協定(ICMP)請求。 使用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)上執行ELAM。請注意,L2 FE資料匯流排(DBUS)包含L2和第3層(L3)查詢之前的原始報頭資訊,而結果匯流排(RBUS)包含L3和L2查詢之後的結果。L3查詢由內部代號Lamira的L3/第4層(L4)FE執行,該流程與運行Supervisor Engine 2T的Cisco Catalyst 6500系列交換機平台所使用的流程相同。
N7K M系列模組可以為每個模組使用多個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地址和目的IPv4地址捕獲幀,因此僅指定這些值。
Eureka要求為DBUS和RBUS設定觸發器。RBUS資料可以駐留在兩個不同的封包緩衝區(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資料,可以驗證在VLAN 2500上收到幀時源MAC地址為d0d0.fdb7.3dc2,目的MAC地址為000.0c07.ac65。您還可以看到,這是源自10.0.5.101且目的地為10.0.3.101的IPv4幀。
若要確認收到訊框的哪個連線埠,請輸入SRC_INDEX指令(來源本機目標邏輯(LTL))。 輸入以下命令可將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和005.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不與物理埠匹配時的用途很有用。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 |
初始版本 |