I think it is fairly clear that mandatory-to-implement overlay algorithm must have a fixed length node-ID; otherwise, interoperability is a non-starter.

Unstructured overlays do not use a hash function to map resources to nodes, so node-ID length is a non-issue; it simply has to be unique.

DHTs, however, use a hash function to map resources to nodes, so node-ID length and hash function output length becomes an issue. The confusion lies in the ability to use a hash function that emits a greater than 128-bit value, and then mapping it to the 128-bit node-ID by dropping the most significant bits. The argument is that by dropping the MSBs, we likely loose the randomness guarantees which are necessary from the load balancing perspective. Thus, we are restricted to using a 128-bit hash function for all DHTs (Kademlia, Pastry, CAN etc). Restricting the use of hash functions for all DHTs is not necessarily ideal from the viewpoint of future proofing.

-s



On Wed, 17 Feb 2010, Cullen Jennings wrote:


On Dec 10, 2009, at 2:30 PM, Roni Even wrote:


According to section 1 Reload is based on the concepts introduced in
ietf-p2psip-concepts. The concept draft is currently expired and I noticed
some contradictions between the two drafts. I think that the reload draft
should progress with the concept draft.
According to the concepts draft "The P2PSIP WG will not standardize how the
peer-ID and the credentials are obtained, but merely standardize at least
one acceptable format for each.  To ensure interoperability, it is expected
that at least one of these formats will be specified as
"mandatory-to-implement"."  According to RELOAD the node-id is mandated as a
128 bit value. According to the concept draft it can be as mandatory to
implement format but others should be allowed.  I also think that section
5.4.1 allows for different node-id length (see "o  The length of the
Resource-IDs and Node-IDs.  For DHTs, the hash algorithm to compute the hash
of an identifier."


Sounds like the concepts draft needs some work.

On the one topic of node-id being fixed length or variable length, we discussed 
the length of resource-id and and node-id a lot in the past. I have never seen 
someone raise the argument of we need Node-ID short than 128 bits. Several 
times people have raised the issue of we need node-id to be longer than 128. 
Specifically it is generally requested that they could be 160 bits because the 
output of SHA-1 is 160 bits. This request is generally fairly confused in that 
it's actually the Resource-Id they are confusing with the Node-ID. IN reload 
the resource-id are variable length and could be 160 bits. This was put in 
largely because Salman argued strongly that this would be needed to support 
unstructured overlays. The only time I can imagine that you could possible need 
more than 128 bits in a Node-ID is when you assign node-id randomly and you 
have more than approximately 2^64 nodes in a single DHT or you assign node-id 
non randomly and you have more than 2^128 nodes in a rin!
g.
I don't think anyone is arguing either of these are problems and I have not 
heard any other technical argument for making these larger. There are a bunch 
of advantages of fixed size but ignoring all that, it does not even seem like 
it's worth discussing if there is no technical reason to move to larger 
node-ids.

Good catch on section 5.4.1. Fixed that typo - thanks.



Cullen Jennings
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/index.html



_______________________________________________
P2PSIP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/p2psip


_______________________________________________
P2PSIP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/p2psip

Reply via email to