要想做限速,必须要知道以下几点:

首先要知道自己要限制什么的速度,谁的速度,于是需要用的标记,即Mangle。
其次要知道怎么限速,是限制上传,还是下载?
最后要知道所做的限速是否成功,即需要知道如何检查!
 
1、标记(mangle)
这是很有学问的一件事情,ros对数据包的标记不是很好,必须要通过标记连接以后再来标记数据包!
即,先通过mark connection,再通过connection来mark packet!(问:为什么非要标记成packet,不能直接用connection?)
mark的时候需注意passthrough,前面标记过的connection且勾选了passthrough,后面条件符合该连接的时候就会标记成后面的连接。
每个连接只会有一个标记!切记,切记!
 
2、Parent(父节点)
个人感觉很有意思的意见事情,因为ros的帮助文档中明确说明了,ros是管出不管入,而前面标记的都是整个连接的数据包(既有上行,又有下行!)
在设置htb的时候,父节点设置为wan口就为上行的流量,父节点为lan口就为下行的流量。(这点很重要,外网网卡和内网网关分别对应UP和DOWN!)
此外,父节点仅负责流量的整形与优先级的排队,并不存储任何数据包,即它是不存在任何队列的!(即在队列优先级里,父节点的优先级是没有意义的!!!)
 
3、firewall(防火墙)
通过ros所有的连接都是掌控在firewall的法眼中的,通过connection的标签可以很容易的观察到所有用户的连接情况。
在connection mark中很容易看到某条连接是被自己标记成了什么,最好的情况是所有的连接均被标记,这样后面的htb才比较准确!
这是至关重要的一步,如果connection都没有被打上标记,限速注定是失败的!
 
4、Queue Tree
只需要说一点,某个节点只要被其他节点认成parent,它就失去了packet mark的权利!
这也是第一点中为什么标记成packet而不直接用connection的原因!
只要叶子节点在packet mark中选中标记的packet才有效!
 
5、Limit At & Max Limit
很多人误解Max Limit是最好的限速工具,其实不然,在HTB中最重要的是limit At(个人简介)!
ros总是保证了Limit At以后才有闲心去检测Max Limit!
 
说的比较笼统,理解靠个人!

ROS HTB限速失败原因分析和需注意事项的更多相关文章

  1. HA切换失败原因分析

    1. 问题描述 redhat在进行HA切换时,需要先停止service,并释放调当前主机占有的资源,比如说IP Address和Filesystem,但今天我在验证HA切换时,发现service一直停 ...

  2. 百度编辑器(Ueditor)最新版(1.4.3.3)插入锚点失败原因分析及BUG修复

    用百度编辑器——Ueditor(版本1.4.3.3,2016-05-18日上线)插入锚点的时候,每次总是失败,百思不得其解.通过分析Ueditor的代码ueditor.all.js,可以看出Uedit ...

  3. dpdk组态 千兆网卡 驱动 失败 原因分析及 解决方案

    dpdk版本号是1.7.1稳定版,server它是ubuntu12.04LTS x86 64bit 绑定默认驱动程序千兆网卡ixgbe失败 # ./dpdk_nic_bind.py -b ixgbe ...

  4. RP4412开发板烧写Ubuntu12.04失败原因分析解决

    Ubuntu烧写失败可能是卡的问题 问:用RP4412开发板,卡烧了光盘中的fastboot失败,现在如何补救呢? 答:INAND格式化,利用usb来升级啊. 也有文档,看升级文档. 问:这个是怎么回 ...

  5. Linux suse x86_64 环境上部署Hadoop启动失败原因分析

    一.问题症状: 在安装hadoop的时候报类似如下的错误: # A fatal error has beendetected by the Java Runtime Environment: # #  ...

  6. centos7 sftp设置后 ssh 启动失败 原因分析

    大多数人 在 设置SFTP 使用时,会在 ../sshd_config中添加如下内容: ------------------------------- Subsystem sftp internal- ...

  7. virsh default启动失败原因分析及解决

    启动default时出现如下错误提示:[root@node1 ~]# virsh net-start defaulterror: Failed to start network defaulterro ...

  8. linux下使用crontab实现定时PHP计划任务失败的原因分析

    这篇文章主要介绍了linux下使用crontab实现定时PHP计划任务失败的原因分析,需要的朋友可以参考下   很多人在linux下使用crontab实现PHP执行定时任务却未能成功,不能生成缓存.本 ...

  9. ab输出信息解释以及Failed requests原因分析

    ab是apache自带的压力测试工具.ab进行的一切测试本质上是基于HTTP的.下面是对ab输出项信息的解释和出现Failed requests原因分析.测试实例:1. ab输出信息说明:   1 2 ...

随机推荐

  1. Ti IPNC Web网页之ActiveX控件

    Ti IPNC Web网页之ActiveX控件 本篇介绍关于TI IPNC网页中播放器相关的东西. gStudio工程中添加播放器并控制播放器 打开IPNC网页时首先会自动下载ActiveX控件并安装 ...

  2. PostgreSQL copy命令使用记录

    上篇写到用pg_bulkload来导入数据,但是实际的环境是solaris,pg_bulkload还不支持,于是用copy的方式,下面附上脚本 -bash-4.1$ cat copy.sh #!/bi ...

  3. HashSet实现原理及源码分析

    HashSet简介 HashSet是Set接口实现,它按照Hash算法来存储集合中的元素 不保证元素顺序 HashSet是非同步的,如果多个线程同时访问一个HashSet,要通过代码来保证其同步 集合 ...

  4. 新浪云git 上传 nodejs项目

    1 .新建一个空文件夹: 2.在当前文件夹下,初始化本地git: 3.将要上传的nodejs工程,拷贝到这里: 这一步很容易出问题,所以最好不要拷贝别人给的node_modules文件,尽量做到现用现 ...

  5. WKInterfaceTable实例化出现的一系列

    让我摆一个姿势,缓慢伸出我的右手,面向swift,做"欲扶眼镜"状!!! 正题 闲话不想说了,实例化WKInterfaceTable的时候会报错,实例化代码如下: let row ...

  6. 【Python爬虫学习笔记(1)】urllib2库相关知识点总结

    1. urllib2的opener和handler概念 1.1 Openers: 当你获取一个URL你使用一个opener(一个urllib2.OpenerDirector的实例).正常情况下,我们使 ...

  7. ss client 配置

    1.1安装ss apt-get install python-pippip install shadowsocks 1.2配置ss 新建一个配置文件config.json/etc/shadowsock ...

  8. 每天一个linux命令(性能、优化):【转载】free命令

    free命令可以显示Linux系统中空闲的.已用的物理内存及swap内存,及被内核使用的buffer.在Linux系统监控的工具中,free命令是最经常使用的命令之一. 1.命令格式: free [参 ...

  9. Servlet实现文件上传和下载

    对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具commo ...

  10. CF1130E Wrong Answer

    E Wrong Answer 注意到 \(n\geq 2\) 时才可能有解,可以按如下方式构造一个 \(a_{1,2\dots n}\): 令 \(a_1=-1\) ,而后面的数都为正.记 \(s=\ ...