特集:IoTがもたらす製造業の革新〜進化する製品、サービス、工場のかたち〜
連載
» 2016年09月06日 11時30分 UPDATE

IoT時代の無線規格を知る【Thread編】(5):「Thread」における6LowPANの活用(後編) (1/3)

ホームネットワーク向け無線規格として注目を集める「Thread」を解説する本連載。今回は、Threadにおける6LoWPANアダプテーション層が持つ機能について解説していく。

[水谷章成(Silicon Labs),EDN Japan]

6LoWPANアダプテーション層が持つ機能

 あらゆるデバイスやセンサーがつながる「IoT(モノのインターネット)」時代を迎え、ホームネットワーク向けに注目を集める無線規格「Thread」。本連載は、Thread Groupが発行するホワイトペーパーから、Threadの詳細を解説している。

 前回は、ホワイトペーパー「6LoWPAN」から、Threadと6LoWPANの関係について紹介した。今回は、6LoWPANアダプテーション層が持つ機能について解説する。

Thread Groupが公開するホワイトペーパー
1. Thread Overview
2. 6LoWPAN
3. Security & Commissioning
4. Boarder Routers
5. Battery Operated Devices

6LowPANにおけるIPv6ヘッダー圧縮

 6LowPANは、IPv6データを802.15.4リンクを使って送る際、パケットのオーバーヘッドを軽減するヘッダー圧縮機能を持つ。802.15.4通信に特化することでパラメーターセットを想定し、リンク層に含まれる情報も活用して、IPv6ヘッダーとトランスポートヘッダーを効果的に低減する。Threadは、RFC6282で記述される2つの圧縮タイプを使用する。

  • IPHC(Improved Header Compression/改良型ヘッダー圧縮)
  • NHC(Next Header Compression/ネクストヘッダー圧縮)

 IPv6とUDPトランスポートヘッダーから圧縮できるバイト数はいくつかの要因によって変化する。これらの要因として、使用されるIPv6アドレス、使用される802.15.4のアドレスモード、ネットワークコンテキストの存在有無などが挙げられる。図1と図2にベストケースのヘッダー圧縮の例を示す(48バイトから6バイト)。

図1:全てのIPv6とUDPヘッダー (クリックで拡大)
図2:IPv6とUDPヘッダーの6LowPAN圧縮 (クリックで拡大)

IPv6ヘッダー圧縮

 IPv6ヘッダー圧縮には、RFC4944で規定されるIPHCが用いられ、HC1ヘッダー圧縮による改善がもたらされる。これは、グローバルIPv6アドレスを効果的に圧縮する技術であり、複数のIPホップを越えた宛先のノードに対して、IP情報のオーバーヘッドを低減することを可能にしている。また、共通コンテキストを利用しており、多くの場合で、発信元アドレスと送信先アドレスを短縮することができる。これだけでもIPv6アドレスが、16バイト長であることを考慮すると実質的に圧縮効率の改善ができる。この圧縮の方法は、コンテキストが802.15.4ネットワークのノードに知れ渡っている必要があるが、このためのメカニズムはRFC4944規定の対象ではない。

 IPHC圧縮は、6LowPANネットワーク内のコミュニケーションにおいて、以下のように特定のIPv6ヘッダーパラメータが共通であることを前提としている。

  • バージョンフィールドの値は6である。
  • トラフィッククラスとフローラベルは0である。
  • IPペイロード長が下位層で規定される長さから計算できる(断片化ヘッダーかIEEE802.15.4ヘッダー)
  • 発信元からのホップ制限が、既知の値である
  • アドレスのプレフィックスが、ネットワークのコンテキスト共有を通じて分かる。
  • これらのアドレスのIIDが、64ビット拡張か16ビットショートIEEE802.15.4アドレスから構築されている。

 IPv6ヘッダー(40バイト)の最も高い圧縮は、リンクローカル通信の場合で2バイトまで小さくなる。一方で、複数のIPホッピングの場合は、圧縮されたヘッダーは7バイトより小さくはならない。IPHCヘッダーの構造を図3に示し、表1にて説明する。

図3:IPHCベースのエンコーディング (クリックで拡大)
表1:IPHCヘッダーの構造
フィールド 定義
011 IPHCヘッダーを表すディスパッチの値。
TF トラフィッククラスとフローコントロール。トラフィッククラスと、フローラベルの圧縮オプションを示す。
NH ネクストヘッダー。ネクストヘッダーが、NHCでエンコードしているかどうかを示すビットである。
HLIM ホップリミット。2ビットの情報で、どのホップ回数制限が使用されているかを選択肢にすることで、圧縮してパラメータを表す。
CID コンテキスト拡張ID。このビットが1の場合、8ビットCIE(コンテキストID拡張)フィールドが、DAMフィールドの後に付加される。
SAC 発信元アドレス圧縮。1ビットで、圧縮がステートレス表記かステートフル表記かを示す。
SAM 発信元アドレスモード。2ビットでSACと合わせて発信元アドレス圧縮形式を示す。
M マルチキャスト圧縮。1ビットで宛先アドレスが、マルチキャストかどうかを示す。
DAX 宛先アドレス圧縮。1ビットで、圧縮がステートレスかステートフルかを示す。
DAM 宛先アドレスモード。2ビットで、MとDACと合わせて宛先アドレス圧縮形式を示す。
       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.