3550交換機QoS時序及隊列討論(三)
2019-11-05 01:34:14
供稿:網友
空閑隊列的計數參數是動態的??臻e計數根據最大的隊列大小減去當前隊列中數據包的數量得出。例如,當前有39個數據包在Q1中,則有1600個空閑的數據包,如下所示:
(config-if)# sh mls qos int gig x/x stat
WRED drop counts:
qid thresh1 thresh2 FreeQ
1 : 0 0 1600
2 : 0 0 1229
3 : 0 0 819
4 : 0 0 409
非千兆端口的隊列治理和隊列大小
10/100M端口上沒有提供隊列治理機制(WRED或者具有兩個極限值得Tail Drop)。所有的隊列都采用先進先出(FIFO)的方式。也不像千兆端口那樣最大可預留4096個數據包。10/100M端口在每個隊列中存儲數據包,直到由于資源本身匱乏為止??梢詾槊總€隊列保留一個最小數量的數據包。缺省情況下,最小值設定為每個隊列100個數據包。你可以通過定義一個不同的最小預留值并且將值分配到每個隊列來更改隊列中的最小預留值。
需要執行以下的步驟:
1. 為每個全局性的最小預留值分配緩沖區大??;
通過下面的命令可以配置8個不同的最小預留值中的一個最大值:
(Config)# mls qos min-reserve min-reserve-level min-reserve-buffersize
這些最小預留值是交換機的全局屬性。缺省時,所有的預留值設定為100個數據包。
例如,要配置1級最小預留值為150個數據包以及2級最小預留值為50個數據包,使用下面的命令:
nifnif(config)#mls qos min-reserve ?
<1-8> Configure min-reserve level
nifnif(config)#mls qos min-reserve 1 ?
<10-170> Configure min-reserve buffers
nifnif(config)#mls qos min-reserve 1 150
nifnif(config)#mls qos min-reserve 2 50
2. 為每個隊列分配一個最小預留值。
每個隊列都需要被分配一個最小預留值,以明確該隊列的緩沖區使用情況。缺省時,表現為以下情形:
¨ Q1 被分配最小預留值級別1.
¨ Q2 被分配最小預留值級別2.
¨ Q3 被分配最小預留值級別3.
¨ Q4 被分配最小預留值級別4.
缺省情況下,所有的最小預留值設定為100。
可以使用端口命令為每個隊列分配不同的最小預留值:
(config-if)# wrr-queue min-reserve queue-id min-reserve-level
例如,為Q1分配最小預留值2,為Q2分配最小預留值1,可以使用下面的命令:
nifnif(config)#int fas 0/1
nifnif(config-if)#wrr-queue min-reserve ?
<1-4> queue id
nifnif(config-if)#wrr-queue min-reserve 1 ?
<1-8> min-reserve level
nifnif(config-if)#wrr-queue min-reserve 1 2
nifnif(config-if)#wrr-queue min-reserve 2 1
最小預留值的使用情況可使用下面命令進行驗證:
nifnif#sh mls qos int fas 0/1 buffers
FastEthernet0/1
Minimum reserve buffer size:
150 50 100 100 100 100 100 100
!--- Showing the value of all eight min-reserve level.
Minimum reserve buffer level select:
2 1 3 4
!--- Showing the min-reserve level assigned to
!--- each 隊列 (from Q1 to Q4).
結束語
在3550交換機上配置隊列及時序需要采用下列步驟:
1. 為每個隊列分配相應的服務類別(CoS)
2. 根據需要,啟用絕對優先級隊列
3. 分配WRR權值,重點考慮隊列中期望的數據包大小。
4. 更改隊列大?。▋H限于千兆端口)
5.啟用隊列治理機制(Tail Drop或者WRED,僅限于千兆端口)
適當的隊列及時序安排可以減少語音/視頻數據流的延遲及偏移,避免重要的數據丟失。確信堅持以下的指導以獲得最大的時序性能。
· 使用可信的或者非凡的標記對網絡中的流量進行分類;
· 修正超標的數據流。