什么是QoS?
QoS的全称是Quality of Service,意即服务质量。是专门用于解决拥堵网络上的信号质量一视同仁的问题。例如,我们有一根宽带,两人共用。一个人视频聊天,一个人bt下载。玩bt的那个一开软件,视频聊天那个立刻没法用了。bt和视频聊天稍微好一点的是,视频聊天消耗的带宽是恒定的。你可以逐步限速,只要给视频聊天留了足够的带宽,两个就都能一起用了。但是,如果另一个人不是视频聊天,而是网络浏览怎么办?网络浏览,视频聊天,p2p下载一起来怎么办?实际上这是很多朋友家中常常碰到的情况。更不说有合租公寓里面你很难监控对方一定限速,软件无法限速甚至恶意抢占带宽(迅雷)。另一个更加技术的问题是,由于上传带宽不足,ACK包回应过慢,导致你的下载速度也不能达到峰值。玩P2P的常常会给上传限速到真实带宽差一点的位置,下载带宽立刻上去,就是这个道理。
QoS的底层是tc,其目的就是决定先发送哪些包。openwrt自带的QoS软件包是 PACKAGE_qos-scripts,所在路径: Base system ----> qos-scripts ,还可以再配套安装个luci-app-qos方便配置。这套脚本默认的规则是hfsc,设计了四个优先级:Priority最优先,处理22,53,icmp,以及小于128字节的syn,ack包中,不属于bulk类别的。其次是Express,处理5190和小于500字节的UDP包。然后是Normal,包括20,21,25,80,110,443,993,995这些常见端口,涵盖http/https,ftp,邮件系统。最后是Bulk,包括其他包,尤其是ed和bt。这个Qo