一、 方案说明 在使用ROS作为网关的局域网中,在网络带宽紧缺的情况下,ROS通常不能很好的作到流量整形——保障部分的流量的流畅,限制部分流量。 此方案的目的是通过在WinXP客户端安装一个流量标记工具,将客户端流量在发出到网关之前做好注标记,这样,网关就可以使用更明确的规则,对流量进行QOS。 二、 方案规则 方案分为两个部分实现,ROS和WinXP的流量标记软件。 a) ROS: 实际上的流量控制功能是在ROS上面实现的,Windows客户端实现的仅仅是在每个发出的数据包上面打上一个数据包的优先级。要识别数据包上的优先级,并作到带宽上传下载的流量限制,需要使用到ROS的mark connection功能,实例规则如下: [admin@MikroTik] /ip firewall mangle> pr Flags: X - disabled, I - invalid, D - dynamic 0 chain=forward action=mark-connection new-connection-mark=1 passthrough=yes protocol=udp dscp=5 1 chain=forward action=mark-connection new-connection-mark=1 passthrough=yes protocol=tcp dscp=5 2 chain=forward action=mark-packet new-packet-mark=up passthrough=yes src-address=10.200.18.0/24 connection-mark=1 3 chain=forward action=mark-packet new-packet-mark=down passthrough=yes dst-address=10.200.18.0/24 connection-mark=1 [admin@MikroTik] /ip firewall mangle> /queue tree print Flags: X - disabled, I - invalid 0 X name="queue1" parent=global-out packet-mark=up limit-at=0 queue=default priority=8 max-limit=100k burst-limit=0 burst-threshold=0 burst-time=0s 1 X name="queue2" parent=global-out packet-mark=down limit-at=0 queue=default priority=8 max-limit=100k burst-limit=0 burst-threshold=0 burst-time=0s b) 流量标记软件: 流量标记软件是安装在Windows客户端上的,此软件通过进程名称识别其QOS的优先级,并将进程所发送的所有数据包进行流量标记。 三、 流量标记软件实现细节(TPControl) TPControl通过调用系统的QOS功能来实现流量的标记,这依赖于一个网络协议“QOS数据包计划程序”。 因此此软件必须运行于WinXP以上的系统。 TPControl分为服务端和客户端,服务端用于配置优先级划分和进程名对应的优先级。客户端通过网络连接到服务端,获取优先级数据,并执行。 为了在C/S之间传递数据,定义数据结构如下: 基本格式: struct f 优先级定义:默认为1为最低优先级,数字越大,优先级越高
|