[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Sip] Good Hash: draft-ietf-sip-fork-loop-fix-03
I don't think we should require any specific hash but I think it
would be nice to give implementors some advice on what might be a
reasonable choice.
On Sep 14, 2006, at 9:52 AM, Jeroen Van Bemmel wrote:
Pete,
I use djb2 (a linear hash) with loop-hash = HASH(routing info) +
HASH( call-id ), modulo 2^32 (or 64)
So no concatenation. I guess this avoids the issue you mentioned.
Regards,
Jeroen
-----Oorspronkelijk bericht -----
Van: "Pete Cordell" <pete at tech-know-ware.com>
Aan: "Robert Sparks" <rjsparks at nostrum.com>; "Jeroen Van Bemmel"
<jbemmel at zonnet.nl>
CC: "Cullen Jennings" <fluffy at cisco.com>; "SIP" <sip at ietf.org>
Verzonden: 14-9-06 17:59
Onderwerp: Re: [Sip] Good Hash: draft-ietf-sip-fork-loop-fix-03
----- From: "Robert Sparks" <rjsparks at nostrum.com>
That may be exactly why call-id and cseq were included in the hash in
3261. Assuming that's so, then
all we need are bits that change between transactions. The first
part of
the via branch parameter would
be enough.
So, I propose I add text explaining why you SHOULD (do we make this
MUST?) add some set of bits that
change between requests, and note that either the first part of
the via
branch or the combination of call-id
and cseq would be good choices.
That's quite cunning Jeroen! I think it can only be SHOULD,
because the
whole thing is SHOULD and RECOMMENDED etc.
One issue is that this works well for the cryptographic hashes, but
I don't
think it will work for the linear hash I mentioned in an earlier e-
mail,
i.e.:
for( i=0; i<strlen(data); ++i )
hash = hash * MULTIPLIER + data[i];
where MULTIPLIER is 31 or 37.
_______________________________________________
Sip mailing list https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors at cs.columbia.edu for questions on current sip
Use sipping at ietf.org for new developments on the application of sip