It is not clear to me that space-wise, why per-hop reassembly of 2-3 1500
bytes segment is better than storing a <10 byte message identifier and a
4-byte IP address of the node from which the message was received.


The implication of the requirement that a peer MUST NOT interleave one
message with another is that the amount of buffer required for
reassembly is capped per connection.  It's # of connections * MTU *
max tolerated out-of-order arrival (which for TCP for example is 4).
That's a deterministic amount of space that scales per connection, so
it's pretty small.

This approach creates head-of-line blocking. The storage space is needed for reordering but more importantly, the space is needed to completely reassemble the fragmented message at every hop as per above scheme.

Per-hop reassembly has been brought up in the context of small number of fragments (2-3) but what is this small really? Is 10 fragments small? Is 20 fragments small?


Observe that return-path state or via-lists are required to maintain
symmetric routing. However, it is not clear to me why this should be a MUST.
If sender->destination routing is done on object-ID and destination->sender
routing is done on sender ID, then there is no need for via-lists or
return-path states. Such scheme utilizes existing connections between peers.

This has been discussed repeatedly on the mailing list and the
discussion is in the appendix of the base draft.  Please refer to
those other discussions.


Indeed. My point was to highlight routing mode tradeoff in the context of fragmentation discussion.

-s

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

Reply via email to