网络队列、流量整形与冗余:优化网络性能的关键策略
1. 基于类的小网络带宽分配(cbq)
在网络管理中,最大化网络性能固然重要,但有时网络会有其他需求。例如,像电子邮件等关键服务需要始终保证一定的带宽,而像点对点文件共享这类服务则不应占用过多带宽。基于类的队列(cbq)规则为此类需求提供了更多选择。
下面通过一个示例说明如何使用 cbq。假设要让一个小型本地网络的用户连接到预定义的外部服务,并允许外部访问本地网络中的 Web 服务器。所有队列都设置在面向互联网的外部接口上,因为外部链路的带宽更可能受限。
以下是具体的队列设置:
altq on $ext_if cbq bandwidth 2Mb queue { main, ftp, udp, web, ssh, icmp } queue main bandwidth 18% cbq(default borrow red) queue ftp bandwidth 10% cbq(borrow red) queue udp bandwidth 30% cbq(borrow red) queue web bandwidth 20% cbq(borrow red) queue ssh bandwidth 20% cbq(borrow red) { ssh_interactive, ssh_bulk } queue ssh_interactive priority 7 bandwidth 20% queue ssh_bulk priority 0 bandwidth 80% queue icmp ba