关于iptables中ip_conntrack_max和hash表的关系及调整

豆豆网   技术应用频道   2007年03月12日    社区交流

本文详细介绍关于iptables中ip_conntrack_max和hash表的关系及调整

  这是关于使用iptables来调优防火墙性能的一篇短文。

  谢谢freenode 上#debian-zh中的pnt_。

  原文地址: http://www.wallfire.org/misc/netfilter_conntrack_perf.txt

  翻译:NetDC

  Netfilter conntrack 性能调整,v0.6

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Herv?Eychenne

  这篇文档说明了对netfilter conntrack(还有NAT)性能调整时你必须知道的一些事情。

  本文档最新版可以在下面这个地址找到:

  http://www.wallfire.org/misc/netfilter_conntrack_perf.txt

  ------------------------------------------------------------------------------

  这里我们可以调整两个参数:

  -允许的最大跟踪连接条目,在这篇文档中我们叫作CONNTRACK_MAX

  -存储跟踪连接条目列表的哈西表的大小,在这篇文档中我们叫做HASHSIZE(下面是这个结构的描述)

  CONNTRACK_MAX是在内核内存中netfilter可以同时处理的“任务”(连接跟踪条目)。

  一个跟踪连接的条目是存储在一个链接起来的列表的一个节点上,每个列表都是一个哈西表的元素。因此每个哈西表的条目(也叫一个桶-bucket)包含了一个链接起来的跟踪连接条目。

  要访问一个特定包的跟踪连接条目,内核必须:

  -针对一个包中的已经定义的一些字符计算哈西值。这是一个不间断的计算。

  这个哈西值就会被当作哈西表的索引来使用,而跟踪连接条目的列表就存储在这里。

  -反复的查看链接列表中的跟踪连接条目以找到匹配的那一个。

  这是一个耗资源的操作,依赖于列表的大小(也依赖于列表中被操作的跟踪连接条目的位置)。

责编:豆豆技术应用

正在加载评论...