简介
本文档介绍XR嵌入式Packet Tracer。它有助于跟踪自定义数据包流,以进行服务验证和故障排除。
先决条件
要求
XR嵌入式Packet Tracer最初从Cisco IOS® XR版本7.1.2开始提供,ASR 9000系列支持该软件。计划在未来更新中获得其他XR产品系列的支持。
使用的组件
XR嵌入式Packet Tracer独立于特定协议,与所有类型的单播和组播数据包兼容。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息.
XR嵌入式Packet Tracer框架大大简化了服务流验证和数据包转发问题的故障排除。
当在接口上激活数据包跟踪时,网络处理器(NP)会评估传入数据包,以确定它们是否满足定义的标准。如果数据包满足指定的条件,则在其内部报头中添加标识符。此标识符有助于在路由器内的数据路径和点进路径涉及的所有组件之间跟踪数据包。
条件是指定义数据包通过路由器时可以跟踪的一组条件或规则。这些情况有助于系统识别和监控特定数据包流,以便进行故障排除或服务验证。
这些条件包括以下组件:
-
物理接口:
- 指定数据包预期到达的网络接口。
- 示例:
packet-trace condition interface Gi0/0/0/1
-
偏移/值/掩码三重:
XR嵌入式Packet Tracer的限制和限制
XR版本7.1.2:
Lightspeed Plus、Lightspeed和Tomahawk线卡支持数据包标记。
前面提到的线卡类型支持数据包跟踪。
最多可以指定三个4个八位组的偏移/值/掩码集。
XR版本7.5.2:
Packet tracer会在设置条件时自动解析捆绑成员
您现在可以在SPP、NetIO、UDP、TCP中跟踪分支路径上的数据包
Packet Tracer工作流程
下图说明了Packet Tracer工作流的运行方式。

配置
清除Packet Tracer计数器和条件
命令重置Packet Tracer计数器;Packet Tracer计数器可在需要时重置:
clear packet-trace counters all
命令可删除所有Packet Tracer条件,请使用以下命令:
clear packet-trace conditions all
警告:根据设计,只有在数据包跟踪处于非活动状态时,才能清除Packet Tracer条件。
开始/停止数据包跟踪
需要手动指定数据包跟踪的开头和结尾:
RP/0/RP0/CPU0:Device# packet-trace start
RP/0/RP0/CPU0:Device# packet-trace stop
Packet Tracer条件
条件包括:
-
Physical Interface(s):指示预期接收数据包的物理接口。
-
偏移量/值/掩码三重。帮助定义兴趣流。
Packet Tracer条件 — 接口
RP/0/RP0/CPU0:Device#packet-trace condition interface GigE0/0/0/0
RP/0/RP0/CPU0:Device#packet-trace condition interface GigE0/0/0/1
提示:在子接口上跟踪时,Offset/Value/Mask规范必须考虑dot1q或QinQ封装。
Packet Tracer条件 — 偏移/值/掩码
“XR Packet Tracer Condition Generator Web App”提供了创建Packet Tracer条件的工具。
可以在GitHub上访问其源代码和安装指南,名称是:XR Embedded Packet Tracer - Condition Generator。
通过此应用程序,您可以直观地构建所需数据包流的协议栈,选择用于定义条件的相关层,并输入描述要跟踪的特定流的值(带有可选掩码)。
Web应用的登录页面显示配置支持的协议报头的列表。
请确保在要匹配流量的信头之前包含所有必要的信头,因为偏移计算取决于信头的顺序。
配置示例:
以下是拓扑示例。我们的目标是验证数据包是否正确接收并通过XRV1设备传输:

1. — 为要监控的特定接口设置数据包跟踪条件。
RP/0/RP0/CPU0:xrv-1#packet-trace condition interface Bundle-Ether1
RP/0/RP0/CPU0:xrv-1#packet-trace condition interface Bundle-Ether2
2. — 生成偏移/值/掩码,选中要匹配的报头旁边的复选框。如有必要,您可以选择多个信头。对于每个选定的报头,相应的帧将显示在右侧。输入所需的值并在帧中蒙版,然后单击Submit按钮完成配置。

3. — 将“偏移/值/掩码”复制到剪贴板后,使用它来定义条件:
RP/0/RP0/CPU0:xrv-1#packet-trace condition 1 Offset 30 Value 0xc0a80a Mask 0xffffff
RP/0/RP0/CPU0:xrv-1#packet-trace condition 5 Offset 34 Value 0xc0a80c Mask 0xffffff
4. — 检查数据包跟踪状态:
RP/0/RP0/CPU0:xrv-1#show packet-trace status
------------------------------------------------------------
Packet Trace Master Process:
Buffered Conditions:
Interface Bundle-Ether1
Member GigE0/0/0/0
Interface Bundle-Ether2
Member GigE0/0/0/1
1 Offset 30 Value 0xc0a80a Mask 0xffffff
5 Offset 34 Value 0xc0a80c Mask 0xffffff
Status: Inactive
RP/0/RP0/CPU0:xrv-1#
RP/0/RP0/CPU0:xrv-1#show packet-trace status detail
------------------------------------------------------------
Location: 0/0/CPU0
Available Counting Modules: 4
#1 SPP
Last errors:
#2 npu_server_lsp
Last errors:
#3 NETIO
Last errors:
#4 UDP
Last errors:
Available Marking Modules: 1
#1 npu_server_lsp
Interfaces: 0
Conditions: 0
Last errors:
------------------------------------------------------------
Packet Trace Master Process:
Buffered Conditions:
Interface Bundle-Ether1
Member GigE0/0/0/0
Interface Bundle-Ether2
Member GigE0/0/0/1
1 Offset 30 Value 0xc0a80a Mask 0xffffff
5 Offset 34 Value 0xc0a80c Mask 0xffffff
Status: Inactive
------------------------------------------------------------
Location: 0/RP0/CPU0
Available Counting Modules: 3
#1 SPP
Last errors:
#2 NETIO
Last errors:
#3 UDP
Last errors:
Available Marking Modules: 0
RP/0/RP0/CPU0:xrv-1#
5. — 启动Packet Tracer:
RP/0/RP0/CPU0:xrv-1# packet-trace start
RP/0/RP0/CPU0:xrv-1#
RP/0/RP0/CPU0:xrv-1# show packet-trace status
------------------------------------------------------------
Packet Trace Master Process:
Buffered Conditions:
Interface Bundle-Ether1
Member GigE0/0/0/0
Interface Bundle-Ether2
Member GigE0/0/0/1
1 Offset 30 Value 0xc0a80a Mask 0xffffff
5 Offset 34 Value 0xc0a80c Mask 0xffffff
Status: Active
RP/0/RP0/CPU0:xrv-1#
6. — 让我们等待几分钟,以便捕获流量:
7. — 检查结果:
RP/0/RP0/CPU0:xrv-1#show packet-trace result
T: D - Drop counter; P - Pass counter
Location | Source | Counter | T | Last-Attribute | Count
------------ ------------ ------------------------- - ---------------------------------------- ---------------
0/0/CPU0 NP0 PACKET_MARKED P GigE0_0_0_0 6812
0/0/CPU0 NP0 PACKET_TO_FABRIC P 6812
0/0/CPU0 NP0 PACKET_TO_PUNT P 6543
0/0/CPU0 NP0 PACKET_FROM_FABRIC P 6812
0/0/CPU0 NP0 PACKET_TO_INTERFACE P GigE0_0_0_1 6812
RP/0/RP0/CPU0:xrv-1#
8. — 您可以使用show packet-trace description命令检查注册到Packet Tracer框架的所有计数器及其说明:
RP/0/RP0/CPU0:xrv-1#show packet-trace descriptions
NP0 PACKET_MARKED M Marked from ingress interface
NP0 PACKET_FROM_INJECT P Injected from linecard CPU
NP0 PACKET_FROM_FAB_INJECT P Injected from fabric
NP0 PACKET_ING_DROP D Dropped on ingress
NP0 PACKET_TO_FABRIC P Sent to router fabric
NP0 PACKET_TO_PUNT P Punted to linecard for CPU handling
NP0 PACKET_FROM_FABRIC P From router fabric
NP0 PACKET_EGR_DROP D Dropped on egress
NP0 PACKET_TO_INTERFACE P Packet sent to network interface
RP/0/RP0/CPU0:xrv-1#
9. — 停止数据包跟踪:
RP/0/RP0/CPU0:xrv-1#packet-trace stop
相关信息
XR嵌入式Packet Tracer
思科技术支持和下载
了解ASR 9000系列线卡类型