メインコンテンツまでスキップ

1. はじめに

1. はじめに

[IEEE802.15.4] 標準は 127 バイトの MTU を指定しており、リンクスループットが 250 kbps 以下のワイヤレスリンク上で、セキュリティが有効な場合に実際のメディアアクセス制御(MAC)ペイロードとして約 80 オクテットが得られます。6LoWPAN 適応フォーマット [RFC4944] は、ワイヤレスセンサーネットワークなどのアプリケーションで予想される限られた帯域幅、メモリ、またはエネルギーリソースを考慮して、このような制約のあるリンク上で IPv6 データグラムを伝送するために指定されました。[RFC4944] は、サブ IP 転送をサポートするメッシュアドレッシングヘッダー、IPv6 最小 MTU 要件 [RFC2460] をサポートするフラグメンテーションヘッダー、および比較的大きな IPv6 および UDP ヘッダーを(最良の場合)数バイトに削減するための IPv6 データグラムのステートレスヘッダー圧縮(LOWPAN_HC1 および LOWPAN_HC2)を定義しています。

LOWPAN_HC1 および LOWPAN_HC2 は、6LoWPAN での IPv6 のほとんどの実用的な用途には不十分です。LOWPAN_HC1 は、IPv6 アドレスがリンクローカルプレフィックスと IEEE 802.15.4 アドレスから直接派生したインターフェイス識別子(IID)を伝送するリンクローカルユニキャスト通信に最も効果的です。この場合、両方のアドレスを完全に省略できます。ただし、リンクローカルアドレスは、IPv6 近隣探索 [RFC4861]、DHCPv6 [RFC3315]、またはルーティングプロトコルなどのローカルプロトコル相互作用には一般的に使用されますが、通常はアプリケーション層のデータトラフィックには使用されないため、この圧縮メカニズムの実際の価値は限られています。

6LoWPAN 外部のデバイスと通信する場合、または 6LoWPAN 内で IP 転送が発生するルートオーバー構成では、ルーティング可能なアドレスを使用する必要があります。ルーティング可能なアドレスの場合、LOWPAN_HC1 は IPv6 送信元アドレスと宛先アドレスの両方でプレフィックスをインラインで伝送する必要があります。メッシュアドレッシングヘッダーが使用されていない場合、ルーティング可能なアドレスの IID はインラインで伝送する必要があります。ただし、LOWPAN_HC1 は、インラインで伝送する場合に IID に 64 ビットを必要とし、IEEE 802.15.4 の 16 ビット短縮アドレスから派生した場合でも短縮することはできません。宛先が IPv6 マルチキャストアドレスの場合、LOWPAN_HC1 は完全な 128 ビットアドレスをインラインで伝送する必要があります。

その結果、このドキュメントでは、コンテキスト内の共有状態に基づいて、ユニークローカル、グローバル、およびマルチキャスト IPv6 アドレスを効果的に圧縮するためのエンコーディング形式 LOWPAN_IPHC を定義します。さらに、このドキュメントでは、[RFC4944] で定義されているヘッダー圧縮形式に対するいくつかの追加の改善点も紹介しています。

LOWPAN_IPHC を使用すると、一般的に使用されるいくつかの IPv6 ホップ制限値を圧縮できます。6LoWPAN がメッシュアンダースタブの場合、通常、インバウンドのホップ制限 1 とアウトバウンドのデフォルト値(64 など)でアプリケーション層のデータトラフィックには十分です。さらに、ホップ制限値 255 は、通信がシングルホップで行われることを確認するためによく使用されます。この仕様では、これらの一般的なケースで IPv6 ホップ制限フィールドの圧縮が可能になりますが、LOWPAN_HC1 ではできません。

このドキュメントでは、任意の次のヘッダーのエンコーディング形式である LOWPAN_NHC も定義しています。LOWPAN_IPHC は、後続のヘッダーが LOWPAN_NHC を使用してエンコードされているかどうかを示します。その場合、圧縮された IPv6 ヘッダーの直後のビットから LOWPAN_NHC エンコーディングが始まります。対照的に、LOWPAN_HC1 は LOWPAN_HC2 を使用して次のヘッダーの圧縮をサポートするように拡張できますが、UDP、TCP、および ICMPv6 のみに限られます。さらに、LOWPAN_HC2 オクテットは、LOWPAN_HC1 オクテットと非圧縮 IPv6 ヘッダーフィールドの間に位置します。この仕様では、次のヘッダーエンコーディングビットをすべての IPv6 関連ビットの後に移動し、適切に階層化された構造と IPv6 拡張ヘッダーの直接サポートを可能にします。

このドキュメントでは、LOWPAN_NHC を使用して、UDP の圧縮メカニズムを定義しています。[RFC4944] は UDP の圧縮メカニズムを定義していますが、そのメカニズムでは、上位層のメッセージ完整性チェック(MIC)などの追加の上位層メカニズムによって可能になった場合のチェックサム圧縮は有効になりません。この仕様では、6LoWPAN 上で UDP チェックサムを省略する機能が追加されており、さらに 2 オクテットを節約できます。

また、このドキュメントでは、LOWPAN_NHC を使用して、IPv6-in-IPv6 カプセル化および IPv6 拡張ヘッダーのエンコーディング形式を定義しています。LOWPAN_HC1 および LOWPAN_HC2 では、次のヘッダーのチェーンを効率的にエンコードできません。

1.1 要件言語

このドキュメントのキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" は、RFC 2119 [RFC2119] で説明されているように解釈されます。