IPv6パケットが単一のIEEE82.15.4フレームに収まらない場合、6LowPAN層は断片化を行い、オリジナルのIPv6パケットはカプセル化され、1つずつ無線転送される。それぞれの6LoWPANパケットは、受信側で再構築されIP層へ届く。その様子を図8に示す。
重要なこととして、宛先デバイスでIPv6パケットの再構築するために全ての断片が必ず届かなくてはならない。メモリオーバーフローの発生による断片の欠損が発生するリスクを避けるため、受信デバイスは、タイマーを使用して、IPv6パケットの最初の6LoWPAN断片が届いた時からスタートし、タイマー期限を超えた場合には、その特定のパケットの受信断片向けに確保していたメモリを開放すべきである。
6LoWPAN層を使用した断片には、2つのタイプが存在する。FRAG1とFRAGNである。FRAG1はIPv6の圧縮ヘッダーを含み、ペイロードの一部を含むことができる。FRAGNパケットは、それに続けて送られる断片で、残りのIPv6ペイロードを必ず含む。FRAG1タイプとFRAGNタイプのヘッダーのフォーマットは図9のようになる。
断片ヘッダーに含まれるフィールドは、宛先のデバイスにおいてオリジナルのIPv6パケットを再構築するのに必要な情報だけを含む。表4にフィールドの定義を示す。
フィールド | 定義 |
---|---|
Datagram size | オリジナルのIPv6パケットのサイズ。 |
Datagram tag | IPv6断片パケットのユニークなID。通常発信元アドレスを使った番号が使用され、パケットがネットワーク全体でもユニークであるようする。全ての断片をひも付ける。 |
Datagram offset | このフィールドは、続きの断片を送る時だけ存在し、オリジナルのパケットからの相対的なオフセットが8バイトの倍数で示される。この方法で自宛先デバイスは、オリジナルのIPv6パケットを再構築する際のコピーする場所を把握する。 |
断片化で重要な特徴としては、全ての断片が元の順番のまま到着する必要がないことだ。6LoWPANでは、断片がどの順番に届いたとしても、オリジナルのパケットを信頼して再構築できる。ただし、唯一の必要条件として、全ての断片が到達する必要がある。
Threadは6LoWPANで定義されているメッシュヘッダーのメカニズムを使い、Threadネットワーク内のデバイス間の中継を行う。図11に示す6LoWPANメッシュヘッダーは、それぞれのマルチホップパケットに使われる。
Threadの6LoWPAN層は、メッシュヘッダーを送信元16ビットアドレス、宛先16ビットアドレスで埋められ、ルーティングテーブルから、ネクストホップの16ビットショートアドレスを見つけ出して、ネクストホップの16ビットアドレスを送信先として6LoWPANフレームが送られる。
ネクストホップのデバイスは、次のネクストホップを隣接テーブルとルーティングテーブルから見つけ出し、6LoWPANメッシュヘッダーのホップカウントを1つ減らして、次のネクストホップか最終宛先の16ビットショートアドレスを送信先として送られる。
Copyright © ITmedia, Inc. All Rights Reserved.