If we are going to mess with the fragment headers, and not
just change the length and offsets from uncompressed to
compressed, then my preferences would be:

  - Remove the alignment requirement for offsets.

  - Allow for some kind of ack, whether or not a packet is
    fragmented.  802.15.4 acks have their problems, so as
    long as we are adding an ack we should make it a general
    one.

  - Maintain backward compatibility.  While I am not sure
    that backwards compatibility matters a great deal for
    this, being compatible is simpler.  If nothing else, it
    makes life a lot easier for Wireshark and other tools.

I really do not see the need to make the fragment header a
byte shorter at the cost of using up a large block of
dispatch bytes.  We can't be sure we are getting
fragmentation right this time, either.

A proposal:

Fragment:

   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | Fragment (TBD)|         datagram_tag          |A|R|  datagram_
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    size    |   datagram_offset   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  A = ack requested
  R = reserved

  Datagram_size and datagram_offset are with respect to the
  compressed datagram.  datagram_offset is zero for the first
  fragment.

Ack request for an unfragmented packet:

   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | Ack Req (TBD) |         datagram_tag          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Ack:

   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  Ack (TBD)  |M|         datagram_tag          |  
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                 [mask]                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  M = mask present
  
  An ack with no mask acks the entire datagram, fragmented
  or not.

                                    -Richard Kelsey
_______________________________________________
6lowpan mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/6lowpan

Reply via email to