JP2005086525A - Communication system in ad hoc network - Google Patents
Communication system in ad hoc network Download PDFInfo
- Publication number
- JP2005086525A JP2005086525A JP2003317073A JP2003317073A JP2005086525A JP 2005086525 A JP2005086525 A JP 2005086525A JP 2003317073 A JP2003317073 A JP 2003317073A JP 2003317073 A JP2003317073 A JP 2003317073A JP 2005086525 A JP2005086525 A JP 2005086525A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- tcp
- tcp communication
- packet
- module
- 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
Links
Images
Abstract
Description
本発明は、アドホックネットワークにおける通信方式に関し、特に、テーブル駆動型のルーティングプロトコルを用いてルーティングを行なうアドホックネットワークにおける通信方式に関する。 The present invention relates to a communication method in an ad hoc network, and more particularly to a communication method in an ad hoc network that performs routing using a table-driven routing protocol.
アドホックネットワークとは、複数の無線端末が相互に通信を行なうことによって自律的、即時的に構築されるネットワークをいう。アドホックネットワークでは、通信する2つの無線端末が互いの通信エリアに存在しない場合、2つの無線端末の中間に位置する無線端末がルータとして機能しデータパケットを中継するので、広範囲のマルチホップネットワークを形成することができる。 An ad hoc network is a network that is autonomously and instantaneously constructed by a plurality of wireless terminals communicating with each other. In an ad hoc network, when two wireless terminals that communicate with each other do not exist in each other's communication area, a wireless terminal located between the two wireless terminals functions as a router and relays data packets, thereby forming a wide-range multi-hop network. can do.
アドホックネットワークでは、中継する無線端末の移動などにより、リンクの切断が頻繁に生じる。そのため、迅速にルートを再構築することが必要となり、そのためのルーティングプロトコルが種々提案されている。 In an ad hoc network, link disconnection frequently occurs due to movement of a wireless terminal to be relayed. Therefore, it is necessary to quickly reconstruct the route, and various routing protocols have been proposed.
現在までに提案されているアドホックネットワークのルーティングプロトコルは、2つのグループに分けられる。 The routing protocols for ad hoc networks proposed to date can be divided into two groups.
第1のグループは、オンデマンド型のルーティングプロトコルである。このグループのルーティングプロトコルでは、通信要求が発生するたびに(オンデマンド)、宛先までのルートを探索する。代表的なプロトコルとして、Dynamic Source Routing(DSR)プロトコルがある。 The first group is an on-demand routing protocol. In this group of routing protocols, every time a communication request occurs (on demand), a route to the destination is searched. A typical protocol is the Dynamic Source Routing (DSR) protocol.
第2のグループは、テーブル駆動型のルーティングプロトコルである。このグループのルーティングプロトコルでは、各宛先へのルートを予めテーブルのエントリとして作成しておく。代表的なプロトコルとして、Destination-Sequenced-Distance-Vector(DSDV)プロトコルがある(たとえば、非特許文献1参照)。 The second group is a table driven routing protocol. In this group of routing protocols, a route to each destination is created in advance as a table entry. As a typical protocol, there is a Destination-Sequenced-Distance-Vector (DSDV) protocol (see, for example, Non-Patent Document 1).
ところで、有線ネットワーク上で運用されているアプリケーションの多くは、トランスポート層のプロトコルとしてTCPを用いている。したがって、アドホックネットワーク上でも既存のアプリケーションを動作させるためには、トランスポート層のプロトコルとしてTCPを用いることが必要となる。 By the way, many of the applications operated on the wired network use TCP as a transport layer protocol. Therefore, in order to operate an existing application even on an ad hoc network, it is necessary to use TCP as a transport layer protocol.
TCP通信では、コネクションを確立したTCP通信の端末の間のどこかでリンクが切断されていても、TCP通信が続行され、無駄なパケットの送信が行なわれるとともに、TCP通信のスループットが低下する。 In the TCP communication, even if the link is disconnected somewhere between the terminals of the TCP communication that established the connection, the TCP communication is continued, a useless packet is transmitted, and the throughput of the TCP communication is reduced.
この問題に対処する方法として、非特許文献2では、オンデマンド型ルーティングプロトコルであるDSRを対象に、リンクが切断されたときにTCP通信をフリーズし、新たにリンクが接続されたときにTCP通信のフリーズを解除するといったTCP通信の制御方式が記載されている。
しかしながら、上述の非特許文献2に記載されている方式は、オンデマンド型のルーティングプロトコルに特有の方式である。テーブル駆動型のルーティングテーブルには、このような方式を用いることができない。
However, the method described in Non-Patent
また、オンデマンド型のルーティングプロトコルでは、パケットの転送要求に応じてルートの探索を行なうため、パケットの転送開始が遅れるのに対して、テーブル駆動型のルーティングプロトコルでは、このような問題がない。また、テーブル駆動型のルーティングプロトコルでは、ネットワークのトポロジイの変化に反応してネットワーク全体に経路の更新情報が伝送される。 In the on-demand routing protocol, the route search is performed in response to a packet transfer request, so that the start of packet transfer is delayed, whereas the table-driven routing protocol does not have such a problem. In the table driven routing protocol, route update information is transmitted to the entire network in response to a change in the topology of the network.
したがって、パケットの転送が迅速に開始されるとともに、トポロジイのダイナミックな変化に迅速に対応できるという利点を有するテーブル駆動型のルーティングプロトコルにおいて、リンクが切断されたとき、または新たなリンクが接続されたときに、TCP通信を制御することが重要である。 Thus, in a table-driven routing protocol that has the advantage of being able to quickly start forwarding packets and respond quickly to dynamic changes in topology, when a link is broken or a new link is connected Sometimes it is important to control TCP communication.
それゆえに、本発明の目的は、テーブル駆動型のルーティングプロトコルを用いてルーティングを行なうアドホックネットワークにおいて、リンクの切断または新たなリンクの接続に応じて、TCP通信を適切に制御するアドホックネットワークにおける通信方式を提供することである。 SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide a communication system in an ad hoc network that appropriately controls TCP communication according to link disconnection or new link connection in an ad hoc network that performs routing using a table-driven routing protocol. Is to provide.
上記課題を解決するために、本発明は、テーブル駆動型のルーティングプロトコルを用いてルーティングを行なうアドホックネットワークにおける通信方式であって、TCP通信の送信元端末が、TCP通信のコネクションの確立時に、TCP通信の送信先端末のアドレス、送信元ポート番号、および送信先ポート番号を含むソケット情報をソケット情報管理テーブルに登録するステップと、各端末が、リンクの切断を検知したときに、自己の端末のルーティングテーブルの対応する経路情報のメトリックをリンク切断を示す値または記号に更新し、更新した経路情報を含むパケットをブロードキャスト送信するステップと、各端末が、更新された経路情報を含むパケットを受信したときに、自己の端末のルーティングテーブルの対応する経路情報のメトリックをリンク切断を示す値または記号に更新し、更新した経路情報を含むパケットをブロードキャスト送信するステップと、TCP通信の送信元端末が、自己の端末のルーティングテーブル内の経路情報のメトリックがリンク切断を示す値または記号となったときに、ルーティングテーブルから経路情報の送信先端末のアドレスを取得し、ソケット情報管理テーブルを参照して、取得した送信先端末のアドレスを含むソケット情報を特定し、特定したソケット情報に含まれる送信元ポート番号を用いたTCP通信をフリーズするステップとを含む。 In order to solve the above-described problems, the present invention is a communication method in an ad hoc network that performs routing using a table-driven routing protocol, in which a TCP communication source terminal establishes a TCP communication connection when a TCP communication connection is established. Registering the socket information including the address of the communication destination terminal, the source port number, and the destination port number in the socket information management table, and when each terminal detects link disconnection, The step of updating the corresponding route information metric in the routing table to a value or symbol indicating link disconnection, broadcasting a packet including the updated route information, and each terminal receiving the packet including the updated route information When the corresponding routing table of its own terminal The information metric is updated to a value or symbol indicating link disconnection, the packet including the updated route information is broadcasted, and the transmission source terminal of the TCP communication has the metric of the route information in the routing table of its own terminal When a link disconnection value or symbol is obtained, the address of the destination terminal of the route information is acquired from the routing table, and the socket information including the acquired address of the destination terminal is identified by referring to the socket information management table And freezing TCP communication using the source port number included in the specified socket information.
好ましくは、ソケット情報は、TCP通信の状態がフリーズか、通常の動作状態を示すアクションかを示すステイタスをさらに含み、ソケット情報を登録するステップでは、TCP通信の送信元端末が、送信先端末のアドレス、送信元ポート番号、および送信先ポート番号に加えて、アクションを示すステイタスをさらに含むソケット情報をソケット情報管理テーブルに登録し、TCP通信をフリーズするステップでは、TCP通信の送信元端末が、ソケット情報のステイタスがアクションのときに限り、ソケット情報の送信元ポート番号を用いたTCP通信をフリーズし、TCP通信の送信元端末が、TCP通信のフリーズ後に、ソケット情報のステイタスをフリーズに更新するステップをさらに含む。 Preferably, the socket information further includes a status indicating whether the state of the TCP communication is frozen or an action indicating a normal operation state. In the step of registering the socket information, the source terminal of the TCP communication In the step of registering the socket information further including the status indicating the action in addition to the address, the transmission source port number, and the transmission destination port number in the socket information management table, and freezing the TCP communication, the transmission communication terminal of the TCP communication Only when the status of the socket information is an action, the TCP communication using the source port number of the socket information is frozen, and the source terminal of the TCP communication updates the status of the socket information to freeze after the TCP communication is frozen. The method further includes a step.
より好ましくは、アドホックネットワークにおける通信方式は、さらに、各端末が、新たな経路を発見したときには、メトリックをホップ数とした新たな経路の経路情報でルーティングテーブルを更新し、更新した経路情報をブロードキャスト送信するステップと、TCP通信の送信元端末が、自己の端末のルーティングテーブル内の経路情報のメトリックがリンク切断を示す値または記号からホップ数に変化したときには、ルーティングテーブルから経路情報の送信先端末のアドレスを取得し、ソケット情報管理テーブルを参照して、取得した送信先端末のアドレスを含むソケット情報を特定し、特定したソケット情報のステイタスがフリーズのときに限り、特定したソケット情報の送信元ポート番号を用いたTCP通信のフリーズ状態を解除するステップと、TCP通信の送信元端末が、TCP通信のフリーズ状態の解除後に、ソケット情報のステイタスをアクションに更新するステップとを含む。 More preferably, in the communication method in the ad hoc network, when each terminal discovers a new route, the routing table is updated with the route information of the new route with the metric as the number of hops, and the updated route information is broadcast. The transmission step, and when the metric of the route information in the routing table of its own terminal changes from a value or symbol indicating link disconnection to the number of hops, the destination terminal of the route information from the routing table The socket information management table is referenced to identify the socket information including the address of the acquired destination terminal. The source of the identified socket information is only when the status of the identified socket information is frozen. Freeze state of TCP communication using port number A step of dividing, the source terminal of the TCP communication, after release of the freeze state of the TCP communication, and updating the status of the socket information to the action.
より好ましくは、テーブル駆動型のルーティングプロトコルは、DSDVプロトコルである。 More preferably, the table driven routing protocol is the DSDV protocol.
好ましくは、TCP通信の送信元端末が、TCP通信のコネクションの切断時に、TCP通信の送信先端末のアドレス、送信元ポート番号、および送信先ポート番号を含むソケット情報をソケット情報管理テーブルから削除するステップをさらに含む。 Preferably, when the TCP communication source terminal disconnects the TCP communication connection, the socket information including the address of the TCP communication destination terminal, the source port number, and the destination port number is deleted from the socket information management table. The method further includes a step.
また、本発明は、テーブル駆動型のルーティングプロトコルを用いてルーティングを行なうアドホックネットワークにおける通信方式であって、TCP通信の送信元端末のIPを実行処理するIPモジュールが、TCPを実行処理するTCPモジュールによるTCP通信のコネクションの確立時に、TCP通信の送信先端末のアドレス、送信元ポート番号、および送信先ポート番号とを含むソケット情報をインターネット層のソケット情報管理テーブルに登録するステップと、各端末のテーブル駆動型のルーティングプロトコルを実行処理するデーモンが、MACプロトコルを実行処理するMACモジュールから、転送されなかったパケットとともにリンクが切断された旨の通知を受けたときに、自己の端末のルーティングテーブルの対応する経路情報のメトリックをリンク切断を示す値または記号に更新し、更新した経路情報を含むパケットをUDPプロトコルを実行処理するUDPモジュールによってブロードキャスト送信させるステップと、各端末のデーモンが、更新された経路情報を含むパケットを受信したときに、自己の端末のルーティングテーブルの対応する経路情報のメトリックをリンク切断を示す値または記号に更新し、更新した経路情報を含むパケットをUDPモジュールによってブロードキャスト送信させるステップと、TCP通信の送信元端末のデーモンが、自己の端末のルーティングテーブル内の経路情報のメトリックを監視し、経路情報のメトリックがリンク切断を示す値または記号となったときに、ルーティングテーブルから経路情報の送信先端末のアドレスを取得し、ソケット情報管理テーブルを参照して、取得した送信先端末のアドレスを含むソケット情報を特定し、TCPモジュールに対して、特定したソケット情報に含まれる送信元ポート番号を用いたTCP通信をフリーズさせるステップとを含む。 The present invention is also a communication method in an ad hoc network that performs routing using a table-driven routing protocol, and an IP module that executes IP of a TCP communication source terminal executes TCP processing. Registering socket information including a TCP communication destination terminal address, a source port number, and a destination port number in the Internet layer socket information management table when establishing a TCP communication connection by When the daemon that executes the table-driven routing protocol receives a notification from the MAC module that executes the MAC protocol that the link has been disconnected together with the packet that has not been transferred, the routing table of its own terminal Corresponding A step of updating the routing information metric to a value or symbol indicating link disconnection, broadcasting a packet including the updated routing information by a UDP module executing the UDP protocol, and the daemon of each terminal updating the routing information Updating the corresponding route information metric in the routing table of its own terminal to a value or symbol indicating link disconnection when the packet including the route information is received, and broadcasting the packet including the updated route information by the UDP module; When the TCP communication source terminal daemon monitors the routing information metric in the routing table of its own terminal and the routing information metric becomes a value or symbol indicating link disconnection, the routing information from the routing table Of the destination device TCP address using the source port number included in the specified socket information is acquired for the TCP module by specifying the socket information including the address of the acquired destination terminal by acquiring the address and referring to the socket information management table Freezing the communication.
好ましくは、ソケット情報を登録するステップは、TCP通信の送信元端末のIPモジュールが、IPパケットを送信するときに、IPパケットからTCPヘッダを取得するステップと、TCP通信の送信元端末のIPモジュールが、TCPヘッダ内のCode BitにSYNが設定されているときには、さらに、IPパケットよりIPヘッダを取得するステップと、TCP通信の送信元端末のIPモジュールが、IPヘッダ内の送信元端末のアドレスが自端末のアドレスであるときには、取得したTCPヘッダから送信元ポート番号および送信先ポート番号を取得し、取得したIPヘッダから送信先端末のアドレスを取得し、取得した送信先端末のアドレス、送信元ポート番号、および送信先ポート番号をメモリに保持するステップと、TCP通信の送信元端末のIPモジュールが、コネクション確立処理中であることを示すフラグを所定の値に設定するステップと、TCP通信の送信元端末のIPモジュールが、フラグが所定の値に設定されているときに、IPパケットを受信したときには、IPパケットからTCPヘッダを取得するステップと、TCP通信の送信元端末のIPモジュールが、TCPヘッダ内のCode BitにSYN、またはACKが設定されているときには、さらに、IPパケットよりIPヘッダを取得するステップと、TCP通信の送信元端末のIPモジュールが、IPヘッダ内の送信先端末のアドレスが自端末のアドレスであるときには、メモリに保持されている送信先端末のアドレス、送信元ポート番号および送信先ポート番号とを含み、通常の動作状態を示すアクションをステイタスとして含むソケット情報をソケット情報管理テーブルに登録するステップを含む。 Preferably, the step of registering the socket information includes a step of obtaining a TCP header from the IP packet when the IP module of the TCP communication source terminal transmits the IP packet, and an IP module of the TCP communication source terminal. However, when SYN is set in the Code Bit in the TCP header, the step of acquiring the IP header from the IP packet, and the IP module of the source terminal of the TCP communication are the addresses of the source terminal in the IP header. Is the address of the own terminal, the source port number and the destination port number are acquired from the acquired TCP header, the address of the destination terminal is acquired from the acquired IP header, and the address and transmission of the acquired destination terminal are transmitted. Storing the source port number and the destination port number in memory; The step of setting a flag indicating that the IP module of the source terminal of CP communication is in the process of establishing a connection to a predetermined value, and the flag of the IP module of the source terminal of TCP communication are set to a predetermined value When the IP packet is received, the step of obtaining the TCP header from the IP packet and the IP module of the TCP communication transmission source terminal are set to SYN or ACK in the Code Bit in the TCP header. Sometimes, further, the step of obtaining the IP header from the IP packet and the IP module of the TCP communication source terminal are held in the memory when the address of the destination terminal in the IP header is the address of the own terminal Including the destination terminal address, source port number and destination port number. The socket information including an action indicating the work status as a status comprising the step of registering the socket information management table.
より好ましくは、アドホックネットワークにおける通信方式は、さらに、TCP通信の送信元端末のIPモジュールが、IPパケットを送信するときに、IPパケットからTCPヘッダを取得するステップと、TCP通信の送信元端末のIPモジュールが、TCPヘッダ内のCode BitにFINが設定されているときには、さらに、IPパケットよりIPヘッダを取得するステップと、TCP通信の送信元端末のIPモジュールが、IPヘッダ内の送信元端末のアドレスが自端末のアドレスであるときには、取得したTCPヘッダから送信元ポート番号および送信先ポート番号を取得し、取得したIPヘッダから送信先端末のアドレスを取得するステップと、TCP通信の送信元端末のIPモジュールが、取得した送信先端末のアドレス、送信元ポート番号、および送信先ポート番号を含むソケット情報をソケット情報管理テーブルから削除するステップとを含む。 More preferably, the communication method in the ad hoc network further includes a step of acquiring a TCP header from the IP packet when the IP module of the TCP communication source terminal transmits the IP packet, and the TCP communication source terminal When FIN is set in the Code Bit in the TCP header, the IP module further acquires the IP header from the IP packet, and the IP module of the TCP communication source terminal is connected to the source terminal in the IP header. A source port number and a destination port number are acquired from the acquired TCP header and the address of the destination terminal is acquired from the acquired IP header, and a TCP communication source The IP module of the terminal acquires the address of the acquired destination terminal. , Source port number, and the socket information including destination port number and a step of deleting from the socket information management table.
本発明によれば、テーブル駆動型のルーティングプロトコルを用いてルーティングを行なうアドホックネットワークにおいて、リンクの切断または新たなリンクの接続に応じて、TCP通信を適切に制御することができる。 According to the present invention, in an ad hoc network that performs routing using a table-driven routing protocol, TCP communication can be appropriately controlled according to link disconnection or new link connection.
以下、本発明の実施の形態について図面を用いて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、アドホックネットワークの構成を示す。同図に示すように、複数の無線端末1〜7が自律的にネットワークを構成している。このアドホックネットワークにより、たとえば、無線端末3は、無線端末4から離れた位置にあり、直接パケットを受取ることができないので、無線端末4から送信されたパケットは、無線端末2、無線端末9、および無線端末6とによって中継されて無線端末3へ届けられる。
FIG. 1 shows the configuration of an ad hoc network. As shown in the figure, a plurality of
図2は、無線端末1の構成を示す。他の無線端末2〜9の構成も同一である。
図2を参照して、無線端末1は、入力部11と、表示部12と、アンテナ25と、電子メールアプリケーション13と、通信制御部14とを備える。
FIG. 2 shows the configuration of the
With reference to FIG. 2, the
電子メールアプリケーション13は、いわゆるメイラであって、入力部11からのメッセージ、宛先などの入力に基づき、データを作成し、通信制御部14にデータを送る。また、電子メールアプリケーション13は、通信制御部14から受けたデータに基づきメッセージを表示部12に表示させる。
The
アンテナ25は、他の無線端末から無線信号を受信するとともに、他の無線端末へ無線信号を送信する。 The antenna 25 receives radio signals from other radio terminals and transmits radio signals to other radio terminals.
通信制御部14は、ARPA(Advanced Research Projects Agency)インターネット階層構造に従って、通信制御を行なう複数のモジュールを備える。
The
物理層の無線インタフェースモジュール24は、所定の規定にしたがって、送信信号または受信信号の変復調、および周波数変換などを行なう。 The radio interface module 24 in the physical layer performs modulation / demodulation of transmission signals or reception signals, frequency conversion, and the like according to a predetermined rule.
ネットワーク層の上位層のLLCモジュール22は、LLCプロトコルの実行処理部であり、隣接する無線端末との間でリンクの接続および解放を行なう。
The
ネットワーク層の下位層のMACモジュール23は、MACプロトコルの実行処理部であり、再送制御などを行なう。MACモジュール23は、パケットの再送回数が所定値を越えたことによってリンクが切断されたことを検知して、DSDVデーモン16にリンク切断されたこと、および再送されなかったIPパケットを通知する。
The
インターネット層のIPモジュール19は、IP(Internet Protocol)の実行処理部である。IPモジュール19は、IPパケットを生成する。IPパケットは、IPヘッダと、上位のプロトコルのパケットを格納するためのIPデータ部とからなる。
The
図3は、IPヘッダの構成を示す。同図に示すIPヘッダ内の送信先アドレスおよび送信元アドレスは、ソケット情報管理テーブル20内のソケット情報の作成のために用いられる。 FIG. 3 shows the configuration of the IP header. The destination address and the source address in the IP header shown in the figure are used for creating socket information in the socket information management table 20.
トランスポート層のTCPモジュール17は、TCP(Transmission Control Protocol)の実行処理部である。TCPモジュール17は、TCPパケットを生成する。TCPパケットは、TCPヘッダと、上位のプロトコルのデータを格納するためのTCPデータ部とからなる。このTCPパケットは、IPモジュール19に渡されて、IPパケット内のIPデータ部に格納される。
The TCP module 17 in the transport layer is a TCP (Transmission Control Protocol) execution processing unit. The TCP module 17 generates a TCP packet. The TCP packet is composed of a TCP header and a TCP data part for storing data of an upper protocol. This TCP packet is transferred to the
図4は、TCPヘッダの構成を示す。同図に示すTCPヘッダ内の送信元ポート番号とは、送信元の無線端末で複数のアプリケーションが動作しているときに、このTCPパケットを出力したアプリケーションを特定する番号である。また、送信先ポート番号とは、送信先の無線端末で複数のアプリケーションが動作しているときに、このTCPパケットを届けるアプリケーションを特定する番号である。これらの送信元ポート番号および送信先ポート番号は、ソケット情報管理テ−ブル20内のソケット情報の作成のために用いられる。 FIG. 4 shows the structure of the TCP header. The source port number in the TCP header shown in the figure is a number that identifies the application that has output this TCP packet when a plurality of applications are operating on the source wireless terminal. The transmission destination port number is a number that identifies an application that delivers this TCP packet when a plurality of applications are operating on the wireless terminal of the transmission destination. These source port number and destination port number are used for creating socket information in the socket information management table 20.
TCP通信は、エンド・ツー・エンドのコネクション型通信プロトコルであるる。TCP通信のコネクション接続を要求する端末(以下、TCP通信接続要求端末)のTCPモジュール17は、コネクションの確立時に、TCPヘッダ内のCode BitにSYN(Synchronize Flag)を設定したコネクションの接続要求を示す第1パケットをTCP通信のコネクション接続を受理する端末(以下、TCP通信接続受理端末)のTCPモジュール17へ送信する。これを受けて、TCP通信接続受理端末)のTCPモジュール17は、TCPヘッダ内のCode BitにSYN(Synchronize Flag)およびACK(確認応答)を設定したコネクションの接続要求受理および接続完了を示す第2パケットをTCP通信接続要求端末のTCPモジュール17へ送信する。さらに、これを受けて、TCP通信接続要求端末のTCPモジュール17は、TCPヘッダ内のCode BitをACK(確認応答)に設定したコネクションの接続完了を示す第3パケットをTCP通信接続受理端末のTCPモジュール17へ送信する。 TCP communication is an end-to-end connection-oriented communication protocol. The TCP module 17 of a terminal requesting connection connection of TCP communication (hereinafter referred to as a TCP communication connection request terminal) indicates a connection request for connection in which SYN (Synchronize Flag) is set in the Code Bit in the TCP header when the connection is established. The first packet is transmitted to the TCP module 17 of a terminal that accepts a connection connection for TCP communication (hereinafter, a TCP communication connection acceptance terminal). In response, the TCP module 17 of the TCP communication connection accepting terminal) receives the connection request acceptance and connection completion of the connection in which SYN (Synchronize Flag) and ACK (confirmation response) are set in the Code Bit in the TCP header. The packet is transmitted to the TCP module 17 of the TCP communication connection requesting terminal. Further, in response to this, the TCP module 17 of the TCP communication connection requesting terminal sends a third packet indicating the connection completion of the connection in which the Code Bit in the TCP header is set to ACK (acknowledgment response) to the TCP of the TCP communication connection receiving terminal. Transmit to module 17.
TCP通信接続要求端末がTCP通信の送信元端末(すなわち、データを送信し、そのデータに対するACKを受信する側の端末)のときには、TCPモジュール17による第1パケットの送信がIPモジュール19に検知され、かつTCPモジュール17による第2パケットの受信がIPモジュール19に検知されることによって、TCP通信接続要求端末にソケット情報が作成される。
When the TCP communication connection requesting terminal is a TCP communication source terminal (that is, a terminal that transmits data and receives an ACK for the data), the
また、TCP通信接続受理端末がTCP通信の送信元端末のときには、TCPモジュール17による第2パケットの送信がIPモジュール19に検知され、かつTCPモジュール17による第3パケットの受信がIPモジュール19に検知されることによって、TCP通信接続受理端末にソケット情報が作成される。
When the TCP communication connection receiving terminal is a TCP communication source terminal, the
コネクションの切断要求は、TCP通信要求端末およびTCP通信受理端末のいずれの側からでも行なうことができる。TCP通信のコネクション切断を要求する端末(以下、TCP通信切断要求端末)のTCPモジュール17は、コネクションの切断時に、TCPヘッダ内のCode BitをFIN(Finish Flag)に設定したコネクションの切断要求を示す第1パケットをTCP通信のコネクション切断を受理する端末(以下、TCP通信切断受理端末)へ送信する。これを受けて、TCP通信切断受理端末のTCPモジュール17は、TCPヘッダ内のCode BitをACK(確認応答)に設定したコネクションの切断要求受理を示す第2パケットと、TCPヘッダ内のCode BitをFIN(Finish Flag)に設定したコネクションの切断完了を示す第3パケットをTCP通信切断要求端末のTCPモジュール17へ送信する。さらに、これを受けて、TCP通信切断要求端末のTCPモジュール17は、TCPヘッダ内のCode BitをACK(確認応答)に設定したコネクションの切断完了を示す第4パケットをTCP通信切断受理端末のTCPモジュール17へ送信する。 The connection disconnection request can be made from either the TCP communication requesting terminal or the TCP communication receiving terminal. The TCP module 17 of a terminal requesting disconnection of TCP communication (hereinafter referred to as a TCP communication disconnection request terminal) indicates a disconnection request for a connection in which the Code Bit in the TCP header is set to FIN (Finish Flag) when the connection is disconnected. The first packet is transmitted to a terminal that accepts a disconnection of TCP communication (hereinafter, a TCP communication disconnection acceptance terminal). In response to this, the TCP module 17 of the TCP communication disconnection receiving terminal sets the second packet indicating acceptance of the disconnection request for the connection in which the Code Bit in the TCP header is set to ACK (acknowledgment response), and the Code Bit in the TCP header. A third packet indicating completion of disconnection of the connection set in FIN (Finish Flag) is transmitted to the TCP module 17 of the TCP communication disconnection request terminal. In response to this, the TCP module 17 of the TCP communication disconnection requesting terminal sends a fourth packet indicating the completion of disconnection of the connection in which the Code Bit in the TCP header is set to ACK (acknowledgment response) to the TCP communication disconnection receiving terminal TCP Transmit to module 17.
TCP通信切断要求端末がTCP通信の送信元端末のときには、TCPモジュール17による第1パケットの送信がIPモジュール19に検知されることによって、TCP通信切断要求端末のソケット情報が削除される。
When the TCP communication disconnection requesting terminal is a TCP communication transmission source terminal, the transmission of the first packet by the TCP module 17 is detected by the
また、TCP通信切断受理端末がTCP通信の送信元端末のときには、TCPモジュール17による第3パケットの送信がIPモジュール19に検知されることによって、TCP通信切断受理端末のソケット情報が削除される。
When the TCP communication disconnection receiving terminal is a TCP communication source terminal, the socket information of the TCP communication disconnection receiving terminal is deleted when the
TCPモジュール17は、DSDVデーモン16から送信元ポート番号とともに、TCP通信をフリーズする指示を受けると後述するTCP通信フリーズ処理を実行する。
When the TCP module 17 receives an instruction to freeze the TCP communication together with the transmission source port number from the
また、TCPモジュール17は、DSDVデーモン16から、送信元ポート番号とともに、TCP通信のフリーズを解除する指示を受けると、後述するTCP通信フリーズ解除処理を実行する。
When the TCP module 17 receives an instruction to release the freeze of TCP communication from the
トランスポート層のUDPモジュール18は、UDP(User Datagram Protocol)の実行処理部である。UDPモジュール18は、DSDVデーモン16で作成されたUpdateパケットをブロードキャスト送信し、他の無線端末からブロードキャスト送信されたUpdateパケットを受信して、DSDVデーモン16に渡す。
The
プロセス/アプリケーション層のSMTPモジュール15は、SMTP(Simple Mail Transfer Protocol)の実行処理部である。SMTPモジュール15は、電子メールアプリケーション13から受取ったデータに基づき、全二重通信チャネルの確保や、メッセージの交換などを行なう。
The process / application
プロセス/アプリケーション層のDSDVデーモン16は、他の通信制御モジュールの実行状態を監視するとともに、他の通信制御モジュールからのリクエストを処理する。つまり、DSDVデーモン16は、テーブル駆動型ルーティングプロトコルであるDSDVプロトコルの実行処理部であるとともに、本実施の形態特有の処理を行なう。
The process / application
以下、本発明の実施形態の特徴的な処理である、以下の(1)〜(6)の処理について説明する。(1) アドホックネットワークのルーティング、(2) リンク切断の検知および通知、(3)ソケット情報の登録、(4) TCP通信フリーズの移行制御、(5) TCP通信フリーズの解除制御、(6)ソケット情報の削除。これらのうち、(1)および(2)は、従来のDSDVデーモンでも行なわれている処理であり、(3)および(6)は、本実施の形態のIPモジュール19の特有の処理であり、(4)および(5)は、本実施の形態のDSDVデーモン16の特有の処理である。
Hereinafter, the following processes (1) to (6), which are characteristic processes of the embodiment of the present invention, will be described. (1) Ad hoc network routing, (2) Link disconnection detection and notification, (3) Registration of socket information, (4) TCP communication freeze transition control, (5) TCP communication freeze release control, (6) Socket Delete information. Among these, (1) and (2) are processes performed in the conventional DSDV daemon, and (3) and (6) are processes unique to the
以下、(1)〜(6)の処理内容について説明する。 Hereinafter, the processing contents of (1) to (6) will be described.
(1) アドホックネットワークのルーティング
DSDVデーモン16は、定期的に経路情報を交換しあって、取得した経路情報に基づいて最適な経路を算出して、インターネット層にルーティングテーブル21を動的に作成する。
(1) Routing of ad hoc network The
図5は、ルーティングテーブル21の例を示す。同図を参照して、このルーティングテーブル21の各エントリである経路情報は、送信先アドレスと、NextHopアドレスと、Metricと、SeqNumとからなる。 FIG. 5 shows an example of the routing table 21. Referring to the figure, the route information which is each entry of this routing table 21 includes a transmission destination address, a NextHop address, a Metric, and a SeqNum.
送信先アドレスは、送信先端末のIPアドレスを示す。NextHopアドレスは、次のホップ端末のIPアドレスを示す。Metricが所定値BIGのときには、この経路情報による経路(リンク)が切断されていることを表わす。Metricが所定値BIG以外のときは、送信先端末までのホップ数を示す。ここで、所定値BIGは、送信先端末までのホップ数を表わすための数値となることがありなえないような、十分に大きな値とする。SeqNum(Sequence Number)とは、この経路情報が生成された順番を示す。 The transmission destination address indicates the IP address of the transmission destination terminal. The NextHop address indicates the IP address of the next hop terminal. When Metric is a predetermined value BIG, it indicates that the route (link) based on this route information is disconnected. When Metric is other than the predetermined value BIG, it indicates the number of hops to the destination terminal. Here, the predetermined value BIG is a sufficiently large value that cannot be a numerical value for representing the number of hops to the destination terminal. SeqNum (Sequence Number) indicates the order in which the route information is generated.
図5に示すルーティングテーブルの例では、第1の経路は、送信元端末を無線端末1とし、送信先端末を無線端末3とする経路であり、無線端末1が送信したパケットを最初に中継する端末が無線端末2であり、無線端末1が送信したパケットは、(Metricが4より)3つの中継端末を経由して無線端末3に届くことを示している。
In the example of the routing table shown in FIG. 5, the first route is a route in which the transmission source terminal is the
また、第2の経路は、送信元端末を無線端末1とし、送信先端末を無線端末7とする経路であり、無線端末1が送信したパケットを最初に中継する端末が無線端末5であり、無線端末1が送信したパケットは、(Metricが3より)2つの中継端末を経由して無線端末7に届くことを示している。
The second route is a route in which the transmission source terminal is the
また、第3の経路は、送信元端末を無線端末1とし、送信先端末を無線端末4とする経路であり、無線端末1が送信したパケットを最初に中継する端末が無線端末2であり、無線端末1が送信したパケットは、(Metricが2より)1つの中継端末(つまり、無線端末2)を経由して無線端末4に届くことを示している。
The third route is a route in which the transmission source terminal is the
DSDVデーモン16は、次のようにして定期的な経路の探索処理を行なう。まず、DSDVデーモン16は、自己の経路情報のSeqNumをインクリメントする。これによって、この経路情報は、他の無線端末が持つルーティングテーブル21内の経路情報よりも新しいことを表わす。DSDVデーモン16は、Updateパケットに最新のルーティングテーブル21内の経路情報のすべてを登録して、UpdateパケットをUDPモジュール18によってブロードキャスト送信する。
The
他の無線端末のDSDVデーモン16は、このUpdateパケットを受信すると、このUpdateパケット内の経路情報に基づき、自己の無線端末のルーティングテーブル21内の経路情報を更新するとともに、必要に応じて、自己の無線端末のルーティングテーブル21内の経路情報をすべて登録したUpdateパケットをUDPモジュール18によってブロードキャスト送信する。
When the
また、DSDVデーモン16は、次のようにしてIPパケットの転送処理を行なう。DSDVデーモン16は、ルーティングテーブル20を参照して、生成したIPパケットまたは他の無線端末から受取ったIPパケットの送信先アドレスと同一の送信先アドレスの経路情報を特定し、下位のモジュールに対して、その経路情報のNextHopアドレスで特定される無線端末へIPパケットを送信させる。
The
(2) リンク切断の検知および通知
DSDVデーモン16は、MACモジュール23からリンクが切断された旨の通知を受けたとき、または他の無線端末からリンクが切断された旨の通知を受けたときには、上述の定期的な探索処理によらずに、自己の無線端末のルーティングテーブル21を更新するとともに、即座にUDPモジュール18によりUpdateパケットをブロードキャスト送信させて、リンクが切断したことを他の無線端末へ通知する。
(2) Detection and notification of link disconnection When the
図6に示すフローチャートを用いて、DSDVデーモン16によるリンク切断の検知および通知処理の手順を説明する。
With reference to the flowchart shown in FIG. 6, the procedure of link disconnection detection and notification processing by the
いずれかの無線端末のMACモジュール23が、キャリアセンスによって、パケットの再送回数が所定回数を越えたことを検知することによって、リンクが切断されていることを検知して、リンクが切断されたこと、および転送されなかったIPパケットをDSDVデーモン16に通知する(S101)。
The
DSDVデーモン16は、転送されなかったパケットのIPヘッダの送信先アドレスがルーティングテーブル21内に存在するか否かを調べ、存在している場合には、ルーティングテーブル21内のその送信先アドレスが含まれる経路情報のMetricをBIGに更新する(S102,S103)。
The
DSDVデーモン16は、変更した経路情報を含むUpdateパケットを作成して、そのUpdateパケットをUDPモジュール18に送り、ブロードキャスト送信させる(S104)。
The
他の無線端末のDSDVデーモン16は、UDPモジュール18が受信したUpdateパケットを受取る(S105)。
The
DSDVデーモン16は、Updateパケットに含まれる経路情報の送信先アドレスがルーティングテーブル21内に存在し、かつそのMetricがBIGでない場合には、ルーティングテーブル21内のその送信先アドレスが含まれる経路情報のMetricをBIGに更新する(S106,S107)。
If the destination address of the route information included in the Update packet exists in the routing table 21 and the metric is not BIG, the
DSDVデーモン16は、変更した経路情報を含むUpdateパケットを作成して、そのUpdateパケットをUDPモジュール18に送り、ブロードキャスト送信させる(S108)。
The
上述のS105〜S108の処理は、S106においてUpdateパケットに含まれる経路情報の送信先アドレスがルーティングテーブル21内に存在しないと判定されるか、または存在してもそのMetricがBIGと判定されるまで、繰り返される。 The processes of S105 to S108 described above are performed until it is determined in S106 that the destination address of the route information included in the Update packet does not exist in the routing table 21, or even if it exists, the Metric is determined to be BIG. ,Repeated.
(3) ソケット情報の登録
TCP通信接続要求端末およびTCP通信接続受理端末のIPモジュール19は、アプリケーション13から自端末が、TCP通信においてデータを送信し、そのデータに対するACKを受信する側の端末(以下、TCP通信の送信元端末という)であるとの通知を受けたときには、TCP通信のコネクションの確立時に、図2に示すTCPヘッダと、図3に示すIPヘッダとに基づいて、そのTCP通信に関するソケット情報をインターネット層のソケット情報管理テーブル20に登録する。
(3) Registration of Socket Information The
図7は、TCP通信の送信元端末が無線端末1のときのソケット情報管理テーブル20の例を示す。同図を参照して、ソケット情報管理テーブル20内の各エントリであるソケット情報は、送信先アドレスと、送信元ポート番号と、送信先ポート番号と、ステイタスとからなる。
FIG. 7 shows an example of the socket information management table 20 when the TCP communication source terminal is the
ここで、送信先アドレスとは、送信先端末のIPアドレスを示す。送信元ポート番号とは、送信元の無線端末(すなわち、自端末)で複数のアプリケーションが動作しているときに、TCPパケットを出力したアプリケーションを特定する番号である。また、送信先ポート番号とは、送信先の無線端末で複数のアプリケーションが動作しているときに、TCPパケットを届けるアプリケーションを特定する番号である。ステイタスは、ACTIONとFREEZEの2つの状態をとる。ステイタスがACTIONとは、TCP通信が通常に行なわれていることを示し、ステイタスがFREEZEとは、TCP通信がフリーズしていることを示す。 Here, the transmission destination address indicates the IP address of the transmission destination terminal. The transmission source port number is a number that identifies an application that has output a TCP packet when a plurality of applications are operating on the transmission source wireless terminal (that is, the own terminal). The transmission destination port number is a number that identifies an application that delivers a TCP packet when a plurality of applications are operating on the wireless terminal of the transmission destination. The status takes two states, ACTION and FREEZE. A status of ACTION indicates that TCP communication is normally performed, and a status of FREEZE indicates that the TCP communication is frozen.
このソケット情報管理テーブル20の例では、無線端末1のポート1と、無線端末3のポート2との間で、TCP通信が行なわれており、通常に動作中(ACTION)であることを示している。また、無線端末1のポート2と、無線端末7のポート1との間で、TCP通信が行なわれ、通常に動作中(ACTION)であることを示している。
The example of the socket information management table 20 indicates that TCP communication is being performed between the
TCP通信の送信元端末のIPモジュール19は、2段階の手続きによりソケット情報の登録を行なう。すなわち、TCP通信の送信元端末のIPモジュール19は、IPパケットの送信時にソケット情報の抽出処理を行ない、その後、IPパケットの受信時にソケット情報の登録処理を行なうことによって、ソケット情報の登録を行なう。
The
図8は、ソケット情報の抽出処理を示すフローチャートである。同図を参照して、TCP通信の送信元端末のIPモジュール19は、作成したIPパケットにTCPヘッダが含まれているときには、そのTCPヘッダを取得する(S201)。
FIG. 8 is a flowchart showing socket information extraction processing. With reference to the figure, when the TCP module is included in the created IP packet, the
TCP通信の送信元端末のIPモジュール19は、取得したTCPヘッダのCode BitにSYNが設定されているとき(すなわち、TCP接続要求端末が第1パケットを送信するとき)、あるいは取得したTCPヘッダのCode BitにSYNとACKが設定されているとき(すなわち、TCP接続受理端末が第2パケットを送信するとき)には、作成したIPパケットからIPヘッダを取得する(S202、S203)。
The
そして、TCP通信の送信元端末のIPモジュール19は、取得したIPヘッダ内の送信元アドレスが自端末のアドレスと一致するときには、取得したTCPヘッダから送信元ポート番号と送信先ポート番号とを取得する(S204、S205)。
Then, the
次に、TCP通信の送信元端末のIPモジュール19は、取得したIPヘッダより送信先アドレスを取得する(S206)。
Next, the
次に、TCP通信の送信元端末のIPモジュール19は、取得した送信先アドレス、送信元ポート番号、および送信先ポート番号(送信元情報、送信先情報)をメモリに保持する(S207)。
Next, the
次に、TCP通信の送信元端末のIPモジュール19は、コネクション確立処理を行なっていることを表わすフラグSYNCを「1」に設定する。
Next, the
次に、IPモジュール19は、IPパケットを送信する(S209)。
Next, the
図9は、ソケット情報の登録処理を示すフローチャートである。同図を参照して、TCP通信の送信元端末のIPモジュール19は、SYNCフラグが「1」に設定されているときに、受信したIPパケットにTCPヘッダが含まれているときには、そのTCPヘッダを取得する(S601、S602)。
FIG. 9 is a flowchart showing socket information registration processing. With reference to the figure, when the SYNC flag is set to “1” and the received IP packet includes a TCP header, the
次に、TCP通信の送信元端末のIPモジュール19は、取得したTCPヘッダのCode BitにSYNとACKが設定されているとき(すなわち、TCP接続要求端末が第2パケットを受信したとき)、あるいは取得したTCPヘッダのCode BitにACKが設定されているとき(すなわち、TCP接続受理端末が第3パケットを受信したとき)には、受信したIPパケットからIPヘッダを取得する(S603、S604)。
Next, the
次に、TCP通信の送信元端末のIPモジュール19は、取得したIPヘッダ内の送信先アドレスが自端末のアドレスと一致するときに、メモリに送信先アドレス、送信元ポート番号、および送信先ポート番号(送信元情報、送信先情報)が保持されているときには、メモリからこれらを取出し、インターネット層にソケット情報管理テーブル20が未だ作成されていないときには新たにソケット情報管理テーブル20を作成してこのテーブルの1つのエントリに、またはソケット情報管理テーブル20が既に作成されているときにはこのテーブルの新たなエントリに、取出した送信先アドレス、送信元ポート番号、および送信先ポート番号と、ステイタス(ACTION)とからなるソケット情報を書込む(S606、S607)。
Next, when the transmission destination address in the acquired IP header matches the address of the own terminal, the
次に、TCP通信の送信元端末のIPモジュール19は、ソケット情報管理テーブル20に書込んだ送信先アドレス、送信元ポート番号、および送信先ポート番号をメモリから削除し、SYNCフラグを「0」に設定する(S608、S609)。
Next, the
(4) TCP通信フリーズの移行制御
上述の(1)で説明したように、DSDVデーモン16は、リンクの切断の通知を受けると、リンクが切断された経路情報のMetricをBIGに更新される。DSDVデーモン16は、ルーティングテーブル21の経路情報のMetricの変化を監視し、経路情報のMetricがBIGに変化したときには、送信元ポート番号を指定したTCP通信フリーズの移行制御を行なう。
(4) TCP Communication Freeze Migration Control As described in (1) above, when the
ここで、TCP通信フリーズとは、TCPモジュール17による、指定された送信元ポート番号を用いたTCP通信の現在の状態を保持したまま、その実行を一時的に停止することをいう。具体的には、TCP通信フリーズ時には、新規パケットの送信を停止し、再送タイマを停止し、TCP通信フリーズ直前のウインドウサイズを保持し、および/または平均RTT(Round Trip Time)値の計算を行なわない。以下、これらについて説明する。 Here, the TCP communication freeze means that the execution is temporarily stopped while maintaining the current state of the TCP communication using the designated transmission source port number by the TCP module 17. Specifically, at the time of TCP communication freeze, the transmission of new packets is stopped, the retransmission timer is stopped, the window size immediately before the TCP communication freeze is held, and / or the average RTT (Round Trip Time) value is calculated. Absent. Hereinafter, these will be described.
TCP通信では、シーケンス番号を用いてパケットの通信を行なっている。送信側では、次に送信するパケットのシーケンス番号が送信可能な最大シーケンス番号以下のときに、そのパケットの送信を行なうことができる。 In TCP communication, packet communication is performed using a sequence number. On the transmission side, when the sequence number of the next packet to be transmitted is equal to or less than the maximum sequence number that can be transmitted, the packet can be transmitted.
したがって、TCP通信フリーズ時には、送信可能な最大シーケンス番号に、既に受信したシーケンス番号を設定することによって新規パケットの送信を停止する。また、その設定前の送信可能な最大シーケンス番号を別の領域に保持しておき、TCP通信のフリーズが解除されたときに、この保持しておいた送信可能な最大シーケンス番号を用いることによって、TCP通信フリーズの直前の状態にもどすことができ、TCP通信のスループットの低下を防止することができる。 Therefore, when the TCP communication is frozen, the transmission of a new packet is stopped by setting the already received sequence number as the maximum sequence number that can be transmitted. In addition, the maximum sequence number that can be transmitted before the setting is held in another area, and when the freeze of the TCP communication is canceled, by using this stored maximum sequence number that can be transmitted, It is possible to return to the state immediately before the TCP communication freeze, and to prevent a decrease in the throughput of the TCP communication.
TCP通信では、パケットの送信時に再送タイマをスタートさせ、タイムアウト値に達するまでに確認応答パケット(ACK)が返ってこないときには、パケットの再送を行なうが、このタイムアウト値は、平均RTT値の関数となる。平均RTT値は、パケットが送信されてから確認応答パケット(ACK)が返ってくるまでの時間であるRTT(Round Trip Time)値を計測し、その平均を算出することによって得られる。 In TCP communication, when a packet is transmitted, a retransmission timer is started. When an acknowledgment packet (ACK) is not returned by the time the timeout value is reached, the packet is retransmitted. This timeout value is a function of the average RTT value. Become. The average RTT value is obtained by measuring an RTT (Round Trip Time) value, which is a time from when a packet is transmitted until an acknowledgment packet (ACK) is returned, and calculating the average.
また、TCP通信では、スラインディングウインドウ方式により、パケットの送信量を制御している。ウインドウサイズとは、一度に送出するパケット数をいう。受信側で1つのパケットを受取るごとに、確認応答パケット(ACK)を送信する。送信側でこの確認応答パケット(ACK)を受信したときには、ウインドウをスライディングさせて、次のパケットを送信する。 In TCP communication, the amount of packet transmission is controlled by a sliding window method. The window size is the number of packets transmitted at a time. Each time one packet is received at the receiving side, an acknowledgment packet (ACK) is transmitted. When the transmission side receives this acknowledgment packet (ACK), it slides the window and transmits the next packet.
TCP通信では、スロースタートおよび輻輳回避のアルゴリズムによって、ウインドウサイズを調整している。スロースタートでは、送信側で、再送タイマがタイムアウト値に達するとウインドウサイズを1に減らし、その後指数関数的にウインドウサイズを増加させる。輻輳回避では、ウインドウサイズが、タイムアウト時の半分の大きさになると、ウインドウサイズを1個ずつ増加させる。 In TCP communication, the window size is adjusted by a slow start and congestion avoidance algorithm. In the slow start, when the retransmission timer reaches the timeout value, the transmission side decreases the window size to 1, and then increases the window size exponentially. In congestion avoidance, the window size is increased by one when the window size becomes half the size at the time of timeout.
したがって、TCP通信フリーズ時には、再送タイマを停止することによって、パケットの無駄な再送を防止することができる。 Therefore, when the TCP communication freezes, it is possible to prevent unnecessary retransmission of the packet by stopping the retransmission timer.
また、TCP通信フリーズの間にウインドウサイズがでたらめな値に更新され、TCP通信フリーズの解除後に、更新されたでたらめな値または初期値からウインドウサイズをスタートするとなると、TCP通信のスループットが低下する。したがって、TCP通信フリーズ時には、TCP通信フリーズ直前のウインドウサイズを保持し、TCP通信フリーズの解除後に、保持されているウインドウサイズに基いて最適なウインドウサイズを設定することによって、TCP通信のスループットの低下を防止することができる。 Further, if the window size is updated to a random value during the TCP communication freeze and the window size is started from the updated random value or the initial value after the release of the TCP communication freeze, the throughput of the TCP communication decreases. Therefore, at the time of TCP communication freeze, the window size immediately before the TCP communication freeze is retained, and after the TCP communication freeze is released, the optimum window size is set based on the retained window size, thereby reducing the TCP communication throughput. Can be prevented.
さらに、TCP通信フリーズ時には、平均RTT値の計算を行なわないことにより、RTT値の無駄な計測を防止することができる。 Furthermore, when the TCP communication freeze is performed, the calculation of the average RTT value is not performed, so that unnecessary measurement of the RTT value can be prevented.
図10に示すフローチャートを用いて、DSDVデーモン16によるTCP通信フリーズの移行制御処理の手順を説明する。
The procedure of the TCP communication freeze migration control process by the
DSDVデーモン16は、ルーティングテーブル21にMetricの値を監視し、図11に示すようにルーティングテーブルのようにMetricがBIGとなる経路情報が発生したときには、ルーティングテーブル21からその経路情報の送信先アドレスを取得する(S301,S302)。
The
DSDVデーモン16は、インターネット層にソケット情報管理テーブル20が存在し、かつ、そのソケット情報管理テーブル20に取得した送信先アドレスと同一の送信先アドレスのソケット情報が存在するか否かを調べる(S303,S304)。
The
DSDVデーモン16は、そのようなソケット情報が存在するときには、そのソケット情報のステイタスがACTIONであるか否かを調べ、ACTIONであるときには、TCPモジュール17に対して、そのソケット情報に含まれる送信元ポート番号を用いたTCP通信のフリーズを指示する(S304,S305)。
When such socket information exists, the
さらに、DSDVデーモン16は、ルーティングテーブル21内のそのソケット情報のステイタスをFREEZEに更新する。これにより、図7のソケット情報管理テーブル20は、図12に示すようなソケット情報管理テーブル20に変更される(S306)。
Further, the
(5) TCP通信フリーズの解除制御
DSDVデーモン16による定期探索処理によって、TCP通信フリーズしているTCP通信の送信先端末への新たなルートが発見されたときには、ルーティングテーブル21のMetricは、BIGからBIG以外の値に更新される。DSDVデーモン16は、ルーティングテーブル21の経路情報のMetricの変化を監視し、MetricがBIGからBIG以外の値に変化したときには、TCP通信フリーズの解除制御を行なう。
(5) TCP communication freeze release control When a new route to the destination terminal of TCP communication frozen in the TCP communication is discovered by the periodic search processing by the
ここで、TCP通信フリーズの解除とは、TCPモジュール17による、指定された送信元ポート番号を用いたTCP通信のフリーズ状態を解除すること、具体的には、新規パケットの送信を再開し、再送タイマを動作させ、ウインドウサイズをTCP通信フリーズ直前の値からスタートさせ、および/または平均RTT値の計算を再開する(再開前のパケットはすべて計算の対象外とする)ことをいう。 Here, the release of the TCP communication freeze is to release the freeze state of the TCP communication using the designated transmission source port number by the TCP module 17, more specifically, the transmission of a new packet is resumed and retransmitted. It means that the timer is operated, the window size is started from the value immediately before the TCP communication freeze, and / or the calculation of the average RTT value is restarted (all the packets before the restart are excluded from the calculation).
図13に示すフローチャートを用いて、DSDVデーモン16によるTCP通信フリーズの解除制御処理の手順を説明する。
The procedure of the TCP communication freeze release control process by the
DSDVデーモン16は、ルーティングテーブル21にMetricの値を監視し、図14に示すルーティングテーブルのようにMetricがBIGからBIG以外の値に変化した経路情報が発生したときには、ルーティングテーブル21からその経路情報の送信先アドレスを取得する(S401,S402)。
The
DSDVデーモン16は、インターネット層にソケット情報管理テーブル20が存在し、かつ、そのソケット情報管理テーブル20に取得した送信先アドレスと同一の送信先アドレスのソケット情報が存在するか否かを調べる(S403,S404)。
The
DSDVデーモン16は、そのようなソケット情報が存在するときには、そのソケット情報のステイタスがFREEZEであるか否かを調べ、FREEZEであるときには、TCPモジュール17にそのソケット情報に含まれる送信元ポート番号とともにTCP通信フリーズの解除を指示する(S405,S406)。
When such socket information exists, the
さらに、DSDVデーモン16は、ルーティングテーブル21内のそのソケット情報のステイタスをACTIONに更新する。これにより、図12のソケット情報管理テーブル20は、図7のソケット情報管理テーブル20にもどされる(S407)。
Furthermore, the
(6) ソケット情報の削除
TCP通信の送信元端末のIPモジュール19は、TCP通信のコネクションの切断時に、図2に示すTCPヘッダと、図3に示すIPヘッダとに基づいて、そのTCP通信に関するソケット情報を、ソケット情報管理テーブル20から削除する。
(6) Deletion of socket information The
図15は、ソケット情報の削除処理を示すフローチャートである。同図を参照して、TCP通信の送信元端末のIPモジュール19は、作成したIPパケットにTCPヘッダが含まれているときには、そのTCPヘッダを取得する(S501)。
FIG. 15 is a flowchart showing socket information deletion processing. With reference to the figure, when the TCP module is included in the created IP packet, the
TCP通信の送信元端末のIPモジュール19は、取得したTCPヘッダのCode BitにFINが設定されているとき(すなわち、TCP切断要求端末が第1パケットを送信するとき、あるいはTCP通信切断受理端末が第3パケットを送信するとき)には、作成したIPパケットからIPヘッダを取得する(S502、S503)。 When the FIN is set in the Code Bit of the acquired TCP header (that is, when the TCP disconnection requesting terminal transmits the first packet, or the TCP communication disconnection receiving terminal When transmitting the third packet), an IP header is acquired from the created IP packet (S502, S503).
そして、TCP通信の送信元端末のIPモジュール19は、取得したIPヘッダ内の送信元アドレスが自端末のアドレスと一致するときには、取得したTCPヘッダから送信元ポート番号と送信先ポート番号とを取得する(S504、S505)。
Then, the
次に、TCP通信の送信元端末のIPモジュール19は、取得したIPヘッダより送信先アドレスを取得する(S506)。
Next, the
次に、TCP通信の送信元端末のIPモジュール19は、取得した送信先アドレス、送信元ポート番号、および送信先ポート番号を含むソケット情報がインターネット層のソケット情報管理テーブル20が登録されているときには、そのソケット情報を削除する(S507)。
Next, when the socket information including the acquired transmission destination address, transmission source port number, and transmission destination port number is registered in the socket information management table 20 of the Internet layer, the
(アドホックネットワークによる通信動作の例)
次に、図16を参照して、アドホックネットワークによる通信動作の例を説明する。この例では、無線端末1がTCP通信の送信元端末であり、無線端末1がTCP通信接続要求端末で、無線端末4がTCP通信接続受理端末であるとする。
(Example of communication operation by ad hoc network)
Next, an example of a communication operation using an ad hoc network will be described with reference to FIG. In this example, it is assumed that the
無線端末1のTCPモジュール17と、無線端末4のTCPモジュール17とは、TCP通信を行なう。無線端末1のIPモジュール19は、TCPモジュール17によるTCP通信のコネクション確立時に、TCPヘッダおよびIPヘッダに基づいて、ソケット情報をインターネット層のソケット情報管理テーブル20に登録する。無線端末1のソケット情報は、図16に示すように、送信先アドレスが無線端末4のアドレスで、送信元ポート番号が1で、送信先ポート番号が2で、ステイタスがACTIONである。
The TCP module 17 of the
無線端末1のルーティングテーブル21は、送信先アドレスが無線端末4のアドレスで、NextHopアドレスが無線端末2のアドレスで、Metricが3で、SeqNumが0である経路情報を有する。また、無線端末2のルーティングテーブル21は、送信先アドレスが無線端末4のアドレスで、NextHopアドレスが無線端末3のアドレスで、Metricが2で、SeqNumが0である経路情報を有する。また、無線端末3のルーティングテーブル21は、送信先アドレスが無線端末4のアドレスで、NextHopアドレスが無線端末4のアドレスで、Metricが1で、SeqNumが0である経路情報を有する。したがって、無線端末1から送信されたパケットは、無線端末2と無線端末3とを経由して無線端末4に届けられる。
The routing table 21 of the
無線端末3のMACモジュール23が、パケットの再送回数が所定回数を越えたときにリンクが切断されていることを検知して、リンクが切断されたこと、および転送されなかったIPパケットをDSDVデーモン16に通知する。無線端末3のDSDVデーモン16は、転送されなかったIPパケットのIPヘッダの送信先アドレスである無線端末4のアドレスがルーティングテーブル21内に存在しているので、ルーティングテーブル21内の送信先アドレスが無線端末4のアドレスである経路情報のMetricをBIGに更新する。無線端末3のDSDVデーモン16は、変更した経路情報を含むUpdateパケットを作成して、そのUpdateパケットをUDPモジュール18に送り、ブロードキャスト送信させる。
When the
無線端末2のDSDVデーモン16は、UDPモジュール18によって、Updateパケットを受信する。無線端末2のDSDVデーモン16は、Updateパケットに含まれる経路情報の送信先アドレスである無線端末4のアドレスがルーティングテーブル21内に存在し、かつそのMetricがBIGでないので、ルーティングテーブル21内の送信先アドレスが無線端末4のアドレスである経路情報のMetricをBIGに更新する。無線端末2のDSDVデーモン16は、変更した経路情報を含むUpdateパケットを作成して、そのUpdateパケットをUDPモジュール18に送り、ブロードキャスト送信させる。
The
無線端末1のDSDVデーモン16は、UDPモジュール18によって、Updateパケットを受信する。無線端末1のDSDVデーモン16は、Updateパケットに含まれる経路情報の送信先アドレスである無線端末4のアドレスがルーティングテーブル21内に存在し、かつそのMetricがBIGでないので、ルーティングテーブル21内の送信先アドレスが無線端末4のアドレスである経路情報のMetricをBIGに更新する。
The
無線端末1のDSDVデーモン16は、ルーティングテーブル21のMetricの値を監視し、MetricがBIGとなる経路情報が発生したことを検知して、ルーティングテーブル21からその経路情報の送信先アドレスである無線端末4のアドレスを取得する。無線端末1のDSDVデーモン16は、インターネット層にソケット情報管理テーブル20が存在し、かつ、そのソケット情報管理テーブル20に取得した無線端末4のアドレスを送信先アドレスとするソケット情報が存在するので、そのソケット情報のステイタスがACTIONであるか否かを調べる。無線端末1のDSDVデーモン16は、ステイタスがACTIONであるので、TCPモジュール17に対して、そのソケット情報に含まれる送信元ポート番号を用いたTCP通信のフリーズを指示する。TCPモジュール17は、指示された送信元ポート番号を用いたTCP通信をフリーズする。さらに、無線端末1のDSDVデーモン16は、ルーティングテーブル21内のそのソケット情報のステイタスをFREEZEに更新する。
The
以上のように、本発明の実施形態に係る、テーブル駆動型のルーティングプロトコルを用いてルーティングを行なうアドホックネットワークにおける通信方式によれば、リンクが切断されたときにTCP通信をフリーズし、新たなリンクが接続されたときにTCP通信フリーズを解除することによって、TCP通信を適切に制御することができ、TCP通信のスループットの低下を防止することができる。 As described above, according to the communication method in the ad hoc network that performs routing using the table-driven routing protocol according to the embodiment of the present invention, the TCP communication is frozen when the link is disconnected, and a new link is created. By releasing the TCP communication freeze when is connected, it is possible to appropriately control the TCP communication and prevent a decrease in the throughput of the TCP communication.
本発明は、上記の実施形態に限定されるものではなく、たとえば、以下のような変形例も含む。 The present invention is not limited to the above embodiment, and includes, for example, the following modifications.
(1) リンクの切断
本発明の実施の形態では、MACモジュール23が、パケットの再送回数が所定回数を越えたときにリンクが切断されていることを検知したが、これに限定するものではない。たとえば、IPアドレスとMACアドレスとがマッチングできなかった際に格納されるARPバッファに溢れが生じた場合に、リンクの切断を検知するものとしてもよい。
(1) Link disconnection In the embodiment of the present invention, the
(2) テーブル駆動型のルーティングプロトコル
本発明の実施の形態では、テーブル駆動型のルーティングプロトコルの例として、DSDVプロトコルを取り上げたが、これに限定するものではなく、その他のテーブル駆動型のルーティングプロトコルであっても、同様にして実施できる。
(2) Table-driven routing protocol In the embodiment of the present invention, the DSDV protocol is taken as an example of the table-driven routing protocol. However, the present invention is not limited to this, and other table-driven routing protocols are used. However, it can be carried out in the same manner.
(3) リンク切断を示すMetric
本発明の実施形態では、Metricが所定値BIGのときに、リンクが切断されていることを表わしたが、これに限定されるものではなく、Metricが所定の記号のときに、リンクが切断されていることを表わすものとしてもよい。
(3) Metric indicating link disconnection
In the embodiment of the present invention, the link is disconnected when Metric is a predetermined value BIG. However, the present invention is not limited to this, and the link is disconnected when Metric is a predetermined symbol. It is also possible to express that
(4) DSDVデーモン
本発明の実施の形態では、DSDVデーモンが、(1) アドホックネットワークのルーティング、(2) リンク切断の検知および通知、(4) TCP通信フリーズの移行制御、(5) TCP通信フリーズの解除制御を行なったが、これに限定するものではない。たとえば、(1)および(2)をDSDVデーモンが行ない、(4)および(5)は、DSDVデーモンとは別の1または2個のデーモンが行なうものとしてもよい。
(4) DSDV daemon In the embodiment of the present invention, the DSDV daemon (1) ad hoc network routing, (2) link disconnection detection and notification, (4) TCP communication freeze transition control, (5) TCP communication Although freeze release control is performed, the present invention is not limited to this. For example, (1) and (2) may be performed by the DSDV daemon, and (4) and (5) may be performed by one or two daemons other than the DSDV daemon.
(5) アプリケーションとプロセス/アプリケーションのプロトコル
本発明の実施形態では、アプリケーションとしてメイラ、プロセス/アプリケーションのプロトコルとしてSMTPを用いて説明を行なったが、これに限定するものではなく、トランスポート層としてTCPを用いるものであれば、どのようなものでもよい。
(5) Application and Process / Application Protocol In the embodiment of the present invention, description has been given using Mailer as an application and SMTP as a process / application protocol. However, the present invention is not limited to this, and TCP is used as a transport layer. As long as it uses, any thing may be used.
(6) TCP通信フリーズ
本発明の実施の形態で述べたTCP通信のフリーズ時の処理に代えて、あるいは加えて、たとえば、以下の処理を行なうものとしてもよい。
(6) TCP communication freeze In place of or in addition to the TCP communication freeze processing described in the embodiment of the present invention, for example, the following processing may be performed.
(a) フリーズ状態にあるTCP通信におけるACK受信処理
送信側のTCP通信がフリーズ状態にあっても、受信側のTCP通信はそれを知ることができない。そのため、送信側からの経路上にリンク切断が発生していたとしても、受信側はかまわずACKを送信する。これにより、送信側のTCP通信がフリーズ状態にあるにもかかわらず、ACKを受信する場合がある。これに対処するために、以下の処理を行なう。
(A) ACK reception process in TCP communication in freeze state Even if the TCP communication on the transmission side is in the freeze state, the TCP communication on the reception side cannot know it. For this reason, even if link disconnection occurs on the path from the transmission side, the reception side does not matter, and ACK is transmitted. As a result, the ACK may be received even though the TCP communication on the transmission side is in a frozen state. In order to cope with this, the following processing is performed.
フリーズ状態にある送信側TCPは、ACKを受信しても新規パケットの送信は行なわない。フリーズ状態にある送信側TCPは、受信したACKに登録されているシーケンス番号と直前に受信したACKに登録されているシーケンス番号とを比較する。その結果、送信側TCPは、新しいACKを受信したと判断した場合は、送信側TCPが保持している直前に受信したACKのシーケンス番号と、受信した最大のシーケンス番号とを更新する。また、直前に受信したACKのシーケンス番号と重複するシーケンス番号を持つACKを受信したときには、重複回数をカウントするのみで、他の受信処理は行なわない。 The transmitting TCP in the frozen state does not transmit a new packet even if it receives an ACK. The sending TCP in the frozen state compares the sequence number registered in the received ACK with the sequence number registered in the ACK received immediately before. As a result, when it is determined that a new ACK has been received, the transmission side TCP updates the sequence number of the ACK received immediately before held by the transmission side TCP and the maximum sequence number received. When an ACK having a sequence number that overlaps with the sequence number of the ACK received immediately before is received, only the number of times of duplication is counted, and no other reception processing is performed.
(b) リンク切断を通知されたDSDVにおけるキュー制御
DSDVでは、経路が見つからない場合、送信または転送するパケットをキューに格納する。そして、経路回復後にキューに格納されているパケットを優先的に送信または転送することで、リンク切断中のパケットロスを回避している。
(B) Queue control in DSDV notified of link disconnection In DSDV, when a route is not found, a packet to be transmitted or transferred is stored in a queue. Packet loss during link disconnection is avoided by preferentially transmitting or transferring packets stored in the queue after route recovery.
しかし、DSDVのキューにも閾値が設けられており、閾値を越えるパケットが送られると、FIFOによってキューに格納されている最も古いパケットが破棄される。また、DSDVのキューにパケットが格納されることで、経路回復後にTCPのパラメータを制御したとしても、TCPからは制御できないパケットがDSDVから送信される。 However, a threshold is also provided in the DSDV queue, and when a packet exceeding the threshold is sent, the oldest packet stored in the queue is discarded by the FIFO. Further, by storing the packet in the DSDV queue, even if the TCP parameter is controlled after the path recovery, the packet that cannot be controlled from the TCP is transmitted from the DSDV.
そこで、リンク切断中にDSDVが受信したパケットは、すべて破棄するものとし、TCP通信フリーズの解除後に、送信側のTCPから受信側のTCPに対して問合せを行ない、DSDVで破棄されたパケットもすべてTCPが再送を行なうことで、TCPによるパケット送信の一元管理が可能となり、通信制御を容易にすることができる。 Therefore, all the packets received by DSDV during link disconnection are discarded, and after the TCP communication freeze is canceled, an inquiry is made from the sending TCP to the receiving TCP, and all packets discarded by DSDV are also discarded. When TCP performs retransmission, unified management of packet transmission by TCP is possible, and communication control can be facilitated.
(7) ソケット情報の削除
本発明の実施形態では、TCP通信切断要求端末のIPモジュール17は、第1パケットを送信するときにソケット情報を削除したが、第2および第3パケットを受信したときに、ソケット情報を削除するものとしてもよい。また、TCP通信切断受理端末のIPモジュール17は、第2および第3パケットを送信するときにソケット情報を削除したが、第4パケットを受信したときに、ソケット情報を削除するものとしてもよい。
(7) Deletion of socket information In the embodiment of the present invention, the IP module 17 of the TCP communication disconnection request terminal deletes the socket information when transmitting the first packet, but receives the second and third packets. In addition, the socket information may be deleted. The IP module 17 of the TCP communication disconnection receiving terminal deletes the socket information when transmitting the second and third packets, but may delete the socket information when receiving the fourth packet.
(8) Code Bitの参照
S203において、TCP通信の送信元端末のIPモジュール19は、取得したTCPヘッダのCode BitにSYNが設定されているときがTCP接続要求端末が第1パケットを送信するときであると識別し、取得したTCPヘッダのCode BitにSYNとACKが設定されているときがTCP接続受理端末が第2パケットを送信するときであると識別したが、これに限定するものではない。TCP通信の送信元端末のIPモジュール19は、取得したTCPヘッダのCode BitにSYNが設定されているときがTCP接続要求端末が第1パケットを送信するとき、またはTCP接続受理端末が第2パケットを送信するときであると識別するものとしてもよい。つまり、第2パケットの送信をSYNのみを参照して判断してもよい。
(8) Reference to Code Bit In S203, when the TCP connection requesting terminal transmits the first packet when the
S603において、TCP通信の送信元端末のIPモジュール19は、取得したTCPヘッダのCode BitにSYNとACKが設定されているときがTCP接続要求端末が第2パケットを受信したときであると識別し、取得したTCPヘッダのCode BitにACKが設定されているときがTCP接続受理端末が第3パケットを受信したときであると識別したが、これに限定するものではない。TCP通信の送信元端末のIPモジュール19は、取得したTCPヘッダのCode BitにSYNが設定されているときがTCP接続要求端末が第2パケットを受信したときであると識別し、取得したTCPヘッダのCode BitにACKが設定されているときにがTCP接続受理端末が第3パケットを受信したときであると識別するものとしてもよい。つまり、第2パケットの受信をSYNのみを参照して判断してもよい。
In step S603, the
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
1〜9 無線端末、11 入力部、12 表示部、13 電子メールアプリケーション、14 通信制御部、15 SMTPモジュール、16 DSDVデーモン、17 TCPモジュール、18 UDPモジュール、19 IPモジュール、20 ソケット情報管理テーブル、21 ルーティングテーブル、22 LLCモジュール、23 MACモジュール、24 無線インタフェースモジュール、25 アンテナ。 1 to 9 wireless terminal, 11 input unit, 12 display unit, 13 e-mail application, 14 communication control unit, 15 SMTP module, 16 DSDV daemon, 17 TCP module, 18 UDP module, 19 IP module, 20 socket information management table, 21 routing table, 22 LLC module, 23 MAC module, 24 radio interface module, 25 antenna.
Claims (8)
TCP通信の送信元端末が、TCP通信のコネクションの確立時に、前記TCP通信の送信先端末のアドレス、送信元ポート番号、および送信先ポート番号を含むソケット情報をソケット情報管理テーブルに登録するステップと、
各端末が、リンクの切断を検知したときに、自己の端末のルーティングテーブルの対応する経路情報のメトリックをリンク切断を示す値または記号に更新し、更新した経路情報を含むパケットをブロードキャスト送信するステップと、
各端末が、前記更新された経路情報を含むパケットを受信したときに、自己の端末のルーティングテーブルの対応する経路情報のメトリックをリンク切断を示す値または記号に更新し、更新した経路情報を含むパケットをブロードキャスト送信するステップと、
前記TCP通信の送信元端末が、自己の端末のルーティングテーブル内の経路情報のメトリックがリンク切断を示す値または記号となったときに、前記ルーティングテーブルから前記経路情報の送信先端末のアドレスを取得し、前記ソケット情報管理テーブルを参照して、前記取得した送信先端末のアドレスを含むソケット情報を特定し、前記特定したソケット情報に含まれる送信元ポート番号を用いたTCP通信をフリーズするステップとを含む、アドホックネットワークにおける通信方式。 A communication method in an ad hoc network that performs routing using a table-driven routing protocol,
A TCP communication source terminal, when establishing a TCP communication connection, registering socket information including an address of the TCP communication destination terminal, a source port number, and a destination port number in a socket information management table; ,
When each terminal detects link disconnection, the corresponding route information metric in the routing table of its own terminal is updated to a value or symbol indicating link disconnection, and a packet including the updated route information is broadcasted When,
When each terminal receives a packet containing the updated route information, the corresponding route information metric in the routing table of its own terminal is updated to a value or symbol indicating link disconnection, and the updated route information is included. Broadcasting a packet;
The source terminal of the TCP communication acquires the address of the destination terminal of the route information from the routing table when the metric of the route information in the routing table of the terminal becomes a value or symbol indicating link disconnection. And referring to the socket information management table, identifying socket information including an address of the acquired destination terminal, and freezing TCP communication using a source port number included in the identified socket information; A communication method in an ad hoc network.
前記ソケット情報を登録するステップでは、前記TCP通信の送信元端末が、前記送信先端末のアドレス、送信元ポート番号、および送信先ポート番号に加えて、アクションを示すステイタスをさらに含むソケット情報をソケット情報管理テーブルに登録し、
前記TCP通信をフリーズするステップでは、前記TCP通信の送信元端末が、前記ソケット情報のステイタスがアクションのときに限り、前記ソケット情報の送信元ポート番号を用いたTCP通信をフリーズし、
前記TCP通信の送信元端末が、前記TCP通信のフリーズ後に、前記ソケット情報のステイタスをフリーズに更新するステップをさらに含む、請求項1記載のアドホックネットワークにおける通信方式。 The socket information further includes a status indicating whether the TCP communication state is frozen or an action indicating a normal operation state,
In the step of registering the socket information, the source terminal of the TCP communication sets the socket information further including a status indicating an action in addition to the address of the destination terminal, the source port number, and the destination port number. Register in the information management table,
In the step of freezing the TCP communication, the source terminal of the TCP communication freezes the TCP communication using the source port number of the socket information only when the status of the socket information is an action,
The communication method in the ad hoc network according to claim 1, further comprising the step of the TCP communication source terminal updating the status of the socket information to freeze after the TCP communication freeze.
各端末が、新たな経路を発見したときには、メトリックをホップ数とした前記新たな経路の経路情報でルーティングテーブルを更新し、更新した経路情報をブロードキャスト送信するステップと、
前記TCP通信の送信元端末が、自己の端末のルーティングテーブル内の経路情報のメトリックがリンク切断を示す値または記号からホップ数に変化したときには、前記ルーティングテーブルから前記経路情報の送信先端末のアドレスを取得し、前記ソケット情報管理テーブルを参照して、前記取得した送信先端末のアドレスを含むソケット情報を特定し、前記特定したソケット情報のステイタスがフリーズのときに限り、前記特定したソケット情報の送信元ポート番号を用いたTCP通信のフリーズ状態を解除するステップと、
前記TCP通信の送信元端末が、前記TCP通信のフリーズ状態の解除後に、前記ソケット情報のステイタスをアクションに更新するステップとを含む、請求項2記載のアドホックネットワークにおける通信方式。 The communication method in the ad hoc network further includes:
When each terminal discovers a new route, the routing table is updated with the route information of the new route with the metric as the number of hops, and the updated route information is broadcasted.
When the metric of the route information in the routing table of the terminal of the TCP communication changes from a value or symbol indicating link disconnection to the number of hops, the address of the destination terminal of the route information from the routing table The socket information management table is referenced to identify socket information including the address of the acquired destination terminal, and only when the status of the identified socket information is frozen, Canceling the freeze state of TCP communication using the source port number;
The communication method in the ad hoc network according to claim 2, further comprising a step of updating a status of the socket information to an action after the TCP communication source terminal is released from the freeze state of the TCP communication.
TCP通信の送信元端末のIPを実行処理するIPモジュールが、TCPを実行処理するTCPモジュールによるTCP通信のコネクションの確立時に、前記TCP通信の送信先端末のアドレス、送信元ポート番号、および送信先ポート番号とを含むソケット情報をインターネット層のソケット情報管理テーブルに登録するステップと、
各端末のテーブル駆動型のルーティングプロトコルを実行処理するデーモンが、MACプロトコルを実行処理するMACモジュールから、転送されなかったパケットとともにリンクが切断された旨の通知を受けたときに、自己の端末のルーティングテーブルの対応する経路情報のメトリックをリンク切断を示す値または記号に更新し、更新した経路情報を含むパケットをUDPプロトコルを実行処理するUDPモジュールによってブロードキャスト送信させるステップと、
各端末の前記デーモンが、前記更新された経路情報を含むパケットを受信したときに、自己の端末のルーティングテーブルの対応する経路情報のメトリックをリンク切断を示す値または記号に更新し、更新した経路情報を含むパケットを前記UDPモジュールによってブロードキャスト送信させるステップと、
TCP通信の送信元端末の前記デーモンが、自己の端末のルーティングテーブル内の経路情報のメトリックを監視し、経路情報のメトリックがリンク切断を示す値または記号となったときに、前記ルーティングテーブルから前記経路情報の送信先端末のアドレスを取得し、前記ソケット情報管理テーブルを参照して、前記取得した送信先端末のアドレスを含むソケット情報を特定し、前記TCPモジュールに対して、前記特定したソケット情報に含まれる送信元ポート番号を用いたTCP通信をフリーズさせるステップとを含む、アドホックネットワークにおける通信方式。 A communication method in an ad hoc network that performs routing using a table-driven routing protocol,
When the IP module that executes the IP of the TCP communication source terminal establishes a TCP communication connection by the TCP module that executes the TCP, the address of the TCP communication destination terminal, the source port number, and the destination Registering socket information including the port number in the socket information management table of the Internet layer;
When the daemon that executes the table-driven routing protocol of each terminal receives notification from the MAC module that executes the MAC protocol that the link has been disconnected together with the packet that has not been transferred, Updating a corresponding route information metric in the routing table to a value or symbol indicating link disconnection, and broadcasting a packet including the updated route information by a UDP module that executes the UDP protocol;
When the daemon of each terminal receives a packet including the updated route information, the metric of the corresponding route information in the routing table of its own terminal is updated to a value or symbol indicating link disconnection, and the updated route Broadcasting a packet containing information by the UDP module;
The daemon of the TCP communication source terminal monitors the metric of the route information in the routing table of its own terminal, and when the metric of the route information becomes a value or symbol indicating link disconnection, The address of the destination terminal of the route information is acquired, the socket information including the address of the acquired destination terminal is specified with reference to the socket information management table, and the specified socket information is specified for the TCP module. A communication method in an ad hoc network, including the step of freezing TCP communication using a transmission source port number included in.
前記TCP通信の送信元端末のIPモジュールが、IPパケットを送信するときに、前記IPパケットからTCPヘッダを取得するステップと、
前記TCP通信の送信元端末のIPモジュールが、前記TCPヘッダ内のCode BitにSYNが設定されているときには、さらに、前記IPパケットよりIPヘッダを取得するステップと、
前記TCP通信の送信元端末のIPモジュールが、前記IPヘッダ内の送信元端末のアドレスが自端末のアドレスであるときには、前記取得したTCPヘッダから送信元ポート番号および送信先ポート番号を取得し、前記取得したIPヘッダから送信先端末のアドレスを取得し、前記取得した送信先端末のアドレス、送信元ポート番号、および送信先ポート番号をメモリに保持するステップと、
前記TCP通信の送信元端末のIPモジュールが、コネクション確立処理中であることを示すフラグを所定の値に設定するステップと、
前記TCP通信の送信元端末のIPモジュールが、前記フラグが前記所定の値に設定されているときに、IPパケットを受信したときには、前記IPパケットからTCPヘッダを取得するステップと、
前記TCP通信の送信元端末のIPモジュールが、前記TCPヘッダ内のCode BitにSYN、またはACKが設定されているときには、さらに、前記IPパケットよりIPヘッダを取得するステップと、
前記TCP通信の送信元端末のIPモジュールが、前記IPヘッダ内の送信先端末のアドレスが自端末のアドレスであるときには、前記メモリに保持されている送信先端末のアドレス、送信元ポート番号および送信先ポート番号とを含み、通常の動作状態を示すアクションをステイタスとして含むソケット情報をソケット情報管理テーブルに登録するステップを含む、請求項6記載のアドホックネットワークにおける通信方式。 The step of registering the socket information includes:
When the IP module of the TCP communication source terminal transmits an IP packet, obtaining a TCP header from the IP packet;
When the IP module of the TCP communication source terminal is set to SYN in the Code Bit in the TCP header, the step of acquiring an IP header from the IP packet;
When the IP module of the source terminal of the TCP communication is the address of the source terminal in the IP header, the source port number and the destination port number are acquired from the acquired TCP header, Obtaining a destination terminal address from the obtained IP header, and holding the obtained destination terminal address, source port number, and destination port number in a memory;
A step of setting a flag indicating that the IP module of the TCP communication source terminal is in the process of establishing a connection to a predetermined value;
When the IP module of the TCP communication source terminal receives an IP packet when the flag is set to the predetermined value, obtaining a TCP header from the IP packet;
When the IP module of the source terminal of the TCP communication is set to SYN or ACK in the Code Bit in the TCP header, a step of acquiring an IP header from the IP packet;
The IP module of the source terminal of the TCP communication, when the address of the destination terminal in the IP header is the address of the own terminal, the address of the destination terminal, the source port number and the transmission held in the memory The communication method in the ad hoc network according to claim 6, further comprising: registering socket information including a destination port number and an action indicating a normal operation state as a status in a socket information management table.
前記TCP通信の送信元端末のIPモジュールが、IPパケットを送信するときに、前記IPパケットからTCPヘッダを取得するステップと、
前記TCP通信の送信元端末のIPモジュールが、前記TCPヘッダ内のCode BitにFINが設定されているときには、さらに、前記IPパケットよりIPヘッダを取得するステップと、
前記TCP通信の送信元端末のIPモジュールが、前記IPヘッダ内の送信元端末のアドレスが自端末のアドレスであるときには、前記取得したTCPヘッダから送信元ポート番号および送信先ポート番号を取得し、前記取得したIPヘッダから送信先端末のアドレスを取得するステップと、
前記TCP通信の送信元端末のIPモジュールが、前記取得した送信先端末のアドレス、送信元ポート番号、および送信先ポート番号を含むソケット情報を前記ソケット情報管理テーブルから削除するステップとを含む、請求項7記載のアドホックネットワークにおける通信方式。 The communication method in the ad hoc network further includes:
When the IP module of the TCP communication source terminal transmits an IP packet, obtaining a TCP header from the IP packet;
When the IP module of the TCP communication source terminal has FIN set in the Code Bit in the TCP header, the IP module further obtains an IP header from the IP packet;
When the IP module of the source terminal of the TCP communication is the address of the source terminal in the IP header, the source port number and the destination port number are acquired from the acquired TCP header, Obtaining a destination terminal address from the obtained IP header;
The IP module of the source terminal of the TCP communication includes a step of deleting socket information including the acquired destination terminal address, source port number, and destination port number from the socket information management table. Item 8. A communication method in an ad hoc network according to Item 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003317073A JP2005086525A (en) | 2003-09-09 | 2003-09-09 | Communication system in ad hoc network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003317073A JP2005086525A (en) | 2003-09-09 | 2003-09-09 | Communication system in ad hoc network |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005086525A true JP2005086525A (en) | 2005-03-31 |
Family
ID=34416774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003317073A Pending JP2005086525A (en) | 2003-09-09 | 2003-09-09 | Communication system in ad hoc network |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005086525A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006345135A (en) * | 2005-06-08 | 2006-12-21 | Seiko Epson Corp | System and device for ciphering data, and device and method for deciphering data |
JP2007110471A (en) * | 2005-10-14 | 2007-04-26 | Japan Radio Co Ltd | Information transmission device and communication system |
JP2007116230A (en) * | 2005-10-18 | 2007-05-10 | Sony Corp | Radio communication device, radio communication method, and computer program |
JP2008228300A (en) * | 2007-03-08 | 2008-09-25 | Samsung Electronics Co Ltd | Terminal information releasing and processing apparatus and its method in broadband wireless access communication system using multi-hop relay scheme |
JP2010245783A (en) * | 2009-04-03 | 2010-10-28 | Mitsubishi Electric Corp | Mobile router ad-hoc network communication system |
-
2003
- 2003-09-09 JP JP2003317073A patent/JP2005086525A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006345135A (en) * | 2005-06-08 | 2006-12-21 | Seiko Epson Corp | System and device for ciphering data, and device and method for deciphering data |
JP2007110471A (en) * | 2005-10-14 | 2007-04-26 | Japan Radio Co Ltd | Information transmission device and communication system |
JP4644092B2 (en) * | 2005-10-14 | 2011-03-02 | 日本無線株式会社 | Information transmission apparatus and communication system |
JP2007116230A (en) * | 2005-10-18 | 2007-05-10 | Sony Corp | Radio communication device, radio communication method, and computer program |
JP4561585B2 (en) * | 2005-10-18 | 2010-10-13 | ソニー株式会社 | Wireless communication apparatus, wireless communication method, and computer program |
JP2008228300A (en) * | 2007-03-08 | 2008-09-25 | Samsung Electronics Co Ltd | Terminal information releasing and processing apparatus and its method in broadband wireless access communication system using multi-hop relay scheme |
JP2010245783A (en) * | 2009-04-03 | 2010-10-28 | Mitsubishi Electric Corp | Mobile router ad-hoc network communication system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Perkins et al. | Ad hoc on-demand distance vector (AODV) routing | |
Perkins et al. | RFC3561: Ad hoc on-demand distance vector (AODV) routing | |
US8755294B2 (en) | Communication system, communication method, communication terminal device, control method thereof, and program | |
US6845091B2 (en) | Mobile ad hoc extensions for the internet | |
US7698463B2 (en) | System and method for disseminating topology and link-state information to routing nodes in a mobile ad hoc network | |
US7512120B2 (en) | Node, correspondent node, mobility anchor point, and home agent in packet communication system, packet communication system, and path MTU discovery method | |
EP2296326B1 (en) | Route selection in wireless networks | |
EP2421206B1 (en) | Flooding-based routing protocol having database pruning and rate-controlled state refresh | |
JP5087553B2 (en) | Method and system for adaptive wireless routing protocol in mesh networks | |
US20040028023A1 (en) | Method and apparatus for providing ad-hoc networked sensors and protocols | |
US20100020740A1 (en) | Wireless Communication System, Wireless Communication Device, Wireless Communication Method, and Program | |
JP2004336716A (en) | Path mtu discovery system and method for ad-hoc network | |
JP4572173B2 (en) | Wireless communication apparatus, wireless communication method, and route information table creation method | |
JP2006101428A (en) | Wireless network control device and its method, control program and recording medium | |
JP2005086525A (en) | Communication system in ad hoc network | |
JP5307898B2 (en) | Network node | |
JP7326230B2 (en) | Communication system, node, communication method and program | |
JP2006050377A (en) | Radio network system | |
KR100943638B1 (en) | Method and device for reactive routing in low power sensor network | |
JP2006050228A (en) | Radio network system | |
Garcia-Luna-Aceves et al. | Simple and Efficient Loop-Free Multipath Routing in Wireless Networks | |
CN116192741A (en) | Data transmission method based on ad hoc network | |
Venkatraman et al. | Reliability improvement of Real-Time data in MANET-A proposal | |
Das | Network Working Group C. Perkins Request for Comments: 3561 Nokia Research Center Category: Experimental E. Belding-Royer University of California, Santa Barbara | |
Deziel et al. | A Reliable Transport Protocol for Resource Constrained Nodes: CRCTP-Protocol Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060908 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081002 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081014 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090407 |