目录

简介

背景信息

硬件/软件支持

AV模拟技术

AVB IEEE标准

AVB网络术语

AVB拓扑

AVB域

AVB PTP域

AVB MSRP域(QoS)

MSRP — 通告注册期间的保留失败

MSRP — 就绪注册期间的预留失败

MSRP — 通话者状态

MSRP — 侦听程序状态

AVB架构 — QoS流量类

AVB MVRP域

AVB流 — 汇总

AVB组件交互

排除Cat3k和Cat9k交换机中的AVB故障

AVB配置

如何配置AVB

MSRP自动添加的配置

不同类型的入口策略

不同类型的出口策略

验证AVB是否正常工作

AVB注意事项

MSRP注意事项

QoS 注意事项

PTP注意事项

MVRP注意事项

命令列表

相关信息

简介

本文档介绍如何在Catalyst 3650、3850、9300和9500平台中配置音频视频桥接(AVB)并对其进行故障排除。

背景信息

音频和视频(AV)设备部署传统上是模拟、单用途、点对点、单向链路。随着部署迁移到数字传输，它们继续保留点对点、单向链路架构。这种专用连接模式在专业和消费类应用中产生了大量难以管理和操作的布线。

为解决此问题，我们确定了多种机制，但所有这些机制都是非标准的、难以操作和部署的，或者成本高昂且缺乏灵活性。迁移到以太网基础设施被视为满足专业AV设备需求的一种手段，同时还可以降低总拥有成本(TCO)并实现新服务的透明集成。但是，部署机制缺乏灵活性和互操作性。

为了加速采用基于以太网的AV并提供更灵活的部署，IEEE制定了IEEE 802.1音频视频桥接(AVB)标准。此标准定义了一种机制，通过这种机制，终端和网络可以整体运行，从而在消费者应用之间实现高质量AV流传输，并通过以太网基础设施实现专业AV部署。

硬件/软件支持

从软件版本Cisco IOS® XE Denali 16.3.x开始，Cat3K平台支持AVB。在Cat9k中，AVB功能在Fuji-16.8.1a中引入。一直以来，都有显着的改进，因此较新的软件版本包括AVB功能的增强功能。

这些平台支持AVB:

Catalyst 3650/3850

Catalyst 9300

Catalyst 9400

Catalyst 9500

支持的SKU/PID

- WS-C3650-24PDM

- WS-C3650-48FQM

- WS-C3650-8X24PD

- WS-C3650-8X24UQ

- WS-C3650-12X48FD

- WS-C3650-12X48UQ

- WS-C3650-12X48UR

- WS-C3650-12X48UZ

- WS-C3850-12x48U

- WS-C3850-24XU

- WS-C3850-12XS

- WS-C3850-16XS

- WS-C3850-24XS

- WS-C3850-32XS

- WS-C3850-48XS

- 支持所有型号

- 17.2软件支持PTPv2/ gPTP

- 尚不支持AVB*

- C9500-24Q

- C9500-12Q

- C9500-40X

- C9500-16X

注意：目前，AVB仅在固定/独立平台上受支持，在堆叠配置中不受支持。对Cat9400等模块化平台的支持正在规划中。

AV模拟技术

AVB

但丁

CobraNet

标准

IEEE802.1（以太网音频/视频）

专有（IP音频）

专有（以太网音频）

通道容量

在>=10Gbps网络时的最高信道容量

在1Gbps网络中提供更高的通道容量

在100Mbps网络下信道容量低

时钟同步

IEEE802.1AS gPTP

所有设备（交换机、AVB终端）都需要支持gPTP

IEEE1588

支持DANTE的设备需要支持IEEE1588

专有

延迟

<2毫秒

<2毫秒

<5.33毫秒

对于许多应用程序而言都很高

帧/数据包格式

第2层以太网帧

第3层IP数据包，但不可路由

第2层以太网帧

配置和安装

简单（来自不同供应商的控制器软件）

简单（DANTE的控制器软件）

复杂

许可费

不适用

昂贵

昂贵

网络交换机/路由器

交换机需要支持AVB

QoS自动设置

更好的QoS功能

标准交换机

QoS是手动设置的

使用标准IP语音(VoIP)服务质量(QoS)交换机功能

标准交换机

QoS是手动设置的

AVB IEEE标准

IEEE 802.1音频视频网桥(AVB)实际上包含这四个IEEE标准。这意味着，每当出现AVB问题时，我们必须考虑每个标准并进行相应的故障排除：

IEEE802.1AS(gPTP)

- 广义精确时间协议(gPTP)。

- 时间敏感型应用第2层设备的计时和同步。

IEEE802.1Qat(MSRP)

- 多流预留协议(MSRP)。

- 用于资源预留的端到端流量准入控制系统。

IEEE802.1Qav(QoS)

- 时间敏感流(FQTS)的转发和队列。

- AV流量调度和整形。

IEEE802.1Qak(MVRP)

- 多个VLAN注册协议。

- 动态配置和共享VLAN信息。

AVB网络术语

- AVB讲话者：AVB流源。

- AVB网桥/交换机。

- AVB侦听程序：AVB流的消费者。

- AVB流：在AVB讲者和收听者之间建立的流。

注意：某些AVB端点可以同时充当AVB讲话者和AVB收听者。

AVB拓扑

AVB域

注意：每台交换机仅支持一个AVB域。

AVB PTP域

注意：gPTP仅支持一个域。

BMCA用于选择每条链路上的主时钟，并最终为整个gPTP域选择祖时钟。祖时钟负责为整个域提供定时和同步。BMCA用于使用通告消息选择每条链路上端口的主状态和从状态。选择作为主时钟的最佳时钟取决于时钟的质量（稳定性）和配置（如gPTP优先级）。它在每个端口上本地运行，以将自己的本地数据集与来自相邻设备的通告消息上接收到的数据集进行比较，以确定链路上的最佳时钟。

- 首选：此端口是路径上的时间源。

- 从属：此端口与处于从属状态的路径上的设备同步。

支持gPTP的交换机通过测量点对点延迟来确定对等体是否也支持gPTP，该延迟是直接连接端口之间的延迟，而无中介交换机。此延迟测量机制使用消息类型Pdelay_Req、Pdelay_Resp和Pdelay_Resp_Follow_Up。根据这些消息交换，将确定端口gPTP功能。一旦建立了主从时钟层次结构，时钟同步过程就会启动。

gPTP基于IEEE1588v2

- 它类似于1588v2中规定的BMCA，在状态机中几乎没有简化

- 没有预主状态(在进入主状态之前)。

- 无外国初等资格期。

- 没有未校准状态(在进入从属状态之前)。

gPTP

IEEE1588v2

传输

仅L2

L2/L3

系统组合

只有具有时间感知的gPTP设备才可以在网络内

可以同时使用PTP时间感知和时间感知设备

域

仅允许一个

可以是多个

最佳主时钟选择算法

简化状态机

存在预主和未校准状态

设备类型

AVB终端和AVB交换机

普通、边界和透明时钟

AVB MSRP域(QoS)

讲话者声明被转发到可能导致保留的目的MAC地址的输出端口。侦听器声明仅传播到具有关联的讲话者声明的端口（即，基于匹配流ID）。 如果任何交换机端口上没有注册的关联讲话者声明，则不会传播收听者声明。

注意：MSRP感知型交换机会自动生成失效注册的取消注册，以终止AVB会话。

MSRP — 通告注册期间的保留失败

MSRP — 就绪注册期间的预留失败

MSRP — 通话者状态

讲话者广告：流的广告，该流在来自发话者的网络路径上未遇到任何带宽或其他网络限制。

讲话者失败：由于带宽限制或来自讲话者路径中某处的其他限制而无法提供给收听者的流的广告。

MSRP — 侦听程序状态

就绪：此子类型表示至少有一个侦听程序同时打算侦听并已成功预留资源，并且没有打算侦听但无法预留资源的侦听程序。

就绪失败：此子类型表示至少有一个侦听程序同时打算侦听并且已成功预留资源，但至少有一个其他侦听程序打算侦听但无法预留资源。

询问失败：此子类型表示至少有一个侦听程序打算侦听，但无法保留资源，但没有既打算侦听又成功保留资源的侦听程序。

AVB架构 — QoS流量类

支持8Q策略。Cat3K/Cat9K不支持每端口入口队列。内部队列经过优化，适用于AVB，为交换机内的SR类流量提供端到端优先处理（低延迟）。

控制流量示例：OAM、信令、网络控制、网间控制

流预留(SR)A类

流预留(SR)B类

Control Traffic

VoIP

最高优先级

最坏情况延迟2毫秒

COS 3

第2高优先级

最坏情况延迟50毫秒

COS 2

COS 6,7

COS 5

多媒体

事务数据

批量/清除数据

尽力

COS 4

COS -

COS 1

COS 0

IEEE802.1Qav - QoS入口重新标记

- AVB流数据包使用传入帧的PCP（优先级控制点）分类为SRP流量类。

- 为了保护保留的流，AVB交换机不能允许非AVB参与者端口将尽力而为流量转发到SRP类队列。

- 要实现此保护，必须在所有非AVB参与者端口（SRP域边缘端口）上执行入口重新标记，以将匹配任何SRP类的传入PCP更改为尽力而为的PCP。

- 任何端口的SRP域状态更改（边缘与核心）时，都必须添加或删除此重新标记。

IEEE802.1Qav - QoS出口队列

- SR类流量映射到支持基于信用的流量整形算法的出口优先级队列

- AVB核心端口的每类和每端口出口整形器速率（用于带宽预留）的动态配置

- 对于Cat3k，交换机生成的控制流量（即gPTP、MSRP）在16.3.1版本中处于尽力队列。它们在16.3.2版本及以后的优先级队列中。

AVB架构 — 带宽分配设计

- 最多为SR A类+ SR B类分配75%的带宽。

- SR A类保留高达75%的带宽。

- SR B类保留SR A类未使用的带宽。

- 为AV流按先到先服务的基础分配带宽。

- 基于硬件信用的整形器，以均匀地调度AVB流量。

AVB MVRP域

什么是MVRP?

- 多VLAN注册协议(MVRP)是基于MRP（多注册协议）的应用，支持在VLAN桥接网络中的端口上动态注册和取消注册VLAN。它使用MRP在桥接网络中每个网桥的每个端口上声明要在数据库中注册的属性。MVRP使用的实际属性是VLAN ID。如果站点或已配置的网桥端口不需要接收给定VLAN ID的帧，则会发出（撤消）声明。如果VLAN ID通过MVRP在网桥端口上注册，网桥知道该VLAN ID的帧必须在该网桥端口上传输。

- MVRP允许AVB终端在需要接收给定VLAN ID的帧时进行声明。

- MVRP允许AVB终端在不需要接收给定VLAN ID的帧时撤消声明。

在交换机上启用MVRP时

- 终端的MVRP VLAN声明会触发交换机上的VLAN创建。

- 端口有三种不同的MVRP注册模式：

正常 — VLAN根据设备声明动态注册/取消注册。这是全局启用MVRP时端口的默认模式（mvrp注册正常）。

固定 — 端口忽略所有MVRP声明。静态配置的VLAN不会由MVRP动态修剪。此模式可以在连接到非MVRP感知（mvrp注册已修复）的网络设备的接口上按端口配置。

Forbidden - Port忽略所有传入的MVRP消息并修剪VLAN（mvrp注册禁止）。

注意：VTP必须处于禁用模式或透明模式才能使MVRP工作。

注意：MVRP以双向方式处理声明和注册事件，这意味着如果在其中一台设备上启用此功能，则该域中的终端和相邻网桥也需要具有MVRP感知能力，否则启用MVRP的网桥可以修剪某些VLAN，如果它没有收到声明/注册，这可能导致潜在的连接问题。

交换机上未启用MVRP时

在中继模式下手动配置交换机，允许AVB流使用所有范围的VLAN。

AVB流 — 汇总

1. MSRP初始化gPTP以进行时间同步。

2. MSRP在AVB交换机端口上初始化QoS策略。

3. MSRP信令，包含讲话者和收听者声明以检查资源。保证带宽和上限延迟。

4. QoS（整形器）是动态调整的。高达75%的带宽分配给SR A类+ SR B类。

5. MSRP添加第2层组播条目。

6. AV流开始流动。

AVB组件交互

排除Cat3k和Cat9k交换机中的AVB故障

AVB配置

如何配置AVB

步骤1.启用AVB功能及其相应的VLAN:

Cat3850# configure terminal

Cat3850(config)# avb

Cat3850(config)# vlan 2

Cat3850(config)# end

注意：AVB使用的标准VLAN-ID是VLAN 2。在交换机中，可以使用cli avb vlan <vlan-id>为AVB VLAN设置不同的VLAN-ID。此配置用于指定通过MSRP应用AVB特定QoS设置的VLAN。如果需要使用非标准VLAN（默认VLAN 2除外），该VLAN需要在AVB终端设备控制器上设置，以便AVB终端设备向交换机声明AVB所需的正确VLAN，否则，AVB终端设备可以在交换机上配置的VLAN上通告其流。

步骤2.将沿AVB连接路径的交换机接口配置为dot1q中继端口：

Cat3850# configure terminal

Cat3850(config)# interface GigabitEthernet1/0/3

Cat3850(config-if)# switchport mode trunk

Cat3850(config-if)# end

Cat3850#

步骤3（可选）。在交换机上启用MVRP以启用动态VLAN传播。

Cat3850# configure terminal

Cat3850(config)# mvrp global

Cat3850(config)# vtp mode transparent

Cat3850(config)# mvrp vlan create

Cat3850(config)# end

Cat3850#

第4步（可选）。调整交换机上的PTP优先级。

Cat3850#configure terminal

Cat3850(config)# ptp priority1 <0-255>

Cat3850(config)# ptp priority2 <0-255>

Cat3850(config)# end

Cat3850#

MSRP自动添加的配置

Cisco XE Denali 16.3.2引入了对AVB的分层QoS的支持。AVB分层QoS策略是两级父子策略。AVB父策略将音频、视频流量流(SR-Class A、SR-Class B)和网络控制数据包与标准尽力而为以太网流量(Non-SR)分离，并相应地管理流。

注意：AVB的QoS策略由MSRP自动创建和控制。

注意：最终用户对包含非SR类属性的子策略拥有完全控制权，并且只能修改这些子策略，即：policy-map AVB-Output-Child-Policy和policy-map AVB-Input-Child-Policy。AVB HQoS子策略配置即使在重新加载后仍保留。

不同类型的入口策略

SR A类的核心端口和SR B类的边界端口（这意味着在此端口上，MSRP仅接收了A类流的通告，因此B的所有流量重新标记为COS 0，而A类流的标记保留）。

interface GigabitEthernet1/0/3

service-policy input AVB-Input-Policy-Remark-B

service-policy output AVB-Output-Policy-Gi1/0/3

policy-map AVB-Input-Policy-Remark-B

class AVB-SR-B-CLASS                     <<< Parent Policy dynamycally generated (not user editable)

set cos 0 (set 0 for boundary & SR class B PCP value for core port)

class class-default

service-policy AVB-Input-Child-Policy   <<< Child Policy (user editable)

SR B类的核心端口和SR A类的边界端口（这意味着在此端口上，MSRP仅接收了B类流的通告，因此A的所有流量重新标记为COS 0，而B类流的标记保留）。

interface GigabitEthernet1/0/4

service-policy input AVB-Input-Policy-Remark-A

service-policy output AVB-Output-Policy-Gi1/0/4

policy-map AVB-Input-Policy-Remark-A

class AVB-SR-A-CLASS                     <<< Parent Policy dynamycally generated (not user editable)

set cos 0 (set 0 for boundary & SR class A PCP value for core port)

class class-default

service-policy AVB-Input-Child-Policy   <<< Child Policy (user editable)

SR A类和SR B类的核心端口（这意味着在此端口上，MSRP收到了A类和B类流的通告，因此保留了两种流类型的入口标记）。

interface GigabitEthernet1/0/2

service-policy input AVB-Input-Policy-Remark-None

service-policy output AVB-Output-Policy-Gi1/0/2

policy-map AVB-Input-Policy-Remark-None

class class-default

service-policy AVB-Input-Child-Policy   <<< Child Policy (user editable)

SR A类和SR B类的边界端口（这意味着在此端口上，MSRP没有收到任何流的通告，既无A类流，也无B类流，因此两种流类型的入口标记都重新标记为COS 0）。

interface GigabitEthernet1/0/1

service-policy input AVB-Input-Policy-Remark-AB

service-policy output AVB-Output-Policy-Gi1/0/1

policy-map AVB-Input-Policy-Remark-AB

class AVB-SR-A-CLASS                     <<< Parent Policy dynamycally generated (not user editable)

set cos 0 (set 0 for boundary & SR class A PCP value for core port)

class AVB-SR-B-CLASS                     <<< Parent Policy dynamycally generated (not user editable)

set cos 0 (set 0 for boundary & SR class B PCP value for core port)

class class-default

service-policy AVB-Input-Child-Policy   <<< Child Policy (user editable)

输入子策略（用户可编辑）

policy-map AVB-Input-Child-Policy

class VOIP-DATA-CLASS

set dscp EF

class MULTIMEDIA-CONF-CLASS

set dscp AF41

class BULK-DATA-CLASS

set dscp AF11

class TRANSACTIONAL-DATA-CLASS

set dscp AF21

class SCAVENGER-DATA-CLASS

set dscp CS1

class SIGNALING-CLASS

set dscp CS3

class class-default

set dscp default

不同类型的出口策略

出口策略也由MSRP在端口上动态配置。MSRP可以动态保留最大值。A类和B类端口带宽的75%。其余15%静态保留用于控制管理流量，其余的可按需分配给在AVB-Output-Child-Policy上定义的不同流量类型：

policy-map AVB-Output-Policy-Gix/y/z

class AVB-SR-A-CLASS

priority level 1 (Shaper value based on stream registration)

class AVB-SR-B-CLASS

priority level 2 (Shaper value based on stream registration)

class CONTROL-MGMT-QUEUE

priority level 3 percent 15

class class-default

bandwidth remaining percent 100

queue-buffers ratio 80

service-policy AVB-Output-Child-Policy  <<< Child Policy (user editable)

policy-map AVB-Output-Child-Policy

class VOIP-PRIORITY-QUEUE

bandwidth remaining percent 30

queue-buffers ratio 10

class MULTIMEDIA-CONFERENCING-STREAMING-QUEUE

bandwidth remaining percent 15

queue-limit dscp AF41 percent 80

queue-limit dscp AF31 percent 80

queue-limit dscp AF42 percent 90

queue-limit dscp AF32 percent 90

queue-buffers ratio 10

class TRANSACTIONAL-DATA-QUEUE

bandwidth remaining percent 15

queue-limit dscp AF21 percent 80

queue-limit dscp AF22 percent 90

queue-buffers ratio 10

class BULK-SCAVENGER-DATA-QUEUE

bandwidth remaining percent 15

queue-limit dscp AF11 percent 80

queue-limit dscp AF12 percent 90

queue-limit dscp CS1 percent 80

queue-buffers ratio 15

class class-default

bandwidth remaining percent 25

queue-buffers ratio 25

在本示例中，Gi1/0/6是A类SR的核心端口和B类SR的边界端口（这意味着在此端口上，我们仅接收A类流的通告）。 分配给AV流的带宽限制为端口总带宽的最大75%。因为在这种情况下，端口会自动协商链路速度为1 Gbps，因此最多75%的带宽(750 Mbps)可保留给A类和B类流。在这个例子中。MSRP动态保留71%用于A类（约701 Mbps），0%用于B类。

但是，当我们检查连接到接口的实际QoS策略时，我们可以注意到，从75%的可保留BW中，有71%被有效分配到A类（优先级1），但实际上，BW的一小部分- 1% — 也被分配到B类（优先级2）。 如预期，15%分配给了control-mgmt流量（优先级3），其余带宽分配给了用户可编辑的出口子策略:

show msrp port interface Gi1/0/6

Port: Gi1/0/6    Admin: admin up    Oper: up

MTU: 1500    Bandwidth: 1000000 Kbit/s    DLY: 0 us   mode: Trunk

gPTP status: Enabled, asCapable

Residence delay: 20000 ns

Peer delay: 84 ns (Updated Wed Nov 18 17:35:18.823)

AVB readyness state: Ready

Per-class value              Class-A     Class-B

-------------------------------------------------------

Tx srClassVID                2           2

Rx srClassVID                2           0

Domain State                 Core        Boundary

VLAN STP State               FWD         FWD

Reservable BW (Kbit/s)       750000      0

Reserved BW (Kbit/s)         701504      0

Applied QOS BW (percent)     71          0

show policy-map interface Gi1/0/6

Service-policy output: AVB-Output-Policy-Gi1/0/6

<snip>

Class-map: AVB-SR-CLASS-A (match-any)

0 packets

Match: cos  3

Priority: 701504 kbps, burst bytes 17537600,   <<< 71% of the reservable BW

Priority Level: 1

Class-map: AVB-SR-CLASS-B (match-any)

0 packets

Match: cos  2

Priority: 10000 kbps, burst bytes 250000,   <<< 1% of the reservable BW

Priority Level: 2

Class-map: AVB-CONTROL-MGMT-QUEUE (match-any)

0 packets

Match: ip dscp cs2 (16)

0 packets, 0 bytes

5 minute rate 0 bps

Match: ip dscp cs3 (24)

0 packets, 0 bytes

5 minute rate 0 bps

Match: ip dscp cs6 (48)

0 packets, 0 bytes

5 minute rate 0 bps

Match: ip dscp cs7 (56)

0 packets, 0 bytes

5 minute rate 0 bps

Match: ip precedence 6

0 packets, 0 bytes

5 minute rate 0 bps

Match: ip precedence 7

0 packets, 0 bytes

5 minute rate 0 bps

Match: ip precedence 3

0 packets, 0 bytes

5 minute rate 0 bps

Match: ip precedence 2

0 packets, 0 bytes

5 minute rate 0 bps

Match: cos  6

0 packets, 0 bytes

5 minute rate 0 bps

Match: cos  7

0 packets, 0 bytes

5 minute rate 0 bps

Priority: 15% (150000 kbps), burst bytes 3750000,  <<<< 15% of the total BW

Priority Level: 3

Class-map: class-default (match-any)

0 packets

Match: any

Queueing

(total drops) 0

(bytes output) 81167770686

bandwidth remaining 100%    <<< all remaining BW got assigned to child policy

queue-buffers ratio 70

Service-policy : AVB-Output-Child-Policy

<snip>

验证AVB是否正常工作

您必须将故障排除分为五个部分：

1.我们是否在所有涉及的交换机中正确配置了AVB?

2.检查AVB

3.检查MSRP(QoS)

4.检查gPTP

5.检查MVRP

AVB注意事项

<< show avb domain >>

- 每个AVB流（A类和B类）的端口数和类型

- 特定类的核心意味着在该端口上收到该SR类的流通告。

- 边界表示该SR类的通告在该端口上未收到。

- Not asCapable表示该端口不支持PTP

- 端口可以同时作为两个类的核心。

- PCP = QoS优先级代码点

- VID =用于AVB的VLAN-ID

Switch#show avb domain

AVB Class-A

Priority Code Point     : 3

VLAN                    : 2

Core ports              : 2

Boundary ports          : 31

AVB Class-B

Priority Code Point     : 2

VLAN                    : 2

Core ports              : 0

Boundary ports          : 33

--------------------------------------------------------------------------------

Interface    State       Delay    PCP  VID  Information

--------------------------------------------------------------------------------

Te1/0/1          up    300ns

Class-  A        core             3    2

Class-  B    boundary             0    0

----

Te1/0/2          up      N/A                    Port is not asCapable

----

Te1/0/3          up    284ns

Class-  A        core             3    2

Class-  B    boundary             0    0

----

Te1/0/4        down      N/A                        Oper state not up

----

Te1/0/5        down      N/A                        Oper state not up

----

Te1/0/6        down      N/A                        Oper state not up

----

<< show avb stream>

- 有关流的相关信息（流ID、实际带宽、传入和传出接口）。

- 根据连接到该端口的AV终端，端口可以同时为某些流发送和为某些其他流接收。

------------------ show avb stream ------------------

Stream ID:     0090.5E15.965A:65434    Incoming Interface:    Te1/0/1

Destination  : 91E0.F000.3470   <<<< AVB works with layer-2 multicast (least-significant bit of the first octet is on)

Class        : A

Rank         : 1

Bandwidth    : 8192 Kbit/s

Outgoing Interfaces:

----------------------------------------------------------------------------

Interface         State      Time of Last Update         Information

----------------------------------------------------------------------------

Te1/0/3           Ready      Wed Jun 13 16:32:36.224

Stream ID:     0090.5E15.96D5:65436    Incoming Interface:    Te1/0/3

Destination  : 91E0.F000.0770

Class        : A

Rank         : 1

Bandwidth    : 5120 Kbit/s

Outgoing Interfaces:

----------------------------------------------------------------------------

Interface         State      Time of Last Update         Information

----------------------------------------------------------------------------

Te1/0/1           Ready      Wed Jun 13 16:28:45.114

MSRP注意事项

<< show msrp streams >>

<< show msrp streams brief>>

<< show msrp streams streams stream-id #>>

- 在MSRP预留期间，每个流的每个MSRP阶段的相关信息（通告、失败、就绪、就绪等）。

------------------ show msrp streams ------------------

Legend: R = Registered, D = Declared.

--------------------------------------------------------------------------------

Stream ID                       Talker                  Listener

Advertise    Fail       Ready     ReadyFail   AskFail

R | D      R | D      R | D      R | D      R | D

--------------------------------------------------------------------------------

0090.5E15.965A:65434        1 | 1      0 | 0      1 | 1      0 | 0      0 | 0

0090.5E15.96D5:65436        1 | 1      0 | 0      1 | 1      0 | 0      0 | 0

0090.5E15.96D5:65534        1 | 1      0 | 0      1 | 1      0 | 0      0 | 0

------------------ show msrp streams brief ------------------

Legend: R = Registered, D = Declared.

--------------------------------------------------------------------------------

Stream ID              Destination         Bandwidth   Talkers   Listeners  Fail

Address              (Kbit/s)    R | D      R | D

--------------------------------------------------------------------------------

0090.5E15.965A:65434   91E0.F000.3470     8192          1 | 1      1 | 1    No

0090.5E15.96D5:65436   91E0.F000.0770     5120          1 | 1      1 | 1    No

0090.5E15.96D5:65534   91E0.F000.0770     3584          1 | 1      1 | 1    No

0090.5E1A.33E2:65534   0000.0000.0000     0             0 | 0      1 | 0    Yes <<< Listener is requesting for this stream but no Talker transmit

show msrp streams stream-id 65534 <<< non-working one (ASK Failed).

Legend: R = Registered, D = Declared.

--------------------------------------------------------------------------------

Stream ID                       Talker                  Listener

Advertise    Fail       Ready     ReadyFail   AskFail

R | D      R | D      R | D      R | D      R | D

--------------------------------------------------------------------------------

0090.5E1A.33E2:65534        0 | 0      0 | 0      0 | 0      0 | 0      1 | 0  <<< Listener request for the stream, but such stream is not transmitted by any talker

<snip>

<< show msrp port bandwidth>

- AV-Streams可使用的75%可保留带宽中，有多少实际分配给了基于MSRP协商的端口（在本例中，SR-A类流仅分配2%）。

------------------ show msrp port bandwidth ------------------

--------------------------------------------------------------------------------

Ethernet      Capacity       Assigned       Available       Reserved

Interface     (Kbit/s)        A | B          A | B           A | B

--------------------------------------------------------------------------------

Te1/0/1     1000000          75 | 0         73 | 73          2 | 0

Te1/0/2     1000000          75 | 0         75 | 75          0 | 0

Te1/0/3     1000000          75 | 0         73 | 73          2 | 0

Te1/0/4     1000000          75 | 0         75 | 75          0 | 0

<< show msrp port interface>

Switch# sh msrp port int te1/0/1

Port: Te1/0/1    Admin: admin up    Oper: up

MTU: 1500    Bandwidth: 1000000 Kbit/s    DLY: 0 us   mode: Trunk

gPTP status: Enabled, asCapable

Residence delay: 20000 ns

Peer delay: 295 ns (Updated Thu Apr 27 16:49:05.574)

AVB readyness state: Ready

Per-class value              Class-A     Class-B

-------------------------------------------------------

Tx srClassVID                2           2

Rx srClassVID                2           0

Domain State                 Core        Boundary

VLAN STP State               FWD         FWD

Reservable BW (Kbit/s)       750000      0

Reserved BW (Kbit/s)         14720       0

Applied QOS BW (percent)     2           0

Switch# show msrp port interface gi 1/0/40 det

Port: Gi1/0/40 Admin: admin down Oper: down

Intf handle: 0x30 Intf index: 0x30

Location: 1/40, Handle: 0x1001000100000027

MTU: 1500 Bandwidth: 1000000 Kbit/s DLY: 0 us mode: Other

LastRxMAC: 0:90:5E:1A:F5:92

gPTP status: Enabled

AVB readyness state: Oper state not up

Per-class value Class-A Class-B

-------------------------------------------------------

Tx srClassVID                2           2

Rx srClassVID                2           0

Domain State                 Boundary    Boundary   <<< Interface is Down hence Boundary.

VLAN STP State               BLK         BLK

Reservable BW (Kbit/s)       750000      0

Reserved BW (Kbit/s)         0           0

Applied QOS BW (percent)     0           0

Registered Talker: count 0

Declared Talker: count 0

Registered Listener: count 1

Handle 0x1001000100001F97

Registered Listener, Listener Fail

Stream: 0090.5E1B.048D:65534, handle 1001000100001F96

Port handle 0x1001000100000027, vlan: 0

MRP: 0/0/60207669/0/0

<< show tech msrp>

- 收集所有相关MSRP输出

Switch#show tech msrp

------------------ show clock ------------------

*10:32:56.410 UTC Thu Jun 13 2017

------------------ show version ------------------

Cisco IOS Software [Denali], Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 16.3.2, RELEASE SOFTWARE (fc4)

Technical Support: http://www.cisco.com/techsupport

Copyright (c) 1986-2016 by Cisco Systems, Inc.

Compiled Tue 08-Nov-16 17:31 by mcpre

Cisco IOS-XE software, Copyright (c) 2005-2016 by cisco Systems, Inc.

All rights reserved.  Certain components of Cisco IOS-XE software are

licensed under the GNU General Public License ("GPL") Version 2.0.  The

software code licensed under GPL Version 2.0 is free software that comes

with ABSOLUTELY NO WARRANTY.  You can redistribute and/or modify such

GPL code under the terms of GPL Version 2.0.  For more details, see the

documentation or "License Notice" file accompanying the IOS-XE software,

or the applicable URL provided on the flyer accompanying the IOS-XE

software.

<snip>

QoS 注意事项

- AVB网络可保证对时间敏感的音频和视频流的带宽和最低限定延迟。

- AVB根据从来话者到收听者的流量的最坏情况延迟目标(优先级代码指向将流量映射到特定流，A类的COS 3和B类的COS 2)将A类和B类定义为时间敏感流。

- 以下列出了两个流的延迟目标:

- SR-A类：2毫秒

- SR-B类：50毫秒

注意：每跳最坏情况延迟贡献之和导致SR-A类的总端到端延迟为2毫秒或更小，SR-B类的总端到端延迟为50毫秒或更小。从讲话者到听众的7跳的典型AVB部署满足这些延迟要求。

注意：在mGig平台上，100Mbps或更低的速度不支持gPTP。理由：100Mbps的速度导致50毫秒以上的抖动。

PTP注意事项

- 检查祖时钟的位置并运行（请注意，祖时钟可以是外部设备）：

<< show ptp brief>>

- 在此输出中主表示此端口是时间源（主），而从表示它从另一端接收计时(故障表示未连接任何设备或另一端不支持PTP)。 如果交换机上的所有AVB端口都是主端口，则交换机是Grandmaster时钟。

Switch#show ptp brief

Interface                       Domain    PTP State

FortyGigabitEthernet1/1/1       0         FAULTY

FortyGigabitEthernet1/1/2       0         FAULTY

TenGigabitEthernet1/0/1         0         MASTER

TenGigabitEthernet1/0/2         0         MASTER

TenGigabitEthernet1/0/3         0         MASTER

TenGigabitEthernet1/0/4         0         FAULTY

TenGigabitEthernet1/0/5         0         FAULTY

TenGigabitEthernet1/0/6         0         FAULTY

TenGigabitEthernet1/0/7         0         FAULTY

TenGigabitEthernet1/0/8         0         FAULTY

TenGigabitEthernet1/0/9         0         FAULTY

<snip>

<< show ptp clock>>

- 此输出提供本地PTP信息。

Switch#show ptp clock

PTP CLOCK INFO

PTP Device Type: Boundary clock

PTP Device Profile: IEEE 802/1AS Profile

Clock Identity: 0x2C:86:D2:FF:ED:AD:A6:0

Clock Domain: 0

Number of PTP ports: 34

PTP Packet priority: 4

Priority1: 2

Priority2: 2

Clock Quality:

Class: 248

Accuracy: Unknown

Offset (log variance): 16640

Offset From Master(ns): 0

Mean Path Delay(ns): 0

Steps Removed: 0

<< show ptp parent>>

- 提供有关大师级时钟标识的信息：

Switch# show ptp parent

PTP PARENT PROPERTIES

Parent Clock:

Parent Clock Identity: 0x2C:86:D2:FF:ED:AD:A6:0

Parent Port Number: 0

Observed Parent Offset (log variance): 16640

Observed Parent Clock Phase Change Rate: N/A

Grandmaster Clock:

Grandmaster Clock Identity: 0x2C:86:D2:FF:ED:AD:A6:0  <<< Local switch is the Grandmaster Clock of the domain

Grandmaster Clock Quality:

Class: 248

Accuracy: Unknown

Offset (log variance): 16640

Priority1: 2

Priority2: 2

<< show ptp port>

<< show platform software fed switch active ptp interface>

- 这些输出显示详细的PTP端口信息，如邻居传播延迟。

- 首先，检查邻居传播延迟，并且仅当此值在允许范围内时，链路才被提升为支持AVB，其余过程将遵循。否则，链路设置为不为Capable状态，AVB将无法工作。

- 根据网络设计/要求，可以手动配置邻居传播延迟：

ptp neighbor-propagation-delay-threshold

Non-Working Port:

switch#show ptp port gi1/0/32

PTP PORT DATASET: GigabitEthernet1/0/32

Port identity: clock identity: 0xB0:90:7E:FF:FE:28:3C:0

Port identity: port number: 32

PTP version: 2

Port state: DISABLED

Delay request interval(log mean): 0

Announce receipt time out: 3

Neighbor prop delay(ns): -10900200825022  <<< The is an erroneous reading. Default to 800ns.

Announce interval(log mean): 0

Sync interval(log mean): -3

Delay Mechanism: Peer to Peer

Peer delay request interval(log mean): 0

Sync fault limit: 500000000

switch# show platform software fed switch active ptp interface gi1/0/32

Displaying port data for if_id 28

=======================================

Port Mac Address B0:90:7E:28:3C:20

Port Clock Identity B0:90:7E:FF:FE:28:3C:00

Port number 32

PTP Version 2

domain_value 0

Profile Type: : DOT1AS

dot1as capable: FALSE

sync_recpt_timeout_time_interval 375000000 nanoseconds

sync_interval 125000000 nanoseconds

compute_neighbor_rate_ratio: TRUE

neighbor_rate_ratio 0.999968

compute_neighbor_prop_delay: TRUE

neighbor_prop_delay 9223079830310536030 nanoseconds <<< Error reading

port_enabled: TRUE

ptt_port_enabled: TRUE

current_log_pdelay_req_interval 0

pdelay_req_interval 1000000000 nanoseconds

allowed_pdelay_lost_responses 3

is_measuring_delay : TRUE

neighbor_prop_delay_threshold 800 nanoseconds

Port state: : DISABLED

sync_seq_num 29999

num sync messages transmitted  903660

num followup messages transmitted  903628

num sync messages received  0

num followup messages received  0

num pdelay requests transmitted  161245

num pdelay responses received 161245

num pdelay followup responses received  161245

num pdelay requests received  161283

num pdelay responses transmitted  161283

num pdelay followup responses transmitted  160704

Working Port:

switch#show ptp port gi1/0/7

PTP PORT DATASET: GigabitEthernet1/0/7

Port identity: clock identity: 0xB0:90:7E:FF:FE:28:3C:0

Port identity: port number: 7

PTP version: 2

PTP port number: 7

PTP slot number: 1

Port state: MASTER

Delay request interval(log mean): 0

Announce receipt time out: 3

Neighbor prop delay(ns): 154

Announce interval(log mean): 0

Sync interval(log mean): -3

Delay Mechanism: Peer to Peer

Peer delay request interval(log mean): -3

Sync fault limit: 500000000

switch#sh platform software fed switch active ptp interface gi1/0/7

Displaying port data for if_id f

=======================================

Port Mac Address B0:90:7E:28:3C:07

Port Clock Identity B0:90:7E:FF:FE:28:3C:00

Port number 7

PTP Version 2

domain_value 0

Profile Type: : DOT1AS

dot1as capable: TRUE

sync_recpt_timeout_time_interval 375000000 nanoseconds

sync_interval 125000000 nanoseconds

compute_neighbor_rate_ratio: TRUE

neighbor_rate_ratio 1.000000

compute_neighbor_prop_delay: TRUE

neighbor_prop_delay 146 nanoseconds

port_enabled: TRUE

ptt_port_enabled: TRUE

current_log_pdelay_req_interval -3

pdelay_req_interval 0 nanoseconds

allowed_pdelay_lost_responses 3

is_measuring_delay : TRUE

neighbor_prop_delay_threshold 800 nanoseconds

Port state: : MASTER

sync_seq_num 41619

num sync messages transmitted 2748392

num followup messages transmitted 2748387

num sync messages received 0

num followup messages received 35

num pdelay requests transmitted 2746974

num pdelay responses received 2746927

num pdelay followup responses received 2746926

num pdelay requests received 2746348

num pdelay responses transmitted 2746348

num pdelay followup responses transmitted 2746345

MVRP注意事项

- MVRP是可选的。在交换机上手动配置VLAN就足以支持AVB （中继模式下的端口，vlan 2通常用于AVB）。

- 如果在交换机上启用了MVRP，则VTP必须处于禁用或透明模式，MVRP才能工作。

!

mvrp global

mvrp vlan create

!

!

<snip>

!

!

vlan 2

avb

!

!

vtp mode transparent

<< show mvrp interface>

- 在本示例中，我们在switch1上手动配置了vlan 17。在此之后，我们开始通过连接到交换机2的Te1/0/2的中继接口Gi1/0/1发送该vlan的MVRP声明:

switch1(config)#vlan 17

switch1(config-vlan)#exit

switch1(config)#interface vlan 17

switch1(config-if)#

*Nov 10 10:48:40.155: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan17, changed state to up >>> configured vlan with interface.

switch1(config)#do sh mvrp interface Gi1/0/1

Port         Status    Registrar State

Gi1/0/1      on              normal

Port         Join Timeout       Leave Timeout   Leaveall Timeout   Periodic

Timeout

Gi1/0/1      20                 60              1000               100

Port         Vlans Declared   >>> Switch is sending Declarations for VLAN 17 over Gi1/0/1

Gi1/0/1      1,8,17

Port         Vlans Registered >>> MVRP Registration available only for VLAN 1 and 8

Gi1/0/1      1,8

Port         Vlans Registered and in Spanning Tree Forwarding State

Gi1/0/1      1,8

switch1(config)#do show interfaces trunk

Port        Mode             Encapsulation  Status        Native vlan

Gi1/0/1     on               802.1q         trunking      1

Port        Vlans allowed on trunk

Gi1/0/1     1-4094

Port        Vlans allowed and active in management domain

Gi1/0/1     1-2,8,17,21-33,35-62,64-72,74-82,84-86,88-91,94-95,97-110,112-198,531-544,800-802,900-1000

Port        Vlans in spanning tree forwarding state and not pruned

Gi1/0/1     1,8 >>> Vlan 17 is Pruned because we have not received any Declaration from the neighboring device, hence this vlan is not registered in MVRP yet.

- 在前面显示的输出中，我们可以看到switch1正在为最近创建的vlan 17发送MVRP声明，但该vlan尚未在该接口的MVRP中注册，因此交换机正在该端口上修剪该VRP。该VLAN的注册事件未在switch1上完成，可能是因为相邻设备switch2没有为该VLAN发送MVRP声明(因为该VLAN在该设备上不存在，或者switch2未运行MVRP)。

- 在本例中，相邻设备switch2已在运行MVRP，但vlan 17的SVI尚未在此创建，因此它未为该vlan发送MVRP声明。在交换机2上为vlan 17创建SVI后，它便开始发送此vlan的声明，并且在交换机1上的MVRP中注册了该vlan

### switch2

switch2(config)#do show mvrp interface Te1/0/2

Port         Status    Registrar State

Te1/0/2      on              normal

Port         Join Timeout       Leave Timeout   Leaveall Timeout   Periodic

Timeout

Te1/0/2      20                 60              1000               100

Port         Vlans Declared

Te1/0/2      1,8    >>> we are not sending Declarations for vlan 17 to switch1

Port         Vlans Registered

Te1/0/2      1,8,17 >>> we see the vlan getting registered and hence in forwarding state on this switch.

Port         Vlans Registered and in Spanning Tree Forwarding State

Te1/0/2      1,8,17

switch2(config)#do show interfaces trunk

Port        Mode             Encapsulation  Status        Native vlan

Te1/0/2     on               802.1q         trunking      1

Port        Vlans allowed on trunk

Te1/0/2     1-4094

Port        Vlans allowed and active in management domain

Te1/0/2     1,8,17

Port        Vlans in spanning tree forwarding state and not pruned

Te1/0/2     1,8,17  >>> vlan 17 is in forwarding state on switch2

switch2(config)#int vlan 17

switch2(config-if)#

*Nov 10 11:32:55.539: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan17, changed state to up

### switch1

switch1(config)#do sh mvrp interface Gi1/0/1

Port         Status    Registrar State

Gi1/0/1      on              normal

Port         Join Timeout       Leave Timeout   Leaveall Timeout   Periodic

Timeout

Gi1/0/1      20                 60              1000               100

Port         Vlans Declared

Gi1/0/1      1,8,17

Port         Vlans Registered

Gi1/0/1      1,8,17  >>> vlan 17 is now registered on switch1

Port         Vlans Registered and in Spanning Tree Forwarding State

Gi1/0/1      1,8,17  >>> and in FWD state

switch1(config)#do show interfaces trunk

Port        Mode             Encapsulation  Status        Native vlan

Gi1/0/1     on               802.1q         trunking      1

Port        Vlans allowed on trunk

Gi1/0/1     1-4094

Port        Vlans allowed and active in management domain

Gi1/0/1     1-2,8,17,21-33,35-62,64-72,74-82,84-86,88-91,94-95,97-110,112-198,531-544,800-802,900-1000

Port        Vlans in spanning tree forwarding state and not pruned

Gi1/0/1     1,8,17    >>> vlan 17 is in FWD state and no longer pruned

提示：如果相邻设备不运行或支持MVRP，则在已运行MVRP的交换机上，可以在不支持MVRP的邻居所连接的端口上配置此线路：'mvrp注册已修复'。 此配置会忽略该端口上的所有MVRP声明，并且该交换机上静态配置的所有VLAN不会由该接口上的MVRP动态修剪。

命令列表

— AVB验证命令 —

#gptp

show ptp brief

show ptp clock

show ptp parent

show ptp port <int_name>

show platform software fed switch active ptp interface <int_name>

#avb

show avb domain

show avb stream

#msrp

show msrp streams

show msrp streams brief

show msrp streams detail

show msrp streams stream-id <stream-id>

show msrp port bandwidth

show msrp port interface <int_name>

show tech msrp

#mvrp

show mvrp summary

show mvrp interface <int_name>

#QoS

show policy-map interface <int_name>

show interface <int_name> counter errors

show platform hardware fed switch active qos queue config interface <int_name>

show platform hardware fed switch active qos queue stats interface <int_name>

show platform hardware fed switch active fwd-asic resource tcam utilization

show tech qos

!!! Starting from Cisco IOS XE Denali 16.3.2, 'show running-config interface' command does not display any details of the AVB policy attached.

!!! You must use 'show policy-map interface' command to display all the details of the AVB policy attached to that port.

#FED QoS

show platform software fed switch active qos policy summary

show platform software fed switch active qos policy target interface <int_name>

相关信息

- 企业网络的思科音频视频桥接设计和部署（白皮书）

https://www.cisco.com/c/dam/en/us/products/collateral/switches/catalyst-3850-series-switches/white-paper-c11-736890.pdf

- Cat3K交换机上的音频视频桥接

https://www.cisco.com/c/dam/en/us/products/collateral/switches/q-and-a-c67-737896.pdf

- AVB产品页面

https://www.cisco.com/c/en/us/products/switches/avb.html

- Denali 16.3.x上的AVB配置指南

https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3650/software/release/16-3/configuration_guide/b_163_consolidated_3650_cg/b_163_consolidated_3650_cg_chapter_010.html

- Everest 16.6.x上的AVB配置指南

https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3850/software/release/16-6/configuration_guide/avb/b_166_avb_3850_cg/b_165_avb_3850_cg_chapter_00.html

- Fuji 16.9.x上的AVB配置指南

https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9300/software/release/16-9/configuration_guide/avb/b_169_avb_9300_cg/audio_video___bridging.html

- 直布罗陀16.10.x上的AVB配置指南

https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9300/software/release/16-10/configuration_guide/avb/b_1610_avb_9300_cg/audio_video___bridging.html

- Biamp系统 — 在Cisco Catalyst交换机上启用AVB

https://support.biamp.com/Tesira/AVB/Enabling_AVB_on_Cisco_Catalyst_Switches