JP2018148469A - 通信装置、通信方法、通信システムおよびプログラム - Google Patents

通信装置、通信方法、通信システムおよびプログラム Download PDF

Info

Publication number
JP2018148469A
JP2018148469A JP2017043335A JP2017043335A JP2018148469A JP 2018148469 A JP2018148469 A JP 2018148469A JP 2017043335 A JP2017043335 A JP 2017043335A JP 2017043335 A JP2017043335 A JP 2017043335A JP 2018148469 A JP2018148469 A JP 2018148469A
Authority
JP
Japan
Prior art keywords
communication device
packet
communication
header
transmitted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017043335A
Other languages
English (en)
Inventor
鈴木 智也
Tomoya Suzuki
智也 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017043335A priority Critical patent/JP2018148469A/ja
Publication of JP2018148469A publication Critical patent/JP2018148469A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 パケットの中継におけるフラグメント処理の発生を防止する。【解決手段】 通信装置に、前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在するか否かを判定する判定手段と、前記判定手段により前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在しないと判定された場合、前記他の通信装置に送信すべきパケットのデータサイズを縮小し、または、前記他の通信装置に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とし、ヘッダを圧縮して前記他の通信装置に送信するパケットを生成する生成手段と、を備える。【選択図】 図9

Description

本発明は、通信装置、通信方法、通信システムおよびプログラムに関する。
無線PAN(Personal Area Network)における低消費電力での通信を実現するための技術として、いくつかのプロトコル(通信規約)が利用されている。このようなプロトコルの一つに、6LoWPAN(IPv6 over Low Power Wireless Personal Area Network)がある。6LoWPANは、インターネット標準化団体(IETF:Internet Engineering Task Force)において仕様が策定されてきた(特許文献1)。現在、6LoWPANの仕様について、更新と追加機能の策定が進められている。
6LoWPANの機能の一つに、ヘッダ圧縮機能がある。このヘッダ圧縮機能は、IPv6ヘッダをデータ圧縮する機能であり、6LoWPAN通信をする通信装置間において送信側で圧縮処理、受信側で伸長処理を施すことでデータを送受信する。これにより、通信装置間で送受信される6LoWPAN通信メッセージのヘッダサイズを削減し、1パケットで転送できるデータサイズを大きくすることが可能になる。
特開2012−209905号公報
しかしながら、上記のヘッダ圧縮機能において、送信側通信装置が属するリンクから受信側通信装置が属する他のリンクへ6LoWPANパケットを中継する通信装置(中継装置)において、処理負荷が高くなるという課題があった。すなわち、中継装置では、受信した6LoWPANパケットの圧縮ヘッダを伸長し、IPv6パケットを再構成して処理した上で、再度、IPv6ヘッダを圧縮して6LoWPANパケットを作成し転送する。この中継装置での再圧縮の際、ヘッダ圧縮機能では、IPv6ヘッダの各フィールド情報に基づいて圧縮方法を変更する。このため、中継装置が受信したパケットのIPv6ヘッダの圧縮率よりも、中継装置が圧縮ヘッダを伸長後に再度IPv6ヘッダを圧縮した際の圧縮率が低くなる場合が生じる。この場合、中継機器では、6LoWPANパケットを複数パケットに分割するフラグメント処理が必要となり、中継装置の処理負荷が高くなる可能性があった。
本発明は、上記課題を鑑みてなされたものであり、パケットの中継におけるフラグメント処理の発生を防止することを目的とする。
上記課題を解決するために、本発明のある態様に係る通信装置は、前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在するか否かを判定する判定手段と、前記判定手段により前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在しないと判定された場合、前記他の通信装置に送信すべきパケットのデータサイズを縮小し、または、前記他の通信装置に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とし、ヘッダを圧縮して前記他の通信装置に送信するパケットを生成する生成手段と、を備える。
本発明によれば、パケットの中継におけるフラグメント処理の発生を防止することが可能となる。
実施形態1に係る通信システムの構成例を示す図。 実施形態1に係る第1の通信装置1のハードウェア構成例を示すブロック図。 実施形態1に係る第1の通信装置1の機能モジュール構成例を示すブロック図。 一般的な6LoWPANパケットの構成例を示す図。 実施形態1に係る第1の通信装置1が作成する6LoWPANパケットの構成例を示す図。 一般的な6LoWPANパケットを作成して送信する処理の例を示す概要図。 実施形態1に係る第1の通信装置1が6LoWPANパケットを作成して送信する例を示す概要図。 実施形態1に係る第1の通信装置1が6LoWPANパケットを作成して送信する例を示す概要図。 実施形態1に係る第1の通信装置1が、アドレス情報に基づいてパケット構成を決定する手順を示すフローチャート。 実施形態2に係る第1の通信装置1が、第2の通信装置2からの応答に基づいてパケット構成を決定する手順を示すフローチャート。
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する各実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は、以下の実施形態に限定されるものではない。また、各実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成または処理等については、同じ符号を付して説明する。
実施形態1
(装置の構成)
図1は、実施形態1に係る通信システムの構成例を示すブロック図である。
この通信システムは、第1の通信装置1、第2の通信装置(他の通信装置)2、中継装置3を備えている。
第1の通信装置1は、本実施形態における通信装置(ノード)である。この第1の通信装置1は、例えば通信プロトコルとしてIEEE802.15.4を用いた6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)での通信機能を有する。ここで、IPv6は、Internet Protocol version6の略である。第1の通信装置1は、具体例には、センサデバイス、デジタルカメラ、デジタルビデオカメラ、携帯電話、スマートフォン、PC、ノートPC、サーバ等のノードである。なお、本実施形態では、通信機能としてIEEE802.15.4を用いたが、これに限らず、他の無線LAN(Local Area Network)通信機能を利用しても良い。また、Ethernet(登録商標)等の有線LAN通信機能、または無線LAN通信機能と有線LAN通信機能の組合せを利用しても良い。
第2の通信装置2は、第1の通信装置1と同じく、本実施形態における通信装置である。第2の通信装置2は、具体例には、サーバ等であってよいがこれに限定されず、第1の通信装置1と同様の装置であってもよい。
中継装置3は、第1の通信装置1と同じく、本実施形態における通信装置である。中継装置3は、受信した6LoWPANパケットを解析し、パケットの宛先の通信装置が属するネットワークにパケットを転送するルーティング機能を有する中継装置である。なお、本実施形態において用いられるパケットとは、ネットワーク上で送受信されるデータの単位である。
本実施形態において、第1の通信装置1は、中継装置3との間の6LoWPANでの通信を経由して、第2の通信装置2と通信接続を行う。なお、本実施形態では、中継装置3を経由して通信接続を行ったが、これに限らず、第1の通信装置1と第2の通信装置2とが中継装置3を2台以上経由して通信接続する等、中継装置3を少なくとも1台経由して通信する接続形態であればよい。また、第1の通信装置1と第2の通信装置の間の通信が可能であれば、中継装置3と第2の通信装置2の間の通信方式については、特に限定されない。
次に、本実施形態に係る通信システムの構成要素を詳細に説明する。
図2は、本実施形態に係る第1の通信装置1のハードウェア構成例を示すブロック図である。
第1の通信装置1は、RAM(Random Access Memory)11、ROM(Read Only Memory)12、CPU(Central Processing Unit)13、タイマ管理部14を備えている。また、第1の通信装置1は、メディアアクセス制御モジュール(MAC:Media Access Control)15、物理レイヤモジュール(PHY:Physical)16、アンテナ17を備えている。なお、第1の通信装置1が上記の構成・モジュールを全て備えることは必須でない。
RAM11は、プログラムやデータを一時記憶する。ROM12は、変更を必要としないプログラムやパラメタを格納する。CPU13は、第1の通信装置1全体を制御する。CPU13は、メインメモリであるRAM11をワークメモリとして、ROM12や図示しないHDD等プログラム格納部の記憶媒体に格納された各種プログラムを実行する。CPU13が実行するプログラムには、ネットワークドライバが含まれ、ネットワークドライバの実行により後述するパケットの送受信処理等を含むプロトコル処理の機能が実現される。
タイマ管理部14は、プログラムの処理等の時間の経過を管理する。MAC15とPHY16は、アンテナ17での無線LAN等のネットワークを介した通信を行う通信部である。CPU13は、ネットワークドライバを実行し、MAC15を制御してデータの送受信を行う。
図3は、第1の通信装置1の機能モジュール構成例を示すブロック図である。
第1の通信装置1は、制御部21、無線通信制御部22、記憶制御部23、IPv6通信制御部24、6LoWPAN通信制御部25、ヘッダ圧縮部26、リンク判定部27、圧縮フィールド選択部28を備えている。各機能モジュールは、CPU13がROM12に格納されたプログラムをRAM11に展開して処理を実行することにより実現されている。また、例えば、CPU13を用いたソフトウェア処理の代替でハードウェアによる処理を行う場合には、ここで説明する各モジュールの処理に対応させた演算部や回路を構成すればよい。なお、第1の通信装置1が、上記の機能モジュールを全て備えることは必須でない。
制御部21は、第1の通信装置1が備える個々の機能モジュールを制御する。無線通信制御部22は、MAC15とPHY16を制御し、第2の通信装置2との無線通信の制御等を行う。記憶制御部23は、RAM11を制御し、処理データや画像コンテンツ、映像コンテンツ等のデータを記憶または削除する。IPv6通信制御部24は、無線通信制御部22を利用して、第2の通信装置2との間でIPv6方式の通信制御を行う。
6LoWPAN通信制御部25は、無線通信制御部22を利用して、他の通信装置との間で6LoWPAN方式の通信制御を行う。なお、6LoWPAN通信制御部25は、IPv6通信制御部24で作成されたIPv6パケットを6LoWPANパケットに変換して送信する機能を有する。また、6LoWPAN通信制御部25は、6LoWPANパケットを受信して、IPv6パケットに変換し、IPv6通信制御部24にIPv6パケットを受け渡す機能を有する。
ヘッダ圧縮部26は、IPv6ヘッダを圧縮する機能を有し、6LoWPAN通信制御部25から利用される。このヘッダ圧縮部26は、圧縮フィールド選択部28によって選択したパケットのヘッダのフィールドを圧縮する。
リンク判定部27は、通信接続する第2の通信装置2が自装置と同一のネットワークリンク内に存在するかを判定する機能を有し、6LoWPAN通信制御部25から利用される。このリンク判定部27は、第2の通信装置2に送信するパケットに応じて、中継装置においてフラグメント処理を要するか否かを判定する。
圧縮フィールド選択部28は、IPv6ヘッダの各フィールドについてヘッダ圧縮部26を利用して圧縮するか否かを選択する機能を有し、6LoWPAN通信制御部25から利用される。この圧縮フィールド選択部28は、第2の通信装置2に送信するパケットのヘッダの各フィールドから圧縮すべきフィールドを選択する。
また、第2の通信装置及び中継装置3は、図2に示す第1の通信装置1のハードウェア構成例と同様に、RAM11、ROM12、CPU13、タイマ管理部14、MAC15、PHY16、アンテナ17を備えている。なお、第2の通信装置2及び中継装置3が上記の構成・モジュールを全て備えることは必須でない。
また、第2の通信装置及び中継装置3は、図3に示す第1の通信装置1の機能モジュール構成例と同様に、制御部21、無線通信制御部22、記憶制御部23、IPv6通信制御部24、6LoWPAN通信制御部25、ヘッダ圧縮部26等を備えている。なお、第2の通信装置2及び中継装置が、上記の機能モジュールを全て備えることは必須でない。
(通信動作詳細)
本実施形態に係る通信システムでは、第1の通信装置1は、アドレス情報に基づいてパケット構成を切り替えてデータ通信を行うようになっている。
図4(a)および(b)は、一般的な6LoWPANパケットの構成を示す図である。また、図5(a)および(b)は、本実施形態に係る第1の通信装置1が作成する6LoWPANパケットの構成を示す図である。なお、本実施形態では、トランスポート層のプロトコルとしてUDP(User Datagram Protocol)を使用する例を示すが、これに限らず、TCP(Transmission Control Protocol)等を使用してもよい。
図4(a)は、一般的な6LoWPANパケットの構成を示す図である。6LoWPANパケット41は、IPv6圧縮ヘッダ、UDPヘッダ、データで構成されている。この6LoWPANパケット41は、ヘッダ圧縮部26によりIPv6ヘッダが全て圧縮される場合のパケット構成を示している。なお、6LoWPANパケット41は、6LoWPANのパケットサイズの上限サイズで構成される。6LoWPANパケット42は、IPv6圧縮ヘッダ、IPv6非圧縮ヘッダ、UDPヘッダ、データで構成されている。この6LoWPANパケット42は、ヘッダ圧縮部26によりIPv6ヘッダ内の一部フィールドが圧縮され、圧縮できなかったフィールドをIPv6非圧縮ヘッダとして付加する場合のパケット構成を示している。
パケットにより圧縮できるヘッダフィールドが異なるため、IPv6非圧縮ヘッダサイズはパケットのヘッダ構成に依存する。6LoWPANパケット42は、6LoWPANパケット41と同様、6LoWPANのパケットサイズの上限サイズで構成される。なお、ヘッダ圧縮部26におけるIPv6ヘッダの具体的な圧縮方法については、RFC6282(非特許文献2)で規定される6LoWPANで採用されるヘッダ圧縮部に準拠するため、ここでは説明しない。
以下、第1の通信装置1が、中継装置3を経由して、第2の通信装置2宛に6LoWPANパケット41または6LoWPANパケット42のパケット構成でデータを送信した場合に、中継装置3でフラグメント処理が発生する過程を説明する。
図4(b)は、中継装置3でフラグメント処理された後の6LoWPANパケットの構成例を示す図である。本実施形態では、第1の通信装置1と、第2の通信装置2とが、中継装置3を経由して6LoWPANでの通信接続を行う。第1の通信装置1は、6LoWPANパケット41または6LoWPANパケット42を送信する。この場合、中継装置3は、受信した6LoWPANパケットの圧縮ヘッダを伸長し、IPv6パケットを再構成して処理した上で、再度、IPv6ヘッダを圧縮して6LoWPANパケットを作成し、第2の通信装置2に転送する。この際、中継装置3が受信したパケットではIPv6圧縮ヘッダに含まれていたIPv6ヘッダのフィールドが、解析後のIPv6ヘッダ再圧縮時には圧縮できずに、IPv6非圧縮ヘッダとして送信するパケットに付加する必要がある場合がある。
圧縮率が下がるIPv6の具体的なヘッダフィールドとして、ホップリミット、宛先IPアドレス、送信元IPアドレス等がある。圧縮率が下がる要因として、第1の通信装置1から送信された6LoWPANパケットが第1の通信装置1を含むネットワークリンク外に出ていく場合、ホップリミットが中継装置3で1減算される動作がある。圧縮されたホップリミットは、2ビットで表記され、データとしてインラインで送信される「00」、「01」ホップリミットが1、「10」ホップリミットが64、「11」ホップリミットが255、の4つの値しか表記できない。このため、ホップリミットがこれ以外の値である場合には、ホップリミットをIPv6非圧縮ヘッダとして送信するパケットに付加する必要がある。具体的には、第1の通信装置からのパケット中の圧縮ヘッダ中のホップリミットが64を意味する「10」であった場合、中継装置3が中継して送信するパケット中のホップリミットは63となる。この場合、ホップリミットは、送信するパケットに、IPv6非圧縮ヘッダとして付加する必要がある。
また、IPアドレスは通信装置のMACアドレスとの組み合わせで圧縮方法が変わるため、圧縮率が下がる要因になっている。これらの要因は、RFC6282(非特許文献2)で規定されている動作によるものである。
圧縮率が下がると、6LoWPANパケット41または6LoWPANパケット42でIPv6圧縮ヘッダ内にあった情報をIPv6非圧縮ヘッダ内に追加してパケットを作成する必要が生じる。この結果、パケットサイズが大きくなり、6LoWPANパケットのパケットサイズの上限を超えてしまうため、中継装置3では、6LoWPANパケットを分割するフラグメント処理を実行する必要がある。フラグメント処理が実行されると、例えば図4(b)に示す6LoWPANフラグメントパケット43および44のように、フラグメントヘッダを付加した2つのパケットに分割される。なお、フラグメント処理については、RFC4944(非特許文献1)で規定されている6LoWPANで採用される処理方法に準拠するため、ここでは説明しない。
以下、本実施形態において、中継装置3でのフラグメント処理の発生を防止するために、第1の通信装置1で作成する6LoWPANパケットの構成例を示す。
図5(a)は、中継装置3でフラグメント処理の発生を防止するために、本実施形態の第1の通信装置1で作成する6LoWPANパケットの一構成例を示す図である。6LoWPANパケット45は、IPv6圧縮ヘッダ、UDPヘッダ、データで構成されている。この図は、ヘッダ圧縮部26によりIPv6ヘッダが全て圧縮される場合のパケット構成を示している。
6LoWPANパケット45のパケットサイズは、6LoWPANパケット41のような6LoWPANのパケットサイズの上限サイズではなく、上限サイズからIPv6非圧縮ヘッダのサイズ分だけ小さいパケットサイズとなるようにデータサイズを縮小する。すなわち、この通信システムでは、第2の通信装置2に送信するパケットのデータサイズを、上限サイズから圧縮フィールド選択部28が圧縮すべきフィールドとして選択しない所定のフィールドのサイズ分だけ小さいパケットとなるように縮小する。なお、IPv6非圧縮ヘッダのサイズとは、中継装置3で圧縮できなくなり、非圧縮ヘッダとして増加するサイズである。また、6LoWPANパケット45は、6LoWPANパケット41に対してフラグメントの発生を防止できる構成であるが、6LoWPANパケット42に対しても同様に、データサイズを縮小することでフラグメントの発生を防止することが可能である。
図5(b)は、中継装置3でフラグメント処理の発生を防止するために、本実施形態の第1の通信装置1で作成する6LoWPANパケットの他の構成例を示す図である。6LoWPANパケット46は、IPv6圧縮ヘッダ、IPv6非圧縮ヘッダ、UDPヘッダ、データで構成されている。6LoWPANパケット46は、本来、ヘッダ圧縮部26により圧縮できるヘッダフィールドに対し、意図的にIPv6非圧縮ヘッダを付加した構成である。すなわち、この通信システムでは、第2の通信装置に送信するパケットのヘッダのフィールドの少なくとも一部を非圧縮とする。付加するIPv6非圧縮ヘッダは、中継装置3で非圧縮ヘッダとして増加するヘッダフィールドである。
6LoWPANパケット46のパケットサイズは、6LoWPANのパケットサイズの上限サイズである。なお、6LoWPANパケット46は、6LoWPANパケット41に対してフラグメントの発生を防止させる構成である。また、6LoWPANパケット42に対しても同様に、意図的にIPv6圧縮ヘッダに含むことができるフィールドもIPv6非圧縮ヘッダとして付加することで、フラグメントの発生を防止することが可能である。なお、6LoWPANパケット46で送信できるデータサイズは、6LoWPANパケット45で送信できるデータサイズと同様である。
図6は、一般的な6LoWPANパケットを作成して送信する処理の例を示す概要図である。また、図7及び図8は、本実施形態に係る第1の通信装置1が、6LoWPANパケットを作成して送信する例を示す概要図である。なお、図6から図8において、図3、図4および図5と同じものは、図3、図4および図5の符号と同じ符号で示す。また、図4および図5で示した通り、本実施形態では、トランスポート層のプロトコルとしてUDPを使用する例を示すが、これに限らず、TCP等を使用してもよい。
図6は、一般的な6LoWPANパケットの作成過程の一例を示す図である。IPv6通信制御部24は、IPv6ヘッダを作成、付加して、UDPヘッダとデータをIPペイロードとするIPv6パケット51を作成する。6LoWPAN通信制御部25は、ヘッダ圧縮部26によりIPv6ヘッダを全て圧縮してIPv6圧縮ヘッダを作成し、6LoWPANパケット41を作成する。無線通信制御部22は、無線ヘッダを作成、付加して送信パケット52を作成する。
第1の通信装置1が、中継装置3を経由して、第2の通信装置2に送信パケット52を送信した場合、図4(b)で示したように中継装置3でフラグメント処理が発生する場合がある。なお、本実施形態では、無線通信制御部22として、Zigbee(登録商標)を使用する例で説明するが、これに限らず、6LoWPAN通信が可能な無線通信制御であればよい。
図7は、中継装置3でフラグメント処理の発生を防止するための、本実施形態における6LoWPANパケットの作成過程の一例を示す図である。図6と同様に、IPv6通信制御部24は、IPv6ヘッダを作成、付加して、UDPヘッダとデータをIPペイロードとするIPv6パケット51を作成する。
6LoWPAN通信制御部25は、圧縮フィールド選択部28により中継装置3でフラグメント処理が発生すると判断した場合、ヘッダ圧縮部26によりIPv6ヘッダを全て圧縮してIPv6圧縮ヘッダを作成する。さらに、6LoWPAN通信制御部25は、データサイズを縮小して6LoWPANパケット45を作成する。無線通信制御部22は、無線ヘッダを作成、付加して送信パケット53を作成する。なお、本実施形態では、6LoWPAN通信制御部25がデータサイズを縮小したが、これに限らず、IPv6通信制御部24やアプリケーション等でデータサイズを縮小してもよい。
図8は、中継装置3でフラグメント処理の発生を防止するための、本実施形態における6LoWPANパケットの作成過程の他の一例を示す図である。図6と同様に、IPv6通信制御部24は、IPv6ヘッダを作成、付加して、UDPヘッダとデータをIPペイロードとするIPv6パケット51を作成する。
6LoWPAN通信制御部25は、中継装置3でフラグメント処理が発生すると判断した場合、IPv6ヘッダを全て圧縮できる場合でもヘッダ圧縮部26によりIPv6ヘッダの一部を圧縮してIPv6圧縮ヘッダを作成する。さらに、6LoWPAN通信制御部25は、中継装置3でIPv6非圧縮ヘッダとなるフィールドをIPv6非圧縮ヘッダとして作成して、6LoWPANパケット46を作成する。
なお、中継装置3でフラグメント処理の発生の有無は、第1の通信装置1と第2の通信装置が同一リンクに属するか否かにより判断することができる。第1の通信装置と第2の通信装置が同一リンクに属するのであれば、中継装置3におけるフラグメント処理が発生しないか若しくは6LowPANパケットは中継装置3を中継することがないため、第1の通信装置1は、図6に示すパケット圧縮を行う。一方、第1の通信装置1と第2の通信装置2が同一リンクに属さないのであれば、6LowPANパケットは中継装置3を中継するため、第1の通信装置は、図7または図8に示す選択的なパケット圧縮を行う。
無線通信制御部22は、無線ヘッダを作成、付加して送信パケット54を作成する。なお、図7と同様に、6LoWPAN通信制御部25がデータサイズを縮小したが、これに限らず、IPv6通信制御部24やアプリケーション等でデータサイズを縮小してもよい。
図9は、本実施形態に係る第1の通信装置1が、アドレス情報に基づいてパケット構成を決定する手順を示すフローチャートである。なお、本フローチャートにおいて、S3とS5がない場合、S3とS4がない場合も許容する。すなわち、図9のS1(グローバルアドレス使用)がYesの場合、S3の処理を介さずに、S4の処理およびS5の処理のいずれかを実行するように構成してもよい。
S1において、第1の通信装置1の6LoWPAN通信制御部25は、リンク判定部27を使用して、送信元IPアドレスまたは宛先IPアドレスにグローバルアドレスを使用するかを判断する。グローバルアドレスを使用するのであれば、6LowPANパケットは中継装置3を中継するものと判断できる。すなわち、第1の通信装置1の6LoWPAN通信制御部25は、第2の通信装置2に送信するパケットに応じて、中継装置3においてフラグメント処理を要するか否かを判定する。
グローバルアドレスを使用する場合(S1;YES)、中継装置3でフラグメント処理が発生する場合があるためS3に進むが、グローバルアドレスを使用しない場合(S1;NO)、中継装置3でフラグメント処理が発生しないためS2に進む。グローバルアドレスを使用する場合には、第1の通信装置1が第2の通信装置2と同一のネットワークリンク内に存在せず、中継装置3においてフラグメント処理を要する(可能性がある)と判定する。
S2において、第1の通信装置1の圧縮フィールド選択部28は、ヘッダ圧縮部26を使用して、圧縮可能なIPv6ヘッダフィールドをすべて圧縮し、6LoWPANのパケットサイズ上限までデータを含めて6LoWPANパケット41を作成する。なお、6LoWPANパケット41の代わりに6LoWPANパケット42を作成するようにしてもよい。
S3において、第1の通信装置1の圧縮フィールド選択部28は、累積送信データ量が閾値を超えたか否かを判断する。累積送信データ量が閾値を超えた場合(S3;YES)には、第1の通信装置1と中継装置3間の通信帯域が逼迫すると判断してS4に進む。一方、累積送信データ量が閾値を超えていない場合(S3;NO)には、圧縮フィールド選択部28は、第1の通信装置1と中継装置3間の通信帯域に余裕があると判断してS5に進む。
S4において、第1の通信装置1の圧縮フィールド選択部28は、ヘッダ圧縮部26を使用して、圧縮可能なIPv6ヘッダフィールドをすべて圧縮する。さらに、圧縮フィールド選択部28は、6LoWPANパケットの上限サイズから中継装置3でIPv6非圧縮ヘッダとなるサイズ分だけ小さいパケットサイズとなるようにデータサイズを縮小した6LoWPANパケット45を作成する。パケットサイズを小さくすることで、第1の通信装置1と中継装置3間の通信帯域を有効利用することが可能となる。
一方、S5において、第1の通信装置1の圧縮フィールド選択部28は、中継装置3でIPv6非圧縮ヘッダとなるフィールドをIPv6非圧縮ヘッダとして作成して、6LoWPANパケット46を作成する。IPv6非圧縮ヘッダを作成しておくことで、中継装置3のヘッダ解析処理の負荷を軽減させることが可能となる。
S6において、第1の通信装置1の6LoWPAN通信制御部25は、S2、S4、S5で圧縮フィールド選択部28が選択したパケット構成に基づき、ヘッダ圧縮部26を使用してIPv6圧縮ヘッダ、IPv6非圧縮ヘッダをそれぞれ作成する。さらに、6LoWPAN通信制御部25は、生成したヘッダを用いて6LoWPANパケットを作成する。
以上、説明したように、第1の通信装置1は6LoWPANパケットを送信する際に、送信元IPアドレスまたは宛先IPアドレスに基づき、中継装置である中継装置3で6LoWPANパケットのフラグメント処理が発生することを検知する。さらに、第1の通信装置1は、中継装置3における6LoWPANパケットのフラグメント処理の発生を防止するようにパケット構成を切り替えて、6LoWPANパケットを作成する。すなわち、第1の通信装置1は、第2の通信装置2が第1の通信装置1と同一のネットワークリンク内に存在しないと判定した場合、第2の通信装置2に送信すべきパケットのデータサイズを縮小する。あるいは、第1の通信装置1は、第2の通信装置2が第1の通信装置1と同一のネットワークリンク内に存在しないと判定した場合、第2の通信装置2に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とする。
これにより、この通信システムでは、中継装置3におけるフラグメント処理の発生を防止することができる。これにより、中継装置3の処理負荷を軽減することが可能となる。さらに、第1の通信装置1は、送信データ量に基づいて、6LoWPANパケットのパケットサイズが異なる二つのパケット構成を切り替えて、6LoWPANパケットを作成する。これにより、第1の通信装置1と中継装置3の間の通信帯域を有効利用することが可能となり、通信効率が向上する。
実施形態2
以下、実施形態2に係る通信システムにおける通信処理を説明する。この通信システムは、実施形態1の図1等と同様に構成されている。なお、本実施形態において、実施形態1と同様の図、および図中と同じ要素に関しては説明を省略する。
実施形態1では、第1の通信装置1では、アドレス情報および送信データ量に基づいて6LoWPANパケットの構成を使い分けていた。本実施形態では、第1の通信装置1は、第2の通信装置2からの応答情報および無線ヘッダ内の輻輳情報に基づいて6LoWPANパケットの構成を使い分けるようにしている。
図10は、本実施形態に係る第1の通信装置1が、第2の通信装置2からの応答情報に基づいてパケット構成を決定する手順を示すフローチャートである。なお、本フローチャートにおいて、S14とS16がない場合、S14とS15がない場合も許容する。すなわち、図10のS12(他の通信装置がリンク外に存在)がYesの場合、S14の処理を介さずに、S15の処理およびS16の処理のいずれかを実行するように構成してもよい。
S11において、第1の通信装置1の6LoWPAN通信制御部25はリンク判定部27を使用して、第2の通信装置2を示す宛先IPアドレス宛にpingパケットを送信する。この際、ホップリミットを1に設定しておく。
S12において、第1の通信装置1のリンク判定部27は、S11で送信したpingパケットの応答の有無により、宛先の第2の通信装置2が第1の通信装置1と同一のネットワークリンクに存在するか否かを判断する。応答パケットを受信した場合(S12;NO)には、第2の通信装置2は第1の通信装置1と同一のネットワークリンクに存在するため、リンク判定部27は、中継装置3でフラグメント処理が発生しないと判断し、S13に進む。一方、応答パケットを受信しなかった場合(S12;YES)、第2の通信装置2は第1の通信装置1と異なるネットワークリンクに存在するため、リンク判定部27は、中継装置3でフラグメント処理が発生する場合があると判断し、S14に進む。
S13における処理は、図9におけるS2の処理と同様である。
S14において、第1の通信装置1の圧縮フィールド選択部28は、無線ヘッダ内で無線の輻輳状態を示すコンテンションフィールド情報が閾値を超えたか否かを判断する。コンテンションフィールド情報が閾値を超えた場合(S14;YES)、圧縮フィールド選択部28は、第1の通信装置1と中継装置3間の通信帯域が逼迫していると判断してS15に進む。一方、コンテンションフィールド情報が閾値を超えていない場合(S14;NO)には、圧縮フィールド選択部28は、第1の通信装置1と中継装置3間の通信帯域に余裕があると判断してS16に進む。
S15〜S17における処理は、図9におけるS4〜S6の処理と同様である。
以上、説明したように、第1の通信装置1は6LoWPANパケットを送信する際に、第2の通信装置2からの応答情報に基づき、中継装置である中継装置3で6LoWPANパケットのフラグメント処理が発生することを検知する。さらに、第1の通信装置は、中継装置3における6LoWPANパケットのフラグメント処理の発生を防止するようにパケット構成を切り替えて、6LoWPANパケットを作成する。これにより、この通信システムでは、中継装置3の処理負荷を軽減することが可能となる。
さらに、この通信システムでは、無線ヘッダ内で無線の輻輳状態を示すコンテンションフィールド情報に基づき、6LoWPANパケットのパケットサイズが異なる二つのパケット構成を切り替えて、6LoWPANパケットを作成する。これにより、第1の通信装置1と中継装置3の間の通信帯域を有効利用することが可能となり、通信効率が向上する。
なお、実施形態1と実施形態2について、S1とS11およびS12、S3とS14の条件の組み合わせを変えてもよい。即ち、実施形態1においてS3の代わりにS14を使用するフロー、実施形態2においてS11およびS12の代わりにS1を使用するフローも許容する。
(他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を経由してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、上述した実施形態の機能を実現するハードウェアによる処理も同様である。
ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからFPGA上に自動的に専用回路を生成すればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。また、ASIC(Application Specific Integrated Circuit)により実現するようにしてもよい。
1…第1の通信装置、2…第2の通信装置、3…中継装置、21…制御部、22…無線通信制御部、23…記憶制御部、24…IPv6通信制御部、25…6LoWPAN通信制御部、26…ヘッダ圧縮部、27…リンク判定部、28…圧縮フィールド選択部

Claims (11)

  1. 他の通信装置と通信可能な通信装置であって、
    前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在するか否かを判定する判定手段と、
    前記判定手段により前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在しないと判定された場合、前記他の通信装置に送信すべきパケットのデータサイズを縮小し、または、前記他の通信装置に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とし、ヘッダを圧縮して前記他の通信装置に送信するパケットを生成する生成手段と、
    を備えることを特徴とする通信装置。
  2. 前記判定手段は、
    前記他の通信装置との間の通信において、送信元IPアドレスまたは宛先IPアドレスにグローバルアドレスを使用する場合に、前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在しないと判定する、
    ことを特徴とする請求項1記載の通信装置。
  3. 前記判定手段は、
    前記他の通信装置と通信を行う際に、ホップリミットを1に設定したパケットを前記他の通信装置に送信し、前記他の通信装置からの応答がない場合に、前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在しないと判定する、
    ことを特徴とする請求項1または2に記載の通信装置。
  4. 前記生成手段は、
    前記他の通信装置と通信を行う際に、累積送信データ量が閾値を超えた場合に、前記パケットのヘッダの圧縮可能なフィールドをすべて圧縮して前記他の通信装置に送信するパケットを生成する、
    ことを特徴とする請求項1から3のいずれか1項に記載の通信装置。
  5. 前記生成手段は、
    前記他の通信装置と通信を行う際に、無線ヘッダ内で無線の輻輳状態を示すコンテンションフィールド情報が閾値を超えた場合に、前記パケットのヘッダの圧縮可能なフィールドをすべて圧縮すべきフィールドとして選択する、
    ことを特徴とする請求項1から4のいずれか1項に記載の通信装置。
  6. 前記生成手段は、
    前記他の通信装置に送信すべきパケットのデータサイズを、上限サイズから前記パケットのヘッダの所定のフィールドのサイズ分だけ小さいパケットとなるように縮小する、
    ことを特徴とする請求項1から5のいずれか1項に記載の通信装置。
  7. 前記生成手段は、前記判定手段により前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在すると判定された場合、圧縮可能なヘッダフィールドを圧縮してパケットを作成することを特徴とする請求項1から6のいずれか1項に記載の通信装置。
  8. 前記生成手段が生成した前記他の通信装置に送信するパケットの送信に使用する通信プロトコルとして6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)を用いる、
    ことを特徴とする請求項1から7のいずれか1項に記載の通信装置。
  9. 他の通信装置と通信可能な通信方法であって、
    前記他の通信装置が当該通信装置と同一のネットワークリンク内に存在するか否かを判定する第1のステップと、
    前記第1のステップにおいて前記他の通信装置が当該通信装置と同一のリンク内に存在しないと判定された場合、前記他の通信装置に送信すべきパケットのデータサイズを縮小し、または、前記他の通信装置に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とし、ヘッダを圧縮して前記他の通信装置に送信するパケットを生成する第2のステップと、
    を有することを特徴とする通信方法。
  10. 他の通信装置と通信可能な通信装置であって、
    前記他の通信装置が当該通信装置と同一のリンク内に存在するか否かを判定する判定手段と、
    前記判定手段により前記他の通信装置が当該通信装置と同一のリンク内に存在しないと判定された場合、前記他の通信装置に送信すべきパケットのデータサイズを縮小し、または、前記他の通信装置に送信すべきパケットのヘッダのフィールドの少なくとも一部を非圧縮とし、ヘッダを圧縮して前記他の通信装置に送信するパケットを生成する生成手段と、を有する通信装置と、
    前記他の通信装置と前記通信装置の間の通信の中継を行う中継装置と、
    を備えることを特徴とする通信システム。
  11. コンピュータを、請求項1から8のいずれか1項に記載された通信装置の各手段として機能させるためのプログラム。
JP2017043335A 2017-03-07 2017-03-07 通信装置、通信方法、通信システムおよびプログラム Pending JP2018148469A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017043335A JP2018148469A (ja) 2017-03-07 2017-03-07 通信装置、通信方法、通信システムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017043335A JP2018148469A (ja) 2017-03-07 2017-03-07 通信装置、通信方法、通信システムおよびプログラム

Publications (1)

Publication Number Publication Date
JP2018148469A true JP2018148469A (ja) 2018-09-20

Family

ID=63592460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017043335A Pending JP2018148469A (ja) 2017-03-07 2017-03-07 通信装置、通信方法、通信システムおよびプログラム

Country Status (1)

Country Link
JP (1) JP2018148469A (ja)

Similar Documents

Publication Publication Date Title
TWI644581B (zh) 封包標頭壓縮方法及其通訊裝置
US20130311614A1 (en) Method for retrieving content and wireless communication device for performing same
EP3008875B1 (en) Traffic optimization in a communications network
Hummen et al. Slimfit—A HIP DEX compression layer for the IP-based Internet of things
US20200296629A1 (en) Back-pressure control in a telecommunications network
JPWO2007052764A1 (ja) セッション中継装置およびセッション中継方法
CN106664650A (zh) 使用多个无线接入中的至少一者发射数据的方法、用户设备及网络元件
TW202038584A (zh) 封包發送方法、封包接收方法以及相關設備
EP3891948A1 (en) Device and method for flexible frame compression
Abdelfadeel et al. Lschc: Layered static context header compression for lpwans
Sun et al. The Internet underwater: An IP-compatible protocol stack for commercial undersea modems
US9548921B2 (en) Compression of routing information exchanges
CN107615810B (zh) 用于在线网络代码的包头压缩系统和方法
JP2006050371A (ja) アドホックネットワークにおけるデータ送信方法
JP2018148469A (ja) 通信装置、通信方法、通信システムおよびプログラム
US10187329B2 (en) Method and apparatus for processing network protocol stack data
Huang et al. Network layer support for gigabit tcp flows in wireless mesh networks
Westphal Layered ip header compression for ip-enabled sensor networks
US10547549B2 (en) Processing data flows based on information provided via beacons
US20150156653A1 (en) Packet analysis within a radio access network
JP2022532020A (ja) 圧縮処理方法、解圧縮処理方法及び関連機器
JP2006333407A (ja) 送信制御装置
JP2019114947A (ja) 通信装置、通信装置の制御方法およびプログラム
US10009279B2 (en) Content compression in mobile network
US9667728B2 (en) Controller offloading