一 QoS介绍
1 QoS 简介
QoS(Quality of Service,服务质量)即服务质量。对于网络业务,服务质量包括传输的带宽、传送的时延、数据的丢包率等。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。
2 QoS技术
2.1流量限速
QoS数据处理流程
流量监管:对进入设备的流量进行监控,确保其没有滥用网络资源
流量整形:对输出报文的速率进行控制,使报文以均匀的速率发送出去
作用: 在网络边缘,监控网络流量,对于进出的不同流量规定带宽占用比例,让不同的业务由不同的流量边界
2.2 令牌桶:
libvirt qos主要采用的单桶单速的模式来进行线束
CIR:承诺信息速率,单位是kbps,表示向令牌桶中投放令牌的速率
CBS:承诺突发尺寸,单位是byte,用来定义在部分流量超过CIR之前的最大突发流量,即令牌桶的容量
不允许突发流量,只有承诺流量
令牌初始数量Tc=CBS
到达的数据大小B<Tc,Tc=Tc-B,标记为绿色,转发;B>=Tc,Tc不变,标记为红色,丢弃
2.3 流量监管
libvirt qos主要采用的单桶单速的模式来进行线束
CIR:承诺信息速率,单位是kbps,表示向令牌桶中投放令牌的速率
CBS:承诺突发尺寸,单位是byte,用来定义在部分流量超过CIR之前的最大突发流量,即令牌桶的容量
不允许突发流量,只有承诺流量
令牌初始数量Tc=CBS
到达的数据大小B<Tc,Tc=Tc-B,标记为绿色,转发;B>=Tc,Tc不变,标记为红色,丢弃
二 XML QoS讲解
1 xml用法示例
<devices> <interface type='network'> <source network='default'/> <target dev='vnet0'/> <bandwidth> <inbound average='1000' peak='5000' floor='200' burst='1024'/> <outbound average='128' peak='256' burst='256'/> </bandwidth> </interface> </devices> ...
2 元数取值
(1)average:指定要整形的接口所需的平均比特率(以千字节/秒),即平均带宽(KB/s)
(2)peak:可选属性,指定网桥可以发送数据的最大速率(以千字节/秒),即峰值带宽(KB/s)
(3)burst:可选属性,指定以峰值速度在单个突发中可以传输的KB数,也就是峰值速率时发送流量的上限(KB)。
(4)floor:可选属性仅适用于入站元素。此属性保证成形接口的最小吞吐量。然而,这要求所有流量都经过一个可以进行QoS决策的点,因此,该属性目前只适用于虚拟网络(即<interface type=‘network‘/>
3 xml qos实际使用举例
3.1 floor参数不支持
3.2 配置average参数
vm1的xml配置如下:
从另外一台虚拟机vm2,用iperf工具发起tcp连接,测试效果是
平均带宽为以5000KB/,即40M/S的速率维持
3.3 配置average,peak,burst多个参数
配置方法:
测试结果:
以峰值带宽10000KB/s,也就是80Mbit/s的带宽,总共发出100000KB(800Mbit)的报文后,也就是维持10秒左右,最终以5000KB/,即40M/S的平均带宽维持