JP5839136B1 - 通信装置、通信システム、および通信方法 - Google Patents

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

Info

Publication number
JP5839136B1
JP5839136B1 JP2015117719A JP2015117719A JP5839136B1 JP 5839136 B1 JP5839136 B1 JP 5839136B1 JP 2015117719 A JP2015117719 A JP 2015117719A JP 2015117719 A JP2015117719 A JP 2015117719A JP 5839136 B1 JP5839136 B1 JP 5839136B1
Authority
JP
Japan
Prior art keywords
data
communication device
node
transmission
session information
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.)
Active
Application number
JP2015117719A
Other languages
English (en)
Other versions
JP2017005511A (ja
Inventor
木格 策力
木格 策力
東 余
東 余
鋭堅 安
鋭堅 安
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.)
THE UNIVERSITY OF ELECTRO-COMUNICATINS
Original Assignee
THE UNIVERSITY OF ELECTRO-COMUNICATINS
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 THE UNIVERSITY OF ELECTRO-COMUNICATINS filed Critical THE UNIVERSITY OF ELECTRO-COMUNICATINS
Priority to JP2015117719A priority Critical patent/JP5839136B1/ja
Application granted granted Critical
Publication of JP5839136B1 publication Critical patent/JP5839136B1/ja
Publication of JP2017005511A publication Critical patent/JP2017005511A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】アドホックネットワークでのマルチホップ通信において、通信の信頼性の向上を図った通信装置、通信システム、および通信方法を提供する。【解決手段】実施形態の通信装置は、先の通信装置からセッション情報を受信するセッション情報受信部と、前記セッション情報の受信に対応して、前記先の通信装置にACKパケットを送信するACK送信部と、前記先の通信装置から、前記ACKパケットの送信に対応して送信されるデータを受信するデータ受信部と、前記データを送信する次の通信装置を決定する決定部と、前記次の通信装置に、前記セッション情報を送信するセッション情報送信部と、前記セッション情報の送信に対応して前記次の通信装置から送信されるACKパケットを受信するACK受信部と、前記ACKパケットの受信に対応して、前記次の通信装置に前記データを送信するデータ送信部と、を備える。【選択図】図4

Description

本発明の実施形態は、アドホックネットワークでのマルチホップ通信に係る通信装置、通信システム、および通信方法に関する。
アドホックネットワークは、互いに直接通信する無線端末で構成されたネットワークである。アドホックネットワークでは、基地局やアクセスポイントが不要であり、ネットワークを簡易に構築できる。
アドホックネットワークにおいて、複数の端末をバケツリレー方式で接続することで(マルチホップ通信)、無線の到達範囲を超えた通信が可能となる。
このマルチホップ通信において、送信側端末から受信側端末(宛先)まで多数の無線端末を経由して通信すると(ホップ数が増えると)、通信のスループットが低下したり、データが宛先まで届かなかったりする可能性がある。
マルチホップ通信において、通信の信頼性を向上する技術が公開されている。例えば、一部のノード(無線端末)がプロキシとして動作し、上位プロキシ(またはソースノード)にローカルACKを返すことで、中継ノードで輻輳を制御する技術が公開されている(非特許文献1参照)。また、マルチホップにおけるエンド・ツー・エンドACKを用いて輻輳を制御する技術が公開されている(非特許文献2参照)。
これらの技術では、エンド・ツー・エンドACKを用いて、送信側端末と受信側端末(宛先)間でセッション(エンド・ツー・エンド・セッション)を確立し、データを送信している。しかしながら、ホップ数が増えると、エンド・ツー・エンドでセッションを確立、維持して、データを送受信することは必ずしも容易ではない。
S. Kopparty, S.V. Krishnamurthy, M. Faloutsos, S.K. Tripathi, "Split TCP for mobile ad hoc networks", Proc. IEEE GLOBECOM, pp.138-142, 2002. Y.-N. Lien and Yi-Fan Yu, "Hop-by-Hop TCP over MANET", Proc. IEEE APSCC, pp.1150-1155, 2008.
本発明は、アドホックネットワークでのマルチホップ通信において、通信の信頼性の向上を図った通信装置、通信システム、および通信方法を提供することを目的とする。
実施形態の通信装置は、複数の通信装置が互いに無線で通信するアドホックネットワークに用いる通信装置であって、複数の宛先アドレスと、複数の次のアドレスと、を対応して表すテーブルを記憶するテーブル記憶部と、先の通信装置から、セッション識別子、送信元アドレス、および宛先アドレスを含むセッション情報を受信するセッション情報受信部と、前記セッション情報の受信に対応して、前記先の通信装置にACKパケットを送信するACK送信部と、前記先の通信装置から、前記ACKパケットの送信に対応して送信されるデータを受信するデータ受信部と、前記テーブルに基づいて、前記データを送信する次の通信装置を決定する決定部と、前記次の通信装置に、前記セッション情報を送信するセッション情報送信部と、前記セッション情報の送信に対応して前記次の通信装置から送信されるACKパケットを受信するACK受信部と、前記ACKパケットの受信に対応して、前記次の通信装置に前記データを送信するデータ送信部と、を備える。
本発明によれば、アドホックネットワークでのマルチホップ通信において、通信の信頼性の向上を図った通信装置、通信システム、および通信方法を提供できる。
比較例に係る通信ネットワークでの通信を表す模式図である。 実施形態に係る通信ネットワークでの通信の概略を表す模式図である。 実施形態に係る通信ネットワークでの通信の詳細を表す模式図である。 実施形態に係る通信装置10を表す模式図である。 ソースノード(ノード(0))の通信装置10での動作手順を表すフロー図である。 ソースノードの通信装置10でのデータ送信の手順を表すフロー図である。 中継ノード(ノード(1)〜(N−1))および宛先ノード(ノード(N))の通信装置10での動作手順を表すフロー図である。 中継ノードおよび宛先ノードの通信装置10でのデータ受信の手順を表すフロー図である。 中継ノードの通信装置10でのデータ送信の手順を表すフロー図である。 リンク切断時の通信装置10の動作手順を表すフロー図である。
(比較例)
以下、判り易さのために先に比較例を説明する。
図1は、比較例に係る通信ネットワークでの通信を表す模式図である。
複数のノード(無線端末)が、ノード(0)〜ノード(N)として、無線通信可能に接続されている。
ソースノード(ノード(0))が宛先ノード(ノード(N))にデータを送信することを考える。この場合、次のように、3ウェイ・ハンドシェイクによって、ノード(0)とノード(N)間の接続が確立される。
・ノード(0)は、ノード(N)に向けてSYNパケットを送信する。このSYNパケットは、ノード(1)〜ノード(N−1)を経由して、ノード(N)に到達する。
・SYNパケットを受信したノード(N)は、ノード(0)の接続を許可するSYN ACKパケットをノード(0)に向けて送信する。このSYN ACKパケットは、ノード(N−1)〜ノード(1)を経由して、ノード(0)に到達する。
・SYN ACKパケット パケットを受けとったノード(0)は、接続開始をあらわすACKパケットをノード(N)に向けて送信する。このACKパケットは、ノード(1)〜ノード(N−1)を経由して、ノード(N)に到達し、ノード(N)はノード(0)からのデータの送信に備える。
このように、ノード(0)とノード(N)間の接続(エンド・ツー・エンド・セッション)が確立され、その後、ノード(0)からノード(N)に向けて、データが送信される。
ここで、ホップ数(N)が大きい場合(長い経路での送信)、通信のスループットが低下したり、3ウェイハンドシェイク用メッセージ(SYN、SYN ACK、ACK)がノード(0)、(N)間で送受信できなかったりする可能性がある。ホップ数が増えると、エンド・ツー・エンドのセッションを効率的に保持するのは困難となる。
(実施形態の概略)
以下、判り易さのために、実施形態の概略を先に説明する。
図2は、実施形態に係る通信ネットワークでの通信の概略を表す模式図である。複数のノード(無線端末)が、ノード(0)〜ノード(N)として、無線通信可能に接続されている。
本実施形態では、複数の1ホップ(1-hop)のセッションを用いて、データを送信する。すなわち、本実施形態では、比較例のように、ノード(1)、ノード(N)間でエンド・ツー・エンド(END-TO-END)のセッションを確立し、データを送受信するのではない。本実施形態では、ノード(0)、(1)間、ノード(1)、(2)間、…ノード(N−1)、(N)間それぞれでセッションを確立し、データを送受信する。その結果、ノード(0)とノード(N)間(エンド・ツー・エンド)でデータが送受信される。
このように、本実施形態では、エンド・ツー・エンドでセッションを保持せず、複数の1ホップのセッション、すなわちホップ・バイ・ホップ(hop by hop)のセッションによって、エンド・ツー・エンドのデータ転送を実現している。この結果、エンド・ツー・エンドでセッションを確立、維持する必要が無くなり、ホップ数が大きい場合でも通信の信頼性を保つことができる。
なお、後述のように、1ホップのセッションの確立のために、セッション情報、S−ACKパケット(セッション情報を受信したことを表すACKパケット)が送受信される。
(実施形態の詳細)
以下、本実施形態の詳細を説明する。
図3は、実施形態に係る通信ネットワークWでの通信の詳細を表す模式図である。ソースノード(ノード(0))、中継ノード(ノード(1)〜(N−1))、宛先ノード(ノード(N))が無線通信可能に配置されている。
この通信ネットワークWは、アドホックネットワークである。各ノードは、いわゆる無線端末であり、基地局やアクセスポイントとしての機能は不要である。ノード間での1ホップのセッションを用いて、ホップ・バイ・ホップで、ソースノードから宛先ノードにデータが送信される。
図4は、各ノードに用いられる通信装置10を表す模式図である。後述のように、ソースノード、中継ノード、宛先ノードは、その動作内容が異なるが、通信装置10がそのいずれとしても動作可能とするのが、効率的である。このため、通信装置10は、ソースノード、中継ノード、宛先ノードのいずれとしても動作可能としている。
但し、ソースノードや宛先ノードが固定されているような場合は、ソースノードや宛先ノード専用の通信装置を用いても良い。
通信装置10は、互いに無線通信可能な無線端末であり、入出力部11、テーブル記憶部12、テーブル更新部13、次ノード決定部14、無線送信部15、無線受信部16、セッション保存情報記憶部17、データ保持部18、データ削除部19、切断判定部21、送信完了判定部22を有する。
通信装置10は、ハードウェアのみ、ハードウェア(CPU(Central Processing Unit)および他のハードウェア)とソフトウェア(プログラム)の組み合わせのいずれによっても構成できる。
入出力部11は、データおよびこのデータを送信する宛先アドレス、および必要に応じて、このデータの送信元アドレス(自装置のアドレス)を入出力する入出力手段(入力部および出力部)である。
テーブル記憶部12は、テーブルTを記憶する記憶装置(例えば、メモリ)である。
テーブルTは、例えば、ルーティン・テーブルであり、宛先アドレスとネクスト・ホップ(次ノード)のアドレス(次のアドレス)を対応して表す。
宛先アドレスは、宛先ノードのアドレスである。本実施形態では、宛先アドレスは、ノード(N)のアドレスのみで足りるが、宛先として、ネットワークW上の何れのノード(通信装置10)でも指定される可能性がある。このため、一般にテーブルTは、宛先アドレスとネクスト・ホップのアドレスの組み合わせを複数対応して表すことになる。
ネクスト・ホップ・アドレスは、次ノードのアドレス(中継アドレス、次のアドレス)であり、通信装置10がノード(0)であればノード(1)のアドレスを表す。以下、同様に、次ノードのアドレスは、通信装置10がノード(1)であればノード(2)のアドレス、…、通信装置10がノード(m)であればノード(m+1)のアドレス、…、通信装置10がノード(N−1)であればノード(N)のアドレスを表す。
テーブル更新部13は、テーブルTを更新する手段である。テーブル更新部13は、無線送信部15、無線受信部16を用いて、近隣の他の通信装置10とテーブルTの情報を交換することで、自己のテーブルTを更新することができる。
次ノード決定部14は、テーブルTに基づいて、データを送信する次の通信装置10(のアドレス、すなわち、次のアドレス)を決定する手段であり、決定部、第2、第3の決定部として機能する。
なお、テーブル更新部13によってテーブルTが更新された場合、次ノード決定部14が決定する次の通信装置10は異なってくる。
無線送信部15は、セッション情報、ACK(S−ACK、D−ACK)パケット、データ(データパケット)、経路切断情報を送信する手段である。無線送信部15は、セッション情報送信部、第2、第3のセッション情報送信部、ACK送信部、データ送信部、第2、第3のデータ送信部、経路切断情報送信部、第2の経路切断情報送信部として機能する。
表1は、セッション情報を表す。
Figure 0005839136
セッションIDは、例えば、ノード(0)からノード(N)へのデータの送受信のためのセッションを識別する識別子(セッション識別子)である。このセッションIDは、ノード(0)からノード(1)、ノード(1)からノード(2)、…ノード(N−1)からノード(N)へのホップ・バイ・ホップでのデータの送受信の全てにおいて、共通に用いられる。
ノード(0)、(N)のアドレスは、送信元(ソースノード)、送信先(宛先ノード)のアドレスであり、例えば、IPアドレスで表される。
S−ACKパケットおよびD−ACKパケット(データACKパケット)はそれぞれ、先のノードからセッション情報およびデータ(データパケット)を受信したことを表すACKパケットであり、セッションIDを含むことができる。S−ACKパケットおよびD−ACKパケットは、1ホップでのセッションの確立(データ送信の開始)およびデータ送信の完了に対応する。
S−ACKパケット、D−ACKパケットはいずれも、TCPのACKパケットを利用できる。これらのACKパケットに対応して送受信されるパケットが、セッション情報のパケット、データパケットと異なることから、ここでは判り易さのために、S−ACKパケット、D−ACKパケットと表記を異ならせている。
データは、テキスト、イメージ、音声、プログラム等、データであれば限定されることはない。
無線送信部15は、データを、通例、複数のデータに分割し(分割データ)、複数のデータパケットとして順次に送信する。なお、この詳細は後述する。
無線送信部15は、データ保持部18に保存された複数の分割データを順次に送信する。
経路切断情報は、次のノードへの通信(セッション)が切断されていることを表す情報であり、セッションIDを含むことができる。後述のように、切断判定部21が経路の切断の有無を判定する。
無線受信部16は、セッション情報、ACK(S−ACK、D−ACK)パケット、データ(データパケット)、経路切断情報(経路切断情報のパケット)を受信する手段である。無線受信部16は、セッション情報受信部、ACK受信部、第2、第3のACK受信部、データACK受信部、データ受信部、経路切断情報受信部として機能する。
無線受信部16は、複数の分割データを順次に受信し、データ保持部18に保存する。データ保持部18に保存された複数の分割データは、無線送信部15によって順次に送信される。
セッション保存情報記憶部17は、表2のセッション保存情報を記憶する記憶装置(例えば、メモリ)である。
Figure 0005839136
このセッション保存情報のセッションID、送信元(ノード(0))のアドレス、宛先(ノード(N))のアドレスはそれぞれ、セッション情報のセッションID、送信元アドレス、宛先アドレスと同一である。
ロケーションは、データを保持する場所(データ保持部18)を識別する情報である。
タイムスタンプ(time stamp)は、データを受信する日時、時刻を表す情報である。
データ保持部18は、無線受信部16が受信したデータ(分割データ、データパケット)を保持する記憶装置(例えば、バッファーメモリ、ハードディスク)である。データ保持部18は、無線送信部15によって次のノードへ送信するための送信用のデータ(データパケット)を記憶する。既述のように、データの具体的な保存場所は、ロケーションによって特定される。
データ保持部18として、ファイルシステム(メモリベースファイルシステムを含む)を用いることで、ノード間で情報を共有することができる。
データ削除部19は、データ送信の完了時に、データ保持部18内に保存されたデータを削除する。すなわち、無線受信部16がデータパケットの送信に対応する次のノードからのD−ACKパケット(データACKパケット)を受信したときに、データ削除部19がデータ保持部18内の分割データを順次に削除する。
切断判定部21は、無線送信部15からのセッション情報の送信後、所定時間、ACKパケット(S−ACKパケット)を受信しないときに、経路切断と判定する。このとき、無線送信部15から先のノードに経路切断情報が送信される。この経路切断情報は、さらに上流のノードに順次送信され、ソースノード(ノード(0))まで到達する。
送信完了判定部22は、送信未了のデータ(残余データ)の有無を判定する。残余データの有無は、データ保持部18中のデータの有無によって判断できる。
(通信装置10の動作)
以下、通信装置10の動作を説明する。
図5は、ソースノード(ノード(0))の通信装置10の動作手順を表すフロー図である。図6は、この動作手順中、データ送信の手順を表すフロー図である。
図7は、中継ノード(ノード(1)〜(N−1))および宛先ノード(ノード(N))の通信装置10の動作手順を表すフロー図である。図8、図9は、この動作手順中、データ受信およびデータ送信の手順を表すフロー図である。
図10は、リンク切断時の通信装置10の動作手順を表すフロー図である。
ノードによって通信装置10の動作内容は異なることから、A.ソースノード、B.中継ノード、C.宛先ノードに区分して、通信装置10の動作を説明する。
A.ソースノード(ノード(0))での通信装置10の動作(図5、図6参照)
(1)データの入力(ステップS11)
ノード(0)の通信装置10にデータが入力される。入出力部11に自装置(ノード(0)の通信装置10自体)の送信元アドレス(ノード(0)のアドレス)、宛先アドレス(ノード(N)のアドレス)、およびデータが入力される。
(2)次のノード(1)の決定(ステップS12)
次ノード決定部14が、次のノードとして、ノード(1)をテーブルTから決定する。すなわち、テーブルT上から、宛先ノード(N)に対応するネクスト・ホップとして、ノード(1)のアドレスが選択される。
(3)ノード(0)からノード(1)へのセッション情報の送信(ステップS13)
ノード(0)の無線送信部15からノード(1)に、セッション情報[セッションID、送信元(ノード(0))のアドレス、宛先(ノード(N))のアドレス]が送信される。
(4)ノード(0)からノード(1)へのデータの送信(ステップS14、S15)
ノード(0)からのノード(1)へのセッション情報の送信に対応して、ノード(1)の無線送信部15からノード(0)にS−ACKパケットが送信される(セッションの確立)。ノード(1)からS−ACKパケットを受信したノード(0)は、ノード(1)にデータを送信する(ステップS15)。
ノード(0)の無線受信部16がノード(1)からのS−ACKパケットを所定時間内に受信しない場合、タイムアウトと判定され(ステップS14)、次ノードの選択、セッション情報の送信が再度行われる(ステップS12、S13)。
以上のように、ノード(0)、(1)間でのセッションの確立、データの送信が行われる。
以下、ステップS15でのデータの送信の詳細を説明する。ノード(0)は、次のように、データ量に応じて、データを複数のデータに分割して順次に送信する。
i)データの分割およびデータ保持部18への保存(ステップS151)
無線送信部15において、パケットのウィンドウサイズに対応するように、データが分割され、データ保持部18に保存される。
ii)分割データの送信(ステップS152)
分割されたデータ(分割データ)がデータパケットとして、ノード(0)の無線送信部15からノード(1)に送信される。この送信の時点では、データ保持部18中の分割データは保持されている。
iii)データ保持部18からの分割データの削除(ステップS153、S154)
ノード(0)の無線送信部15からノード(1)へのデータパケットの送信に対応して、ノード(1)の無線送信部15からノード(0)にD−ACKパケットが送信される。ノード(1)からD−ACKパケットを受信したノード(0)のデータ削除部19は、データ保持部18中の分割データを削除する。
以上のように、全データの送信が完了するまで、データの分割およびデータ保持部18への保存、分割データ(データパケット)の送信、データ保持部18からの削除が繰り返される(ステップS155)。
ノード(0)の無線受信部16がノード(1)からのD−ACKパケットを所定時間内に受信しない場合、タイムアウトと判定され(ステップS153)、分割データ(データパケット)が再度送信される(ステップS152)。このタイムアウトが繰り返される場合、データの送信中止等のエラー処理が行われる。
以上から判るように、ノード(0)は送信が完了するまで(D−ACKパケットを受信するまで)、データ保持部18にデータを保持している。後述のノード(1)〜(N−1)でのデータの送受信(図7〜図9)においても、この事情は同様である。すなわち、宛先ノード(N)へのデータの送信が完了するまで、ノード(0)〜(N−1)のデータ保持部18に送信未完了のデータが分散して保持される。
このとき、ノード(0)〜(N−1)に分散して保持される送信未完了のデータが重複することは基本的に無い。例えば、ノード(m)からノード(m+1)に送信され、ノード(N)で未受信のデータパケットの分割データは、ノード(0)〜(m)の何れにも保持されず、ノード(m+1)〜(N−1)のいずれか1つに保持される。
送信未完了のデータが、ノード(0)〜(N−1)において、どのように分散して保持されるかは、ノード(0)〜(N)間での通信状態に依存する。特定のノードのみが送信未完了のデータを保持することもあるが、通例、複数の連続(隣接する)または不連続(離隔する)のノードが送信未完了のデータを分散して保持する。
以上のように、ノード(N)への送信が未完了のデータは、ノード(0)〜(N−1)に分散して保存される。後述のように、ノード(m)でのリンク切断判定時には、ノード(0)〜(m)に分散して保存されたデータが、ノード(N)に向けて再度送信される。
B.中継ノード(ノード(1)〜(N−1))での通信装置10の動作(図7〜図9参照)
既述のように、本実施形態では、ノード(0)、(1)、…、ノード(N−1)、(N)と1ホップでセッションの確立、データの送受信が行われる。ここでは、ノード(1)以降でのデータの中継を一般化して、ノード(m−1)からノード(m)へ、ノード(m)からノード(m+1)へのホップ・バイ・ホップでのデータの送受信として表す。
(1)先のノードへのS−ACKパケットの送信(ステップS21〜S23)
ノード(m)の無線受信部16が先のノード(m−1)からのセッション情報を受信する(ステップS21)。例えば、ノード(1)は、ノード(0)からセッション情報を受信する。
ノード(m−1)からのセッション情報を受信したノード(m)は、ノード(m−1)にS−ACKパケットを送信する(ステップS22)。S−ACKパケットは、セッションIDを含む。
また、ノード(m)のセッション保存情報記憶部17に、セッション保存情報[セッションID、送信元(ノード(0))のアドレス、宛先(ノード(N))のアドレス、ロケーション、タイムスタンプ]が保存される(ステップS23)。
ここでは、ノード(m−1)からのデータパケットの受信前なので、タイムスタンプをブランクとして良い。
(2)先のノードからのデータの受信(ステップS24)
ノード(m)からのS−ACKパケットを受信したノード(m−1)からデータが送信され、ノード(m)の無線受信部16によって受信される(ステップS24)。ノード(m)の無線受信部16は、データをロケーションで示されるデータ保持部18に保持し、タイムスタンプを更新する。
以下、ステップS24でのデータの受信の詳細を説明する。既述のように、ノード(0)からのデータが複数のパケットに分割されて送信される可能性がある。この場合、先のノードからのデータの受信、データ保持部18へのデータの保持が繰り返される。
i)分割データの受信・保存(ステップS241、S242)
ノード(m)の無線受信部16は、ノード(m−1)からのデータパケット(分割データ)を受信し、データ保持部18に保存し、タイムスタンプを更新する。
ii)D−ACKパケットの送信(ステップS243)
データパケットを受信したノード(m)は、ノード(m−1)にD−ACKパケットを送信する。
以上のように、ノード(m−1)からノード(m)の全データの送信が完了するまで、このデータパケットの受信、D−ACKパケットの送信が繰り返される(ステップS244)。
但し、ノード(m)の通信装置10は、全データを受信したか否か自体を判断する必要は無い。データパケットを受信したときに、その都度、分割データの保存、D−ACKパケットの送信を実行すれば良い。
ここでは、判り易さのために、データの受信と送信(ステップS24、S34)は時間的に区別されている。実際には、多数のデータパケットが送受信されることから、ステップS24、S34でのデータパケットの受信と送信は、通例、並列して行われる。
(3)宛先でないことの確認(ステップS25)
ノード(m)は、自己が最終的な宛先(ノード(N))では無いことを確認する。この確認は、ノード(m)自身のアドレスと、セッション情報中の宛先アドレスが一致するか否かによる。ノード(m)自身のアドレスと、セッション情報中の宛先アドレスが一致すれば、ノード(m)は最終的な宛先(ノード(N))であり、ノード(0)からノード(N)へのデータの送信が完了したことになる。
(4)次のノード(m+1)へのセッション情報の送信(ステップS31、S32)
ノード(m)が最終的な宛先ではない場合、次ノード決定部14によって、次のノード(m+1)が決定され(ステップS31)、ノード(m)の無線送信部15からセッション情報が送信される(ステップS32)。このセッション情報は、ノード(0)から送信されるセッション情報と同一である。
(5)次のノード(m+1)へのデータの送信(ステップS34)
ノード(m)からノード(m+1)へのセッション情報の送信に対応して、ノード(m+1)の無線送信部15からノード(m)にS−ACKパケットが送信される(セッションの確立)。ノード(m+1)からS−ACKパケットを受信したノード(m)は、ノード(m+1)にデータを送信する。
なお、経路切断(タイムアウト)時のときの中継ノード(ノード(1)〜(N−1))の動作は後述する。
以下、ステップS34でのデータの送信の詳細を説明する。既述のように、一般に、ノード(0)からのデータが複数のデータパケットに分割されて送信される。この場合、ノード(m)から次のノード(m+1)にデータパケットが繰り返し送信される。
i)タイムスタンプの更新チェック(ステップS341)
セッション保存情報中のタイムスタンプが周期的(定期的)にチェックされる。すなわち、新たなデータパケットの受信の有無がチェックされる。既述のように、データパケットの受信によりタイムスタンプが更新される(ステップS242)。
ii)分割データの送信(ステップS342)
ノード(m)のデータ保持部18に保存されている分割データ(データパケット)が、ノード(m)の無線送信部15からノード(m+1)に送信される。この結果、無線受信部16によって、順次に受信された分割データ(データパケット)が無線送信部15によって順次に送信される。
ここでは、セッション保存情報中のタイムスタンプを用いて、新たなデータパケットの受信の有無をチェックしているが、他の手法を採用することも可能である。例えば、無線受信部16が新たなデータパケットの受信を無線送信部15に直接通知しても良い。
この送信の時点では、データ保持部18中の分割データは保持されている。既述のように、データパケットを受信したときに、そのデータ(データパケット)はデータ保持部18に保存される(ステップS241)。
iii)データ保持部18からの分割データの削除(ステップS343、S344)
ノード(m)からノード(m+1)へのデータパケットの送信に対応して、ノード(m+1)からノード(m)にD−ACKパケットが送信される。ノード(m+1)からD−ACKパケットを受信したノード(m)のデータ削除部19は、データ保持部18中の送信済みの分割データを削除する。
ノード(m)がノード(m+1)からのD−ACKパケットを所定時間内に受信しない場合、タイムアウトと判定され(ステップS343)、分割データ(データパケット)が再度送信される(ステップS342)。このタイムアウトが繰り返される場合、データの送信中止等のエラー処理が行われる。
以上のように、ノード(m)からノード(m+1)への全データの送信が完了するまで、分割データ(未送信のデータ)の送信、データ保持部18からの削除が繰り返される(ステップS345)。既述のように、宛先ノード(N)へのデータの送信が完了するまで、ノード(0)〜(N−1)のデータ保持部18に送信未完了のデータが分散して保持される。
但し、ノード(m)の通信装置10は、全データを送信したか否か自体を判断する必要は無い。タイムスタンプが更新されたときに、その都度、分割データの送信、データ保持部18からの削除を実行すれば良い。
C.宛先ノード(N)での通信装置10の動作(図7参照)
宛先ノード(N)での動作は、基本的には、中継ノードでの動作とほぼ同様である。すなわち、宛先ノード(N)では、中継ノードと同様、(1)先のノードへのS−ACKパケットの送信、(2)先のノードからのデータの受信、(3)宛先でないことの確認が行われる。
宛先ノード(N)は、最終的な宛先なので、(4)次のノード(m+1)へのセッション情報の送信、(5)次のノード(m+1)へのデータの送信は行われない。
以上のように、ノード(0)からノード(N)にホップ・バイ・ホップでデータを送信できる。ここでは、各ホップでのセッションの確立、データの送受信が滞りなく行われたとしている。
しかし、ノード(0)からノード(N)への経路のどこかで、通信状態(トポロジ)の変化等によって、経路が切断される可能性がある。
以下、経路切断時における中継ノード(1)〜(N−1)およびソースノード(0)の通信装置10の動作を説明する。ここでは、中継ノードノード(m)において、経路の切断が検出されたとしている。
D.経路切断時での通信装置10の動作(図7、図10参照)
(1)タイムアウトの検出(ステップS33)
中継ノード(m)の切断判定部21は、中継ノード(m+1)へのセッション情報の送信後、所定時間が経過してもS−ACKパケットを受信しない場合(コネクション・タイムアウト)、中継ノード(m+1)とのリンクが切断されたと判定する。
コネクション・タイムアウトの判定に、TCPコネクション・タイムアウト(TCP connection timeout)を用いることができる。なお、この点は、ステップS14、S47、S153、S244、S343でのタイムアウトでも同様である。
(2)先のノード(m−1)へのリンク切断情報の送信(ステップS35)
ノード(m)の無線送信部15から先のノード(m−1)にリンク切断情報が送信される。なお、既述のように、リンク切断情報は、セッションIDを含むことができる。
リンク切断情報を受信したノード(m−1)は、リンク切断情報をノード(m−2)に送信する(ステップS41〜S43)。リンク切断情報の受信の有無は周期的(定期的)にチェックされ(ステップS41)、ノード(m−1)からノード(m−2)に送信される。
このようにして、リンク切断情報は、ノード(m−1)、(m−2)、…と上位のノードに順次送信され、ノード(0)に到達する。
(3)次のノード(m+1)の再決定(ステップS31)
中継ノード(m)の次ノード決定部14は、宛先ノード(N)に向かうルートを再選択し、次のノード(m+1)のアドレスを再度決定する。ここでは、ルート変更前後での次のノードをノード(m+1)、ノード(m+1)として表している。
(4)次のノード(m+1)へのセッション情報の送信(ステップS32)
ノード(m)の無線送信部15からノード(m+1)にセッション情報が送信される。
(5)次のノード(m+1)へのデータの送信(ステップS34)
ノード(m)のノード(m+1)へのセッション情報の送信に対応して、ノード(m+1)の無線送信部15からノード(m)にS−ACKパケットが送信される(セッションの確立)。ノード(m+1)からS−ACKパケットを受信したノード(m)は、ノード(m+1)にデータを送信する。
このときノード(m)の無線送信部15から送信されるデータは、一般に、ノード(0)から送信されるべきデータの一部である。この時点では、ノード(0)からノード(1)への送信が完了していない可能性がある。また、ノード(0)からノード(1)への送信が完了していても、全データがノード(m)に到達しているとは限らない。
すなわち、ノード(m)でリンク切断と判定した時点では、データはノード(0)〜(m)のデータ保持部18に分散配置しているのが通例である。このため、次のように、ノード(0)〜(m−1)からもデータが送信される。
(6)ノード(0)〜(m−1)からのデータの再送(ステップS44〜S48)
リンク切断情報を受け取ったノード(0)〜(m−1)は、残余のデータ(未送信のデータ)があれば、宛先ノード(N)に再送する。
以下、ノード(0)を例として、データの再送の詳細を説明する。具体的には、次のように、データが再送信される。
i)残余データの有無の判断(ステップS44)
送信完了判定部22によって、残余データの有無が判断される。残余データが無ければデータの再送は行われない。残余データの有無は、データ保持部18中のデータの有無によって判断できる。
ii)次のノード(1)の再決定(ステップS45)
ノード(0)の次ノード決定部14は、宛先ノード(N)に向かうルートを再選択し、次のノード(1)のアドレスを再度決定する。ここでは、ルート変更前後での次のノードをノード(1)、ノード(1)として表している。
iii)次のノード(1)へのセッション情報の送信(ステップS46)
ノード(0)の無線送信部15からノード(1)にセッション情報が送信される。このセッション情報は、先にノード(1)に送信されたセッション情報と同一である。
iv)次のノード(1)へのデータの送信(ステップS47、S48)
ノード(0)からノード(1)へのセッション情報の送信に対応して、ノード(1)の無線送信部15からノード(0)にS−ACKパケットが送信される(セッションの確立)。ノード(1)からS−ACKパケットを受信したノード(0)の無線送信部15は、ノード(1)に残余のデータを送信する。
以下、ノード(1)からノード(2)、ノード(2)からノード(3)、…ノード(N−1)からノード(N)の間で、順に、セッション情報、S−ACKパケット、データが順に送受信される。この結果、欠落したデータがノード(N)に送信される。
ここでは、ノード(0)を例に説明したが、ノード(1)〜(m−1)においても、同様に、残余のデータがノード(N)に再送される。
以上のようにして、ノード(m)でタイムアウトと判定されたときに、リンク切断情報がノード(m−1)〜(0)に送信される。その結果、ノード(0)〜(m)に分散して存在する送信未完了のデータがノード(N)に再送される。既述のように、ノード(0)〜(m)のデータ保持部18には、送信未完了のデータが重複すること無く分散配置していることから、ノード(N)にデータが効率的に再送信される。
以上、通信装置10での通信の詳細を説明した。
表3に示すように、通信装置10での通信はIP層、トランスポート層、制御層、アプリケーション層で構築できる。通信装置10の基本的な通信の内容は、制御層に実装可能であり、トランスポート層は変更不要とできる。このようにすることで、セッションを構築するためのコントロールメッセージ(セッション情報、S−ACK)、さらには、データ、D−ACK、経路切断情報をTCPのプロトコルによって送信可能となり、通信の信頼性を確保できる。エンド・ツー・エンドでのデータ送信をホップ・バイ・ホップTCPで構築でき、無線チャンネルリソースを効率的に利用できる。
Figure 0005839136
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…通信装置、11…入力部、12…テーブル記憶部、13…テーブル更新部、14…次ノード決定部、15…無線送信部、16…無線受信部、17…セッション保存情報記憶部、18…データ保持部、19…データ削除部、21…切断判定部、22…送信完了判定部

Claims (8)

  1. 複数の通信装置が互いに無線で通信するアドホックネットワークに用いる通信装置であって、
    複数の宛先アドレスと、複数の次のアドレスと、を対応して表すテーブルを記憶するテーブル記憶部と、
    先の通信装置から、セッション識別子、送信元アドレス、および宛先アドレスを含むセッション情報を受信するセッション情報受信部と、
    前記セッション情報の受信に対応して、前記先の通信装置にACKパケットを送信するACK送信部と、
    前記先の通信装置から、前記ACKパケットの送信に対応して送信されるデータを受信するデータ受信部と、
    前記テーブルに基づいて、前記データを送信する次の通信装置を決定する決定部と、
    前記次の通信装置に、前記セッション情報を送信するセッション情報送信部と、
    前記セッション情報の送信に対応して前記次の通信装置から送信されるACKパケットを受信するACK受信部と、
    前記ACKパケットの受信に対応して、前記次の通信装置に前記データを送信するデータ送信部と、
    を具備する通信装置。
  2. 前記テーブルを更新するテーブル更新部と、
    前記セッション情報の送信後、所定時間、前記ACKパケットを受信しないときに、経路切断と判定する切断判定部と、
    前記経路切断と判定された場合に、経路切断情報を前記先の通信装置に送信する経路切断情報送信部と、
    前記次の通信装置から経路切断情報を受信する経路切断情報受信部と、
    前記経路切断情報の受信に対応して、前記先の通信装置に前記経路切断情報を送信する第2の経路切断情報送信部と、
    前記経路切断情報の受信に対応して、送信未了のデータの有無を判定する送信完了判定部と、
    前記送信未了のデータがある場合に、前記更新されたテーブルに基づいて、前記データを送信する第2の次の通信装置を決定する第2の決定部と、
    前記送信未了のデータがある場合に、前記第2の次の通信装置に、前記セッション情報を送信する第2のセッション情報送信部と、
    前記送信未了のデータがある場合に、前記第2のセッション情報送信部によるセッション情報の送信に対応して前記第2の次の通信装置から送信されるACKパケットを受信する第2のACK受信部と、
    記送信未了のデータがある場合に、前記第2のACK受信部によるACKパケットの受信に対応して、前記第2の次の通信装置に前記送信未了のデータを送信する第2のデータ送信部と、
    をさらに具備する請求項1記載の通信装置。
  3. 前記データ受信部が、前記データに対応する複数の分割データを順次に受信、保存し、
    前記データ送信部が、前記保存された複数の分割データを順次に送信する、
    請求項2記載の通信装置。
  4. 前記分割データの送信に対応して前記次の通信装置から送信されるデータACKパケットを受信するデータACK受信部と、
    前記データACKパケットの受信に対応して、前記保存された分割データを削除するデータ削除部と、をさらに具備し、
    前記第2のデータ送信部が、前記保存され、未削除の分割データを送信未了のデータとして送信する
    請求項3記載の通信装置。
  5. 前記経路切断と判定された場合に、前記更新されたテーブルに基づいて、前記データを送信する第3の次の通信装置を決定する第3の決定部と、
    前記第3の次の通信装置に、前記セッション情報を送信する第3のセッション情報送信部と、
    前記第3のセッション情報送信部によるセッション情報の送信に対応して前記第3の次の通信装置から送信されるACKパケットを受信する第3のACK受信部と、
    前記第3のACK受信部によるACKパケットの受信に対応して、前記第3の次の通信装置に前記データを送信する第3のデータ送信部と、
    をさらに具備する請求項2乃至4のいずれか1項に記載の通信装置。
  6. 前記セッション情報中の宛先アドレスが、自装置のアドレスと一致する場合に、前記セッション情報送信部による前記セッション情報の送信および前記データ送信部による前記データの送信が行われない、
    請求項1乃至5のいずれか1項に記載の通信装置。
  7. アドホックネットワークで接続された、請求項1乃至6のいずれか1項に記載の、複数の通信装置を有する通信システム。
  8. アドホックネットワークで接続される第1、第2、および第3の通信装置間での通信方法であって、
    前記第1の通信装置が、前記第2の通信装置に、セッション識別子、送信元アドレス、および宛先アドレスを含むセッション情報を送信する工程と、
    前記第1の通信装置からの前記セッション情報の送信に対応して、前記第2の通信装置が、前記第1の通信装置に、ACKパケットを送信する工程と、
    前記第2の通信装置からのACKパケットの送信に対応して、前記第1の通信装置が、前記第2の通信装置に、前記データを送信する工程と、
    前記第2の通信装置がデータを受信する工程と、
    前記第2の通信装置が、前記第3の通信装置に、前記セッション情報を送信する工程と、
    前記第2の通信装置からのセッション情報の送信に対応して、前記第3の通信装置が、前記第2の通信装置に、ACKパケットを送信する工程と、
    前記第3の通信装置からのACKパケットの送信に対応して、前記第2の通信装置が、前記第3の通信装置に、前記データを送信する工程と、
    を具備する通信方法。
JP2015117719A 2015-06-10 2015-06-10 通信装置、通信システム、および通信方法 Active JP5839136B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015117719A JP5839136B1 (ja) 2015-06-10 2015-06-10 通信装置、通信システム、および通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015117719A JP5839136B1 (ja) 2015-06-10 2015-06-10 通信装置、通信システム、および通信方法

Publications (2)

Publication Number Publication Date
JP5839136B1 true JP5839136B1 (ja) 2016-01-06
JP2017005511A JP2017005511A (ja) 2017-01-05

Family

ID=55069244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015117719A Active JP5839136B1 (ja) 2015-06-10 2015-06-10 通信装置、通信システム、および通信方法

Country Status (1)

Country Link
JP (1) JP5839136B1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008063748A2 (en) * 2006-11-13 2008-05-29 Motorola, Inc. Method and apparatus for resource reservation in a multihop wireless network
JP2009512334A (ja) * 2005-10-12 2009-03-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 無線ネットワークにおけるルーティングに対するリンクコスト判定方法及び装置
WO2011121675A1 (ja) * 2010-03-31 2011-10-06 富士通株式会社 データ通信装置および方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009512334A (ja) * 2005-10-12 2009-03-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 無線ネットワークにおけるルーティングに対するリンクコスト判定方法及び装置
WO2008063748A2 (en) * 2006-11-13 2008-05-29 Motorola, Inc. Method and apparatus for resource reservation in a multihop wireless network
WO2011121675A1 (ja) * 2010-03-31 2011-10-06 富士通株式会社 データ通信装置および方法

Also Published As

Publication number Publication date
JP2017005511A (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
CN110636628B (zh) 信息传输方法及装置
US8787257B2 (en) Network communication system, node device, routing method and routing program
US9001645B2 (en) System and method for packet delivery backtracking
US20140029603A1 (en) Method and device for time-synchronization in ad hoc network
WO2017113238A1 (zh) 一种建立路由表的方法、电子设备及网络
US20100020740A1 (en) Wireless Communication System, Wireless Communication Device, Wireless Communication Method, and Program
JP5287622B2 (ja) 通信システム、ノード、通信制御方法、およびプログラム
JP4572173B2 (ja) 無線通信装置、無線通信方法および経路情報テーブルの作成方法
JP2011223394A (ja) ノード及び無線通信システム
JP4830879B2 (ja) 無線データ通信システム
JP5839136B1 (ja) 通信装置、通信システム、および通信方法
JP4696318B2 (ja) 無線装置およびそれを備えた無線通信ネットワーク
US10778399B2 (en) Enhancement of relay ARQ in MMW network
WO2023108328A1 (en) Packet routing in a layer 2 mesh network
JP2014204437A (ja) ダウンリンクルーティングの取得及び保守の方法及び装置
JP7326230B2 (ja) 通信システム、ノード、通信方法及びプログラム
JP2006050377A (ja) 無線ネットワークシステム
Jingfang et al. Robust on-demand routing mechanism for wireless multi-hop networks
JP4520350B2 (ja) 無線装置
KR20130048547A (ko) Lqi를 이용한 위치 기반의 라우팅 장치 및 방법
CN107959985B (zh) 混合mesh网络构建方法、数据传输方法及装置
Clausen et al. A depth first forwarding (dff) extension for the loadng routing protocol
JP2008211744A (ja) 無線装置およびそれを備えた無線ネットワーク
JP6227197B2 (ja) 無線通信装置および無線通信方法
CN112787904B (zh) 一种IPSec VPN级联的路由信息推送方法和系统

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151026

R150 Certificate of patent or registration of utility model

Ref document number: 5839136

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313118

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350