All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Du Caju <Jan.DuCaju@kuleuven.net>
To: MauroTablo' <m.tablo@libero.it>
Cc: netfilter@lists.netfilter.org
Subject: Re: netfilter efficiency
Date: Sat, 22 Jan 2005 11:12:05 +0100	[thread overview]
Message-ID: <20050122101205.GC7171@kuleuven.net> (raw)
In-Reply-To: <005c01c4ff19$508ade80$c0de623e@MAURO>

Hi,

On Thu, Jan 20, 2005 at 06:56:04PM +0100, MauroTablo' wrote:
> Hi all.
> My Linux (+ iptables) based firewall has about 90 forward filtering rules, for tcp packets (about 30 rules), udp datagram (about 40 rules) and icmp messages(about 20 rules).
> Suppose that it comes a transit tcp packet that doesn't match anyone of my rules. So, the last rule will be applied, because it is the first one that matches the packet (/sbin/iptables -A FORWARD -j DROP)
> 
> The question is: iptables confronts the TCP packet with all my 90 rules, or it confronts the packet ONLY WITH rules for tcp packets (-p tcp)?
> In other words, is there a function in netfilter that looks up to the protocol type of a transit packet and decides which rules to confront the packet with?

You should consider hipac (http://www.hipac.org) 
Quote from their webside:
 iptables, like most packet filters, uses a simple packet classification
 algorithm which traverses the rules in a chain linearly per packet
 until a matching rule is found (or not). Clearly, this approach lacks
 efficiency. As networks grow more and more complex and offer a wider
 bandwidth linear packet filtering is no longer an option if many rules
 have to be matched per packet. Higher bandwidth means more packets per
 second which leads to shorter process times per packet.

 With nf-HiPAC we offer a novel framework for packet classification which
 uses an advanced algorithm to reduce the number of memory lookups per
 packet. It is ideal for environments where large rulesets and/or high
 bandwidth networks are involved. Thereby, the iptables' semantics of the
 rules is preserved, i.e. you can construct your rules like you're used
 to. From a user's point of view there is no need to understand anything
 about the HiPAC algorithm.

At the hipac site you will find a comparison with iptables. The central
firewall of our university ( http://www.kuleuven.ac.be/english/ ) uses
hipac and we are very pleased with it. At the moment there is only an
implementation for a 2.4 kernel but the developers are working on a 
2.6 version :-)

Hope this helps,
Jan.
--------------------------------------------------- KULeuvenNet -------         
Jan.DuCaju@kuleuven.net         http://www.kuleuven.net/e_index.html
K.U.Leuven                      http://www.kuleuven.ac.be/english/
LUDIT - KULeuvenNet             http://ludit.kuleuven.be/index_en.html
de Croylaan 52A                 3001 Leuven                     Belgium         
-----------------------------------------------------------------------


      parent reply	other threads:[~2005-01-22 10:12 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-20 17:56 netfilter efficiency MauroTablo'
2005-01-21 13:30 ` Peter Surda
2005-01-21 13:39 ` Samuel Jean
2005-01-21 13:42   ` Sven-Haegar Koch
2005-01-21 19:35 ` Maxime Ducharme
2005-01-22 10:12 ` Jan Du Caju [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050122101205.GC7171@kuleuven.net \
    --to=jan.ducaju@kuleuven.net \
    --cc=m.tablo@libero.it \
    --cc=netfilter@lists.netfilter.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.