簡介
本文說明如何對思科聚合服務路由器(ASR)9000中的服務品質(QOS)策略繼承進行故障排除。它表示在實體連線埠的輸入原則設定中有區別服務代碼點(DSCP)標籤時的路由器行為。此策略為該物理埠下的所有第2層和第3層子介面實施。
必要條件
需求
思科建議您瞭解以下主題:
- ASR9000中的第2層虛擬專用網路(L2VPN)和乙太網服務配置
Cisco ASR 9000系列聚合服務路由器L2VPN和乙太網服務配置指南
Cisco ASR 9000系列聚合服務路由器模組化服務品質配置指南
採用元件
本文檔中的資訊基於Cisco ASR9000系列。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
問題:QOS中的DSCP值在一個方向上更改
資料包在一個方向上被標籤。它通過Cisco ASR 9000上的點對點第2層(L2)連線時,會在QOS中顯示新的Differentiated Services Code Point(DSCP)值。L2連線通過偽線配置,偽線通過MPLS網路實施。 沒有特定配置來更改此方案中涉及的任何相關子介面的DSCP值。從使用者A傳送的原始資料包(標籤為CS4)為DSCP值。但是,使用者B收到的資料包顯示設定為AF41的DSCP值。此問題只在一個方向上顯示,即從A到B。
拓撲
疑難排解
考慮流量通過L2VPN連線流動這一事實,您需要確定DSCP備註在網路中的位置。
資料包捕獲是確認DSCP值更改的位置和方向的方法之一。在此案例中,流量是從兩個方向擷取的。 您可以看到從ASR01到ASR02的一個方向上發生的問題。 DSCP值在到達ASR02時立即更改。資料包捕獲確認DSCP值在離開ASR01路由器後發生了更改。
根據Cisco ASR 9000系列聚合服務路由器模組化服務品質配置指南,有幾種方法可用於識別單個路由器內的流量,例如IP資料包中的訪問控制清單(ACL)、協定匹配、IP優先級、DSCP、多協定標籤交換(MPLS)實驗位(EXP)欄位或服務類別(CoS)。
若要標籤流量,請在IP服務型別(ToS)位元組中設定IP優先順序或DSCP位元。
驗證設定
若要尋找根本原因,您可以驗證設定。
步驟1.驗證L2VPN配置。
ASR01- Config:
==============
l2vpn
router-id 172.16.0.1
pw-class TEST
encapsulation mpls
protocol ldp
!
bridge group DSCP-TEST
bridge-domain DSCP-TEST
mtu 9216
interface Bundle-Ether100.2048
!
vfi DSCP-TEST
neighbor 172.16.0.2 pw-id 2048
pw-class TEST
!
ASR02- Config:
============
l2vpn
router-id 172.16.0.2
pw-class TEST
encapsulation mpls
protocol ldp
!
bridge group DSCP-TEST
bridge-domain DSCP-TEST
mtu 9216
interface GigabitEthernet0/2/0/30.2048
!
vfi DSCP-TEST
neighbor 172.16.0.1 pw-id 2048
pw-class TEST
步驟2.驗證介面組態。
在捆綁介面100中配置了入口服務策略,該策略連線到終端使用者並承載用於不同L2VPN服務的多個流量。為了區分流量,請配置子介面並為每種型別的流量使用唯一的VLAN。
ASR01- Interface Configuration:
================================
RP/0/RSP0/CPU0:ASR1# show running-config interface gigabitEthernet 0/1/0/4
Thu Jun 1 13:17:37.642 AEST
interface GigabitEthernet0/1/0/4
description "TO User-A-TEST"
bundle id 100 mode active
mtu 9192
!
RP/0/RSP0/CPU0:ASR1# show running-config interface Bundle-Ether100.2048
Thu Jun 1 13:17:43.438 AEST
interface Bundle-Ether100.2048 l2transport
encapsulation dot1q 2048 second-dot1q any
mtu 9216
!
RP/0/RSP0/CPU0:ASR1# show running-config interface gigabitEthernet 0/1/0/4.2048
Thu Jun 1 13:17:43.438 AEST
interface GigabitEthernet0/1/0/4.2048 l2transport
encapsulation dot1q 2048 second-dot1q any
mtu 9216
!
RP/0/RSP0/CPU0:ASR1# show running-config interface Bundle-Ether100
Thu Jun 1 13:20:43.438 AEST
interface Bundle-Ether100
description "To User-A"
mtu 9216
service-policy input INPUT <<< ========================
service-policy output OUTPUT
bundle maximum-active links 1
ASR02: Interface Configuration:
============================
RP/0/RSP0/CPU0:ASR2#show running-config interface gigabitEthernet 0/2/0/30.2048
Thu Jun 1 15:25:06.742 AEST
interface GigabitEthernet0/2/0/30.2048 l2transport
encapsulation dot1q any
rewrite ingress tag push dot1q 2048 symmetric
mtu 9216
monitor-session span ethernet
!
RP/0/RSP0/CPU0:ASR2#show running-config interface gigabitEthernet 0/2/0/30
Thu Jun 1 15:25:00.516 AEST
interface GigabitEthernet0/2/0/30
description "To User-B"
mtu 9216
monitor-session span ethernet
speed 1000
transceiver permit pid all
!
步驟3.驗證服務策略配置。
配置表明影片流量的策略對映與標籤為CS4的資料包匹配,並將其註釋為AF41。
此外,此策略針對具有不同VLAN標籤的另一個L2VPN服務進行配置。但是,它應用於主套件組合介面,影響符合此條件的所有輸入流量。
policy-map INPUT
class CS4
set dscp af41
!
class-map match-any CS4
description Video Traffic
match cos 4
end-class-map
!
policy-map OUTPUT
class DSCP
set cos 4
priority level 2
police rate percent 33
conform-action transmit
exceed-action drop
!
class-map match-any DSCP
description Video Traffic
match dscp af41
end-class-map
在實驗室中重新建立測試場景
您可以在LAB中重新建立相同的場景,並驗證此服務策略配置如何影響傳入流量的DSCP值。
步驟1.配置無任何服務策略的類似場景,並在目標位置捕獲資料包。
傳入流量的DSCP值設定為CS4,但在目標位置保持不變。
Ethernet II, Src: XeroxCor_00:0a:00 (00:00:01:00:0a:00), Dst: CiscoInc_e2:05:be (18:ef:63:e2:05:be)
Destination: CiscoInc_e2:05:be (18:ef:63:e2:05:be)
Source: XeroxCor_00:0a:00 (00:00:01:00:0a:00)
Type: IPv6 (0x86dd)
Internet Protocol Version 6, Src: 2020::1, Dst: 2020::2
0110 .... = Version: 6
.... 1000 0000 .... .... .... .... .... = Traffic class: 0x80 (DSCP: CS4, ECN: Not-ECT) << ============
.... .... .... 0000 0000 0000 0000 0000 = Flow label: 0x00000
Payload length: 20
步驟2.在連線到流量生成器的介面的輸入方向應用相同的服務策略。
步驟3. 生成兩種型別的流量。一個DSCP值設定為CS4,第二個值具有任何其他DSCP值。
在ASR02之後捕獲的資料包表示:
當傳入流量的DSCP值設定為CS4時,在目的地接收的資料包會將DSCP值顯示為AF41。但是,如果您設定了任何與其服務策略條件不匹配的DSCP值,則資料包到達目的地時的DSCP值將保持不變。
Ethernet II, Src: XeroxCor_00:0a:00 (00:00:01:00:0a:00), Dst: CiscoInc_e2:05:be (18:ef:63:e2:05:be)
Destination: CiscoInc_e2:05:be (18:ef:63:e2:05:be)
Source: XeroxCor_00:0a:00 (00:00:01:00:0a:00)
Type: IPv6 (0x86dd)
Internet Protocol Version 6, Src: 2020::1, Dst: 2020::2
0110 .... = Version: 6
.... 1000 1000 .... .... .... .... .... = Traffic class: 0x88 (DSCP: AF41, ECN: Not-ECT) << ============
.... .... .... 0000 0000 0000 0000 0000 = Flow label: 0x00000
Payload length: 20
解決方案
在ASR01裝置中的捆綁介面(捆綁100)上配置的入口服務策略重新寫入與其條件匹配的資料包的DSCP值。它搜尋CS4值並用AF41對其進行註釋。因此,您必須刪除入口服務策略才能解決此問題。
配置模組化QoS服務資料包分類文檔描述了策略繼承。在物理埠上應用策略對映時,該物理埠下的所有第2層和第3層子介面都會實施該策略。
這是ASR 9000中的預設標籤行為:
在輸入或輸出介面中新增VLAN標籤或MPLS標籤時,CoS和EXP的預設值將移動到這些標籤和標籤。然後,可以基於策略對映覆蓋預設值。CoS和EXP的預設值基於輸入系統時資料包中的受信任欄位。路由器根據封包型別和輸入介面轉送型別(第2層或第3層)執行某些欄位的隱含信任。
預設情況下,如果沒有配置策略對映,路由器不會修改IP優先順序或DSCP。
這是路由器的預設行為:
- 在入口或出口第2層介面(例如xconnect或網橋域)上,最外部的CoS值用於新增到入口介面中的任何欄位。如果存在由於第2層重寫而新增的VLAN標籤,則傳入的最外CoS值將用於新的VLAN標籤。如果新增了MPLS標籤,則CoS值將用於MPLS標籤中的EXP位。
- 在入口或出口第3層介面(針對IPv4或IPv6資料包的路由或標籤加權)上,三個DSCP和優先順序位在傳入資料包中標識。對於MPLS資料包,識別EXP位的最外部標籤,該值用於入口介面處新增的任何新欄位。如果新增了MPLS標籤,則標識的優先順序、DSCP或MPLS EXP值將用於新新增的MPLS標籤中的EXP位。