本檔案將檢視使用通用路由封裝(GRE)可在通道介面上設定哪些服務品質(QoS)功能。 使用IP安全(IPsec)設定的通道不在本檔案的範圍之內。
本文件沒有特定需求。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
在瞭解GRE通道的QoS之前,首先需要瞭解通道化封包的格式。
通道介面是執行Cisco IOS®軟體的路由器上的虛擬或邏輯介面。它通過IP網際網路在遠端點建立兩個Cisco路由器之間的虛擬點對點鏈路。
GRE是IOS支援的封裝通訊協定,並在RFC 1702 中定義。通道通訊協定封裝傳輸通訊協定中的封包。
通道介面支援下列各項的標頭:
乘客通訊協定或封裝通訊協定,例如IP、AppleTalk、DECnet或IPX。
載體通訊協定(此案例為GRE)。
傳輸通訊協定(在此情況下僅限IP)。
通道封包的格式如下圖所示:
有關配置GRE通道的詳細資訊,請參閱配置邏輯介面。
通道介面支援許多與物理介面相同的QoS功能。以下各節介紹支援的QoS功能。
Cisco IOS軟體版本12.0(7)T引入對直接在通道介面上應用通用流量調節(GTS)的支援。以下示例配置將隧道介面整形為總輸出速率500 kbps。如需詳細資訊,請參閱設定通用流量調節。
interface Tunnel0 ip address 130.1.2.1 255.255.255.0 traffic-shape rate 500000 125000 125000 1000 tunnel source 10.1.1.1 tunnel destination 10.2.2.2
Cisco IOS軟體版本12.1(2)T新增了對使用模組化QoS指令行介面(MQC)的類別型調節的支援。 以下示例配置顯示如何使用MQC命令將相同的整形策略應用到隧道介面。如需詳細資訊,請參閱設定類別型調節。
policy-map tunnel class class-default shape average 500000 125000 125000 interface Tunnel0 ip address 130.1.2.1 255.255.255.0 service-policy output tunnel tunnel source 130.1.35.1 tunnel destination 130.1.35.2
當介面變得擁塞並且資料包開始排隊時,可以將排隊方法應用於等待傳輸的資料包。Cisco IOS邏輯介面本身不支援擁塞狀態,也不支援應用排隊方法的服務策略的直接應用。相反,您需要應用分層策略,如下所示:
建立配置排隊機制的「子」或較低級別的策略,例如使用priority命令進行低延遲隊列,以及使用bandwidth命令進行基於類的加權公平隊列(CBWFQ)。有關詳細資訊,請參閱擁塞管理。
policy-map child class voice priority 512
建立應用基於類的整形的「父級」或頂級策略。將子策略應用為父策略下的命令,因為子類的准入控制是基於父類的整形速率完成的。
policy-map tunnel class class-default shape average 2000000 service-policy child
將父策略應用於隧道介面。
interface tunnel0 service-policy tunnel
當使用應用排隊而不進行整形的服務策略配置隧道介面時,路由器將列印此日誌消息。
router(config)# interface tunnel1 router(config-if)# service-policy output child Class Based Weighted Fair Queueing not supported on this interface
通道介面也支援類別型管制,但不支援承諾存取速率(CAR)。
注意:7500上的隧道介面不支援服務策略。
Cisco IOS軟體版本11.3T引入了GRE通道標籤和DSCP或IP優先順序值,此指令將路由器設定為將ToS位元組的IP優先順序位值複製到封裝內部封包的通道或GRE IP標頭。以前,這些位設定為零。通道端點之間的中間路由器可以使用IP優先順序值來為QoS功能(例如原則路由、WFQ和加權隨機早期偵測(WRED))對封包進行分類。
當封包以通道或加密標頭封裝時,QoS功能無法檢查原始封包標頭並正確分類封包。通過相同通道傳輸的資料包具有相同的通道標頭,因此如果實體介面擁塞,則會以相同方式處理封包。隨著虛擬私人網路(VPN)服務品質功能的引入,現在可以在進行通道和加密之前對封包進行分類。
在本例中, tunnel0是隧道名稱。qos pre-classify命令在tunnel0上啟用VPN的QoS功能:
Router(config)# interface tunnel0 Router(config-if)# qos pre-classify
附註: qos pre-classify命令可用於根據IP優先順序或DSCP以外的值對流量進行分類。例如,您可能希望根據IP流或第3層資訊(例如源和目標IP地址)對資料包進行分類,可使用此命令。只有當您對IP、通訊協定或連線埠上的流量進行分類時,才需要qos pre-classify命令。如果分類基於DSCP代碼,則不需要qos預分類。
設定服務原則時,您首先可能需要對穿越通道的流量進行特徵化。Cisco IOS在邏輯介面(如隧道)上支援Netflow和IP Cisco Express Forwarding(CEF)記帳。有關詳細資訊,請參閱NetFlow服務解決方案指南。
您可以將服務策略應用於隧道介面或底層物理介面。策略應用位置的確定取決於QoS目標。它還取決於您需要使用哪個報頭進行分類。
當您想要根據預先通道標頭對封包進行分類時,請將此原則套用到通道介面,而不使用qos-preclassify。
當您希望根據後隧道報頭對資料包進行分類時,請將此策略應用於物理介面,而不使用qos-preclassify。此外,當您要整形或管制屬於隧道的所有流量時,請將策略應用到物理介面,並且物理介面支援多個隧道。
當您想要根據預隧道報頭對資料包進行分類時,請將策略應用於物理介面並在隧道介面上啟用qos-preclassify。
多點介面上不支援CBWFQ內部基於類的整形。思科錯誤ID CSCds87191將路由器配置為在拒絕策略時顯示錯誤消息。
在極少數情況下,應用使用shape命令配置的服務策略會導致高CPU利用率和對齊錯誤。CPU負載是由記錄對齊錯誤引起的,而對齊錯誤又是由CEF錯誤設定輸出介面和鄰接重寫資訊引起的。此問題僅影響非RSP平台(低端)和使用基於粒子的CEF交換的平台,並可以通過思科錯誤ID CSCdu4504和CSCuk30302解決。您還可以考慮以下解決方法:
用通道模式ipip替換GRE封裝。
將shape命令替換為police命令。
在支援隧道的物理介面上配置整形。