目錄

簡介

背景資訊

硬體/軟體支援

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功能的增強功能。

這些平台支援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

但丁

眼鏡蛇網

標準

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 Audio Video Bridge(AVB)實際上包含這四個IEEE標準。這意味著，無論何時出現AVB問題，我們都必須考慮每個標準並相應地排除故障：

IEEE802.1AS(gPTP)

- 廣義精確時間通訊協定(gPTP)。

- 時間敏感型應用的第2層裝置的定時和同步。

IEEE802.1Qat(MSRP)

- 多重串流保留通訊協定(MSRP)。

- 用於資源保留的端到端流量准入控制系統。

IEEE802.1Qav(QoS)

- 時間敏感流(FQTSS)的轉送和佇列。

- 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，在狀態機中幾乎沒有簡化

- 沒有Pre-primary狀態(在到達Primary狀態之前)。

- 沒有外國初級資格期。

- 沒有未校準狀態(在到達Subordinate狀態前)。

gPTP

IEEE1588v2

傳輸

僅限L2

L2/L3

系統組合

只有時間感知的gPTP裝置才能在網路中

可以混合使用PTP時間感知和時間感知裝置

域

只允許一個

可以是多個

最佳主時鐘選取演演算法

簡化狀態機

存在預初級和未校準狀態

裝置型別

AVB終端和AVB交換機

普通、邊界和透明時鐘

AVB MSRP域(QoS)

通過可能導致保留目的MAC地址的輸出埠轉發通話者宣告。監聽程序宣告僅傳播到具有關聯的Talker宣告（即，基於匹配的流ID）的埠。 如果在任何交換機埠上未註冊關聯Talker宣告，則不會傳播監聽程式宣告。

附註：MSRP感知交換機自動生成過時註冊的取消註冊，以終止AVB會話。

MSRP — 廣告註冊期間的保留失敗

MSRP — 就緒註冊期間保留失敗

MSRP — 通話者狀態

Talker廣告：在來自通話者的網路路徑上未遇到任何頻寬或其他網路限制的資料流通告。

Talker失敗：由於頻寬限制或其他限制而無法從偵聽器獲取的Stream通告。

MSRP — 監聽程式狀態

就緒：此子型別表示至少有一個監聽程式，它們都打算監聽並且已成功保留資源；沒有監聽程式打算監聽但無法保留資源。

就緒失敗：此子型別表示至少有一個監聽程式，它們都打算監聽並且已成功保留資源，但至少有一個其他監聽程式打算監聽，但無法保留資源。

詢問失敗：此子型別表示至少有一個監聽程式打算監聽但無法保留資源，但沒有監聽程式同時打算監聽並且成功保留資源。

AVB架構 — QoS流量類別

支援8Q策略。Cat3K/Cat9K不支援每埠輸入佇列。內部隊列已針對AVB進行微調，以便為交換機內的SR類流量提供端到端優惠處理（低延遲）。

控制流量示例：OAM、信令、網路控制、InterNetwork Control

串流保留(SR)A類

串流保留(SR)B類

控制流量

VoIP

最高優先順序

最壞情況2毫秒

COS 3

第二高優先順序

最壞情況延遲50毫秒

COS 2

COS 6,7

COS 5

多媒體

事務資料

批次/清除器資料

盡最大努力

COS 4

COS -

COS 1

COS 0

IEEE802.1Qav - QoS輸入重標籤

- 使用傳入幀的PCP（優先順序控制點）將AVB流資料包分類為SRP流量類。

- 為了保護保留的流量，AVB交換機不能允許非AVB參與者埠將盡力傳輸流量轉發到SRP類隊列。

- 要實現此保護，必須在所有非AVB參與者埠（SRP域邊緣埠）上執行輸入重新標籤，以將匹配任何SRP類的傳入PCP更改為盡力而為PCP。

- 任何時候任何埠的SRP域狀態發生變化（邊緣與核心），都必須新增或刪除此重新標籤。

IEEE802.1Qav - QoS輸出隊列

- SR類流量對映到支援基於信用的流量整形器演算法的出口優先順序隊列

- AVB核心埠在每類和每埠基礎上動態配置出口整形器速率（用於頻寬保留）

- 對於Cat3k，在16.3.1版本中，交換機生成的控制流量（即gPTP、MSRP）位於盡力隊列中。它們在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的幀，則它們會進行（撤銷）宣告。如果MVRP在網橋埠上註冊了VLAN ID，網橋會知道該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 Signalling with Talker and Listener declarations用於檢查資源。確保頻寬和上限延遲。

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。如果需要在AVB終端裝置控制器上使用需要設定的非標準VLAN（除了預設的VLAN 2），以便AVB終端裝置向交換器宣告所需的AVB正確VLAN，否則，AVB終端裝置可以在與交換器上所設定的VLAN不同的其他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)和網路控制資料包與標準盡力而為乙太網流量（非SR）隔離，並相應地管理流。

附註：AVB的QoS策略由MSRP自動建立和控制。

附註：終端使用者對包含非SR類屬性的子策略具有完全控制許可權，且只能修改這些子策略，即：policy-map AVB-Output-Child-Policy和policy-map AVB-Input-Child-Policy。即使重新載入後，AVB HQoS子策略配置也會保留。

不同型別的輸入策略

SR Class A的核心埠和SR Class 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 Class A和SR Class 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 Class A和SR Class 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是SR Class A的核心埠，以及SR Class B的邊界埠（這意味著在此埠上，我們僅接收類A流的通告）。 分配給AV流的頻寬限製為總埠頻寬的75%。因為在這種情況下，連線埠會自動交涉連結速度為1 Gbps，所以此頻寬的最大75%(750 Mbps)可保留給A類和B類流。在這種情況下。MSRP為A類動態保留71%（約701 Mbps），為B類動態保留0%。

但是，當我們檢查介面所連線的實際QoS策略時，我們可以注意到，從可保留BW的75%中，有71%實際上已分配給A類（優先順序級別1），但在現實中，也有一小部分BW - 1% — 被分配給B類（優先順序級別2）。 正如預期的那樣，15%的頻寬被分配給控制管理流量(優先順序級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流的埠數量和型別（Class-A和Class-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 stream-id # >>

- 每個流的MSRP預留期間每個MSRP階段的相關資訊（Advertise、Fail、Ready、ReadyFail等）。

------------------ 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-Class 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類和B類定義為時間敏感型流，基於從說話者到偵聽器的流量的最壞情況延遲目標(優先順序代碼指向將流量對映到特定流，COS 3用於A類，COS 2用於B類)。

- 下面列出了兩個流的延遲目標:

- SR-A類：2毫秒

- SR-B類：50毫秒

附註：最壞情形的每跳延遲貢獻的總和導致SR-Class A的端到端總延遲為2毫秒或更短，SR-Class B的端到端總延遲為50毫秒或更短。從通話者到監聽程式的典型AVB部署7跳符合這些延遲要求。

附註：mGig平台上的100 Mbps或更低速度不支援gPTP。原因：100Mbps的速度會引入超過50ms的抖動。

PTP注意事項

- 檢查大師級時鐘的位置並運行（請注意，大師級時鐘可以是外部裝置）：

<< show ptp brief >>

- 在此輸出中，Master表示此連線埠是時間來源（主要），Subordinate表示它從另一端接收定時(Faulty表示沒有連線或另一端不支援PTP)。 如果交換機上的所有AVB埠都是主埠，則交換機是主時鐘。

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，其餘進程會隨之進行。否則，連結設定為not asCapable state，且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。我們可以看到，在此之後，我們開始通過連線到switch2的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中，因此交換機在該埠上正在修剪。該VLAN的註冊事件尚未在switch1上完成，可能是因為相鄰裝置switch2沒有傳送該VLAN的MVRP宣告(因為該VLAN不存在於該裝置上，或因為switch2沒有運行MVRP)。

- 在本例中，相鄰裝置switch2已經在運行MVRP，但用於vlan 17的SVI尚未在此建立，因此它沒有傳送該vlan的MVRP宣告。我們在switch2上為vlan 17建立SVI後，它就開始傳送此vlan的宣告，並且vlan已在switch1的MVRP中註冊

### 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 registration fixed'。 此配置忽略該埠上的所有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 Systems — 在Cisco Catalyst交換機上啟用AVB

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