Subject: [6lowpan] Compressing the IPv6 hop limit

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Mon, 3 Mar 2008 14:05:30 +0100

Hi:

Per RFC 4944: 
  "The only field in the IPv6 header that always needs to be carried in
full 
   is the Hop Limit (8 bits)."

We understand the reason but I'd wish to point out that more often than
not, an 802.15.4 network will be a stub, as opposed to a transit
network. In other words, packets generated inside the LoWPAN can get out
of the LoWPAN, but packets coming in will stay in. Still in other words,
whatever the hop limit in a packet, when it comes into the LoWPAN it is
as good as 1.

So, if the LoWPAN is a stub, all we really need to know for loop
avoidance is whether the packet is an inbound or an outbound packet, in
order to make sure that inbound packets are discarded rather than be
routed back outside the LoWPAN. 

We can define a default-hop-limit value (say 63) that the backbone
router uses as it expands a 6LOWPAN header to forward the packet outside
the LoWPAN.

As a result, we can compress the hop limit in stub LoWPANs if we have 2
control bits, one bit to say that we're doing it in the first place, and
one bit to express whether the packet is coming from the outside in
which case it will have to stay in.

If we consider my HC3 proposal, then we can reuse the first 2 bits of
HC3 for this purpose:

  bits        0                  1              2-3
4-7  
 
+------------------+-------------+-----------------+--------------------
---------------------+
       | hop-limit elided |   inbound   |  Next Header    |    transport
specific control bits      |
 
+------------------+-------------+-----------------+--------------------
---------------------+

  Hop limit: set if the IPv6 hop limit is elided. This can be done iff:
	        - the LowPAN is NOT a transit network
              - a default value (say 63) can be assumed for outbound
packet by the backbone router

  Inbound: set for an inbound packet (that is a packet coming from
outside the LoWPAN).     
          Reset for a packet that is issued by a LoWPAN node to be sent
to a LoWPAN node       
          or to the Internet via a backbone router that terminates the
6LoWPAN encoding. 

For instance, a field device always leaves the inbound bit to zero. A
backbone router that is encoding a packet coming from another interface
will set the bit to one. A backbone router will discard a packet coming
from a LoWPAN interface with the bit set rather than route it over
another interface.
	
What do you think?

Pascal
_______________________________________________
6lowpan mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/6lowpan