3. Compression d'en-tête IPv6
Dans cette section, nous définissons le format de codage LOWPAN_IPHC pour la compression de l'en-tête IPv6. Pour permettre une compression efficace, LOWPAN_IPHC repose sur des informations relatives à l'ensemble du 6LoWPAN. LOWPAN_IPHC suppose que ce qui suit sera le cas courant pour la communication 6LoWPAN : la version est 6 ; la classe de trafic et l'étiquette de flux sont toutes deux à zéro ; la longueur de la charge utile peut être déduite des couches inférieures à partir de l'en-tête de fragmentation 6LoWPAN ou de l'en-tête IEEE 802.15.4 ; la limite de saut (Hop Limit) sera définie sur une valeur bien connue par la source ; les adresses attribuées aux interfaces 6LoWPAN seront formées en utilisant le préfixe lien-local ou un petit ensemble de préfixes routables attribués à l'ensemble du 6LoWPAN ; les adresses attribuées aux interfaces 6LoWPAN sont formées avec un IID dérivé directement des adresses IEEE 802.15.4 étendues de 64 bits ou courtes de 16 bits.
+-------------------------------------+----------------------------
| Dispatch + LOWPAN_IPHC (2-3 octets) | En-tête IPv6 en ligne
+-------------------------------------+----------------------------
Figure 1 : En-tête LOWPAN_IPHC
Le codage LOWPAN_IPHC utilise 13 bits, dont 5 sont pris dans les bits les plus à droite du type de dispatch. Le codage peut être étendu par un autre octet pour prendre en charge des contextes supplémentaires. Toute information des champs d'en-tête IPv6 non compressés transportés en ligne suit le codage LOWPAN_IPHC, comme indiqué à la Figure 1. Dans le meilleur des cas, le LOWPAN_IPHC peut compresser l'en-tête IPv6 jusqu'à deux octets (l'octet de dispatch et le codage LOWPAN_IPHC) avec une communication lien-local.
Lors du routage sur plusieurs sauts IP, LOWPAN_IPHC peut compresser l'en-tête IPv6 jusqu'à 7 octets (1 octet de dispatch, 1 octet LOWPAN_IPHC, 1 octet de limite de saut, 2 octets d'adresse source et 2 octets d'adresse de destination). La limite de saut peut ne pas être compressée car elle doit être décrémentée à chaque saut et peut prendre n'importe quelle valeur. La compression d'adresse avec état doit être appliquée aux adresses IPv6 source et destination car elles ne correspondent pas sans état aux adresses de couche liaison source et destination sur les sauts intermédiaires.