소개
이 문서에서는 Cisco Nexus 9000 패킷 추적기 유틸리티를 구성하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
Cisco에서는 다음 항목에 대한 기본 지식을 갖춘 것을 권장합니다.
- Cisco Nexus 9000 하드웨어 아키텍처
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Cisco Nexus 9500
- SW 버전 7.0(3)I2(2a)
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
Packet-tracer는 Nexus 9000에 내장된 유틸리티로, 스위치를 통해 패킷의 경로를 추적하는 데 사용할 수 있습니다. 명령줄을 사용하여 호출할 수 있으며 IP 주소 및/또는 레이어 4 특성과 일치하도록 구성할 수 있습니다. ARP 트래픽과 일치시키는 데 사용할 수 없습니다.
이 툴은 플로우가 스위치를 통과하는지 확인하는 기능을 제공합니다. 또한 간헐적/완전한 패킷 손실 경관에 유용할 수 있는 플로우 통계를 추적할 수 있는 카운터를 제공합니다.
활용 사례 시나리오
- IPv4 플로우에만 적용 가능(IPv6 및 비 IP는 지원되지 않음)
- 이 툴은 wireshark에 표시된 패킷 내부 세부사항을 표시하지 않습니다.
- 간헐적 패킷 손실: Ping 또는 기타 유틸리티로 인해 패킷이 손실될 수 있습니다.
- 패킷 손실 완료
지원되는 하드웨어
Broadcom Trident II asic이 포함된 라인 카드/패브릭 모듈 또는 TOR만 지원됩니다. 목록은 다음과 같습니다.
- N9K-C9372TX
- N9K-C9372PX
- N9K-C9332PQ
- N9K-C9396TX
- N9K-C9396PX
- N9K-C93128TX
- N9K-C9336PQ
- N9K-X9564PX
- N9K-X9564TX
- N9K-X9636PQ
지원되지 않는 하드웨어
- N9K-C93180YC-EX
- N9K-X9732C-EX
- N9K-C9232C
- N9k-C9272Q
- N9k-C92160YC
참고: 특정 라인 카드/TOR가 목록에 없는 경우 TAC에 문의하십시오.
패킷 추적기 사용 방법
설정
Packet-tracer 명령은 EXEC 레벨 명령입니다.
N9K-9508#test packet-tracer src_ip <src_ip> dst_ip <dst_ip> <==== provide your src and dst ip
N9K-9508#test packet-tracer start <==== Start packet tracer
N9K-9508#test packet-tracer stop <==== Stop packet tracer
N9K-9508#test packet-tracer show <==== Check for packet matches
앞의 명령은 라인 카드 또는 패브릭 모듈에 있는 모든 Broadcom Trident II Asic에 트리거를 프로그래밍합니다. 일치하는 특성이 있는 플로우가 이러한 모듈을 통과할 때 적중되는 카운터를 표시하므로 스위치(Ingress module—>Fabric module 중 하나---->Egress module) 내의 경로를 식별하는 데 도움이 됩니다.
카운터를 사용하여 드롭을 상호 연결할 수 있습니다.
배경 정보
패브릭 모듈은 I/O 모듈 슬롯을 상호 연결합니다. 모든 패브릭 모듈은 활성 상태이며 트래픽을 전달합니다. 패브릭 모듈당 2개의 Broadcom Trident II ASIC(T2) 인스턴스
문제
PACL(Port Access-list)은 특정 물리적 인터페이스에서 관심 트래픽을 수신했는지 확인하는 데 사용됩니다. 그러나 Nexus 플랫폼에서 일부 라인 카드에는 PACL용 TCAM이 조각되어 있지 않습니다. TCAM 조각에는 모듈을 다시 로드해야 합니다. 이러한 경우 패킷 추적기를 사용하여 관심 있는 트래픽을 확인합니다. 또한 패브릭 포트 및 이그레스 모듈로 이동하는 패킷을 추적할 수 있습니다. 따라서 패킷 추적기는 스위치 내에서 트래픽이 전달되는 방식에 대한 더 많은 통찰력을 제공합니다.
패킷 추적기는 SPAN을 위해 새겨진 TCAM 항목을 사용합니다.
솔루션
NS - North Star ASIC
T2 - 트라이던트 II ASIC
NFE - 네트워크 포워딩 엔진
ALE - ACI 리프 엔진
Nexus 9000 스위치 아키텍처에 대한 자세한 내용은 이 백서를 참조하십시오.
참고: 9500 섀시에는 최대 6개의 패브릭 모듈이 있습니다. 이전 그림의 패브릭을 하나만 표시하여 간단하게 만듭니다. 모듈의 트래픽은 모든 패브릭 모듈에 도달할 수 있습니다.
활용 사례: 인그레스 모듈의 트래픽, 패브릭 모듈의 트래픽 인그레스 및 이그레스 모듈의 T2 ASIC의 트래픽 인그레스 매칭
관심 있는 트래픽과 일치하도록 구성해야 하는 기본 단계는 다음과 같습니다.
switch#test packet-tracer {<src-ip>|<dst-ip>|<src-l4-port>|<dst-l4-port>} [<protocol>] [detail-fp|detail-hg]
필요한 구성은 다음과 같습니다.
switch#test packet-tracer src_ip <src_ip> dst_ip <dst_ip> protocol <> <==== provide your src and dst ip and protocol (protocol option 1 is for icmp)
switch#test packet-tracer start <==== Start packet tracer
switch#test packet-tracer show <==== Check for packet match statistics
특정 인터페이스에는 적용할 필요가 없습니다. 이러한 컨피그레이션은 T2 ASIC의 모든 인스턴스에서 모든 LC/FM에 필터 ACL을 설치합니다.
트래픽이 삽입된 모듈의 패킷 수를 표시합니다. 이는 라인 카드와 패브릭을 모두 포함하는 모듈에 대한 관심 있는 트래픽과 일치합니다.
다음은 컨피그레이션 예입니다.
N9K-9508# test packet-tracer src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1 <=== Protocol 1 matches ICMP traffic
N9K-9508# test packet-tracer start
'test packet-tracer show' 출력을 해석하는 방법은 다음과 같습니다.
N9K-9508# test packet-tracer show
Packet-tracer stats
---------------------
Module 1: <=== Slot #. Same output will be displayed for other Linecards's and Fabric modules.
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 <==== Our filter #1
ASIC instance 0: <==== Trident ASIC instance #0
Entry 0: id = 7425, count = 0, active, fp, <==== pakcet match count on front panel port. it could be any port
Entry 1: id = 7426, count = 0, active, hg, <==== packet match count from fabric module to T2 ASIC on the linecard
ASIC instance 1:
Entry 0: id = 7425, count = 0, active, fp,
Entry 1: id = 7426, count = 0, active, hg,
Filter 2 uninstalled:
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
컨피그레이션 예:
패킷 추적기를 구성합니다.
N9K-9508# test packet-tracer src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1 <==== Filter to match echo traffic. Protocol 1 to match icmp traffic
N9K-9508# test packet-tracer src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1 <=== Filter to match echo reply traffic
N9K-9508# test packet-tracer start <==== Start packet tracer
N9K-9508# test packet-tracer show non-zero <==== Command to see packet statistics
Packet-tracer stats
---------------------
Module 1:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 2:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 22:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 23:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 24:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 25:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
테스트: 모듈 1의 SRC IP Connected Off에서 모듈 2의 DST IP Connected Off로 ping 실행:
Router# ping 10.1.1.1 source 10.2.2.1
PING 10.1.1.1 (10.1.1.1) from 10.2.2.1: 56 data bytes
64 bytes from 10.1.1.1: icmp_seq=0 ttl=253 time=0.77 ms
64 bytes from 10.1.1.1: icmp_seq=1 ttl=253 time=0.43 ms
64 bytes from 10.1.1.1: icmp_seq=2 ttl=253 time=0.408 ms
64 bytes from 10.1.1.1: icmp_seq=3 ttl=253 time=0.398 ms
64 bytes from 10.1.1.1: icmp_seq=4 ttl=253 time=0.383 ms
--- 10.1.1.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0.383/0.477/0.77 ms
Verify(확인): 패킷 추적기 수 확인:
N9K-9508# test packet-tracer show non-zero <==== Command to see packet statistics
Packet-tracer stats
---------------------
Module 1:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
ASIC instance 0:
Entry 0: id = 7425, count = 5, active, fp, <===== 5 Echo packets ingress on Module 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 2:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
ASIC instance 0:
Entry 0: id = 7457, count = 5, active, fp, <===== 5 Echo reply packets ingress on Module 2
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 3:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 4:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 22:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
ASIC instance 0:
Entry 0: id = 7425, count = 4, active, hg, <==== Fabric module 22 received 4 echo packets
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 23:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
ASIC instance 0:
Entry 0: id = 7425, count = 1, active, hg, <==== Fabric module 23 received 1 echo packets
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
ASIC instance 0:
Entry 0: id = 7425, count = 3, active, hg, <==== Fabric module 23 received 3 echo reply packets
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 24:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
ASIC instance 0:
Entry 0: id = 7425, count = 2, active, hg, <==== Fabric module 23 received 2 echo reply packets
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 26:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
N9K-9508#
기타 유용한 명령:
test packet-tracer remove-all <=== 구성된 모든 필터를 제거합니다.
test packet-tracer clear <filter #> <=== 모든 필터 또는 지정된 필터에 대한 카운터 지우기
test packet-tracer src_ip <.> dst_ip <> l4-dst-port <dst_port> | l4-src-port <src_port> | protocol <=== L4 src_port, L4 dst_port 또는 프로토콜을 기준으로 일치합니다.