举个栗子:把UDP端口号在16 384 - 32 767区间的语音数据放置在严格优先队列中。为严格优先队列保留的带宽是50kbps。

R1(config-if)#ip rtp priority 16384 16383 50 //直接在接口上就应用

原理:(Real Time Protocol,RTP)

RTP优先队列是针对语音数据的严格优先队列使用的,对其他数据使用的是WFQ。RTP优先队列根据端口号识别语音数据,语音数据使用的是偶数端口号。

RTP优先队列已经考虑了RTP报文头压缩(包括IP,UDP,RTP),但不包括二层帧的开销,因此,在为RTP优先队列分配带宽时,只需要使用标准的语音流所占用带宽即可。二层开销占用保留的25%带宽。

与LLQ比较:

LLQ无法识别偶数端口号,只能把一个端口号区间包含进去,這样也就把控制数据放入了LLQ中。如果在低速链路上,把语音数据和控制数据都放入LLQ有可能降低语音质量。

RTP优先队列不需要考虑哪些端口号是语音数据使用的,可以把整个端口号区间写进去。这是LLQ无法比拟的。

RTP和LLQ都可以同时应用在同一个接口上,但RTP优先队列优先于LLQ。

举个栗子:

R1(config)#policy-map llqpolicy

R1(config-pmap)#class voice

R1(config-pmap-c)#priority 50

R1(config)#int s2/2

R1(config-if)#ip rtp priority 16384 2000 40 //应用RTP优先队列

R1(config-if)#service-policy output llqpolicy //应用LLQ优先队列在s2/2的出口上

如果数据包同时匹配了class voice和ip rtp priority命令定义的端口,数据就只能得到40kbps的带宽了。

如果只匹配class voice的数据可以得到50kbps的带宽。