QoS Bandwidth/Priority Remaining Percent 保留頻寬計算

很多人在學習QoS LLQ & CBWFQ的時候,遇到了頻寬保留分配問題都會有一些不太確定的感覺,因為Cisco在課程中並沒有非常詳細的說明不同的指令參數之間的搭配,會得到什麼樣的後果,所以我把這個問題在這邊提出來(這要感謝課堂上的同學問我這個問題,也順便釐清了這個不確定因素)。

假設我們現在在P1R1上有一路Serial頻寬為512k,現在我們要進行頻寬分配,分配的條件如下:

  • Class TEST1使用LLQ(10%)
  • Class TEST2使用CBWFQ剩下可用頻寬的(30%)
  • Class TEST3使用CBWFQ剩下可用頻寬的(20%)

這個問題看似簡單,但是如果從來沒有認真去注意到的話就可以會有不同的解讀,到底TEST3可以使用多少的保留頻寬?

正確答案是:

  • Class TEST1 LLQ使用頻寬上限=512k * 10%=51.2k
  • Class TEST2 CBWFQ保留頻寬 = [(512k * 75%預設最大可分配的頻寬) - 51.2k] * 30%
  • Class TEST3 CBWFQ保留頻寬 = [(512k * 75%預設最大可分配的頻寬) - 51.2k] * 20%

也就是說最後所有使用bandwidth percent remaining指令的總和不得超過100%

還有一點很重要的是,在這邊所謂的remaining並非指interface上現在實際流量的剩餘頻寬,Cisco QoS的指令在MQC中沒有這麼厲害可以隨時去監控現行使用流量來進行等比例的動態保留(maybe in the future)

為了證明真的是這個樣子,我進行了以下的實驗:

P1R1(config)#policy-map TEST
P1R1(config-pmap)#class TEST1
P1R1(config-pmap-c)#priority percent 10
P1R1(config-pmap-c)#class TEST2
P1R1(config-pmap-c)#bandwidth remaining percent 30
P1R1(config-pmap-c)#class TEST3
P1R1(config-pmap-c)#bandwidth remaining percent 80
Sum total of class bandwidths exceeds 100 percent

結果Cisco Router回應了以上的訊息,這表示bandwidth remaining percent指令是一視同仁,大家共同使用扣除之前並非使用remaining參數進行保留頻寬動作之後的可用頻寬再來均分;而不是每一行的bandwidth remaining percent都要把之前所有已保留頻寬動作都扣除之後再來計算比例。

附上一張Cisco Slide希望各位可以看得更清楚!


Comments

Popular posts from this blog

L2TPv3 Enables Layer 2 Services for IP Networks

TCP/IP 明確擁塞通知 (ECN)

Q-in-Q(Dot1Q Tunnel) Sample Configuration