¿Tiene una cuenta?
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe cómo realizar el seguimiento de paquetes de datapath para el software Cisco IOS®-XE a través de la función Packet Trace.
Para identificar problemas como la configuración incorrecta, la sobrecarga de capacidad o incluso el error de software normal mientras se resuelve el problema, es necesario entender lo que sucede con un paquete dentro de un sistema. La función Cisco IOS-XE Packet Trace satisface esta necesidad. Proporciona un método de campo seguro que se utiliza para la contabilización y para capturar detalles de procesamiento por paquete basados en una clase de condiciones definidas por el usuario.
Cisco recomienda que tenga conocimiento de la función de seguimiento de paquetes disponible en Cisco IOS-XE versiones 3.10 y posteriores, así como en todas las plataformas que ejecutan el software Cisco IOS-XE, como los routers de servicios de agregación Cisco serie 1000 (ASR1K), el router de servicios en la nube Cisco serie 1000V (CSR1000v) y Cisco Router de servicios integrados serie 4451-X (ISR4451-X).
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
La información de este documento se originó a partir de dispositivos dentro de un ambiente de laboratorio específico. All of the devices used in this document started with a cleared (default) configuration. Si su red está activa, asegúrese de comprender el impacto potencial de cualquier comando utilizado.
Este diagrama ilustra la topología que se utiliza para los ejemplos que se describen en este documento:
Para ilustrar el uso de la función de seguimiento de paquetes, el ejemplo que se utiliza a lo largo de esta sección describe un seguimiento del tráfico del protocolo de mensajes de control de Internet (ICMP) desde la estación de trabajo local 172.16.10.2 (detrás del ASR1K) al host remoto 172.16.20.2 (la dirección de ingreso para el ASR1K en el Gig0/0/1/1 interfaz).
Puede rastrear paquetes en ASR1K con estos dos pasos:
Esta es una guía de inicio rápido si ya está familiarizado con el contenido de este documento y desea una sección para ver rápidamente la CLI. Estos son sólo algunos ejemplos para ilustrar el uso de la herramienta. Consulte las secciones posteriores en las que se explica la sintaxis detalladamente y asegúrese de utilizar la configuración adecuada para sus requisitos.
debug platform condition ipv4 10.0.0.1/32 both --> matches in and out packets with source
or destination as 10.0.0.1/32
debug platform condition ipv4 access-list 198 egress --> (Ensure access-list 198 is
defined prior to configuring this command) - matches egress packets corresponding
to access-list 198
debug platform condition interface gig 0/0/0 ingress --> matches all ingress packets
on interface gig 0/0/0
debug platform condition mpls 10 1 ingress --> matches MPLS packets with top ingress
label 10
debug platform condition ingress --> matches all ingress packets on all interfaces
(use cautiously)
Después de configurar una condición de plataforma, inicie las condiciones de la plataforma con este comando CLI:
debug platform condition start
debug platform packet-trace packet 1024 -> basic path-trace, and automatically stops
tracing packets after 1024 packets. You can use "circular" option if needed debug platform packet-trace packet 1024 fia-trace -> enables detailed fia trace, stops
tracing packets after 1024 packets debug platform packet-trace drop [code] -> if you want to trace/capture only
packets that are dropped. Refer to Drop Trace section for more details.
Nota: En las versiones anteriores de Cisco IOS-XE 3.x, el comando debug platform packet-trace enable también es necesario para iniciar la función packet-trace. Esto ya no es necesario en las versiones 16.x del IOS-XE de Cisco.
Ingrese este comando para borrar el búfer de seguimiento y restablecer packet-trace:
clear platform packet-trace statistics --> clear the packet trace buffer
El comando para borrar las condiciones de la plataforma y la configuración de seguimiento de paquetes es:
clear platform condition all --> clears both platform conditions and the packet trace configuration
Comandos show
Verifique la condición de la plataforma y la configuración de seguimiento de paquetes después de aplicar los comandos anteriores para asegurarse de que tiene lo que necesita.
show platform conditions --> shows the platform conditions configured
show platform packet-trace configuration --> shows the packet-trace configurations
show debugging --> this will show both platform conditions and platform packet-trace configured
Estos son los comandos para verificar los paquetes rastreados/capturados:
show platform packet-trace statistics --> statistics of packets traced
show platform packet-trace summary --> summary of all the packets traced, with input and
output interfaces, processing result and reason. show platform packet-trace packet 12 -> Tracing the 12th packet, with complete path trace
or FIA trace details.
La función Packet Trace se basa en la infraestructura de depuración condicional para determinar los paquetes a rastrear. La infraestructura de depuración condicional proporciona la capacidad de filtrar el tráfico en función de:
Estas condiciones definen dónde y cuándo se aplican los filtros a un paquete.
Para el tráfico que se utiliza en este ejemplo, habilite debugs condicionales de plataforma en la dirección de ingreso para los paquetes ICMP de 172.16.10.2 a 172.16.20.2. En otras palabras, seleccione el tráfico que desea rastrear. Hay varias opciones que puede utilizar para seleccionar este tráfico.
ASR1000#debug platform condition ?
egress Egress only debug
feature For a specific feature
ingress Ingress only debug
interface Set interface for conditional debug
ipv4 Debug IPv4 conditions
ipv6 Debug IPv6 conditions
start Start conditional debug
stop Stop conditional debug
En este ejemplo, se utiliza una lista de acceso para definir la condición, como se muestra aquí:
ASR1000#show access-list 150
Extended IP access list 150
10 permit icmp host 172.16.10.2 host 172.16.20.2
ASR1000#debug platform condition interface gig 0/0/1 ipv4
access-list 150 ingress
Para comenzar la depuración condicional, ingrese este comando:
ASR1000#debug platform condition start
Nota: Para detener o inhabilitar la infraestructura de depuración condicional, ingrese el comando debug platform condition stop.
Para ver los filtros de depuración condicional configurados, ingrese este comando:
ASR1000#show platform conditions
Conditional Debug Global State: Start
Conditions Direction
----------------------------------------------------------------------|---------
GigabitEthernet0/0/1 & IPV4 ACL [150] ingress
Feature Condition Format Value
-----------------------|-----------------------|--------------------------------
ASR1000#
En resumen, esta configuración se ha aplicado hasta ahora:
access-list 150 permit icmp host 172.16.10.2 host 172.16.20.2
debug platform condition interface gig 0/0/1 ipv4 access-list 150 ingress
debug platform condition start
Nota: En esta sección se describen detalladamente las opciones de paquete y copia, y las demás opciones se describen más adelante en el documento.
Los seguimientos de paquetes se soportan tanto en las interfaces físicas como lógicas, como en las interfaces de túnel o acceso virtual.
Esta es la sintaxis de CLI de seguimiento de paquetes:
ASR1000#debug platform packet-trace ?
copy Copy packet data
drop Trace drops only
inject Trace injects only
packet Packet count
punt Trace punts only
debug platform packet-trace packet[fia-trace | summary-only]
[circular] [data-size]
A continuación se describen las palabras clave de este comando:
debug platform packet-trace copy packet {in | out | both} [L2 | L3 | L4]
[size]
A continuación se describen las palabras clave de este comando:
Para este ejemplo, este es el comando utilizado para habilitar el seguimiento de paquetes para el tráfico seleccionado con la infraestructura de depuración condicional:
ASR1000#debug platform packet-trace packet 16
Para revisar la configuración de seguimiento de paquetes, ingrese este comando:
ASR1000#show platform packet-trace configuration
debug platform packet-trace packet 16 data-size 2048
También puede ingresar el comando show debugging para ver las depuraciones condicionales de la plataforma y las configuraciones de seguimiento de paquetes:
ASR1000# show debugging
IOSXE Conditional Debug Configs:
Conditional Debug Global State: Start
Conditions
Direction
----------------------------------------------------------------------|---------
GigabitEthernet0/0/1 & IPV4 ACL [150] ingress
...
IOSXE Packet Tracing Configs:
Feature Condition Format Value
-----------------------|-----------------------|--------------------------------
Feature Type Submode Level
-------|--------------|----------------------------------------------|----------
IOSXE Packet Tracing Configs:
debug platform packet-trace packet 16 data-size 2048
Nota: Ingrese el comando clear platform condition all para borrar todas las condiciones de depuración de la plataforma y las configuraciones y datos de seguimiento de paquetes.
En resumen, estos datos de configuración se han utilizado hasta ahora para habilitar packet-trace:
debug platform packet-trace packet 16
Las condiciones definen los filtros condicionales y cuándo se aplican a un paquete. Por ejemplo, debug platform condition interface g0/0/0 egress significa que un paquete se identifica como una coincidencia cuando alcanza la FIA de salida en la interfaz g0/0/0, por lo que cualquier procesamiento de paquetes que tenga lugar desde el ingreso hasta ese punto se pierde.
Nota: Cisco recomienda encarecidamente que utilice las condiciones de ingreso para los rastros de paquetes a fin de obtener los datos más completos y significativos posibles. Se pueden utilizar las condiciones de salida, pero tenga en cuenta las limitaciones.
Nota: Esta sección asume que path-trace está habilitado.
El seguimiento de paquetes proporciona tres niveles específicos de inspección:
Cuando se envían cinco paquetes de solicitud ICMP de 172.16.10.2 a 172.16.20.2, estos comandos se pueden utilizar para ver los resultados de seguimiento de paquetes:
ASR1000#show platform packet-trace statistics
Packets Traced: 5
Ingress 5
Inject 0
Forward 5
Punt 0
Drop 0
Consume 0
ASR1000#show platform packet-trace summary
Pkt Input Output State Reason
0 Gi0/0/1 Gi0/0/0 FWD
1 Gi0/0/1 Gi0/0/0 FWD
2 Gi0/0/1 Gi0/0/0 FWD
3 Gi0/0/1 Gi0/0/0 FWD
4 Gi0/0/1 Gi0/0/0 FWD
ASR1000#show platform packet-trace packet 0
Packet: 0 CBUG ID: 4
Summary
Input : GigabitEthernet0/0/1
Output : GigabitEthernet0/0/0
State : FWD
Timestamp
Start : 1819281992118 ns (05/17/2014 06:42:01.207240 UTC)
Stop : 1819282095121 ns (05/17/2014 06:42:01.207343 UTC)
Path Trace
Feature: IPV4
Source : 172.16.10.2
Destination : 172.16.20.2
Protocol : 1 (ICMP)
ASR1000#
Nota: El tercer comando proporciona un ejemplo que ilustra cómo ver el seguimiento de paquetes para cada paquete. En este ejemplo, se muestra el primer paquete rastreado.
A partir de estas salidas, puede ver que se rastrean cinco paquetes y que puede ver la interfaz de entrada, la interfaz de salida, el estado y el seguimiento de trayectoria.
Estado | Observación |
FWD | El paquete está programado/en cola para su entrega, para ser reenviado al salto siguiente a través de una interfaz de egreso. |
PUNT | El paquete se envía desde el procesador de reenvío (FP) al procesador de routing (RP) (plano de control). |
DESCARTAR | El paquete se descarta en el FP. Ejecute el seguimiento de FIA, utilice contadores de caídas globales o utilice debugs de datapath para encontrar más detalles por motivos de descarte. |
CONS | El paquete se consume durante un proceso de paquete, como durante la solicitud de ping ICMP o los paquetes crypto. |
Los contadores de ingreso e inyección en la salida de estadísticas de seguimiento de paquetes corresponden a los paquetes que ingresan a través de una interfaz externa y los paquetes que se ven como inyectados desde el plano de control, respectivamente.
La FIA contiene la lista de funciones ejecutadas secuencialmente por los motores de procesador de paquetes (PPE) en el procesador de flujo cuántico (QFP) cuando se reenvía un paquete, ya sea de entrada o de salida. Las funciones se basan en los datos de configuración que se aplican en el equipo. Por lo tanto, un seguimiento de FIA ayuda a entender el flujo del paquete a través del sistema a medida que se procesa el paquete.
Debe aplicar estos datos de configuración para habilitar el seguimiento de paquetes con FIA:
ASR1000#debug platform packet-trace packet 16 fia-trace
Nota: Esta sección asume que el seguimiento FIA está habilitado. Además, cuando agrega o modifica los comandos de seguimiento de paquetes actuales, se borran los detalles de seguimiento de paquetes almacenados en la memoria intermedia, por lo que debe enviar algo de tráfico de nuevo para que pueda rastrearlo.
Envíe cinco paquetes ICMP de 172.16.10.2 a 172.16.20.2 después de ingresar el comando que se utiliza para habilitar el seguimiento FIA, como se describe en la sección anterior.
ASR1000#show platform packet-trace summary
Pkt Input Output State Reason
0 Gi0/0/1 Gi0/0/0 FWD
1 Gi0/0/1 Gi0/0/0 FWD
2 Gi0/0/1 Gi0/0/0 FWD
3 Gi0/0/1 Gi0/0/0 FWD
4 Gi0/0/1 Gi0/0/0 FWD
ASR1000#show platform packet-trace packet 0
Packet: 0 CBUG ID: 9
Summary
Input : GigabitEthernet0/0/1
Output : GigabitEthernet0/0/0
State : FWD
Timestamp
Start : 1819281992118 ns (05/17/2014 06:42:01.207240 UTC)
Stop : 1819282095121 ns (05/17/2014 06:42:01.207343 UTC)
Path Trace
Feature: IPV4
Source : 172.16.10.2
Destination : 172.16.20.2
Protocol : 1 (ICMP)
Feature: FIA_TRACE
Entry : 0x8059dbe8 - DEBUG_COND_INPUT_PKT
Timestamp : 3685243309297
Feature: FIA_TRACE
Entry : 0x82011a00 - IPV4_INPUT_DST_LOOKUP_CONSUME
Timestamp : 3685243311450
Feature: FIA_TRACE
Entry : 0x82000170 - IPV4_INPUT_FOR_US_MARTIAN
Timestamp : 3685243312427
Feature: FIA_TRACE
Entry : 0x82004b68 - IPV4_OUTPUT_LOOKUP_PROCESS
Timestamp : 3685243313230
Feature: FIA_TRACE
Entry : 0x8034f210 - IPV4_INPUT_IPOPTIONS_PROCESS
Timestamp : 3685243315033
Feature: FIA_TRACE
Entry : 0x82013200 - IPV4_OUTPUT_GOTO_OUTPUT_FEATURE
Timestamp : 3685243315787
Feature: FIA_TRACE
Entry : 0x80321450 - IPV4_VFR_REFRAG
Timestamp : 3685243316980
Feature: FIA_TRACE
Entry : 0x82014700 - IPV6_INPUT_L2_REWRITE
Timestamp : 3685243317713
Feature: FIA_TRACE
Entry : 0x82000080 - IPV4_OUTPUT_FRAG
Timestamp : 3685243319223
Feature: FIA_TRACE
Entry : 0x8200e500 - IPV4_OUTPUT_DROP_POLICY
Timestamp : 3685243319950
Feature: FIA_TRACE
Entry : 0x8059aff4 - PACTRAC_OUTPUT_STATS
Timestamp : 3685243323603
Feature: FIA_TRACE
Entry : 0x82016100 - MARMOT_SPA_D_TRANSMIT_PKT
Timestamp : 3685243326183
ASR1000#
Cuando habilita los debugs condicionales de la plataforma, se agrega a la FIA como una función. Según la ubicación que se agregue a la lista, es posible que deba ajustar las condiciones de su plataforma, como cuando realice el seguimiento de los paquetes pre-encap y post-encap.
Esta salida muestra el orden de las funciones en FIA para la depuración condicional de la plataforma que está habilitada en la dirección de ingreso:
ASR1000#show platform hardware qfp active interface if-name GigabitEthernet 0/0/1
General interface information
Interface Name: GigabitEthernet0/0/1
Interface state: VALID
Platform interface handle: 10
QFP interface handle: 8
Rx uidb: 1021
Tx uidb: 131064
Channel: 16
Interface Relationships
BGPPA/QPPB interface configuration information
Ingress: BGPPA/QPPB not configured. flags: 0000
Egress : BGPPA not configured. flags: 0000
ipv4_input enabled.
ipv4_output enabled.
layer2_input enabled.
layer2_output enabled.
ess_ac_input enabled.
Features Bound to Interface:
2 GIC FIA state
48 PUNT INJECT DB
39 SPA/Marmot server
40 ethernet
1 IFM
31 icmp_svr
33 ipfrag_svr
34 ipreass_svr
36 ipvfr_svr
37 ipv6vfr_svr
12 CPP IPSEC
Protocol 0 - ipv4_input
FIA handle - CP:0x108d99cc DP:0x8070f400
IPV4_INPUT_DST_LOOKUP_ISSUE (M)
IPV4_INPUT_ARL_SANITY (M)
CBUG_INPUT_FIA
DEBUG_COND_INPUT_PKT
IPV4_INPUT_DST_LOOKUP_CONSUME (M)
IPV4_INPUT_FOR_US_MARTIAN (M)
IPV4_INPUT_IPSEC_CLASSIFY
IPV4_INPUT_IPSEC_COPROC_PROCESS
IPV4_INPUT_IPSEC_RERUN_JUMP
IPV4_INPUT_LOOKUP_PROCESS (M)
IPV4_INPUT_IPOPTIONS_PROCESS (M)
IPV4_INPUT_GOTO_OUTPUT_FEATURE (M)
Protocol 1 - ipv4_output
FIA handle - CP:0x108d9a34 DP:0x8070eb00
IPV4_OUTPUT_VFR
MC_OUTPUT_GEN_RECYCLE (D)
IPV4_VFR_REFRAG (M)
IPV4_OUTPUT_IPSEC_CLASSIFY
IPV4_OUTPUT_IPSEC_COPROC_PROCESS
IPV4_OUTPUT_IPSEC_RERUN_JUMP
IPV4_OUTPUT_L2_REWRITE (M)
IPV4_OUTPUT_FRAG (M)
IPV4_OUTPUT_DROP_POLICY (M)
PACTRAC_OUTPUT_STATS
MARMOT_SPA_D_TRANSMIT_PKT
DEF_IF_DROP_FIA (M)
Protocol 8 - layer2_input
FIA handle - CP:0x108d9bd4 DP:0x8070c700
LAYER2_INPUT_SIA (M)
CBUG_INPUT_FIA
DEBUG_COND_INPUT_PKT
LAYER2_INPUT_LOOKUP_PROCESS (M)
LAYER2_INPUT_GOTO_OUTPUT_FEATURE (M)
Protocol 9 - layer2_output
FIA handle - CP:0x108d9658 DP:0x80714080
LAYER2_OUTPUT_SERVICEWIRE (M)
LAYER2_OUTPUT_DROP_POLICY (M)
PACTRAC_OUTPUT_STATS
MARMOT_SPA_D_TRANSMIT_PKT
DEF_IF_DROP_FIA (M)
Protocol 14 - ess_ac_input
FIA handle - CP:0x108d9ba0 DP:0x8070cb80
PPPOE_GET_SESSION
ESS_ENTER_SWITCHING
PPPOE_HANDLE_UNCLASSIFIED_SESSION
DEF_IF_DROP_FIA (M)
QfpEth Physical Information
DPS Addr: 0x11215eb8
Submap Table Addr: 0x00000000
VLAN Ethertype: 0x8100
QOS Mode: Per Link
ASR1000#
Nota: CBUG_INPUT_FIA y DEBUG_COND_INPUT_PKT corresponden a las funciones de depuración condicional configuradas en el router.
Puede copiar y volcar los paquetes a medida que se hacen un seguimiento, como se describe en esta sección. Este ejemplo muestra cómo copiar un máximo de 2.048 bytes de los paquetes en la dirección de ingreso (172.16.10.2 a 172.16.20.2).
Este es el comando adicional que se necesita:
ASR1000#debug platform packet-trace copy packet input size 2048
Nota: El tamaño del paquete copiado está en el rango de 16 a 2048 bytes.
Ingrese este comando para vaciar los paquetes copiados:
ASR1000#show platform packet-trace packet 0
Packet: 0 CBUG ID: 14
Summary
Input : GigabitEthernet0/0/1
Output : GigabitEthernet0/0/0
State : FWD
Timestamp
Start : 1819281992118 ns (05/17/2014 06:40:01.207240 UTC)
Stop : 1819282095121 ns (05/17/2014 06:40:01.207343 UTC)
Path Trace
Feature: IPV4
Source : 172.16.10.2
Destination : 172.16.20.2
Protocol : 1 (ICMP)
Feature: FIA_TRACE
Entry : 0x8059dbe8 - DEBUG_COND_INPUT_PKT
Timestamp : 4458180580929
<some content excluded>
Feature: FIA_TRACE
Entry : 0x82016100 - MARMOT_SPA_D_TRANSMIT_PKT
Timestamp : 4458180593896
Packet Copy In
a4934c8e 33020023 33231379 08004500 00640160 0000ff01 5f16ac10 0201ac10
01010800 1fd40024 00000000 000184d0 d980abcd abcdabcd abcdabcd abcdabcd
abcdabcd abcdabcd abcdabcd abcdabcd abcdabcd abcdabcd abcdabcd abcdabcd
abcdabcd abcdabcd abcdabcd abcdabcd abcd
ASR1000#
El seguimiento de descarte está disponible en Cisco IOS-XE Software Release 3.11 y posteriores. Habilita el seguimiento de paquetes sólo para paquetes perdidos. Estos son algunos de los aspectos más destacados de la función:
Esta es la sintaxis del comando que se utiliza para habilitar los seguimientos de paquetes de tipo de descarte:
debug platform packet-trace drop [code]
El código de descarte es el mismo que el ID de descarte, como se informa en el resultado del comando show platform hardware qfp active statistics drop detail:
ASR1000#show platform hardware qfp active statistics drop detail
--------------------------------------------------------------------------------
ID Global Drop Stats Packets Octets
--------------------------------------------------------------------------------
60 IpTtlExceeded 3 126
8 Ipv4Acl 32 3432
Aplique esta ACL en la interfaz Gig 0/0/0 del ASR1K para descartar el tráfico de 172.16.10.2 a 172.16.20.2:
access-list 199 deny ip host 172.16.10.2 host 172.16.20.2
access-list 199 permit ip any any
interface Gig 0/0/0
ip access-group 199 out
Con la ACL implementada, que descarta el tráfico del host local al host remoto, aplique esta configuración de drop-trace:
debug platform condition interface Gig 0/0/1 ingress
debug platform condition start
debug platform packet-trace packet 1024 fia-trace
debug platform packet-trace drop
Envíe cinco paquetes de solicitud ICMP de 172.16.10.2 a 172.16.20.2. El seguimiento de descarte captura estos paquetes que son descartados por la ACL, como se muestra:
ASR1000#show platform packet-trace statistics
Packets Summary
Matched 5
Traced 5
Packets Received
Ingress 5
Inject 0
Packets Processed
Forward 0
Punt 0
Drop 5
Count Code Cause
5 8 Ipv4Acl
Consume 0
ASR1000#show platform packet-trace summary
Pkt Input Output State Reason
0 Gi0/0/1 Gi0/0/0 DROP 8 (Ipv4Acl)
1 Gi0/0/1 Gi0/0/0 DROP 8 (Ipv4Acl)
2 Gi0/0/1 Gi0/0/0 DROP 8 (Ipv4Acl)
3 Gi0/0/1 Gi0/0/0 DROP 8 (Ipv4Acl)
4 Gi0/0/1 Gi0/0/0 DROP 8 (Ipv4Acl)
ASR1K#debug platform condition stop
ASR1K#show platform packet-trace packet 0
Packet: 0 CBUG ID: 140
Summary
Input : GigabitEthernet0/0/1
Output : GigabitEthernet0/0/0
State : DROP 8 (Ipv4Acl)
Timestamp
Start : 1819281992118 ns (05/17/2014 06:42:01.207240 UTC)
Stop : 1819282095121 ns (05/17/2014 06:42:01.207343 UTC)
Path Trace
Feature: IPV4
Source : 172.16.10.2
Destination : 172.16.20.2
Protocol : 1 (ICMP)
Feature: FIA_TRACE
Entry : 0x806c7eac - DEBUG_COND_INPUT_PKT
Lapsed time: 1031 ns
Feature: FIA_TRACE
Entry : 0x82011c00 - IPV4_INPUT_DST_LOOKUP_CONSUME
Lapsed time: 657 ns
Feature: FIA_TRACE
Entry : 0x806a2698 - IPV4_INPUT_ACL
Lapsed time: 2773 ns
Feature: FIA_TRACE
Entry : 0x82000170 - IPV4_INPUT_FOR_US_MARTIAN
Lapsed time: 1013 ns
Feature: FIA_TRACE
Entry : 0x82004500 - IPV4_OUTPUT_LOOKUP_PROCESS
Lapsed time: 2951 ns
Feature: FIA_TRACE
Entry : 0x8041771c - IPV4_INPUT_IPOPTIONS_PROCESS
Lapsed time: 373 ns
Feature: FIA_TRACE
Entry : 0x82013400 - MPLS_INPUT_GOTO_OUTPUT_FEATURE
Lapsed time: 2097 ns
Feature: FIA_TRACE
Entry : 0x803c60b8 - IPV4_MC_OUTPUT_VFR_REFRAG
Lapsed time: 373 ns
Feature: FIA_TRACE
Entry : 0x806db148 - OUTPUT_DROP
Lapsed time: 1297 ns
Feature: FIA_TRACE
Entry : 0x806a0c98 - IPV4_OUTPUT_ACL
Lapsed time: 78382 ns
ASR1000#
La función de seguimiento de paquetes de inyección y punt se agregó en el software Cisco IOS-XE versión 3.12 y posteriores para rastrear paquetes punt (paquetes recibidos en el FP que son impulsados al plano de control) e inyectar (paquetes que se inyectan al FP desde el plano de control).
Nota: El seguimiento de punt puede funcionar sin las condiciones globales o de interfaz, al igual que un seguimiento de drop. Sin embargo, se deben definir las condiciones para que funcione un rastro de inyección.
Este es un ejemplo de un punt e inyecte el seguimiento de paquetes cuando hace ping desde ASR1K a un router adyacente:
ASR1000#debug platform condition ipv4 172.16.10.2/32 both
ASR1000#debug platform condition start
ASR1000#debug platform packet-trace punt
ASR1000#debug platform packet-trace inject
ASR1000#debug platform packet-trace packet 16
ASR1000#
ASR1000#ping 172.16.10.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.10.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 14/14/15 ms
ASR1000#
Ahora puede verificar los resultados del punt e inyectar trazas:
ASR1000#show platform packet-trace summary
Pkt Input Output State Reason
0 INJ.2 Gi0/0/1 FWD
1 Gi0/0/1 internal0/0/rp:0 PUNT 11 (For-us data)
2 INJ.2 Gi0/0/1 FWD
3 Gi0/0/1 internal0/0/rp:0 PUNT 11 (For-us data)
4 INJ.2 Gi0/0/1 FWD
5 Gi0/0/1 internal0/0/rp:0 PUNT 11 (For-us data)
6 INJ.2 Gi0/0/1 FWD
7 Gi0/0/1 internal0/0/rp:0 PUNT 11 (For-us data)
8 INJ.2 Gi0/0/1 FWD
9 Gi0/0/1 internal0/0/rp:0 PUNT 11 (For-us data)
ASR1000#show platform packet-trace packet 0
Packet: 0 CBUG ID: 120
Summary
Input : INJ.2
Output : GigabitEthernet0/0/1
State : FWD
Timestamp
Start : 115612780360228 ns (05/29/2014 15:02:55.467987 UTC)
Stop : 115612780380931 ns (05/29/2014 15:02:55.468008 UTC)
Path Trace
Feature: IPV4
Source : 172.16.10.1
Destination : 172.16.10.2
Protocol : 1 (ICMP)
ASR1000#
ASR1000#show platform packet-trace packet 1
Packet: 1 CBUG ID: 121
Summary
Input : GigabitEthernet0/0/1
Output : internal0/0/rp:0
State : PUNT 11 (For-us data)
Timestamp
Start : 115612781060418 ns (05/29/2014 15:02:55.468687 UTC)
Stop : 115612781120041 ns (05/29/2014 15:02:55.468747 UTC)
Path Trace
Feature: IPV4
Source : 172.16.10.2
Destination : 172.16.10.1
Protocol : 1 (ICMP)
Esta sección proporciona algunos ejemplos donde la función de seguimiento de paquetes es útil para propósitos de troubleshooting.
Con este ejemplo, se configura una traducción de direcciones de red (NAT) de origen de interfaz en la interfaz WAN de un ASR1K (Gig0/0/0) para la subred local (172.16.10.0/24).
Esta es la condición de la plataforma y la configuración de seguimiento de paquetes que se utiliza para rastrear el tráfico de 172.16.10.2 a 172.16.20.2, que se traduce (NAT) en la interfaz Gig0/0/0:
debug platform condition interface Gig 0/0/1 ingress
debug platform condition start
debug platform packet-trace packet 1024 fia-trace
Cuando se envían cinco paquetes ICMP de 172.16.10.2 a 172.16.20.2 con una configuración NAT de origen de interfaz, estos son los resultados de seguimiento de paquetes:
ASR1000#show platform packet-trace summary
Pkt Input Output State Reason
0 Gi0/0/1 Gi0/0/0 FWD
1 Gi0/0/1 Gi0/0/0 FWD
2 Gi0/0/1 Gi0/0/0 FWD
3 Gi0/0/1 Gi0/0/0 FWD
4 Gi0/0/1 Gi0/0/0 FWD
ASR1000#show platform packet-trace statistics
Packets Summary
Matched 5
Traced 5
Packets Received
Ingress 5
Inject 0
Packets Processed
Forward 5
Punt 0
Drop 0
Consume 0
ASR1000#show platform packet-trace packet 0
Packet: 0 CBUG ID: 146
Summary
Input : GigabitEthernet0/0/1
Output : GigabitEthernet0/0/0
State : FWD
Timestamp
Start : 3010217805313 ns (05/17/2014 07:01:52.227836 UTC)
Stop : 3010217892847 ns (05/17/2014 07:01:52.227923 UTC)
Path Trace
Feature: IPV4
Source : 172.16.10.2
Destination : 172.16.20.2
Protocol : 1 (ICMP)
Feature: FIA_TRACE
Entry : 0x806c7eac - DEBUG_COND_INPUT_PKT
Lapsed time: 1031 ns
Feature: FIA_TRACE
Entry : 0x82011c00 - IPV4_INPUT_DST_LOOKUP_CONSUME
Lapsed time: 462 ns
Feature: FIA_TRACE
Entry : 0x82000170 - IPV4_INPUT_FOR_US_MARTIAN
Lapsed time: 355 ns
Feature: FIA_TRACE
Entry : 0x803c6af4 - IPV4_INPUT_VFR
Lapsed time: 266 ns
Feature: FIA_TRACE
Entry : 0x82004500 - IPV4_OUTPUT_LOOKUP_PROCESS
Lapsed time: 942 ns
Feature: FIA_TRACE
Entry : 0x8041771c - IPV4_INPUT_IPOPTIONS_PROCESS
Lapsed time: 88 ns
Feature: FIA_TRACE
Entry : 0x82013400 - MPLS_INPUT_GOTO_OUTPUT_FEATURE
Lapsed time: 568 ns
Feature: FIA_TRACE
Entry : 0x803c6900 - IPV4_OUTPUT_VFR
Lapsed time: 266 ns
Feature: NAT
Direction : IN to OUT
Action : Translate Source
Old Address : 172.16.10.2 00028
New Address : 192.168.10.1 00002
Feature: FIA_TRACE
Entry : 0x8031c248 - IPV4_NAT_OUTPUT_FIA
Lapsed time: 55697 ns
Feature: FIA_TRACE
Entry : 0x801424f8 - IPV4_OUTPUT_THREAT_DEFENSE
Lapsed time: 693 ns
Feature: FIA_TRACE
Entry : 0x803c60b8 - IPV4_MC_OUTPUT_VFR_REFRAG
Lapsed time: 88 ns
Feature: FIA_TRACE
Entry : 0x82014900 - IPV6_INPUT_L2_REWRITE
Lapsed time: 444 ns
Feature: FIA_TRACE
Entry : 0x82000080 - IPV4_OUTPUT_FRAG
Lapsed time: 88 ns
Feature: FIA_TRACE
Entry : 0x8200e600 - IPV4_OUTPUT_DROP_POLICY
Lapsed time: 1457 ns
Feature: FIA_TRACE
Entry : 0x82017980 - MARMOT_SPA_D_TRANSMIT_PKT
Lapsed time: 7431 ns
ASR1000#
Con este ejemplo, se utiliza un túnel VPN de sitio a sitio entre el ASR1K y el router Cisco IOS para proteger el tráfico que fluye entre 172.16.10.0/24 y 172.16.20.0/24 (subredes locales y remotas).
Esta es la condición de la plataforma y la configuración de seguimiento de paquetes que se utiliza para rastrear el tráfico VPN que fluye de 172.16.10.2 a 172.16.20.2 en la interfaz Gig 0/0/1:
debug platform condition interface Gig 0/0/1 ingress
debug platform condition start
debug platform packet-trace packet 1024 fia-trace
Cuando se envían cinco paquetes ICMP de 172.16.10.2 a 172.16.20.2, que son cifrados por el túnel VPN entre el ASR1K y el router Cisco IOS en este ejemplo, estas son las salidas de seguimiento de paquetes:
Nota: Los seguimientos de paquetes muestran el identificador de la Asociación de seguridad de QFP (SA) en el seguimiento que se utiliza para cifrar el paquete, lo que es útil cuando se solucionan problemas de VPN de IPsec para verificar que se utiliza la SA correcta para el cifrado.
ASR1000#show platform packet-trace summary
Pkt Input Output State Reason
0 Gi0/0/1 Gi0/0/0 FWD
1 Gi0/0/1 Gi0/0/0 FWD
2 Gi0/0/1 Gi0/0/0 FWD
3 Gi0/0/1 Gi0/0/0 FWD
4 Gi0/0/1 Gi0/0/0 FWD
ASR1000#show platform packet-trace packet 0
Packet: 0 CBUG ID: 211
Summary
Input : GigabitEthernet0/0/1
Output : GigabitEthernet0/0/0
State : FWD
Timestamp
Start : 4636921551459 ns (05/17/2014 07:28:59.211375 UTC)
Stop : 4636921668739 ns (05/17/2014 07:28:59.211493 UTC)
Path Trace
Feature: IPV4
Source : 172.16.10.2
Destination : 172.16.20.2
Protocol : 1 (ICMP)
Feature: FIA_TRACE
Entry : 0x806c7eac - DEBUG_COND_INPUT_PKT
Lapsed time: 622 ns
Feature: FIA_TRACE
Entry : 0x82011c00 - IPV4_INPUT_DST_LOOKUP_CONSUME
Lapsed time: 462 ns
Feature: FIA_TRACE
Entry : 0x82000170 - IPV4_INPUT_FOR_US_MARTIAN
Lapsed time: 320 ns
Feature: FIA_TRACE
Entry : 0x82004500 - IPV4_OUTPUT_LOOKUP_PROCESS
Lapsed time: 1102 ns
Feature: FIA_TRACE
Entry : 0x8041771c - IPV4_INPUT_IPOPTIONS_PROCESS
Lapsed time: 88 ns
Feature: FIA_TRACE
Entry : 0x82013400 - MPLS_INPUT_GOTO_OUTPUT_FEATURE
Lapsed time: 586 ns
Feature: FIA_TRACE
Entry : 0x803c6900 - IPV4_OUTPUT_VFR
Lapsed time: 266 ns
Feature: FIA_TRACE
Entry : 0x80757914 - MC_OUTPUT_GEN_RECYCLE
Lapsed time: 195 ns
Feature: FIA_TRACE
Entry : 0x803c60b8 - IPV4_MC_OUTPUT_VFR_REFRAG
Lapsed time: 88 ns
Feature: IPSec
Result : IPSEC_RESULT_SA
Action : ENCRYPT
SA Handle : 6
Peer Addr : 192.168.20.1
Local Addr: 192.168.10.1
Feature: FIA_TRACE
Entry : 0x8043caec - IPV4_OUTPUT_IPSEC_CLASSIFY
Lapsed time: 9528 ns
Feature: FIA_TRACE
Entry : 0x8043915c - IPV4_OUTPUT_IPSEC_DOUBLE_ACL
Lapsed time: 355 ns
Feature: FIA_TRACE
Entry : 0x8043b45c - IPV4_IPSEC_FEATURE_RETURN
Lapsed time: 657 ns
Feature: FIA_TRACE
Entry : 0x8043ae28 - IPV4_OUTPUT_IPSEC_RERUN_JUMP
Lapsed time: 888 ns
Feature: FIA_TRACE
Entry : 0x80436f10 - IPV4_OUTPUT_IPSEC_POST_PROCESS
Lapsed time: 2186 ns
Feature: FIA_TRACE
Entry : 0x8043b45c - IPV4_IPSEC_FEATURE_RETURN
Lapsed time: 675 ns
Feature: FIA_TRACE
Entry : 0x82014900 - IPV6_INPUT_L2_REWRITE
Lapsed time: 1902 ns
Feature: FIA_TRACE
Entry : 0x82000080 - IPV4_OUTPUT_FRAG
Lapsed time: 71 ns
Feature: FIA_TRACE
Entry : 0x8200e600 - IPV4_OUTPUT_DROP_POLICY
Lapsed time: 1582 ns
Feature: FIA_TRACE
Entry : 0x82017980 - MARMOT_SPA_D_TRANSMIT_PKT
Lapsed time: 3964 ns
ASR1000#
Las memorias intermedias de seguimiento de paquetes consumen DRAM QFP, por lo que tenga en cuenta la cantidad de memoria que requiere una configuración y la cantidad de memoria disponible.
El impacto en el rendimiento varía, según las opciones de seguimiento de paquetes habilitadas. El seguimiento de paquetes sólo afecta el rendimiento de reenvío de los paquetes que se siguen, como aquellos paquetes que coinciden con las condiciones configuradas por el usuario. Cuanto mayor sea la información granular y detallada que configure el seguimiento de paquetes para capturar, mayor será el impacto en los recursos.
Como ocurre con cualquier solución de problemas, es mejor adoptar un enfoque iterativo y solo habilitar las opciones de seguimiento más detalladas cuando una situación de depuración lo justifica.
El uso de DRAM QFP se puede estimar con esta fórmula:
memoria necesaria = (sobrecarga de estadísticas) + número de paquetes * (tamaño de resumen + tamaño de datos de ruta + tamaño de copia)
Nota: Cuando la sobrecarga de estadísticas y el tamaño de resumen se fijan en 2 KB y 128 B, respectivamente, el tamaño de datos de trayectoria y el tamaño de copia son configurables por el usuario.