Squid QoS:为代理的新出站连接分类
把带宽分类放在代理打开其服务端流的位置,而不是指望原始数据包的标识能保留下来。
客户端来源过滤器可以匹配 LAN 一侧的笔记本,却会漏掉 Squid 在 Internet 一侧的全部数据包。Squid 会终止客户端连接并另开一条连接,因此出站源地址通常是代理自己的地址。
| 你想控制什么 | 相关工作在哪里发生 |
|---|---|
| 限制进入的客户端流量 | 从客户端到代理的路径 |
| 调度发回客户端的响应 | 代理面向客户端的出站队列 |
| 对代理到源的流量分类 | 新的服务端连接 |
这些位置不能互换。入口限流器丢弃多余的数据包;出站调度器管理发送队列。先选定方向和计量单位——速率、字节还是并发工作量——再选择分类器。
在 Squid 6 和 7 中,tcp_outgoing_tos 可以借助 ACL 选择服务端的 TOS 或 Diffserv 值。这是有意把策略信号交给另一个分类器,而不是保留客户端原始数据包的来源。
把该信号定义在能够控制它的域内。DSCP 值不是用户凭证:其他发送方可以使用同一标记,下游设备也可能将其替换。被复用的服务端连接还可能承载多个请求,因此在假定每个请求都能独立地给流重新打标之前,请查阅所部署版本的持久连接与 QoS 行为。
对于按用户的配额,要在具备所需应用身份的位置执行。数据包标记有助于承载类别,但它并不能重建所选连接已不再承载的身份。