(57)【要約】【課題】  パケットの中継におけるフラグメント処理の発生を防止する。【解決手段】  通信装置に、前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在するか否かを判定する判定手段と、前記判定手段により前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在しないと判定された場合、前記他の通信装置に送信すべきパケットのデータサイズを縮小し、または、前記他の通信装置に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とし、ヘッダを圧縮して前記他の通信装置に送信するパケットを生成する生成手段と、を備える。【選択図】  図９
2018148469.tif 000002
【特許請求の範囲】
【請求項１】
他の通信装置と通信可能な通信装置であって、
前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在するか否かを判定する判定手段と、
前記判定手段により前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在しないと判定された場合、前記他の通信装置に送信すべきパケットのデータサイズを縮小し、または、前記他の通信装置に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とし、ヘッダを圧縮して前記他の通信装置に送信するパケットを生成する生成手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記判定手段は、
前記他の通信装置との間の通信において、送信元ＩＰアドレスまたは宛先ＩＰアドレスにグローバルアドレスを使用する場合に、前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在しないと判定する、
ことを特徴とする請求項１記載の通信装置。
【請求項３】
前記判定手段は、
前記他の通信装置と通信を行う際に、ホップリミットを１に設定したパケットを前記他の通信装置に送信し、前記他の通信装置からの応答がない場合に、前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在しないと判定する、
ことを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記生成手段は、
前記他の通信装置と通信を行う際に、累積送信データ量が閾値を超えた場合に、前記パケットのヘッダの圧縮可能なフィールドをすべて圧縮して前記他の通信装置に送信するパケットを生成する、
ことを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記生成手段は、
前記他の通信装置と通信を行う際に、無線ヘッダ内で無線の輻輳状態を示すコンテンションフィールド情報が閾値を超えた場合に、前記パケットのヘッダの圧縮可能なフィールドをすべて圧縮すべきフィールドとして選択する、
ことを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記生成手段は、
前記他の通信装置に送信すべきパケットのデータサイズを、上限サイズから前記パケットのヘッダの所定のフィールドのサイズ分だけ小さいパケットとなるように縮小する、
ことを特徴とする請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
前記生成手段は、前記判定手段により前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在すると判定された場合、圧縮可能なヘッダフィールドを圧縮してパケットを作成することを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
前記生成手段が生成した前記他の通信装置に送信するパケットの送信に使用する通信プロトコルとして６ＬｏＷＰＡＮ（ＩＰｖ６  ｏｖｅｒ  Ｌｏｗ  ｐｏｗｅｒ  Ｗｉｒｅｌｅｓｓ  Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ）を用いる、
ことを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
他の通信装置と通信可能な通信方法であって、
前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在するか否かを判定する第１のステップと、
前記第１のステップにおいて前記他の通信装置が当該通信装置と同一のリンク内に存在しないと判定された場合、前記他の通信装置に送信すべきパケットのデータサイズを縮小し、または、前記他の通信装置に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とし、ヘッダを圧縮して前記他の通信装置に送信するパケットを生成する第２のステップと、
を有することを特徴とする通信方法。
【請求項１０】
他の通信装置と通信可能な通信装置であって、
前記他の通信装置が当該通信装置と同一のリンク内に存在するか否かを判定する判定手段と、
前記判定手段により前記他の通信装置が当該通信装置と同一のリンク内に存在しないと判定された場合、前記他の通信装置に送信すべきパケットのデータサイズを縮小し、または、前記他の通信装置に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とし、ヘッダを圧縮して前記他の通信装置に送信するパケットを生成する生成手段と、を有する通信装置と、
前記他の通信装置と前記通信装置の間の通信の中継を行う中継装置と、
を備えることを特徴とする通信システム。
【請求項１１】
コンピュータを、請求項１から８のいずれか１項に記載された通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法、通信システムおよびプログラムに関する。
【背景技術】
【０００２】
無線ＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）における低消費電力での通信を実現するための技術として、いくつかのプロトコル（通信規約）が利用されている。このようなプロトコルの一つに、６ＬｏＷＰＡＮ（ＩＰｖ６  ｏｖｅｒ  Ｌｏｗ  Ｐｏｗｅｒ  Ｗｉｒｅｌｅｓｓ  Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）がある。６ＬｏＷＰＡＮは、インターネット標準化団体（ＩＥＴＦ：Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）において仕様が策定されてきた（特許文献１）。現在、６ＬｏＷＰＡＮの仕様について、更新と追加機能の策定が進められている。
６ＬｏＷＰＡＮの機能の一つに、ヘッダ圧縮機能がある。このヘッダ圧縮機能は、ＩＰｖ６ヘッダをデータ圧縮する機能であり、６ＬｏＷＰＡＮ通信をする通信装置間において送信側で圧縮処理、受信側で伸長処理を施すことでデータを送受信する。これにより、通信装置間で送受信される６ＬｏＷＰＡＮ通信メッセージのヘッダサイズを削減し、１パケットで転送できるデータサイズを大きくすることが可能になる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２０９９０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のヘッダ圧縮機能において、送信側通信装置が属するリンクから受信側通信装置が属する他のリンクへ６ＬｏＷＰＡＮパケットを中継する通信装置（中継装置）において、処理負荷が高くなるという課題があった。すなわち、中継装置では、受信した６ＬｏＷＰＡＮパケットの圧縮ヘッダを伸長し、ＩＰｖ６パケットを再構成して処理した上で、再度、ＩＰｖ６ヘッダを圧縮して６ＬｏＷＰＡＮパケットを作成し転送する。この中継装置での再圧縮の際、ヘッダ圧縮機能では、ＩＰｖ６ヘッダの各フィールド情報に基づいて圧縮方法を変更する。このため、中継装置が受信したパケットのＩＰｖ６ヘッダの圧縮率よりも、中継装置が圧縮ヘッダを伸長後に再度ＩＰｖ６ヘッダを圧縮した際の圧縮率が低くなる場合が生じる。この場合、中継機器では、６ＬｏＷＰＡＮパケットを複数パケットに分割するフラグメント処理が必要となり、中継装置の処理負荷が高くなる可能性があった。
本発明は、上記課題を鑑みてなされたものであり、パケットの中継におけるフラグメント処理の発生を防止することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある態様に係る通信装置は、前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在するか否かを判定する判定手段と、前記判定手段により前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在しないと判定された場合、前記他の通信装置に送信すべきパケットのデータサイズを縮小し、または、前記他の通信装置に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とし、ヘッダを圧縮して前記他の通信装置に送信するパケットを生成する生成手段と、を備える。
【発明の効果】
【０００６】
本発明によれば、パケットの中継におけるフラグメント処理の発生を防止することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】実施形態１に係る通信システムの構成例を示す図。
【図２】実施形態１に係る第１の通信装置１のハードウェア構成例を示すブロック図。
【図３】実施形態１に係る第１の通信装置１の機能モジュール構成例を示すブロック図。
【図４】一般的な６ＬｏＷＰＡＮパケットの構成例を示す図。
【図５】実施形態１に係る第１の通信装置１が作成する６ＬｏＷＰＡＮパケットの構成例を示す図。
【図６】一般的な６ＬｏＷＰＡＮパケットを作成して送信する処理の例を示す概要図。
【図７】実施形態１に係る第１の通信装置１が６ＬｏＷＰＡＮパケットを作成して送信する例を示す概要図。
【図８】実施形態１に係る第１の通信装置１が６ＬｏＷＰＡＮパケットを作成して送信する例を示す概要図。
【図９】実施形態１に係る第１の通信装置１が、アドレス情報に基づいてパケット構成を決定する手順を示すフローチャート。
【図１０】実施形態２に係る第１の通信装置１が、第２の通信装置２からの応答に基づいてパケット構成を決定する手順を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する各実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は、以下の実施形態に限定されるものではない。また、各実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成または処理等については、同じ符号を付して説明する。
【０００９】
実施形態１
（装置の構成）
図１は、実施形態１に係る通信システムの構成例を示すブロック図である。
この通信システムは、第１の通信装置１、第２の通信装置（他の通信装置）２、中継装置３を備えている。
第１の通信装置１は、本実施形態における通信装置（ノード）である。この第１の通信装置１は、例えば通信プロトコルとしてＩＥＥＥ８０２．１５．４を用いた６ＬｏＷＰＡＮ（ＩＰｖ６  ｏｖｅｒ  Ｌｏｗ  ｐｏｗｅｒ  Ｗｉｒｅｌｅｓｓ  Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋｓ）での通信機能を有する。ここで、ＩＰｖ６は、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ６の略である。第１の通信装置１は、具体例には、センサデバイス、デジタルカメラ、デジタルビデオカメラ、携帯電話、スマートフォン、ＰＣ、ノートＰＣ、サーバ等のノードである。なお、本実施形態では、通信機能としてＩＥＥＥ８０２．１５．４を用いたが、これに限らず、他の無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信機能を利用しても良い。また、Ｅｔｈｅｒｎｅｔ（登録商標）等の有線ＬＡＮ通信機能、または無線ＬＡＮ通信機能と有線ＬＡＮ通信機能の組合せを利用しても良い。
【００１０】
第２の通信装置２は、第１の通信装置１と同じく、本実施形態における通信装置である。第２の通信装置２は、具体例には、サーバ等であってよいがこれに限定されず、第１の通信装置１と同様の装置であってもよい。
中継装置３は、第１の通信装置１と同じく、本実施形態における通信装置である。中継装置３は、受信した６ＬｏＷＰＡＮパケットを解析し、パケットの宛先の通信装置が属するネットワークにパケットを転送するルーティング機能を有する中継装置である。なお、本実施形態において用いられるパケットとは、ネットワーク上で送受信されるデータの単位である。
【００１１】
本実施形態において、第１の通信装置１は、中継装置３との間の６ＬｏＷＰＡＮでの通信を経由して、第２の通信装置２と通信接続を行う。なお、本実施形態では、中継装置３を経由して通信接続を行ったが、これに限らず、第１の通信装置１と第２の通信装置２とが中継装置３を２台以上経由して通信接続する等、中継装置３を少なくとも１台経由して通信する接続形態であればよい。また、第１の通信装置１と第２の通信装置の間の通信が可能であれば、中継装置３と第２の通信装置２の間の通信方式については、特に限定されない。
【００１２】
次に、本実施形態に係る通信システムの構成要素を詳細に説明する。
図２は、本実施形態に係る第１の通信装置１のハードウェア構成例を示すブロック図である。
第１の通信装置１は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３、タイマ管理部１４を備えている。また、第１の通信装置１は、メディアアクセス制御モジュール（ＭＡＣ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）１５、物理レイヤモジュール（ＰＨＹ：Ｐｈｙｓｉｃａｌ）１６、アンテナ１７を備えている。なお、第１の通信装置１が上記の構成・モジュールを全て備えることは必須でない。
【００１３】
ＲＡＭ１１は、プログラムやデータを一時記憶する。ＲＯＭ１２は、変更を必要としないプログラムやパラメタを格納する。ＣＰＵ１３は、第１の通信装置１全体を制御する。ＣＰＵ１３は、メインメモリであるＲＡＭ１１をワークメモリとして、ＲＯＭ１２や図示しないＨＤＤ等プログラム格納部の記憶媒体に格納された各種プログラムを実行する。ＣＰＵ１３が実行するプログラムには、ネットワークドライバが含まれ、ネットワークドライバの実行により後述するパケットの送受信処理等を含むプロトコル処理の機能が実現される。
タイマ管理部１４は、プログラムの処理等の時間の経過を管理する。ＭＡＣ１５とＰＨＹ１６は、アンテナ１７での無線ＬＡＮ等のネットワークを介した通信を行う通信部である。ＣＰＵ１３は、ネットワークドライバを実行し、ＭＡＣ１５を制御してデータの送受信を行う。
【００１４】
図３は、第１の通信装置１の機能モジュール構成例を示すブロック図である。
第１の通信装置１は、制御部２１、無線通信制御部２２、記憶制御部２３、ＩＰｖ６通信制御部２４、６ＬｏＷＰＡＮ通信制御部２５、ヘッダ圧縮部２６、リンク判定部２７、圧縮フィールド選択部２８を備えている。各機能モジュールは、ＣＰＵ１３がＲＯＭ１２に格納されたプログラムをＲＡＭ１１に展開して処理を実行することにより実現されている。また、例えば、ＣＰＵ１３を用いたソフトウェア処理の代替でハードウェアによる処理を行う場合には、ここで説明する各モジュールの処理に対応させた演算部や回路を構成すればよい。なお、第１の通信装置１が、上記の機能モジュールを全て備えることは必須でない。
【００１５】
制御部２１は、第１の通信装置１が備える個々の機能モジュールを制御する。無線通信制御部２２は、ＭＡＣ１５とＰＨＹ１６を制御し、第２の通信装置２との無線通信の制御等を行う。記憶制御部２３は、ＲＡＭ１１を制御し、処理データや画像コンテンツ、映像コンテンツ等のデータを記憶または削除する。ＩＰｖ６通信制御部２４は、無線通信制御部２２を利用して、第２の通信装置２との間でＩＰｖ６方式の通信制御を行う。
６ＬｏＷＰＡＮ通信制御部２５は、無線通信制御部２２を利用して、他の通信装置との間で６ＬｏＷＰＡＮ方式の通信制御を行う。なお、６ＬｏＷＰＡＮ通信制御部２５は、ＩＰｖ６通信制御部２４で作成されたＩＰｖ６パケットを６ＬｏＷＰＡＮパケットに変換して送信する機能を有する。また、６ＬｏＷＰＡＮ通信制御部２５は、６ＬｏＷＰＡＮパケットを受信して、ＩＰｖ６パケットに変換し、ＩＰｖ６通信制御部２４にＩＰｖ６パケットを受け渡す機能を有する。
【００１６】
ヘッダ圧縮部２６は、ＩＰｖ６ヘッダを圧縮する機能を有し、６ＬｏＷＰＡＮ通信制御部２５から利用される。このヘッダ圧縮部２６は、圧縮フィールド選択部２８によって選択したパケットのヘッダのフィールドを圧縮する。
リンク判定部２７は、通信接続する第２の通信装置２が自装置と同一のネットワークリンク内に存在するかを判定する機能を有し、６ＬｏＷＰＡＮ通信制御部２５から利用される。このリンク判定部２７は、第２の通信装置２に送信するパケットに応じて、中継装置においてフラグメント処理を要するか否かを判定する。
圧縮フィールド選択部２８は、ＩＰｖ６ヘッダの各フィールドについてヘッダ圧縮部２６を利用して圧縮するか否かを選択する機能を有し、６ＬｏＷＰＡＮ通信制御部２５から利用される。この圧縮フィールド選択部２８は、第２の通信装置２に送信するパケットのヘッダの各フィールドから圧縮すべきフィールドを選択する。
【００１７】
また、第２の通信装置及び中継装置３は、図２に示す第１の通信装置１のハードウェア構成例と同様に、ＲＡＭ１１、ＲＯＭ１２、ＣＰＵ１３、タイマ管理部１４、ＭＡＣ１５、ＰＨＹ１６、アンテナ１７を備えている。なお、第２の通信装置２及び中継装置３が上記の構成・モジュールを全て備えることは必須でない。
また、第２の通信装置及び中継装置３は、図３に示す第１の通信装置１の機能モジュール構成例と同様に、制御部２１、無線通信制御部２２、記憶制御部２３、ＩＰｖ６通信制御部２４、６ＬｏＷＰＡＮ通信制御部２５、ヘッダ圧縮部２６等を備えている。なお、第２の通信装置２及び中継装置が、上記の機能モジュールを全て備えることは必須でない。
【００１８】
（通信動作詳細）
本実施形態に係る通信システムでは、第１の通信装置１は、アドレス情報に基づいてパケット構成を切り替えてデータ通信を行うようになっている。
図４（ａ）および（ｂ）は、一般的な６ＬｏＷＰＡＮパケットの構成を示す図である。また、図５（ａ）および（ｂ）は、本実施形態に係る第１の通信装置１が作成する６ＬｏＷＰＡＮパケットの構成を示す図である。なお、本実施形態では、トランスポート層のプロトコルとしてＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）を使用する例を示すが、これに限らず、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）等を使用してもよい。
【００１９】
図４（ａ）は、一般的な６ＬｏＷＰＡＮパケットの構成を示す図である。６ＬｏＷＰＡＮパケット４１は、ＩＰｖ６圧縮ヘッダ、ＵＤＰヘッダ、データで構成されている。この６ＬｏＷＰＡＮパケット４１は、ヘッダ圧縮部２６によりＩＰｖ６ヘッダが全て圧縮される場合のパケット構成を示している。なお、６ＬｏＷＰＡＮパケット４１は、６ＬｏＷＰＡＮのパケットサイズの上限サイズで構成される。６ＬｏＷＰＡＮパケット４２は、ＩＰｖ６圧縮ヘッダ、ＩＰｖ６非圧縮ヘッダ、ＵＤＰヘッダ、データで構成されている。この６ＬｏＷＰＡＮパケット４２は、ヘッダ圧縮部２６によりＩＰｖ６ヘッダ内の一部フィールドが圧縮され、圧縮できなかったフィールドをＩＰｖ６非圧縮ヘッダとして付加する場合のパケット構成を示している。
パケットにより圧縮できるヘッダフィールドが異なるため、ＩＰｖ６非圧縮ヘッダサイズはパケットのヘッダ構成に依存する。６ＬｏＷＰＡＮパケット４２は、６ＬｏＷＰＡＮパケット４１と同様、６ＬｏＷＰＡＮのパケットサイズの上限サイズで構成される。なお、ヘッダ圧縮部２６におけるＩＰｖ６ヘッダの具体的な圧縮方法については、ＲＦＣ６２８２（非特許文献２）で規定される６ＬｏＷＰＡＮで採用されるヘッダ圧縮部に準拠するため、ここでは説明しない。
【００２０】
以下、第１の通信装置１が、中継装置３を経由して、第２の通信装置２宛に６ＬｏＷＰＡＮパケット４１または６ＬｏＷＰＡＮパケット４２のパケット構成でデータを送信した場合に、中継装置３でフラグメント処理が発生する過程を説明する。
図４（ｂ）は、中継装置３でフラグメント処理された後の６ＬｏＷＰＡＮパケットの構成例を示す図である。本実施形態では、第１の通信装置１と、第２の通信装置２とが、中継装置３を経由して６ＬｏＷＰＡＮでの通信接続を行う。第１の通信装置１は、６ＬｏＷＰＡＮパケット４１または６ＬｏＷＰＡＮパケット４２を送信する。この場合、中継装置３は、受信した６ＬｏＷＰＡＮパケットの圧縮ヘッダを伸長し、ＩＰｖ６パケットを再構成して処理した上で、再度、ＩＰｖ６ヘッダを圧縮して６ＬｏＷＰＡＮパケットを作成し、第２の通信装置２に転送する。この際、中継装置３が受信したパケットではＩＰｖ６圧縮ヘッダに含まれていたＩＰｖ６ヘッダのフィールドが、解析後のＩＰｖ６ヘッダ再圧縮時には圧縮できずに、ＩＰｖ６非圧縮ヘッダとして送信するパケットに付加する必要がある場合がある。
【００２１】
圧縮率が下がるＩＰｖ６の具体的なヘッダフィールドとして、ホップリミット、宛先ＩＰアドレス、送信元ＩＰアドレス等がある。圧縮率が下がる要因として、第１の通信装置１から送信された６ＬｏＷＰＡＮパケットが第１の通信装置１を含むネットワークリンク外に出ていく場合、ホップリミットが中継装置３で１減算される動作がある。圧縮されたホップリミットは、２ビットで表記され、データとしてインラインで送信される「００」、「０１」ホップリミットが１、「１０」ホップリミットが６４、「１１」ホップリミットが２５５、の４つの値しか表記できない。このため、ホップリミットがこれ以外の値である場合には、ホップリミットをＩＰｖ６非圧縮ヘッダとして送信するパケットに付加する必要がある。具体的には、第１の通信装置からのパケット中の圧縮ヘッダ中のホップリミットが６４を意味する「１０」であった場合、中継装置３が中継して送信するパケット中のホップリミットは６３となる。この場合、ホップリミットは、送信するパケットに、ＩＰｖ６非圧縮ヘッダとして付加する必要がある。
【００２２】
また、ＩＰアドレスは通信装置のＭＡＣアドレスとの組み合わせで圧縮方法が変わるため、圧縮率が下がる要因になっている。これらの要因は、ＲＦＣ６２８２（非特許文献２）で規定されている動作によるものである。
圧縮率が下がると、６ＬｏＷＰＡＮパケット４１または６ＬｏＷＰＡＮパケット４２でＩＰｖ６圧縮ヘッダ内にあった情報をＩＰｖ６非圧縮ヘッダ内に追加してパケットを作成する必要が生じる。この結果、パケットサイズが大きくなり、６ＬｏＷＰＡＮパケットのパケットサイズの上限を超えてしまうため、中継装置３では、６ＬｏＷＰＡＮパケットを分割するフラグメント処理を実行する必要がある。フラグメント処理が実行されると、例えば図４（ｂ）に示す６ＬｏＷＰＡＮフラグメントパケット４３および４４のように、フラグメントヘッダを付加した２つのパケットに分割される。なお、フラグメント処理については、ＲＦＣ４９４４（非特許文献１）で規定されている６ＬｏＷＰＡＮで採用される処理方法に準拠するため、ここでは説明しない。
【００２３】
以下、本実施形態において、中継装置３でのフラグメント処理の発生を防止するために、第１の通信装置１で作成する６ＬｏＷＰＡＮパケットの構成例を示す。
図５（ａ）は、中継装置３でフラグメント処理の発生を防止するために、本実施形態の第１の通信装置１で作成する６ＬｏＷＰＡＮパケットの一構成例を示す図である。６ＬｏＷＰＡＮパケット４５は、ＩＰｖ６圧縮ヘッダ、ＵＤＰヘッダ、データで構成されている。この図は、ヘッダ圧縮部２６によりＩＰｖ６ヘッダが全て圧縮される場合のパケット構成を示している。
【００２４】
６ＬｏＷＰＡＮパケット４５のパケットサイズは、６ＬｏＷＰＡＮパケット４１のような６ＬｏＷＰＡＮのパケットサイズの上限サイズではなく、上限サイズからＩＰｖ６非圧縮ヘッダのサイズ分だけ小さいパケットサイズとなるようにデータサイズを縮小する。すなわち、この通信システムでは、第２の通信装置２に送信するパケットのデータサイズを、上限サイズから圧縮フィールド選択部２８が圧縮すべきフィールドとして選択しない所定のフィールドのサイズ分だけ小さいパケットとなるように縮小する。なお、ＩＰｖ６非圧縮ヘッダのサイズとは、中継装置３で圧縮できなくなり、非圧縮ヘッダとして増加するサイズである。また、６ＬｏＷＰＡＮパケット４５は、６ＬｏＷＰＡＮパケット４１に対してフラグメントの発生を防止できる構成であるが、６ＬｏＷＰＡＮパケット４２に対しても同様に、データサイズを縮小することでフラグメントの発生を防止することが可能である。
【００２５】
図５（ｂ）は、中継装置３でフラグメント処理の発生を防止するために、本実施形態の第１の通信装置１で作成する６ＬｏＷＰＡＮパケットの他の構成例を示す図である。６ＬｏＷＰＡＮパケット４６は、ＩＰｖ６圧縮ヘッダ、ＩＰｖ６非圧縮ヘッダ、ＵＤＰヘッダ、データで構成されている。６ＬｏＷＰＡＮパケット４６は、本来、ヘッダ圧縮部２６により圧縮できるヘッダフィールドに対し、意図的にＩＰｖ６非圧縮ヘッダを付加した構成である。すなわち、この通信システムでは、第２の通信装置に送信するパケットのヘッダのフィールドの少なくとも一部を非圧縮とする。付加するＩＰｖ６非圧縮ヘッダは、中継装置３で非圧縮ヘッダとして増加するヘッダフィールドである。
【００２６】
６ＬｏＷＰＡＮパケット４６のパケットサイズは、６ＬｏＷＰＡＮのパケットサイズの上限サイズである。なお、６ＬｏＷＰＡＮパケット４６は、６ＬｏＷＰＡＮパケット４１に対してフラグメントの発生を防止させる構成である。また、６ＬｏＷＰＡＮパケット４２に対しても同様に、意図的にＩＰｖ６圧縮ヘッダに含むことができるフィールドもＩＰｖ６非圧縮ヘッダとして付加することで、フラグメントの発生を防止することが可能である。なお、６ＬｏＷＰＡＮパケット４６で送信できるデータサイズは、６ＬｏＷＰＡＮパケット４５で送信できるデータサイズと同様である。
【００２７】
図６は、一般的な６ＬｏＷＰＡＮパケットを作成して送信する処理の例を示す概要図である。また、図７及び図８は、本実施形態に係る第１の通信装置１が、６ＬｏＷＰＡＮパケットを作成して送信する例を示す概要図である。なお、図６から図８において、図３、図４および図５と同じものは、図３、図４および図５の符号と同じ符号で示す。また、図４および図５で示した通り、本実施形態では、トランスポート層のプロトコルとしてＵＤＰを使用する例を示すが、これに限らず、ＴＣＰ等を使用してもよい。
図６は、一般的な６ＬｏＷＰＡＮパケットの作成過程の一例を示す図である。ＩＰｖ６通信制御部２４は、ＩＰｖ６ヘッダを作成、付加して、ＵＤＰヘッダとデータをＩＰペイロードとするＩＰｖ６パケット５１を作成する。６ＬｏＷＰＡＮ通信制御部２５は、ヘッダ圧縮部２６によりＩＰｖ６ヘッダを全て圧縮してＩＰｖ６圧縮ヘッダを作成し、６ＬｏＷＰＡＮパケット４１を作成する。無線通信制御部２２は、無線ヘッダを作成、付加して送信パケット５２を作成する。
【００２８】
第１の通信装置１が、中継装置３を経由して、第２の通信装置２に送信パケット５２を送信した場合、図４（ｂ）で示したように中継装置３でフラグメント処理が発生する場合がある。なお、本実施形態では、無線通信制御部２２として、Ｚｉｇｂｅｅ（登録商標）を使用する例で説明するが、これに限らず、６ＬｏＷＰＡＮ通信が可能な無線通信制御であればよい。
【００２９】
図７は、中継装置３でフラグメント処理の発生を防止するための、本実施形態における６ＬｏＷＰＡＮパケットの作成過程の一例を示す図である。図６と同様に、ＩＰｖ６通信制御部２４は、ＩＰｖ６ヘッダを作成、付加して、ＵＤＰヘッダとデータをＩＰペイロードとするＩＰｖ６パケット５１を作成する。
６ＬｏＷＰＡＮ通信制御部２５は、圧縮フィールド選択部２８により中継装置３でフラグメント処理が発生すると判断した場合、ヘッダ圧縮部２６によりＩＰｖ６ヘッダを全て圧縮してＩＰｖ６圧縮ヘッダを作成する。さらに、６ＬｏＷＰＡＮ通信制御部２５は、データサイズを縮小して６ＬｏＷＰＡＮパケット４５を作成する。無線通信制御部２２は、無線ヘッダを作成、付加して送信パケット５３を作成する。なお、本実施形態では、６ＬｏＷＰＡＮ通信制御部２５がデータサイズを縮小したが、これに限らず、ＩＰｖ６通信制御部２４やアプリケーション等でデータサイズを縮小してもよい。
【００３０】
図８は、中継装置３でフラグメント処理の発生を防止するための、本実施形態における６ＬｏＷＰＡＮパケットの作成過程の他の一例を示す図である。図６と同様に、ＩＰｖ６通信制御部２４は、ＩＰｖ６ヘッダを作成、付加して、ＵＤＰヘッダとデータをＩＰペイロードとするＩＰｖ６パケット５１を作成する。
６ＬｏＷＰＡＮ通信制御部２５は、中継装置３でフラグメント処理が発生すると判断した場合、ＩＰｖ６ヘッダを全て圧縮できる場合でもヘッダ圧縮部２６によりＩＰｖ６ヘッダの一部を圧縮してＩＰｖ６圧縮ヘッダを作成する。さらに、６ＬｏＷＰＡＮ通信制御部２５は、中継装置３でＩＰｖ６非圧縮ヘッダとなるフィールドをＩＰｖ６非圧縮ヘッダとして作成して、６ＬｏＷＰＡＮパケット４６を作成する。
【００３１】
なお、中継装置３でフラグメント処理の発生の有無は、第１の通信装置１と第２の通信装置が同一リンクに属するか否かにより判断することができる。第１の通信装置と第２の通信装置が同一リンクに属するのであれば、中継装置３におけるフラグメント処理が発生しないか若しくは６ＬｏｗＰＡＮパケットは中継装置３を中継することがないため、第１の通信装置１は、図６に示すパケット圧縮を行う。一方、第１の通信装置１と第２の通信装置２が同一リンクに属さないのであれば、６ＬｏｗＰＡＮパケットは中継装置３を中継するため、第１の通信装置は、図７または図８に示す選択的なパケット圧縮を行う。
無線通信制御部２２は、無線ヘッダを作成、付加して送信パケット５４を作成する。なお、図７と同様に、６ＬｏＷＰＡＮ通信制御部２５がデータサイズを縮小したが、これに限らず、ＩＰｖ６通信制御部２４やアプリケーション等でデータサイズを縮小してもよい。
【００３２】
図９は、本実施形態に係る第１の通信装置１が、アドレス情報に基づいてパケット構成を決定する手順を示すフローチャートである。なお、本フローチャートにおいて、Ｓ３とＳ５がない場合、Ｓ３とＳ４がない場合も許容する。すなわち、図９のＳ１（グローバルアドレス使用）がＹｅｓの場合、Ｓ３の処理を介さずに、Ｓ４の処理およびＳ５の処理のいずれかを実行するように構成してもよい。
Ｓ１において、第１の通信装置１の６ＬｏＷＰＡＮ通信制御部２５は、リンク判定部２７を使用して、送信元ＩＰアドレスまたは宛先ＩＰアドレスにグローバルアドレスを使用するかを判断する。グローバルアドレスを使用するのであれば、６ＬｏｗＰＡＮパケットは中継装置３を中継するものと判断できる。すなわち、第１の通信装置１の６ＬｏＷＰＡＮ通信制御部２５は、第２の通信装置２に送信するパケットに応じて、中継装置３においてフラグメント処理を要するか否かを判定する。
【００３３】
グローバルアドレスを使用する場合（Ｓ１；ＹＥＳ）、中継装置３でフラグメント処理が発生する場合があるためＳ３に進むが、グローバルアドレスを使用しない場合（Ｓ１；ＮＯ）、中継装置３でフラグメント処理が発生しないためＳ２に進む。グローバルアドレスを使用する場合には、第１の通信装置１が第２の通信装置２と同一のネットワークリンク内に存在せず、中継装置３においてフラグメント処理を要する（可能性がある）と判定する。
Ｓ２において、第１の通信装置１の圧縮フィールド選択部２８は、ヘッダ圧縮部２６を使用して、圧縮可能なＩＰｖ６ヘッダフィールドをすべて圧縮し、６ＬｏＷＰＡＮのパケットサイズ上限までデータを含めて６ＬｏＷＰＡＮパケット４１を作成する。なお、６ＬｏＷＰＡＮパケット４１の代わりに６ＬｏＷＰＡＮパケット４２を作成するようにしてもよい。
【００３４】
Ｓ３において、第１の通信装置１の圧縮フィールド選択部２８は、累積送信データ量が閾値を超えたか否かを判断する。累積送信データ量が閾値を超えた場合（Ｓ３；ＹＥＳ）には、第１の通信装置１と中継装置３間の通信帯域が逼迫すると判断してＳ４に進む。一方、累積送信データ量が閾値を超えていない場合（Ｓ３；ＮＯ）には、圧縮フィールド選択部２８は、第１の通信装置１と中継装置３間の通信帯域に余裕があると判断してＳ５に進む。
Ｓ４において、第１の通信装置１の圧縮フィールド選択部２８は、ヘッダ圧縮部２６を使用して、圧縮可能なＩＰｖ６ヘッダフィールドをすべて圧縮する。さらに、圧縮フィールド選択部２８は、６ＬｏＷＰＡＮパケットの上限サイズから中継装置３でＩＰｖ６非圧縮ヘッダとなるサイズ分だけ小さいパケットサイズとなるようにデータサイズを縮小した６ＬｏＷＰＡＮパケット４５を作成する。パケットサイズを小さくすることで、第１の通信装置１と中継装置３間の通信帯域を有効利用することが可能となる。
【００３５】
一方、Ｓ５において、第１の通信装置１の圧縮フィールド選択部２８は、中継装置３でＩＰｖ６非圧縮ヘッダとなるフィールドをＩＰｖ６非圧縮ヘッダとして作成して、６ＬｏＷＰＡＮパケット４６を作成する。ＩＰｖ６非圧縮ヘッダを作成しておくことで、中継装置３のヘッダ解析処理の負荷を軽減させることが可能となる。
Ｓ６において、第１の通信装置１の６ＬｏＷＰＡＮ通信制御部２５は、Ｓ２、Ｓ４、Ｓ５で圧縮フィールド選択部２８が選択したパケット構成に基づき、ヘッダ圧縮部２６を使用してＩＰｖ６圧縮ヘッダ、ＩＰｖ６非圧縮ヘッダをそれぞれ作成する。さらに、６ＬｏＷＰＡＮ通信制御部２５は、生成したヘッダを用いて６ＬｏＷＰＡＮパケットを作成する。
【００３６】
以上、説明したように、第１の通信装置１は６ＬｏＷＰＡＮパケットを送信する際に、送信元ＩＰアドレスまたは宛先ＩＰアドレスに基づき、中継装置である中継装置３で６ＬｏＷＰＡＮパケットのフラグメント処理が発生することを検知する。さらに、第１の通信装置１は、中継装置３における６ＬｏＷＰＡＮパケットのフラグメント処理の発生を防止するようにパケット構成を切り替えて、６ＬｏＷＰＡＮパケットを作成する。すなわち、第１の通信装置１は、第２の通信装置２が第１の通信装置１と同一のネットワークリンク内に存在しないと判定した場合、第２の通信装置２に送信すべきパケットのデータサイズを縮小する。あるいは、第１の通信装置１は、第２の通信装置２が第１の通信装置１と同一のネットワークリンク内に存在しないと判定した場合、第２の通信装置２に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とする。
【００３７】
これにより、この通信システムでは、中継装置３におけるフラグメント処理の発生を防止することができる。これにより、中継装置３の処理負荷を軽減することが可能となる。さらに、第１の通信装置１は、送信データ量に基づいて、６ＬｏＷＰＡＮパケットのパケットサイズが異なる二つのパケット構成を切り替えて、６ＬｏＷＰＡＮパケットを作成する。これにより、第１の通信装置１と中継装置３の間の通信帯域を有効利用することが可能となり、通信効率が向上する。
【００３８】
実施形態２
以下、実施形態２に係る通信システムにおける通信処理を説明する。この通信システムは、実施形態１の図１等と同様に構成されている。なお、本実施形態において、実施形態１と同様の図、および図中と同じ要素に関しては説明を省略する。
実施形態１では、第１の通信装置１では、アドレス情報および送信データ量に基づいて６ＬｏＷＰＡＮパケットの構成を使い分けていた。本実施形態では、第１の通信装置１は、第２の通信装置２からの応答情報および無線ヘッダ内の輻輳情報に基づいて６ＬｏＷＰＡＮパケットの構成を使い分けるようにしている。
図１０は、本実施形態に係る第１の通信装置１が、第２の通信装置２からの応答情報に基づいてパケット構成を決定する手順を示すフローチャートである。なお、本フローチャートにおいて、Ｓ１４とＳ１６がない場合、Ｓ１４とＳ１５がない場合も許容する。すなわち、図１０のＳ１２（他の通信装置がリンク外に存在）がＹｅｓの場合、Ｓ１４の処理を介さずに、Ｓ１５の処理およびＳ１６の処理のいずれかを実行するように構成してもよい。
【００３９】
Ｓ１１において、第１の通信装置１の６ＬｏＷＰＡＮ通信制御部２５はリンク判定部２７を使用して、第２の通信装置２を示す宛先ＩＰアドレス宛にｐｉｎｇパケットを送信する。この際、ホップリミットを１に設定しておく。
Ｓ１２において、第１の通信装置１のリンク判定部２７は、Ｓ１１で送信したｐｉｎｇパケットの応答の有無により、宛先の第２の通信装置２が第１の通信装置１と同一のネットワークリンクに存在するか否かを判断する。応答パケットを受信した場合（Ｓ１２；ＮＯ）には、第２の通信装置２は第１の通信装置１と同一のネットワークリンクに存在するため、リンク判定部２７は、中継装置３でフラグメント処理が発生しないと判断し、Ｓ１３に進む。一方、応答パケットを受信しなかった場合（Ｓ１２；ＹＥＳ）、第２の通信装置２は第１の通信装置１と異なるネットワークリンクに存在するため、リンク判定部２７は、中継装置３でフラグメント処理が発生する場合があると判断し、Ｓ１４に進む。
【００４０】
Ｓ１３における処理は、図９におけるＳ２の処理と同様である。
Ｓ１４において、第１の通信装置１の圧縮フィールド選択部２８は、無線ヘッダ内で無線の輻輳状態を示すコンテンションフィールド情報が閾値を超えたか否かを判断する。コンテンションフィールド情報が閾値を超えた場合（Ｓ１４；ＹＥＳ）、圧縮フィールド選択部２８は、第１の通信装置１と中継装置３間の通信帯域が逼迫していると判断してＳ１５に進む。一方、コンテンションフィールド情報が閾値を超えていない場合（Ｓ１４；ＮＯ）には、圧縮フィールド選択部２８は、第１の通信装置１と中継装置３間の通信帯域に余裕があると判断してＳ１６に進む。
Ｓ１５〜Ｓ１７における処理は、図９におけるＳ４〜Ｓ６の処理と同様である。
【００４１】
以上、説明したように、第１の通信装置１は６ＬｏＷＰＡＮパケットを送信する際に、第２の通信装置２からの応答情報に基づき、中継装置である中継装置３で６ＬｏＷＰＡＮパケットのフラグメント処理が発生することを検知する。さらに、第１の通信装置は、中継装置３における６ＬｏＷＰＡＮパケットのフラグメント処理の発生を防止するようにパケット構成を切り替えて、６ＬｏＷＰＡＮパケットを作成する。これにより、この通信システムでは、中継装置３の処理負荷を軽減することが可能となる。
さらに、この通信システムでは、無線ヘッダ内で無線の輻輳状態を示すコンテンションフィールド情報に基づき、６ＬｏＷＰＡＮパケットのパケットサイズが異なる二つのパケット構成を切り替えて、６ＬｏＷＰＡＮパケットを作成する。これにより、第１の通信装置１と中継装置３の間の通信帯域を有効利用することが可能となり、通信効率が向上する。
なお、実施形態１と実施形態２について、Ｓ１とＳ１１およびＳ１２、Ｓ３とＳ１４の条件の組み合わせを変えてもよい。即ち、実施形態１においてＳ３の代わりにＳ１４を使用するフロー、実施形態２においてＳ１１およびＳ１２の代わりにＳ１を使用するフローも許容する。
【００４２】
（他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を経由してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
また、上述した実施形態の機能を実現するハードウェアによる処理も同様である。
ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからＦＰＧＡ上に自動的に専用回路を生成すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。
【符号の説明】
【００４３】
１…第１の通信装置、２…第２の通信装置、３…中継装置、２１…制御部、２２…無線通信制御部、２３…記憶制御部、２４…ＩＰｖ６通信制御部、２５…６ＬｏＷＰＡＮ通信制御部、２６…ヘッダ圧縮部、２７…リンク判定部、２８…圧縮フィールド選択部
【図１】
2018148469.tif 000003
【図２】
2018148469.tif 000004
【図３】
2018148469.tif 000005
【図４】
2018148469.tif 000006
【図５】
2018148469.tif 000007
【図６】
2018148469.tif 000008
【図７】
2018148469.tif 000009
【図８】
2018148469.tif 000010
【図９】
2018148469.tif 000011
【図１０】
2018148469.tif 000012