进入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队列的接口信息
从图1中可以看出,为了保护其它非L L Q 队列得到调度,L L Q 采用丢弃LLQ队列超过指定带宽的报文的方式来实现该目的,这样的负面影响也是很明显的:视频流量需要进入LLQ队列来保证低时延、低抖动,它们同样对报文丢弃很敏感,这样反而失去了LLQ的本来意义,有点矛盾,办法就是合理安排好LLQ队列所占用的带宽比例,尽可能的保证该队列的报文不出现丢包。 图1 LLQ原理图