下载后可任意编辑Linux 内核 QoS 实现机制1
QoS 介绍QoS(Quality of Service)即服务质量
对于网络业务,服务质量包括传输的带宽、传送的时延、数据的丢包率等
在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量
网络资源总是有限的,只要存在抢夺网络资源的情况,就会出现服务质量的要求
服务质量是相对网络业务而言的,在保证某类业务的服务质量的同时,可能就是在损害其它业务的服务质量
例如,在网络总带宽固定的情况下,假如某类业务占用的带宽越多,那么其他业务能使用的带宽就越少,可能会影响其他业务的使用
因此,网络管理者需要根据各种业务的特点来对网络资源进行合理的规划和分配,从而使网络资源得到高效利用
流量控制包括以下几种方式:SHAPING(限制)当流量被限制,它的传输速率就被控制在某个值以下
限制值可以大大小于有效带宽,这样可以平滑突发数据流量,使网络更为稳定
shaping(限制)只适用于向外的流量
SCHEDULING(调度)通 过 调 度 数 据 包 的 传 输 , 可 以 在 带 宽 范 围 内 , 根 据 优 先 级 分 配 带 宽
SCHEDULING(调度)也只适于向外的流量
POLICING(策略)SHAPING 用于处理向外的流量,而 POLICIING(策略)用于处理接收到的数据
DROPPING(丢弃)假如流量超过某个设定的带宽,就丢弃数据包,不管是向内还是向外
1下载后可任意编辑2
内核实现过程图表 1 流量控制过程绿色部分就是 Linux 内核实现的 QoS 模块,其中 ingress policing 是处理输入数据包的,而 output queueing 则是处理输出数据包的
Ingress 实现机制Ingress QOS 在内核的入口点有两个,但是不能同