原理
進入LLQ的報文在接口沒有發生擁塞的時候,此時所有佇列中都沒有報文,所有屬於LLQ的報文都可以被傳送在接口,發生擁塞的時候佇列中有報文時,進入LLQ的報文被限速超出規定流量的報文將被丟棄,這樣在接口不發生擁塞的情況下可以使屬於LLQ的報文能獲得空閒的頻寬,在接口擁塞的情況下又可以保證屬於LLQ的報文不會占用超出規定的頻寬,保護了其他報文的應得頻寬,另外由於只要LLQ中有報文系統就會傳送LLQ中的報文,所以LLQ中的報文被傳送的延遲最多是接口傳送一個最大長度報文的時間,無論是延時還是延時抖動LLQ都可以將之降低為最低限度,這為對延時敏感的套用提供了良好的服務質量保證
配置命令
配置LLQ,在Policy-map命令層配置模式下,執行如下命令:
命令: 作用:
Ruijie(config)# policy-map policy-map-name 進入/創建規則映射表
Ruijie(config-pmap)# class class-name 引用已定義的類映射表
Ruijie (config-pmap-c)# priority { bandwidth-kbps | percent percent}{Burst bytes} 為指定類型的數據流分配頻寬
Ruijie(config-if)# service-policy output policy-map-name 啟用CBWFQ並指定套用的規則
Ruijie(config-if)#max-reserved-bandwidth 100 在出接口下調用查看命令:
Ruijie# show policy-map interface 顯示LLQ佇列的接口信息
套用
從右圖中可以看出,為了保護其它非L L Q 佇列得到調度,L L Q 採用丟棄LLQ佇列超過指定頻寬的報文的方式來實現該目的,這樣的負面影響也是很明顯的:語音、視頻流量需要進入LLQ佇列來保證低時延、低抖動,它們同樣對報文丟棄很敏感,這樣反而失去了LLQ的本來意義,有點矛盾,唯一的辦法就是合理安排好LLQ佇列所占用的頻寬比例,儘可能的保證該佇列的報文不出現丟包。