Date: Wed, 19 Aug 2009 09:16:48 +0200
From: "Pascal Thubert (pthubert)" <[email protected]>
Pascal,
Upon the first fragment, the trick is to lay an label along the path
followed by that fragment (that is IP routed), and all further
fragments are label switched along that path. So alternate routes are
not possible for fragments.
I did eventually realize that Carsten was describing
using datagram tags as labels.
You could get end-to-end ACKs in this scheme by having
only the destination intiate ACKs and only the source
initiate retries. Intermediate nodes would only relay
fragments and ACKs. This would require an explicit
description of the process, rather than leaving it up
to implementors.
The label game is played by swapping the datagram_tag to
make a new locally significant one at each hop.
This works only if all fragments take the same path.
Fragments that took different paths would arrive at
the destination with different datagram_tags and not
be associated with one another. On the other hand,
if you don't swap the datagram_tags you are vulnerable
to collisions.
I'm ready to accept such a violation considering the
penalty of reassembling at each hop :)
I would prefer to have explicit labelling, both for
clarity and because it could be used for sequences of
short packets as well as for fragmented long packets.
The fragment recovery helps in a number of fashions:
- it provides explicit signaling that the reception is complete and
thus enables to clean up intermediate states.
- it enables the source to swap a path by resending a first fragment
that will take a new route
For a packet that doesn't fit evenly into N fragments you
could make the first fragment shorter and have all
subsequent fragments be of maximal size.
-Richard Kelsey
_______________________________________________
6lowpan mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/6lowpan