ROS QOS 数据分类队列(Queue)的理论

2020-04-17 02:46

所有的数据都要进队列才能对数据进行控制。如何对数据进行分类,进而进入相应的 队列,从而使HTB对其进行有效的控制,已达到流量控制的作用。稍后,我将首先对分类的方法进行简单的介绍,然后分别通过在RouterOS上设置相应进 入队列的方法对以上的理论加以实践。1、数据分类的方法

总的来说,队列就是需要将网络上的流量进行分类,从而让设备对相应的队列进行控制。主要有以下几种分类的方法:包长的大小、IP地址、目的端口、此外还有P2P,应用层识别等。

下面分别对这几种方法做一些说明:

1)包长的大小:所谓的小包优先

小包一般是一些控制报文,在上传带宽比较小的时候非常有用,而且包长小的话,同样数目的包比大包要占用的带宽要小很多。一般来说512byte以下的报文为小包,传导的是网络中的控制信息。

2)IP地址:所谓的VIP优先

一般来说,一个网络内部可能有几个特殊的IP地址,可能是企业的高管,也可能是小区中缴费多的用户等等,他们理所应当获取较高的优先权。

3)目的端口:所谓的特殊应用优先

在 网络环境中,一些通用的服务都有自己固定的端口,比如为大家所熟知HTTP的80端口,pop3的110端口,SMTP的25端口,ftp的21端 口,ssh的22端口,telnet的23端口,dns的53端口,ssl的443端口等等。这就需要看具体的环境中,应用的什么服务比较多了,然后对这 些端口进行配置。

4)其他:

都是一些非主流的分类的方法了,因为每个厂商都有自己的识别方法,而且识别率都无法达到100%,因此不对这些方法做何评价。只是对这些技术做一些介绍,典型的有RouterOS的L7识别,Panabit的应用层识别等等。

2、如何有效的对队列进行管理

对队列进行管理的时候主要通过两个方面,一种是对队列的带宽进行管理(即流量监管),另一种是对队列的优先级进行管理(即流量整形)。

对此,我给出以下建议:分类层次应该为包大小——目的端口——IP地址。 下面说说我给出这种建议的依据:

1)包长小的包一般在网络中起控制作用,这种包的特点就是实时性要求特别高,占用带宽不高,为了保证上传流量不被过多的占用(有时候FTP上传也是需要占用带宽的),建议其CIR设置在可用上行带宽的一半以下,包长比较大的包可以将其进入一个队列。 2)下载队列中,可以不用去管大包小包,因为在用户看来,所接受的大包小包的重要程度是同等的。

3) 前面已经说了,上传和下载是分开的,在1)中也说了上传应该注意的,下面我们来说说下载的。迅雷下载和网页流量,哪个更重要?显然是网页,因此将网页的 80端口优先对于做网络优化的工程师来说是非常必要的。找到更多的对自己有用的端口,并对其进行优化使我们下一步的目标。

4)几个分类方法之间的配合

一般来说,小包中有也有各种服务的包,各种服务中,希望哪个IP请求的服务优先被满足?这就需要我们在标记的时候,对这些服务的包进去分类的区分。

5)PCQ的应用

如果某种服务下面,所有的IP的优先级都差不多,可以采用PCQ的方式,来让RouterOS根据环境中用户的在线数量去平分带宽。

需要注意几点:

1)标记数据包需要通过首先标记连接,再去标记数据包,这样比较准确;

2)标记的时候应该包含所有的情况,包含时需要根据Passthrough属性的值来确定标记是否终止,标记数据包应该紧接在所标记连接以后;

3)mangle中,标记的顺序是从上到下的,匹配成功以后还会继续向下匹配,除非Passthrough的值为no;

4) 将192.168.1.2的包分类标记有两种方法,一种是先标记192.168.1.2所有的数据连接,再标记192.168.1.2中80端口的连接, 再标记其他端口的连接,中间的Passthrough的值全为yes;另一种方法是先标记192.168.1.2中80端口的连接,再去标记其他所有的连 接,中间的Passthrough的值全部为no。显而易见,后者的方法更为科学,更为节省资源;

5)标记小包的时候,不要尝试着去标记小包的连接,应该是先标记连接以后再根据连接去标记该连接中的大包和小包。

3、我们来对上面的理论在实际环境中加以实践

步骤是先标记数据包,然后将这些数据包应用在Queue Tree中。

/queue type

add name=queue_up kind=pcq pcq-classifier=src-address pcq-limit=100 pcq-total-limit=2000

add name=queue_down kind=pcq pcq-classifier=dst-address pcq-limit=100 pcq-total-limit=2000

/ip firewall mangle

add chain=prerouting src-address=192.168.1.0/24

protocol=icmp action=mark-connection

new-connection-mark=all_icmp_con passthrough=yes add chain=prerouting connection-mark=all_icmp_con action=mark-packet new-packet-mark=all_icmp_pack passthrough=no

add chain=prerouting src-address=192.168.1.0/24 protocol=tcp

dst-port=80 action=mark-connection new-connection-mark=all_80_con passthrough=yes

add chain=prerouting connection-mark=all_80_con action=mark-packet packet-size=0-512 new-packet-mark=all_80_small_pack passthrough=no add chain=prerouting connection-mark=all_80_con action=mark-packet new-packet-mark=all_80_big_pack passthrough=no

add chain=prerouting src-address=192.168.1.0/24 action=mark-connection

new-connection-mark=all_other_con passthrough=yes

add chain=prerouting connection-mark=all_other_con action=mark-packet packet-size=0-512 new-packet-mark=all_other_small_pack passthrough=no add chain=prerouting connection-mark=all_other_con action=mark-packet new-packet-mark=all_other_big_pack passthrough=no

/queue tree

add name=Down parent=lan

add name=icmp_d parent=Down packet-mark=all_icmp_pack priority=1 add name=80_small_d parent=Down packet-mark=all_80_small_pack priority=2

add name=80_big_d parent=Down packet-mark=all_80_big_pack priority=3 add name=other_small_d parent=Down packet-mark=all_other_small_pack priority=4

add name=other_big_d parent=Down packet-mark=all_other_big_pack priority=5

add name=Up parent=wan

add name=icmp_u parent=Up packet-mark=all_icmp_pack priority=1

add name=80_small_u parent=Up packet-mark=all_80_small_pack priority=2 add name=80_big_u parent=Up packet-mark=all_80_big_pack priority=3 add name=other_small_u parent=Up packet-mark=all_other_small_pack priority=4

add name=other_big_u parent=Up packet-mark=all_other_big_pack priority=5


ROS QOS 数据分类队列(Queue)的理论.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:湖南省加快培育和发展战略性新兴产业总体规划纲要

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: