十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本章主要用途:连接标记和包标记的关系
创新互联建站服务项目包括东阳网站建设、东阳网站制作、东阳网页制作以及东阳网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,东阳网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到东阳省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
QOS里面的连接标记,对于主要是对于符合规则的数据包进行归类,用于其他模块的调用,如常见的队列Queue,策略路由,PCC多拨等。我们先讲解一下连接标记和包标记,这是为了后面的队列树做前提。
首先连接是什么?当我们发起一个请求的话,请求网站提供图片下载,就是一条连接。
那么图片很大,需要很多次数据包才能下载完成。
这就是连接和数据包的关系。一个连接可能含有一个以上的数据包。
在ROS里面,我们可以直接对数据包进行标记,如下面命令:
/ip firewall mangle
add protocol=tcp dst-port=80 src-address=192.168.11.0/24 out-interface=ether4 chain=forward action=mark-packet new-packet-mark=test
可以看到这条命令,是关于包标记的,这时候防火墙就会先匹配
1.是否TCP协议?
2.目的端口是否80?
3.源地址是否192.168.11.0/24?
4.出去的接口否ether4?
这样对每个数据包都要匹配四次。在流量大的时候,严重拖累的CPU。
所以正常的流程就是先标记连接,再把连接标记成为包标记。
如下面的两条命令:
/ip firewall mangle
add protocol=tcp dst-port=80 src-address=192.168.11.0/24 out-interface=ether4 chain=forward action=mark-connection new-connection-mark=test passthrough=yes
add connection-mark=test chain=forward action=mark-packet new-packet-mark=test
现在,第一条命令检查第一个数据包后匹配后,并设置连接标记。
1.是否TCP协议?
2.目的端口是否80?
3.源地址是否192.168.11.0/24?
4.出去的接口否pppoe-out1?
此后,只需要检查一下每条连接的第一个数据包就可以。第二条命令对于属于这条连接里面的每个后续数据包,直接快速进行包标记,而无需检查每个数据包。
由此可见,正确的标记姿势,可以获得更高的路由器处理效率!