目录

简介

先决条件

要求

使用的组件

相关产品

PHY控制器计数器背景

网络图

PHY控制器计数器输出

输出的要点

使用PHY控制器计数器执行Ping

示例：使用具有特定数据包大小的ICMP

硬件QoS DSCP计数器

硬件QoS DSCP输出

要点

使用HW QoS DSCP计数器执行Ping操作

示例：将ICMP与DSCP标记一起使用

简介

本文档介绍PHY计数器如何使用帧大小而不是详细的流量分析来帮助验证数据包到达。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本。

- C9300

- 思科IOS® XE 17.9.5

- 思科IOS® XE 17.15.3

本文档提供有关使用PHY控制器计数器作为交换机上传入数据包的第一检查点的信息。这些计数器可根据帧大小而不是详细的流量分析来查看数据包是否到达。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

相关产品

本文档还可用于以下硬件版本：

- C9200

- C9300

- C9400

- C9500

- C9600

警告：在基于Silicon One的平台(例如Catalyst 9600X（Sup-2和Sup-3）、9500X和9350)上进行的故障排除测试中，不支持DSCP计数器。

PHY控制器计数器背景

PHY控制器是数据包进入交换机时遇到的第一个组件。它在第1层运行，提供对接口上是否实际接收或传输数据包的可视性。与MAC或IP统计信息之类的高层计数器不同，PHY计数器依靠帧大小和字节数来确认数据包到达或传输。

这使它们成为一种重要的诊断工具，可以在数据包到达更高的处理层之前验证物理层流量行为并检测潜在的入口或出口问题。

网络图

PHY控制器计数器输出

来自Cisco Catalyst交换机的示例显示在PHY控制器级别收集的统计信息：

Switch-A#show controllers ethernet-controller GigabitEthernet 1/0/4

Transmit                  GigabitEthernet1/0/4          Receive

1906 Total bytes                          64 Total bytes

1 Unicast frames                        1 Unicast frames

64 Unicast bytes                        64 Unicast bytes

8 Multicast frames                      0 Multicast frames

1842 Multicast bytes                       0 Multicast bytes

0 Broadcast frames                      0 Broadcast frames

0 Broadcast bytes                       0 Broadcast bytes

0 System FCS error frames               0 IpgViolation frames

0 MacUnderrun frames                    0 MacOverrun frames

0 Pause frames                          0 Pause frames

0 Cos 0 Pause frames                    0 Cos 0 Pause frames

0 Cos 1 Pause frames                    0 Cos 1 Pause frames

0 Cos 2 Pause frames                    0 Cos 2 Pause frames

0 Cos 3 Pause frames                    0 Cos 3 Pause frames

0 Cos 4 Pause frames                    0 Cos 4 Pause frames

0 Cos 5 Pause frames                    0 Cos 5 Pause frames

0 Cos 6 Pause frames                    0 Cos 6 Pause frames

0 Cos 7 Pause frames                    0 Cos 7 Pause frames

0 Oam frames                            0 OamProcessed frames

0 Oam frames                            0 OamDropped frames

5 Minimum size frames                   1 Minimum size frames

0 65 to 127 byte frames                 0 65 to 127 byte frames

0 128 to 255 byte frames                0 128 to 255 byte frames

4 256 to 511 byte frames                0 256 to 511 byte frames

0 512 to 1023 byte frames               0 512 to 1023 byte frames

0 1024 to 1518 byte frames              0 1024 to 1518 byte frames

0 1519 to 2047 byte frames              0 1519 to 2047 byte frames

0 2048 to 4095 byte frames              0 2048 to 4095 byte frames

0 4096 to 8191 byte frames              0 4096 to 8191 byte frames

0 8192 to 16383 byte frames             0 8192 to 16383 byte frames

0 16384 to 32767 byte frame             0 16384 to 32767 byte frame

0 > 32768 byte frames                   0 > 32768 byte frames

0 Late collision frames                 0 SymbolErr frames

0 Excess Defer frames                   0 Collision fragments

0 Good (1 coll) frames                  0 ValidUnderSize frames

0 Good (>1 coll) frames                 0 InvalidOverSize frames

0 Deferred frames                       0 ValidOverSize frames

0 Gold frames dropped                   0 FcsErr frames

0 Gold frames truncated

0 Gold frames successful

0 1 collision frames

0 2 collision frames

0 3 collision frames

0 4 collision frames

0 5 collision frames

0 6 collision frames

0 7 collision frames

0 8 collision frames

0 9 collision frames

0 10 collision frames

0 11 collision frames

0 12 collision frames

0 13 collision frames

0 14 collision frames

0 15 collision frames

0 Excess collision frames

LAST UPDATE 346 msecs AGO

Switch-A#show controllers ethernet-controller Gig 1/0/4

Transmit                  GigabitEthernet1/0/4          Receive

3169535406 Total bytes                   307126227 Total bytes

290349 Unicast frames                   294295 Unicast frames

18660704 Unicast bytes                  18929926 Unicast bytes

33923210 Multicast frames                3074668 Multicast frames

3150872686 Multicast bytes               251494767 Multicast bytes

30 Broadcast frames                 141745 Broadcast frames

2016 Broadcast bytes                36701534 Broadcast bytes

0 System FCS error frames               0 IpgViolation frames

0 MacUnderrun frames                    0 MacOverrun frames

0 Pause frames                          0 Pause frames

0 Cos 0 Pause frames                    0 Cos 0 Pause frames

0 Cos 1 Pause frames                    0 Cos 1 Pause frames

0 Cos 2 Pause frames                    0 Cos 2 Pause frames

0 Cos 3 Pause frames                    0 Cos 3 Pause frames

0 Cos 4 Pause frames                    0 Cos 4 Pause frames

0 Cos 5 Pause frames                    0 Cos 5 Pause frames

0 Cos 6 Pause frames                    0 Cos 6 Pause frames

0 Cos 7 Pause frames                    0 Cos 7 Pause frames

0 Oam frames                            0 OamProcessed frames

0 Oam frames                            0 OamDropped frames

1221612 Minimum size frames              847707 Minimum size frames

31115917 65 to 127 byte frames           2403801 65 to 127 byte frames

69441 128 to 255 byte frames           135289 128 to 255 byte frames

1227890 256 to 511 byte frames           112047 256 to 511 byte frames

578669 512 to 1023 byte frames           11824 512 to 1023 byte frames

40 1024 to 1518 byte frames             40 1024 to 1518 byte frames

20 1519 to 2047 byte frames              0 1519 to 2047 byte frames

0 2048 to 4095 byte frames              0 2048 to 4095 byte frames

0 4096 to 8191 byte frames              0 4096 to 8191 byte frames

0 8192 to 16383 byte frames             0 8192 to 16383 byte frames

0 16384 to 32767 byte frame             0 16384 to 32767 byte frame

0 > 32768 byte frames                   0 > 32768 byte frames

0 Late collision frames                 0 SymbolErr frames

0 Excess Defer frames                   0 Collision fragments

0 Good (1 coll) frames                  0 ValidUnderSize frames

0 Good (>1 coll) frames                 0 InvalidOverSize frames

0 Deferred frames                       0 ValidOverSize frames

0 Gold frames dropped                   0 FcsErr frames

0 Gold frames truncated

0 Gold frames successful

0 1 collision frames

0 2 collision frames

0 3 collision frames

0 4 collision frames

0 5 collision frames

0 6 collision frames

0 7 collision frames

0 8 collision frames

0 9 collision frames

0 10 collision frames

0 11 collision frames

0 12 collision frames

0 13 collision frames

0 14 collision frames

0 15 collision frames

0 Excess collision frames

LAST UPDATE 3227 msecs AGO

Switch-A#

输出的要点

- 总字节数和帧数显示整体流量计数，分为传输和接收方向。

- 单播、组播和广播帧显示流量类型的分布。

- 帧大小范围表示接收或传输给定大小的数据包的数量（例如，最小大小帧、65-127字节、256-511字节）。

- 错误计数器指示第1层问题，例如FCS错误、冲突、欠载、溢出或符号错误。

- 上次更新字段显示自上次更新PHY统计信息以来经过的时间。

使用PHY控制器计数器执行ping操作

PHY控制器计数器的一个常见用例是验证测试流量是否在接口上传输或接收。通过发送受控流量流（例如特定大小的ICMP数据包）并监控计数器，工程师可以确认流量是否到达PHY层。

示例：使用具有特定数据包大小的ICMP

最初，接口的PHY计数器在1024-1518字节范围内没有活动。

Switch-A#show controllers ethernet-controller GigabitEthernet 1/0/4

Transmit                  GigabitEthernet1/0/4          Receive

5 Minimum size frames                   1 Minimum size frames

0 65 to 127 byte frames                 0 65 to 127 byte frames

0 128 to 255 byte frames                0 128 to 255 byte frames

4 256 to 511 byte frames                0 256 to 511 byte frames

0 512 to 1023 byte frames               0 512 to 1023 byte frames

0 1024 to 1518 byte frames<<<<<         0 1024 to 1518 byte frames <<<<<

0 1519 to 2047 byte frames              0 1519 to 2047 byte frames

0 2048 to 4095 byte frames              0 2048 to 4095 byte frames

0 4096 to 8191 byte frames              0 4096 to 8191 byte frames

0 8192 to 16383 byte frames             0 8192 to 16383 byte frames

0 16384 to 32767 byte frame             0 16384 to 32767 byte frame

0 > 32768 byte frames                   0 > 32768 byte frames

ping测试使用1,000个大小为1,200字节的ICMP数据包执行，这将增加1024-1518字节的帧计数器。

Switch-A#ping 192.168.8.2 repeat 1000 timeout 0 size 1200

Type escape sequence to abort.

Sending 1000, 1200-byte ICMP Echos to 192.168.8.2, timeout is 0 seconds:

......................................................................

......................................................................

Success rate is 0 percent (0/1000), round-trip min/avg/max = 1/1/1 ms

Switch-A#

测试后，传输计数器显示发送的数据包，确认它们离开接口，即使没有收到回复也是如此。

Switch-A#show  controllers ethernet-controller GigabitEthernet 1/0/4

Transmit                  GigabitEthernet1/0/4          Receive

7 Minimum size frames                   6 Minimum size frames

0 65 to 127 byte frames                 0 65 to 127 byte frames

0 128 to 255 byte frames                0 128 to 255 byte frames

28 256 to 511 byte frames                2 256 to 511 byte frames

0 512 to 1023 byte frames               0 512 to 1023 byte frames

1000 1024 to 1518 byte frames <<<<<     1000 1024 to 1518 byte frames <<<<<

0 1519 to 2047 byte frames              0 1519 to 2047 byte frames

0 2048 to 4095 byte frames              0 2048 to 4095 byte frames

0 4096 to 8191 byte frames              0 4096 to 8191 byte frames

0 8192 to 16383 byte frames             0 8192 to 16383 byte frames

0 16384 to 32767 byte frame             0 16384 to 32767 byte frame

0 > 32768 byte frames                   0 > 32768 byte frames

即使ping测试显示0%成功，PHY控制器计数器仍确认1,000个1,200字节数据包成功传输。这演示了PHY计数器如何独立于高层响应来验证流量的生成和传输。

提示：运行多个迭代以实现一致性，或预先清除计数器：clear controller ethernet-controller <interface>。

注意：此测试方法在配置为第3层路由端口（无交换机端口）、接入模式端口、中继端口和EtherChannel成员的接口上可行。对于EtherChannel配置，必须在作为通道组一部分的各个物理接口上验证计数器。

硬件QoS DSCP计数器

硬件QoS计数器高度可靠，仅在硬件管道中运行PHY控制器计数器，可能在入口和出口FIFO级别。这些计数器有助于验证具有特定差分服务代码点(DSCP)标记的数据包是否到达或离开接口。

与PHY控制器计数器相比，HW QoS计数器更易于使用，因为它们提供了跨64个DSCP值的粒度。这样，工程师就可以根据QoS分类而不是仅依赖帧大小来验证流量是否存在。

硬件QoS DSCP输出

Switch-A#show platform hardware fed switch active qos dscp-cos counters interface GigabitEthernet 1/0/4

Frames        Bytes

Ingress DSCP0 374959        0

Ingress DSCP1 0             0

Ingress DSCP2 0             0

Ingress DSCP3 0             0

Ingress DSCP4 0             0

...

Switch-A#

要点

- 可靠性:硬件QoS计数器高度可信，比PHY控制器计数器稍逊一筹。

- 粒度：支持64个DSCP值可实现精确的流量分类。

- 要求：具有一致DSCP标记的控制测试流量对于准确验证是必需的。

- 限制:硬件QoS计数器不会区分共享相同DSCP值的多个流。

注意：请参阅本文档开头提供的网络图以供参考。

使用HW QoS DSCP计数器执行Ping操作

示例：将ICMP与DSCP标记一起使用

HW QoS DSCP计数器可有效地用于验证具有特定DSCP标记的流量是否到达或离开接口。此功能在涉及受控测试流量的场景中特别有用，其中应用了唯一DSCP值以轻松跟踪硬件计数器中数据包的存在。通过使用这些计数器，工程师可以在硬件级别基于QoS分类来确认流量，不受上层协议的影响。此方法提供精细的可视性，因为硬件QoS计数器支持对64个可能的DSCP值进行跟踪，从而实现接口上流量存在的精确分类和验证

最初，计数器显示DSCP值1和2没有流量：

Switch-A# show platform hardware fed switch 1 qos dscp-cos counters interface GigabitEthernet 1/0/4

Ingress DSCP0 374959        0

Ingress DSCP1 0             0 <<<<

Ingress DSCP2 0             0 <<<<

然后运行ping测试并使用DSCP 2标记：

Switch-B# ping 192.168.8.1 repeat 1000 timeout 0 dscp 2

Type escape sequence to abort.

Sending 1000, 100-byte ICMP Echos to 192.168.8.1, timeout is 0 seconds:

......................................................................

......................................................................

Success rate is 0 percent (0/1000)

在测试后，DSCP 2的计数增加了1000，确认数据包到达入口接口，即使没有收到回复：

Switch-A# show platform hardware fed switch 1 qos dscp-cos counters interface GigabitEthernet 1/0/4

Ingress DSCP0 374959        0

Ingress DSCP1 0             0

Ingress DSCP2 1000          0 <<<<

DSCP计数器提供在硬件级别确认流量存在的有效方法。通过使用未使用的DSCP值标记测试流量，工程师可以独立于高层响应隔离和验证数据包转发。此方法允许对硬件计数器中的数据包进行精确跟踪，确保具有特定DSCP标记的流量确实正在通过网络转发。在受控测试流量中使用唯一的DSCP值有助于隔离和验证数据包流，这对于思科设备中的故障排除和QoS策略验证很有价值。

提示：运行多个迭代，或者先使用以下项清除DSCP计数器：clear platform hardware fed switch active qos dscp-cos counters interface <interface>。