3. IPv6 ヘッダー圧縮
このセクションでは、IPv6 ヘッダーを圧縮するための LOWPAN_IPHC エンコーディング形式を定義します。効果的な圧縮を可能にするために、LOWPAN_IPHC は 6LoWPAN 全体に関する情報に依存しています。LOWPAN_IPHC は、6LoWPAN 通信の一般的なケースとして以下を想定しています:バージョンは 6;トラフィッククラスとフローラベルは両方ともゼロ;ペイロード長は、6LoWPAN フラグメンテーションヘッダーまたは IEEE 802.15.4 ヘッダーのいずれかから下位層から推測可能;ホップ制限はソースによって既知の値に設定される;6LoWPAN インターフェイスに割り当てられたアドレスは、リンクローカルプレフィックスまたは 6LoWPAN 全体に割り当てられた少数のルーティング可能なプレフィックスを使用して形成される;6LoWPAN インターフェイスに割り当てられたアドレスは、64 ビット拡張または 16 ビット短縮 IEEE 802.15.4 アドレスのいずれかから直接派生した IID で形成される。
+-------------------------------------+----------------------------
| Dispatch + LOWPAN_IPHC (2-3 octets) | In-line IPv6 Header Fields
+-------------------------------------+----------------------------
Figure 1: LOWPAN_IPHC Header
LOWPAN_IPHC エンコーディングは 13 ビットを利用し、そのうちの 5 ビットはディスパッチタイプの右端のビットから取得されます。エンコーディングは、追加のコンテキストをサポートするために別のオクテットによって拡張される場合があります。インラインで伝送される非圧縮 IPv6 ヘッダーフィールドからの情報はすべて、図 1 に示すように、LOWPAN_IPHC エンコーディングの後に続きます。最良の場合、LOWPAN_IPHC は、リンクローカル通信で IPv6 ヘッダーを 2 オクテット(ディスパッチオクテットと LOWPAN_IPHC エンコーディング)に圧縮できます。
複数の IP ホップを介してルーティングする場合、LOWPAN_IPHC は IPv6 ヘッダーを 7 オクテット(1 オクテットのディスパッチ、1 オクテットの LOWPAN_IPHC、1 オクテットのホップ制限、2 オクテットの送信元アドレス、および 2 オクテットの宛先アドレス)に圧縮できます。ホップ制限は、各ホップでデクリメントする必要があり、任意の値を取る可能性があるため、圧縮されない場合があります。ステートフルアドレス圧縮は、中間ホップで送信元および宛先リンク層アドレスとステートレスに一致しないため、送信元および宛先 IPv6 アドレスに適用する必要があります。