All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amin Azez <azez@ufomechanic.net>
To: netfilter-devel@lists.netfilter.org
Subject: Re: bandwidth saving idea
Date: Mon, 11 Jul 2005 16:02:30 +0100	[thread overview]
Message-ID: <42D28A06.4040903@ufomechanic.net> (raw)
In-Reply-To: <1121093383.26639.29.camel@localhost.localdomain>

Eric Leblond wrote:
>>I do not understand "checksum functions are not injective" my intention
>>was to hold a name=value list where name is checksum and value is
>>payload (or reference to payload on disc/FC/RD). 
> 
> 
> A function f is injective if for all a and b f(a)=f(b) implies a=b.
> 
> Let f be your checksum function and a and b two packet payload then
> f(a)=f(b) does not implied a=b. Thus, given a checksum c you can not
> assert that there is only one a such as f(a)=c.
> 
> In fact, your start set is the set of number of size 1500bits (packet
> length) and your result set is the set of number of size inferior or
> egal to checksum length (32). As number of elements of start set is
> larger than the number of elements of result set. Thus, there is no
> injective function from set of packet to set of checksum.

This is true; however if the system is bi-directional, both machines
will keep a copy of the entire packet payload that was md5'd so that
they can re-emit this payload when the receive the md5 code.

The "compressing" machine after finding an md5 hit, will need to do a
bit-comparison to see that it was the same payload that generated the
md5 in the remote machine as has just generated that md5 locally.

Thus, although md5 is non-injective, the actual system is proof against
this deficiency.

It remains to see how much packet storage is needed to effectively save
bandwidth, but in specific installations this may not be too great.

Amin

      reply	other threads:[~2005-07-11 15:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-01  0:41 Iptables and kernel modules LAAROUCHI Youssef
2005-07-03 21:09 ` Jonas Berlin
2005-07-11 13:16   ` bandwidth saving idea Oscar Mechanic
2005-07-11 13:26     ` Eric Leblond
2005-07-11 14:38       ` Oscar Mechanic
2005-07-11 14:49         ` Eric Leblond
2005-07-11 15:02           ` Amin Azez [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=42D28A06.4040903@ufomechanic.net \
    --to=azez@ufomechanic.net \
    --cc=netfilter-devel@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.