在Linux fq_codel中有什么独立的流程?

我正在设置一个概念证明来遏制终端(客户端)的入口流量:
eth0 -> ifb0 -> htb -> filter by ip -> htb rate -> fq_codel+ecn

我有2个源ips为特定程序我想要节流.该程序打开一堆tcp连接(下载,因此进入节流),我想同时限制其使用的完整入口带宽(完成),并在连接到相同的IP地址(此问题)之间进行公平的调度.

最后有1个桶,附加费率和1个fq_codel实例.

我有它的工作,但我有一些问题:

>确保codel每个协议有单独的队列(tcp vs udp)?
codel每个源ip有不同的队列吗?
codel在tcp连接中有不同的队列吗?
>我必须手动分离/标记流?

每个互联网研究流程id是“5元组的哈希”,问题是,一个数据包的哪些元素是5元组的一部分?是否包括源端口和目的端口?

解决方法

看起来源端口和目标端口似乎都包含在内,至少默认情况下:

http://lxr.free-electrons.com/source/net/core/flow_dissector.c#L655

655 /**
656  * __skb_get_hash: calculate a flow hash
657  * @skb: sk_buff to calculate flow hash from
658  *
659  * This function calculates a flow hash based on src/dst addresses
660  * and src/dst port numbers.  Sets hash in skb to non-zero hash value
661  * on success,zero indicates no valid hash.  Also,sets l4_hash in skb
662  * if hash is a canonical 4-tuple hash over transport ports.
663  */
664 void __skb_get_hash(struct sk_buff *skb)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


查找全部容器的日志文件 $ sudo find /var/lib/docker/containers -name *.log 查看日志位置 $ docker inspect --format='{{.LogPath}}' <container_name> 实时查询内容 $
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型
评估Linux系统性能的ttyload工具使用效果
分享在Linux系统中检测SSH版本的方法
介绍Linux平台上的数据加密工具EncryptPad
在Linux系统中,如何查看和诊断块设备信息?
在Linux环境下如何查看块设备信息?
探索Linux操作系统下的数据加密工具EncryptPad
学会在Linux系统中查看硬盘信息
分析SELinux:原理与实践
掌握SELinux策略类别
技巧:有效解读和管理Linux日志文件
查看Linux系统中的所有用户
了解Linux系统中各种不同类型的日志文件
深入理解Linux PS命令
方法:在Linux操作系统中查看用户