本檔案將說明LAN環境中服務品質(QoS)(適用於IP語音(VoIP)),方法為將服務型別(ToS)對應服務類別(CoS)引數。
直到最近,人們還普遍認為,由於網路流量的突發性和緩衝區溢位能力,QoS絕不會成為企業端的問題。LAN端的QoS是因為緩衝,而不是因為缺乏頻寬。因此,需要QoS工具來管理這些緩衝區,以最小化丟失、延遲和延遲變化。由於資料網路的突發性以及大量較小的傳輸控制通訊協定(TCP)封包,傳輸緩衝區有填充高速網路容量的趨勢。如果輸出緩衝區已滿,輸入介面將無法立即將新流量放入輸出緩衝區。輸入緩衝區滿後(可能很快發生),就會發生丟包現象。這時語音品質可能會由於資料包丟失而下降。
VoIP流量對延遲資料包和丟棄的資料包都敏感。無論隊列緩衝區的大小如何,由於LAN鏈路速度很快,延遲決不應成為因素。但是,丟棄始終會對所有網路中的語音品質產生負面影響。在傳輸介面上使用多個隊列是消除因緩衝區以100%的容量運行而導致流量丟失的唯一方法。語音和影片分離(對延遲和丟包都敏感)到自己的隊列可以防止資料流在入口介面被丟棄,即使資料流填滿資料傳輸緩衝區。
在具有高流量負載的網路中,管理控制流量的交付對於確保VoIP良好的使用者體驗至關重要。這一點很容易說明。例如,當IP電話摘機時,它會詢問Cisco CallManager該怎麼做。然後Cisco CallManager指示IP電話播放撥號音。如果瘦客戶端協定管理和控制流量被丟棄或延遲,使用者體驗會受到不利影響。為了提供QoS,請以更高的優先順序標籤資料包報頭,並將其正確對映到第2層報頭以供Catalyst瞭解。這可確保跨LAN的語音封包具有適當的優先順序。
本文件沒有特定先決條件。
本文件中的資訊是以下列軟體和硬體版本為依據.
採用Cisco IOS®軟體版本12.3(4)T的Cisco 3725語音閘道。
Catalyst 4000交換器
Cisco CallManager和IP電話
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您在即時網路中工作,請確保在使用任何命令之前瞭解其潛在影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
本節提供用於設定本文件中所述功能的資訊。
注意:要查詢有關本文檔中使用的命令的其他資訊,請使用命令查詢工具(僅限註冊客戶)。
本檔案會使用下圖中所示的網路設定。
本檔案會使用這些設定。
此組態顯示如何將ToS/區別服務代碼點(DSCP)值對映到802.1p標頭部分中的CoS值。實施方式有很多種,具體差異會因設計而異。這裡的兩個配置示例是等效的,兩者都可以用於獲得相同的結果。請確保僅允許ToS位中IP優先順序為關鍵(5)的VoIP資料包。其他流量不應將此位設定為關鍵。這會導致語音隊列中多餘的流量重疊。
注意:LLQ配置是在網路中的其他裝置(例如Catalyst 4000)上完成的,本文檔中並未對此進行說明。
在此第一個示例中,只標籤與IP優先順序5匹配的RTP流,而不標籤RTCP或任何H.225/245信令和消息包。
Cisco 3660(示例1) |
---|
! ip cef ! !--- The Cisco Express Forwarding (CEF) mechanism needs to be enabled !--- in order for the set cos command that is !--- configured later to take effect. !--- If this is not on, the router reminds you with !--- the error "CEF switching needed for 'set' operations". ! class-map match-all RTP match ip precedence 5 !--- This command matches on all packets with the IP precedence of 5. ! policy-map OutboundPolicy class RTP set CoS 5 !--- For all packets which previously matched on class-map RTP for !--- having precedence of 5, the CoS bit is now set to 5. class class-default set CoS 0 !--- All other traffic has a CoS of 0 and !--- carries a lower priority of delivery. ! interface FastEthernet0/0 no ip address no ip mroute-cache duplex auto speed auto ! interface FastEthernet0/0.816 encapsulation dot1Q 816 !--- There must be subinterfaces for FastEthernet to enable trunking, !--- as well as either dot1q or isl encapsulation. ip address 10.120.16.112 255.255.255.0 service-policy output OutboundPolicy !--- Apply the QoS to the interface that connects to the LAN !--- via the Catalyst 4000. ! dial-peer voice 99131 voip destination-pattern 9913109 session target ipv4:10.120.17.133 ip qos dscp cs5 media no vad ! |
附註:ip qos dscp 指令是在Cisco IOS軟體版本12.2(2)T中匯入。它會取代ip precedence(dial-peer)命令。在Cisco IOS軟體版本12.2(2)T和更新版本上執行的所有路由器都可以在撥號對等體組態中使用ip precedence。
第二個示例具有不同的策略對映類的匹配引數。Cisco 3660配置匹配H.225呼叫設定資料包以及RTP流。RTP流的匹配標準也略有不同。不要檢視IP報頭,只檢視UDP埠範圍。如果它處於16384和32767之間,請標籤它們並將它們傳送到策略對映。
Cisco 3660(示例2) |
---|
! ip cef ! !--- The CEF mechanism needs to be enabled !--- in order for the set cos command that is !--- configured later to take effect. !--- If this is not on, the router reminds you with !--- the error "CEF switching needed for 'set' operations". ! class-map match-all Call-Control match access-group 101 ! class-map match-all RTP match ip rtp 16384 16383 !--- Match on UDP port range 16384-32767 to single out !--- VoIP packets for policy-map. ! access-list 101 permit tcp host 10.120.16.112 any eq 1720 !--- Match on all packets using TCP port 1720 which is !--- dedicated for H.225 call setup. ! policy-map OutboundPolicy class RTP set CoS 5 !--- For all VoIP packets that match the UDP port range listed above, !--- set the CoS bit to 5. class Call-Control set CoS 3 set ip precedence 3 !--- For all signaling and control packets that match access-list !--- 101, set the CoS bit to 3 and IP precedence to 3. class class-default set CoS 0 !--- All other traffic has a CoS of 0 and carries a !--- lower priority of delivery. ! interface FastEthernet0/0 no ip address no ip mroute-cache duplex auto speed auto ! interface FastEthernet0/0.816 encapsulation dot1Q 816 ip address 10.120.16.112 255.255.255.0 service-policy output OutboundPolicy !--- Apply your QoS to the interface that connects to the !--- LAN via the Catalyst 4000. ! dial-peer voice 99131 voip destination-pattern 9913109 session target ipv4:10.120.17.133 ip qos dscp cs5 media no vad ! |
本節提供的資訊可用於確認您的組態是否正常運作。
輸出直譯器工具(僅供註冊客戶使用)支援某些show命令,此工具可讓您檢視show命令輸出的分析。
show policy-map interface — 顯示指定服務策略對映的所有類的匹配計數器。
現在路由器已配置為將ToS位對映到CoS位。使用show policy-map interface命令以確保流量實際上是根據配置標籤的。
在此第一個示例輸出中,539個VoIP資料包匹配類別對映,因此所有539個資料包的CoS位均被標籤為關鍵值。這種型別的排隊不必等待擁塞變為活動狀態。只要有語音流量通過FastEthernet鏈路,就會相應地標籤所有資料包。在第二範例中,根據組態,所有VoIP封包被標籤為CoS值為5,而所有訊號封包被標籤為CoS值為3。
在第一個3660範例組態中:
vdtl-3660-16a#show policy-map interface fastethernet 0/0.816 FastEthernet0/0.816 Service-policy output: OutboundPolicy Class-map: RTP (match-all) 539 packets, 42042 bytes 5 minute offered rate 2000 bps, drop rate 0 BPS Match: ip precedence 5 QoS Set CoS 5 Packets marked 539 Class-map: class-default (match-any) 13 packets, 1803 bytes 5 minute offered rate 0 BPS, drop rate 0 BPS Match: any QoS Set CoS 0 Packets marked 13
在第二個3660範例組態中:
vdtl-3660-16a#show policy-map interface fastethernet 0/0.816 FastEthernet0/0.816 Service-policy output: OutboundPolicy Class-map: RTP (match-all) 370 packets, 28860 bytes 5 minute offered rate 0 BPS, drop rate 0 BPS Match: ip rtp 16384 16383 QoS Set CoS 5 Packets marked 370 Class-map: Call-Control (match-all) 26 packets, 2697 bytes 5 minute offered rate 0 BPS, drop rate 0 BPS Match: access-group 101 QoS Set ip precedence 3 Packets marked 26 CoS 3 Packets marked 26 Class-map: class-default (match-any) 4363 packets, 515087 bytes 5 minute offered rate 0 BPS, drop rate 0 BPS Match: any QoS Set CoS 0 Packets marked 4363 vdtl-3660-16a#
目前尚無適用於此組態的具體疑難排解資訊。
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
02-Feb-2006 |
初始版本 |