JP3972338B2 - Mobile communication device and mobile communication program - Google Patents
Mobile communication device and mobile communication program Download PDFInfo
- Publication number
- JP3972338B2 JP3972338B2 JP2004065071A JP2004065071A JP3972338B2 JP 3972338 B2 JP3972338 B2 JP 3972338B2 JP 2004065071 A JP2004065071 A JP 2004065071A JP 2004065071 A JP2004065071 A JP 2004065071A JP 3972338 B2 JP3972338 B2 JP 3972338B2
- Authority
- JP
- Japan
- Prior art keywords
- route
- route information
- node
- packet
- destination address
- 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.)
- Expired - Lifetime
Links
- 238000010295 mobile communication Methods 0.000 title claims description 55
- 230000004044 response Effects 0.000 claims description 33
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000012546 transfer Methods 0.000 description 118
- 238000000034 method Methods 0.000 description 65
- 230000008569 process Effects 0.000 description 64
- 238000012545 processing Methods 0.000 description 35
- 238000012790 confirmation Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- 230000006854 communication Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本発明は、移動通信装置に関し、さらに詳しくは、アドホックネットワークに接続可能な移動通信装置に関する。 The present invention relates to a mobile communication device, and more particularly to a mobile communication device connectable to an ad hoc network.
近年、アドホックネットワーク技術の研究が企業や大学等で進められている。アドホックネットワークは、パソコンやPDAや携帯電話といった複数の移動通信装置により自律的に構築される。 In recent years, research on ad hoc network technology has been promoted by companies and universities. An ad hoc network is autonomously constructed by a plurality of mobile communication devices such as personal computers, PDAs, and mobile phones.
図15を参照して、ノードN11〜N15は、移動通信装置である。エリア111はノードN1の無線到達範囲を示す。ノードN11はエリア111内のノードN12及びN13と無線リンクで直接接続される。
Referring to FIG. 15, nodes N11 to N15 are mobile communication devices.
さらに、ノードN11はノードN14及びN15とマルチホップで通信できる。ノードN14はエリア111内にはないが、ノードN13のエリア113内にある。そのため、ノードN13がノードN11から送信されたパケットをノードN14に中継する。同様に、ノードN15はノードN14のエリア114内にあるため、ノードN13及びN14がノードN11のパケットをノードN15へ中継する。各ノードが中継局として機能するため、アクセスポイントや基地局の設置が不要で、容易にネットワークが構築される。
Further, the node N11 can communicate with the nodes N14 and N15 in multihop. The node N14 is not in the
アドホックネットワーク内のノードは自由に移動するため、ネットワークトポロジが動的に変化する。たとえばノードN16がエリア111内に移動した場合、ノードN11はノードN16と通信できる。また、ノードN13がエリア111外へ移動した場合、ノードN11はノードN13を中継局としてノードN14及びノードN15にパケットを送信できない。
Since the nodes in the ad hoc network move freely, the network topology changes dynamically. For example, when the node N16 moves into the
ところで、複数の固定ノードで構成される従来の有線ネットワークでは、パケットを他のノードに送信するとき、ノード内のカーネル空間がパケット転送処理を実行する。一般的に、ノードに汎用オペレーティングシステムをインストールすることにより、パケット転送処理を実行できる。 By the way, in a conventional wired network composed of a plurality of fixed nodes, when a packet is transmitted to another node, the kernel space in the node executes a packet transfer process. In general, a packet transfer process can be executed by installing a general-purpose operating system in a node.
図16を参照して、ノードN20がノードN21にパケットを送信する場合のパケット転送処理を説明する。ノードN21はノードN20と同じサブネット内の隣接ノード(OSI参照モデル第2層レベルで直接通信可能なノード)である。ノードN20内のカーネル空間が転送テーブルFTからノードN21の属するネットワークエントリを検索する。カーネル空間は検索したネットワークエントリに基づいてパケットを送信する。 With reference to FIG. 16, the packet transfer process when the node N20 transmits a packet to the node N21 will be described. The node N21 is an adjacent node in the same subnet as the node N20 (a node capable of direct communication at the OSI reference model second layer level). The kernel space in the node N20 retrieves the network entry to which the node N21 belongs from the forwarding table FT. The kernel space transmits a packet based on the searched network entry.
他のサブネットSBのノードN22にパケットを送信する場合であって、転送テーブルFTにノードN22への経路を示すエントリ(ネットワークエントリ又はホストエントリ)が存在するとき、カーネル空間は該当エントリ内の次ホップノード情報に基づいて、パケットを転送する。具体的には、次ホップノードであるゲートウェイGW1にパケットを送信する。パケットはゲートウェイGW1及び複数のノードを介してノードN22に到達する。 When a packet is transmitted to the node N22 of another subnet SB and the entry (network entry or host entry) indicating the route to the node N22 exists in the forwarding table FT, the kernel space is the next hop in the entry. The packet is transferred based on the node information. Specifically, the packet is transmitted to the gateway GW1, which is the next hop node. The packet reaches the node N22 via the gateway GW1 and a plurality of nodes.
有線のネットワークではネットワーク内のノードは固定されており、経路が変更されない。一度転送テーブルFTに登録された経路情報は長期間有効である。そのため、転送テーブルFTを参照すればパケットを転送できる。有線ネットワークでは、同一サブネット内の全てのノードへの経路情報は1つのネットワークエントリとして転送テーブルFT内に管理される。 In a wired network, nodes in the network are fixed and the route is not changed. The route information once registered in the transfer table FT is valid for a long time. Therefore, the packet can be transferred by referring to the transfer table FT. In a wired network, route information to all nodes in the same subnet is managed in the transfer table FT as one network entry.
しかしながら、アドホックネットワーク内のノードは有線ネットワーク内のノードのパケット転送処理機能をそのまま適用できない。アドホックネットワークでは、ノードが自由に移動し、トポロジが動的に変化する。そのため、同一サブネット内の全てのノードへの経路情報は、ノードごとのホストエントリとして転送テーブルFT内に登録する必要がある。以下、詳細を説明する。 However, a node in the ad hoc network cannot directly apply the packet transfer processing function of the node in the wired network. In an ad hoc network, nodes move freely and the topology changes dynamically. Therefore, route information to all nodes in the same subnet needs to be registered in the transfer table FT as a host entry for each node. Details will be described below.
アドホックネットワークでは、ある時刻で隣接ノードが移動した結果、次時刻では隣接ノードでは無くなる場合がある(たとえば図15中のノードN1に対するノードN13)。また、ある時刻に隣接ノードではなかったノードが自ノードへ接近することで次時刻に隣接ノードになる場合がある(たとえば図15中のノードN1に対するノードN16)。さらに、無線リンク状態の変化により隣接ノードが変化する。このようなトポロジの動的な変化により、アドホックネットワークでは、サブネット内の他ノードへOSI参照モデル第2層レベルで直接通信が可能な場合と、中継ノード経由で通信が可能となる場合とが混在する。後者の場合、大規模なアドホックネットワークではOSI参照モデル第3層レベルでルーティングを行う必要がある。 In an ad hoc network, as a result of movement of an adjacent node at a certain time, the adjacent node may disappear at the next time (for example, node N13 for node N1 in FIG. 15). Further, when a node that was not an adjacent node at a certain time approaches the own node, it may become an adjacent node at the next time (for example, node N16 for node N1 in FIG. 15). Furthermore, adjacent nodes change due to changes in the radio link state. Due to such a dynamic change in topology, in an ad hoc network, there are cases where direct communication to other nodes in the subnet is possible at the second layer level of the OSI reference model and communication via relay nodes is possible. To do. In the latter case, in a large-scale ad hoc network, it is necessary to perform routing at the third layer level of the OSI reference model.
OSI参照モデル第3層レベルでルーティングを行う場合、サブネット内の全てのノードへの経路情報はノードごとにホストエントリとしてFTに登録される必要が生じる。上述したとおり、有線ネットワークでは同一サブネット内の全てのノードへの経路情報は一つのネットワークエントリとしてFT内で管理されており、アドホックネットワーク内のノードへの経路情報管理を実現する為には有線ネットワークの場合とは異なる、即ち既存の仕組みとは異なる仕組みが必要となる。 When routing is performed at the OSI reference model layer 3 level, route information to all nodes in the subnet needs to be registered in the FT as a host entry for each node. As described above, in the wired network, route information to all nodes in the same subnet is managed in the FT as one network entry, and in order to realize route information management to the nodes in the ad hoc network, the wired network A mechanism different from the above case, that is, a mechanism different from the existing mechanism is required.
さらにアドホックネットワークでは各ノードへの経路が頻繁に変更されるため、一度転送テーブルFTに登録された経路情報(ホストエントリ)が短い時間の後に無効となるケースが多発する。そのため、各ノードは転送テーブルFT内に宛先ノードへのホストエントリが存在しない場合に経路探索処理(ルーティング)を実行する必要がある。つまり、アドホックネットワークでは、この経路探索処理機能に対応したパケット転送処理機能を持つ必要がある。 Furthermore, in an ad hoc network, the route to each node is frequently changed, so that the route information (host entry) once registered in the forwarding table FT frequently becomes invalid after a short time. Therefore, each node needs to execute a route search process (routing) when there is no host entry for the destination node in the forwarding table FT. That is, the ad hoc network needs to have a packet transfer processing function corresponding to the route search processing function.
アドホックネットワークに対応した経路探索処理として、AODV(Ad hoc On-Demand Distance Vector Routing)に代表されるオンデマンド型のルーティングプロトコルが提供されている。このオンデマンド型のルーティングプロトコルに対応したパケット転送処理については、下記(1)及び(2)が報告されている。 On-demand type routing protocols represented by AODV (Ad hoc On-Demand Distance Vector Routing) are provided as route search processing corresponding to ad hoc networks. The following (1) and (2) have been reported for packet transfer processing corresponding to this on-demand type routing protocol.
(1)経路探索処理機能をユーザ空間に実装し、経路判断については全てユーザ空間で行う。具体的には、カーネル空間でのパケット転送処理中に、カーネル空間は、送信するパケットの情報をユーザ空間に送る。ユーザ空間は受けたパケットの情報に基づいて経路を決定し、カーネル空間に報告する。カーネル空間は決定された経路を受け、パケットを転送する(下記非特許文献1参照)。
(1) The route search processing function is implemented in the user space, and all the route determination is performed in the user space. Specifically, during packet transfer processing in the kernel space, the kernel space sends information on packets to be transmitted to the user space. The user space determines a route based on the received packet information and reports it to the kernel space. The kernel space receives the determined route and forwards the packet (see Non-Patent
(2)アドホックネットワークを構成するノードに関する経路情報の全てを事前にカーネル転送テーブルに登録する。カーネル転送テーブルに経路情報のないパケットについては、ユーザ空間で経路を判断する。経路探索処理機能はユーザ空間に実装する(下記非特許文献2参照)。 (2) All the route information related to the nodes constituting the ad hoc network is registered in the kernel transfer table in advance. For packets that do not have route information in the kernel forwarding table, the route is determined in user space. The route search processing function is implemented in the user space (see Non-Patent Document 2 below).
しかしながら、(1),(2)いずれの方法も、パケット転送処理時のスループットが問題となる。具体的には、(1)では、パケットを転送するとき必ずカーネル空間とユーザ空間とでやり取りが発生する。カーネル空間とユーザ空間とのやり取りが多ければ、それだけスループットは低下する。(2)は、アドホックネットワークを構成する全てのノードのホストエントリを転送テーブルFTに登録する必要がある。そのため、ネットワークに参加するノードが不特定の場合に対応が困難となる。 However, in both methods (1) and (2), the throughput at the time of packet transfer processing becomes a problem. Specifically, in (1), when a packet is transferred, an exchange always occurs between the kernel space and the user space. If there are many exchanges between the kernel space and the user space, the throughput decreases accordingly. In (2), it is necessary to register the host entries of all the nodes constituting the ad hoc network in the forwarding table FT. For this reason, it is difficult to cope with the case where the nodes participating in the network are unspecified.
さらに、アドホックネットワークに対応したパケット転送処理機能を実現するために、汎用OSのカーネルコードを大幅に変更するのも好ましくない。汎用OSは既に多くの移動通信装置に実装されている。よって、汎用OSのカーネルコードを直接変更する場合、移動通信装置は既存の汎用OSをアンインストールし、カーネルソースコードを変更しカーネルを再構築した後、再インストールしなければならない。 Furthermore, it is not preferable to significantly change the kernel code of the general-purpose OS in order to realize a packet transfer processing function corresponding to an ad hoc network. A general-purpose OS is already implemented in many mobile communication devices. Therefore, when directly changing the kernel code of the general-purpose OS, the mobile communication device must uninstall the existing general-purpose OS, change the kernel source code, rebuild the kernel, and then reinstall it.
本発明の目的は、パケット転送処理時に発生するカーネル空間とユーザ空間とのやり取りを抑制することでパケット転送時に発生する負荷ならびに処理遅延を軽減し、高いスループット性能を実現する移動通信装置及び移動通信プログラムを提供することである。 An object of the present invention is to reduce the load and processing delay that occur during packet transfer by suppressing the exchange between the kernel space and user space that occur during packet transfer processing, and achieve high throughput performance and mobile communication device and mobile communication Is to provide a program.
本発明の他の目的は、既存の汎用OSのカーネルコードをほぼ変更せずに、アドホックネットワークでパケット転送処理時に発生するカーネル空間とユーザ空間とのやり取りを抑えることができる移動通信装置及び移動通信プログラムを提供することである。 Another object of the present invention is to provide a mobile communication device and a mobile communication capable of suppressing the exchange between the kernel space and the user space that occur during packet transfer processing in an ad hoc network without substantially changing the kernel code of an existing general-purpose OS. Is to provide a program.
本発明による移動通信装置は、他のノードとともにアドホックネットワークを構成し、カーネル空間とユーザ空間とを有する。カーネル空間は、転送テーブルと、経路テーブルと、判断手段と、受信手段と、経路テーブル検索手段と、要求手段とを備える。転送テーブルは、アドホックネットワークのサブネットに属する宛先アドレスの経路情報と、アドホックネットワークのサブネットに属さない宛先アドレスのパケットを外部ネットワークへの中継局となるノードに送信するための経路情報とが登録される。経路テーブルは、転送テーブルに登録された、アドホックネットワークのサブネットに属する宛先アドレスの経路情報と同じ経路情報が登録される。受信手段は、宛先アドレスを有するパケットを受信する。判断手段は、受信手段が受信したパケットの宛先アドレスがアドホックネットワークのサブネットに属するか否かを判断する。経路テーブル検索手段は、判断手段の判断の結果、受信したパケットの宛先アドレスがアドホックネットワークのサブネットに属するとき、受信したパケットの宛先アドレスの経路情報を前記経路テーブルから検索する。要求手段は、経路テーブル検索手段が検索した結果、受信したパケットの宛先アドレスの経路情報が経路テーブルにないときに経路探索要求を出力する。ユーザ空間は、経路探索手段を備える。経路探索手段は、経路探索要求を受けたとき、オンデマンド型のルーティングプロトコルに基づいて経路を探索して取得する。カーネル空間はさらに、送信手段を備える。送信手段は、宛先アドレスがアドホックネットワークのサブネットに属さないと判断手段が判断したとき、及び、経路テーブル検索手段が検索した結果、受信したパケットの宛先アドレスの経路情報が経路テーブルにあるとき、転送テーブル内の経路情報のうち受信したパケットの宛先アドレスに対応した経路情報で特定される経路にパケットを送信し、経路探索手段が経路情報を取得したとき、取得された経路情報で特定される経路に受信したパケットを送信する。 The mobile communication device according to the present invention forms an ad hoc network together with other nodes, and has a kernel space and a user space . The kernel space includes a transfer table, a route table, a determination unit, a reception unit, a route table search unit, and a request unit. Forwarding table, the routing information of the destination address belonging to the ad hoc network subnet, and the path information for sending a packet with destination address that does not belong to the ad hoc network subnet node that is a relay station of the external network is registered . In the route table, the same route information as the destination address route information belonging to the subnet of the ad hoc network registered in the forwarding table is registered. The receiving means receives a packet having a destination address. The determination unit determines whether the destination address of the packet received by the reception unit belongs to the subnet of the ad hoc network. The route table search unit searches the route table for the route information of the destination address of the received packet when the destination address of the received packet belongs to the subnet of the ad hoc network as a result of the determination by the determination unit . Requesting means, a result of the route table search unit to search, and outputs the route search request when the route information of the destination address of the received packet is not in the route table. The user space includes route search means. When receiving a route search request, the route search means searches for and acquires a route based on an on-demand routing protocol. The kernel space further comprises transmission means. The transmission means transfers the destination address when the determination means determines that the destination address does not belong to the subnet of the ad hoc network, and when the route information of the destination address of the received packet is in the route table as a result of the search by the route table search means. The route specified by the acquired route information when the packet is transmitted to the route specified by the route information corresponding to the destination address of the received packet among the route information in the table and the route search means acquires the route information. Send the received packet to.
本発明による移動通信装置は、受信したパケットの宛先アドレスに対応した経路を経路テーブルから検索できなかったときに経路探索を実行する。すなわち、経路を経路テーブルから検索できたときは、カーネル空間とユーザ空間との一切のやり取りが発生しない。その結果、高いスループットでパケット転送処理を実行できる。
汎用のオペレーティングシステムを移動通信装置にインストールすることにより、転送テーブルと転送テーブル検索手段とパケット送信手段とが移動通信装置に実装される。本発明による移動通信装置は、経路探索手段により取得した経路情報を転送テーブルにも登録する。その結果、従来の汎用OSのカーネルコードの標準のパケット転送機能を変更することなく、本発明で提供する上記の新規機能をモジュール等の独立した形式として追加することが可能となる。
The mobile communication device according to the present invention performs a route search when a route corresponding to the destination address of the received packet cannot be searched from the route table. That is, when the route can be retrieved from the route table, no exchange between the kernel space and the user space occurs. As a result, packet transfer processing can be executed with high throughput.
By installing a general-purpose operating system in the mobile communication device, the transfer table, transfer table search means, and packet transmission means are mounted on the mobile communication device. The mobile communication device according to the present invention also registers the route information acquired by the route search means in the transfer table. As a result, it is possible to add the above new function provided by the present invention as an independent format such as a module without changing the standard packet transfer function of the kernel code of the conventional general-purpose OS.
好ましくは、移動通信装置はさらに、経路情報登録手段と、タイムスタンプ登録手段と、テーブル更新手段とを備える。経路情報登録手段は、経路探索手段により取得された経路情報を経路テーブル及び転送テーブルに登録する。タイムスタンプ登録手段は、経路情報を経路テーブルから検索できたとき、及び取得された経路情報が経路テーブルに登録されたとき、検索された経路情報及び登録された経路情報に対応したタイムスタンプを経路テーブルに登録する。テーブル更新手段は、対応したタイムスタンプから所定期間が経過した経路情報を削除する。
Preferably, the mobile communication device further includes route information registration means, time stamp registration means, and table update means. The route information registration unit registers the route information acquired by the route search unit in the route table and the transfer table. The time stamp registration means , when the route information can be retrieved from the route table, and when the obtained route information is registered in the route table, the route information retrieved and the time stamp corresponding to the registered route information are routed. Register in the table . Tables updating means deletes the routing information has passed the predetermined time period from the time stamp corresponds is.
この場合、移動通信装置は、経路テーブル内のタイムスタンプを参照し、所定期間を経過した古い経路情報を削除する。不要な経路情報を削除し、有効な経路情報のみを経路テーブル及び転送テーブルに登録する。 In this case, the mobile communication device refers to the time stamp in the route table and deletes old route information after a predetermined period. Unnecessary route information is deleted, and only valid route information is registered in the route table and the forwarding table.
好ましくは、経路探索手段は所定期間毎にメッセージをブロードキャストする。ユーザ空間はさらに、メッセージに対応した、経路情報を含む応答メッセージを受け、経路情報をカーネル空間に送信する手段を備える。テーブル更新手段はさらに、送信された経路情報に基づいて、経路テーブル及び転送テーブルを更新する。 Preferably, the route search means broadcasts a message every predetermined period. The user space further includes means for receiving a response message including route information corresponding to the message and transmitting the route information to the kernel space. The table update means further updates the route table and the transfer table based on the transmitted route information.
この場合、テーブル更新手段は、定期的に経路テーブル及び転送テーブルを更新する。その結果、経路テーブル及び転送テーブルは常に最新の経路情報を含む。そのため、パケット転送処理時におけるカーネル空間とユーザ空間とのやり取りを抑制でき、高いスループットでパケットを転送できる。 In this case, the table update unit periodically updates the route table and the transfer table. As a result, the route table and the forwarding table always include the latest route information. Therefore, exchange between the kernel space and the user space at the time of packet transfer processing can be suppressed, and packets can be transferred with high throughput.
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals and description thereof will not be repeated.
1.アドホックネットワークの構成
初めに、本実施の形態による移動通信装置1を用いたアドホックサブネットワークの概念を説明する。図1を参照して、各ノードN1〜N7は移動通信装置1である。An1〜An7は各ノードのIPアドレスを示す。また、ノードN5の無線到達範囲105内にノードN1〜N4が存在する。本実施の形態による移動通信装置1を用いたアドホックネットワークでは、サブネットSBはネットワークに参加する全てのノードN1〜N7で構成されるものとする。なお、サブネットSBのIPアドレスをAsbとする。
1. Configuration of Ad Hoc Network First, the concept of an ad hoc subnetwork using the
2.移動通信装置の構成
図2を参照して、図1中のノードN1(移動通信装置1)は、ユーザ空間10とカーネル空間20とを備える。カーネル空間20は、送受信部21A及び21Bと、経路判断部22と、パケット転送部23とを含む。送受信部21A及び21Bはカーネル空間20からユーザ空間10及び外部とデータを送受信する。たとえば、ユーザ空間10及び外部から宛先アドレスを有するパケットを受信する。送受信部21Aはたとえばソケットインタフェース経由でユーザ空間10とデータを送受信する。
2. Configuration of Mobile Communication Device Referring to FIG. 2, node N1 (mobile communication device 1) in FIG. 1 includes user space 10 and kernel space 20. The kernel space 20 includes transmission /
パケット転送部23はパケット転送処理を実行する。パケット転送部23は、転送テーブルFT(Forwarding Table)と、転送テーブル検索部231と、パケット送信部232とを含む。転送テーブル検索部231は、パケットの経路を転送テーブルFTから検索する。転送テーブルFTを簡略的に表1に示す。転送テーブルFTのエントリは3つのフィールドを含む。なお、エントリはさらに他の複数のフィールドを含んでもよい。
宛先IPアドレスは宛先のノード又は宛先のサブネットのIPアドレスである。ネットマスクは宛先IPアドレスのサブネットマスクである。宛先アドレスが個別のノードを示す場合(すなわち、ホストエントリの場合)、ネットマスクには「255.255.255.255」が登録される。宛先IPアドレスがサブネットを示す場合(すなわち、ネットワークエントリの場合)、対応するネットマスクとしてたとえば「255.255.255.0」等(クラスCサブネットの場合)が登録される。表1のネットワークエントリ=Asbのネットマスクがこれに該当する。 The destination IP address is an IP address of a destination node or a destination subnet. The net mask is a subnet mask of the destination IP address. When the destination address indicates an individual node (that is, in the case of a host entry), “255.255.255.255” is registered in the netmask. When the destination IP address indicates a subnet (that is, in the case of a network entry), for example, “255.255.255.0” (in the case of a class C subnet) is registered as a corresponding netmask. This corresponds to the netmask of network entry = Asb in Table 1.
次ホップアドレスは宛先のノードまでの経路における隣接ノードのIPアドレスである。たとえば、宛先アドレスAn3の次ホップアドレスはAn5となっている。よって、ノードN1からノードN3へパケットを転送する場合、ノードN5を最初の中継局とする。 The next hop address is an IP address of an adjacent node in the route to the destination node. For example, the next hop address of the destination address An3 is An5. Therefore, when a packet is transferred from the node N1 to the node N3, the node N5 is set as the first relay station.
転送テーブル検索部231は、パケットに含まれる宛先IPアドレスに対応した次ホップアドレスを検索する。パケット送信部232は、転送テーブル検索部231が検索した次ホップアドレスに基づいてパケットを送信する。パケット転送部23が実行するパケット転送処理は、従来の有線ネットワークにおけるノードのパケット転送処理と同じである。
The forwarding
経路判断部22は、パケット転送部23がパケットを転送する前に、宛先アドレスがアドホックネットワークのサブネットに属する場合は、そのパケットの経路情報を確認する。カーネル空間20内に経路情報がない場合、経路情報を取得して転送テーブルFTに登録する。宛先アドレスがアドホックネットワークのサブネットに属していない場合や、経路テーブルRTに宛先アドレスと一致するホストエントリが存在する場合、経路判断部22は直ちにパケット転送部23に制御を戻す。これらの場合、追加負荷はほとんど発生しない。経路判断部22のサポートによりパケット転送部23は宛先ノードがアドホックネットワーク内に存在する場合、外に存在する場合のいかんを問わずパケットを確実に転送でき、かつ、高いスループットを確保できる。
If the destination address belongs to the subnet of the ad hoc network before the
経路判断部22は、経路テーブル(Routing Table)RTと、経路テーブル検索部222と、要求部223と、登録部221とを含む。経路テーブルRTを表2に示す。
表2を参照して、経路テーブルRTは6つのフィールドを持つ。具体的には、フィールドとして、宛先IPアドレス、ネットマスク、次ホップアドレス、インタフェースインデックス、ホップカウント、タイムスタンプを持つ。 Referring to Table 2, the route table RT has six fields. Specifically, the fields include a destination IP address, a netmask, a next hop address, an interface index, a hop count, and a time stamp.
経路テーブルRTの6つのフィールドのうち宛先IPアドレスとサブネットマスクと次ホップアドレスとに登録されるホストエントリのデータは、転送テーブルFT内の同じフィールドに登録されるデータと同じである。要するに、表1及び表2に示すように、転送テーブルFT内のホストエントリの宛先IPアドレスとサブネットマスクと次ホップアドレスは、経路テーブルRT内のホストエントリのコピーである。なお、宛先IPアドレスが「0.0.0.0」のエントリは、デフォルトルートである。デフォルトルートは、ノードN1がアドホックネットワーク経由で外部ネットワーク(有線ネットワーク等)に接続されている場合のみ存在する。表2(及び表1)の場合、ノードN1はノードN2(IPアドレス=An2)を中継局として外部ネットワークと接続されている。 The data of the host entry registered in the destination IP address, the subnet mask, and the next hop address among the six fields of the routing table RT is the same as the data registered in the same field in the forwarding table FT. In short, as shown in Tables 1 and 2, the destination IP address, subnet mask, and next hop address of the host entry in the forwarding table FT are copies of the host entry in the route table RT. An entry whose destination IP address is “0.0.0.0” is a default route. The default route exists only when the node N1 is connected to an external network (wired network or the like) via an ad hoc network. In the case of Table 2 (and Table 1), the node N1 is connected to the external network using the node N2 (IP address = An2) as a relay station.
インタフェースインデックスには、移動通信装置1が持つ1又は複数の通信部103の識別子が登録される。たとえば、移動通信装置1が、通信部103として無線LANとBluetoothとを備える場合、無線LANのインタフェースインデックスを「1」、Bluetoothのインタフェースインデックスを「2」とする。なお通信部103の識別子が汎用OSで割り振られている場合、インタフェースインデックスにこの識別子の値を採用する。表2では、宛先アドレスがAn6に対応したインタフェースインデックスが「2」となっている。この場合、ノードN1とノードN6とはBluetoothで通信する。
In the interface index, identifiers of one or a plurality of
ホップカウントには、宛先IPアドレスに到るまでのホップ数が登録される。宛先IPアドレスが隣接ノードである場合(たとえば宛先アドレス=An5)、ホップカウントには「1」が登録される。また、宛先IPアドレスが隣接ノードの隣接ノードである場合(たとえば宛先アドレス=An2)、ホップカウントには「2」が登録される。タイムスタンプは対応する経路情報の有効期限を決定する目的等に利用される。経路情報が検索又は更新されたときにタイムスタンプは更新される。 In the hop count, the number of hops until the destination IP address is reached is registered. When the destination IP address is an adjacent node (for example, destination address = An5), “1” is registered in the hop count. When the destination IP address is an adjacent node of the adjacent node (for example, destination address = An2), “2” is registered in the hop count. The time stamp is used for the purpose of determining the expiration date of the corresponding route information. The time stamp is updated when the route information is retrieved or updated.
送受信部21A又は21Bがパケットを受けた場合であって、パケットの宛先アドレスがアドホックネットワークのサブネットに属しているとき、経路テーブル検索部222が、パケットの宛先IPアドレスに対応した経路情報(ホストエントリ)を経路テーブルRTから検索する。検索の結果、経路テーブルRTに経路情報が存在しない場合、要求部223はユーザ空間10に経路探索を要求する。経路テーブルRTに経路情報が登録されていない場合、転送テーブルFTにもその経路情報(次ホップアドレス)は登録されておらず、このままではパケット転送部23はパケットを転送できないためである。
When the transmission /
登録部221は、経路探索によりユーザ空間10が取得した経路情報を経路テーブルRT及び転送テーブルFTに登録する。
The
ユーザ空間10は、アプリケーション11と、経路探索部12と、テーブル管理部13とを含む。アプリケーション11はたとえばメーラやウェブブラウザ等である。
The user space 10 includes an
経路探索部12は、要求部223からの要求に応じて直ちに経路探索を実施し、経路情報を取得する。また、所定期間毎にHelloメッセージをブロードキャストし、隣接ノードに関する最新の経路情報を得る。
The
テーブル管理部13とカーネル空間20内の登録部221とはテーブル更新部130を構成する。テーブル更新部130は経路テーブルRT及び転送テーブルFT(以下、これらをまとめてカーネル内テーブルと称する)の経路情報を管理し、不要となった経路情報を削除する。具体的には、テーブル管理部13が経路情報の追加又は削除を決定し、登録部221が経路テーブルに対して経路情報を追加又は削除する。詳細は後述する。
The
図3は一般的な移動通信装置100のハードウェア構成を示す。移動通信装置100はCPU101とメモリ102と通信部103とハードディスク105とを備える。これらはバス104で相互に接続される。
FIG. 3 shows a hardware configuration of a general
ハードディスク105には、図2中のアプリケーションプログラム11がインストールされる。また、ハードディスク105に汎用OSをインストールし、メモリ102にロードされたプログラムに従ってCPU101が動作することにより、パケット転送部23の機能が実現される。換言すれば、従来の移動通信装置100に汎用OSをインストールすれば、パケット転送部23は移動通信装置100のカーネル空間に実装される。
The
さらに、経路判断部22を実現するためのカーネル空間モジュール(以下、追加モジュールと称する)と、経路探索部12及びテーブル管理部13を実現するためのユーザ空間プログラム(以下、ミドルウェアプログラムと称する)とを移動通信装置100内のハードディスク105にインストールし、メモリ102にロードされたプログラムに従ってCPU101が動作することにより、経路判断部22の機能と経路探索部12の機能とテーブル管理部13の機能とが実現される。
Furthermore, a kernel space module (hereinafter referred to as an additional module) for realizing the
要するに、従来の汎用OSがインストールされた移動通信装置100に、追加モジュール及びミドルウェアプログラムをインストールすれば、その移動通信装置100は本実施の形態による移動通信装置1になる。
In short, if an additional module and a middleware program are installed in the
3.動作概要
本実施の形態による移動通信装置1は、アドホックパケット転送処理とテーブル更新処理とを実行する。これらの処理により高いスループットでパケットを転送できる。
3. Overview of Operation
3.1.アドホックパケット転送処理
本実施の形態による移動通信装置1では、パケット転送部23がパケット転送処理を実行する前に、経路判断部22がパケットの経路情報を経路テーブルRTで確認する(以下、この処理を確認処理と称する)。つまり、アドホックパケット転送処理は、パケット転送処理と確認処理とを含む。
3.1. Ad hoc packet transfer process In the
経路判断部22が確認した結果、宛先アドレスがアドホックネットワークのサブネットに属していない場合、又は経路テーブルRTに宛先アドレスと一致するホストエントリが存在する場合、制御は経路判断部22から直ちにパケット転送部23に移る。すなわち、これらの場合、カーネル空間20のみが動作し、パケットを転送する。一方、確認の結果、宛先アドレスがアドホックネットワークのサブネットに属し、かつ、経路テーブルRT内に経路情報がない場合のみ、カーネル空間20とユーザ空間10とがやり取りした後、パケットを転送する。
When the
この経路判断部22の確認処理によりカーネル空間20とユーザ空間10とのやり取りを抑えるため、高いスループットを確保できる。なぜなら、アドホックパケット転送処理では、大多数のパケットがカーネル空間20の動作のみで転送されるからである。図1中のノードN5がノードN1のパケットをノードN2に中継する場合のアドホックパケット転送処理について説明する。
Since the exchange between the kernel space 20 and the user space 10 is suppressed by the confirmation processing of the
図4を参照して、ノードN5のカーネル空間20は、ノードN1からパケットを受信する(1)。カーネル空間20内の経路判断部22は、確認処理を実行する(2)。具体的には、宛先アドレスがアドホックネットワークのサブネットに属している場合、パケット内の宛先IPアドレスAn2のホストエントリを経路テーブルRTから検索する。経路テーブルRTにホストエントリが存在する場合、転送テーブルFT内にも同じホストエントリが存在する。そのため、経路判断部22は確認処理を終了する。確認処理後、パケット転送部23は転送テーブルFTから宛先アドレスAn2のホストエントリを検索し、ホストエントリ内の次ホップアドレス=An2に基づいてパケットをノードN2に送信する(3)。
Referring to FIG. 4, the kernel space 20 of the node N5 receives a packet from the node N1 (1). The
以上のように、経路テーブルRT内にパケットの宛先のホストエントリがある場合、カーネル空間20のみが動作し、カーネル空間20とユーザ空間10とのやり取りは発生しない。そのため、高いスループットでパケットを転送できる。 As described above, when there is a packet destination host entry in the route table RT, only the kernel space 20 operates, and no exchange occurs between the kernel space 20 and the user space 10. Therefore, packets can be transferred with high throughput.
一方、経路テーブルRTにホストエントリが存在しない場合、図5を参照して、経路判断部22は、ユーザ空間10内の経路探索部12に経路探索を要求する(4)。要求を受けた経路探索部12はオンデマンド型のルーティングプロトコル(たとえばAODV)に基づいて経路探索を実行し、ノードN2宛のホストエントリを取得する(5)。経路探索部12は取得したホストエントリを経路判断部22にソケット経由で送信する(6)。経路判断部22は経路テーブルRT及び転送テーブルFTにホストエントリを登録し、確認処理を終了する。確認処理後、パケット転送部23は転送テーブルFTからホストエントリを検索し、ホストエントリ内の次ホップアドレス=An2に基づいてパケットをノードN2に転送する(3)。
On the other hand, when the host entry does not exist in the route table RT, the
以上のように、ホストエントリが経路テーブルRTにない場合、カーネル空間20とユーザ空間10とのやり取りが発生する。 As described above, when the host entry is not in the route table RT, exchange between the kernel space 20 and the user space 10 occurs.
ノード同士が通信する場合、同じ宛先の複数のパケットが連続的に発生する。最初のパケットについて図5の動作(カーネル空間20+ユーザ空間10の動作)を実施し、ホストエントリを取得すれば、その後のパケットに関しては図4の動作(カーネル空間20のみの動作)で足りる。要するに、確認処理を実行することで、カーネル空間20とユーザ空間10とのやり取りを抑えることができる。そのため、高いスループットでパケットを転送できる。 When nodes communicate with each other, a plurality of packets having the same destination are continuously generated. If the operation of FIG. 5 (operation of the kernel space 20 + user space 10) is performed for the first packet and the host entry is acquired, the operation of FIG. 4 (operation of only the kernel space 20) is sufficient for the subsequent packets. In short, the exchange between the kernel space 20 and the user space 10 can be suppressed by executing the confirmation process. Therefore, packets can be transferred with high throughput.
さらに、パケット転送部23のパケット転送動作は、従来の有線ネットワークの場合と変わらない。つまり、汎用OSを搭載した従来の移動通信装置は追加モジュールをインストールすれば、本実施の形態による移動通信装置1になり、高いスループットでパケットを転送できる。汎用OSのカーネルコードを変更する必要はほとんどない。
Further, the packet transfer operation of the
図4及び図5では、パケットを転送する場合について説明したが、自ノードのアプリケーション11からパケットを発信する場合も同じである。
4 and 5, the case where the packet is transferred has been described, but the same applies to the case where the packet is transmitted from the
3.2.テーブル更新処理
アドホックネットワークでは、ノードが自由に移動する。そのため、カーネル内テーブル(経路テーブルRT及び転送テーブルFT)に登録した経路情報を必要に応じて最新の経路情報に更新する必要がある。古い経路情報は既に無効になっている可能性が高く、転送時のパケット損失や大きな転送遅延を発生する可能性が高いからである。
3.2. Table update processing In an ad hoc network, a node moves freely. Therefore, it is necessary to update the route information registered in the in-kernel table (route table RT and transfer table FT) to the latest route information as necessary. This is because the old route information has a high possibility of being invalidated and is highly likely to cause a packet loss or a large transfer delay at the time of transfer.
カーネル内テーブルに登録された経路情報が最新のものであるほど、経路が有効である可能性も高い。換言すれば、カーネル内テーブルに登録された経路情報が最新であるほど、アドホックパケット転送処理中のカーネル空間20とユーザ空間10とのやり取りを抑えることができる。そのため、テーブル更新部130がカーネル内テーブルの経路情報を必要に応じて更新する。テーブル更新部130は、定期的に隣接ノード探索処理と、経路再探索処理ならびに経路情報消去処理とを実行する。
The more recent the route information registered in the in-kernel table, the higher the possibility that the route is valid. In other words, the more up-to-date route information registered in the in-kernel table is, the more the exchange between the kernel space 20 and the user space 10 during the ad hoc packet transfer process can be suppressed. Therefore, the
隣接ノード探索処理では、所定期間毎の経路探索により得た経路情報をカーネル内テーブルに登録する。図6を参照して、経路探索部12は所定期間毎にHelloメッセージをブロードキャスト送信し、隣接ノードからHello応答メッセージを受信する(11)。これによりテーブル更新部130は自ノードを取り囲む全ての双方向リンク情報を取得する。テーブル更新部130は取得したHello応答メッセージに基づいてカーネル内テーブルの経路情報を更新する(12)。このとき、経路テーブルRT内の更新された経路情報のタイムスタンプも更新される。
In the adjacent node search process, route information obtained by route search every predetermined period is registered in the in-kernel table. Referring to FIG. 6,
経路情報消去処理では、テーブル更新部130は、経路テーブルRT内のタイムスタンプを参照し、所定期間以上の間タイムスタンプが更新されていない満了状態の経路情報を削除する(13)。なお、タイムスタンプは、パケット転送処理時に検索された時も更新される。
In the route information erasing process, the
以下、パケット転送処理とテーブル更新処理とについて詳細を説明する。 Hereinafter, the packet transfer process and the table update process will be described in detail.
4.アドホックパケット転送処理の動作フロー
アドホックパケット転送処理は、隣接する他のノードから受信したパケットを中継する場合と、自ノードからパケットを発送する場合とに分類される。前者はたとえば、図1中のノードN1がノードN7のパケットをノードN5へ中継する場合である。後者はたとえば、ノードN1がノードN2宛にパケットを送信する場合である。それぞれの場合におけるアドホックパケット転送処理を説明する。
4). Operation flow of ad hoc packet transfer processing Ad hoc packet transfer processing is classified into a case where a packet received from another adjacent node is relayed and a case where a packet is sent from the own node. For example, the former is a case where the node N1 in FIG. 1 relays the packet of the node N7 to the node N5. The latter is, for example, the case where the node N1 transmits a packet addressed to the node N2. The ad hoc packet transfer process in each case will be described.
4.1.隣接する他のノードからパケットを中継する場合
図7を参照して、ノードN1内のカーネル空間20は、ノードN7からパケットを受信する(S1)。受信後、カーネル空間20内の経路判断部22は確認処理を実行する(S5)。
4.1. When Relaying Packets from Other Adjacent Nodes Referring to FIG. 7, kernel space 20 in node N1 receives a packet from node N7 (S1). After reception, the
確認処理(S5)では、初めに、パケットが有する宛先IPアドレスが自身の所属するアドホックサブネットに属するか否かを判断する(S51)。経路判断部22は、表3に示すアドホック定義テーブルを有する。
アドホック定義テーブルには、自身の所属するサブネットアドレス(Asb)と、自ノードのIPアドレス(An1)とが登録される。アドレスAsb及びAn1は移動通信装置1が起動したときに初期設定で登録される。たとえば、起動時に、移動通信装置1に含まれる図示しない入力装置を用いて利用者がAsb及びAn1を入力する。外部ファイル等にサブネットアドレス及びIPアドレスを登録しておき、起動時にミドルウェアプログラムがファイルの内容を読み取ってもよい。
In the ad hoc definition table, the subnet address (Asb) to which it belongs and the IP address (An1) of its own node are registered. The addresses Asb and An1 are registered by default when the
ステップS51で経路判断部22は、パケットが持つ宛先アドレスAn5の上位24ビットがアドホック定義テーブル内のサブネットアドレスAsbと一致するか否か判断する。ノードN5とノードN1とは同じサブネットSBに属するため、経路判断部22は、宛先アドレスAn5のホストエントリを経路テーブルRTから検索する(S52)。
In step S51, the
検索の結果、宛先アドレスAn5のホストエントリが経路テーブルRTに存在する場合、転送テーブルFT内にも宛先アドレスAn5のホストエントリが存在する。そのため、ホストエントリを取得するためにカーネル空間20とユーザ空間10とでやり取りする必要はない。この場合、経路テーブル検索部222が経路テーブルRT内の該当ホストエントリのタイムスタンプを更新し(S53)、確認処理を終了する。タイムスタンプを更新することで、この宛先ノードへの経路で直近に利用されたことを示し、後述する経路情報削除処理時に経路情報が削除されるのを防ぐ。
As a result of the search, when the host entry of the destination address An5 exists in the route table RT, the host entry of the destination address An5 also exists in the transfer table FT. Therefore, there is no need to exchange between the kernel space 20 and the user space 10 in order to acquire a host entry. In this case, the route
確認処理が終了後、パケット転送部23はパケット転送処理(S6)を実行する。具体的には、転送テーブル検索部231が転送テーブルFTから宛先アドレスAn5のホストエントリを検索する(S61)。パケット送信部232は、検索されたホストエントリが持つ次ホップアドレス=An5に基づいてパケットをノードN5へ送信する(S62)。
After the confirmation process, the
一方、ステップS52で検索した結果、経路テーブルRT内に該当するホストエントリがない場合、ホストエントリを取得するためにカーネル空間20とユーザ空間10とでやり取りが発生する(S54〜S59)。具体的には、経路判断部22内の要求部223が経路探索要求をユーザ空間10に出力する(S54)。経路探索にはある程度時間がかかる。そのため、カーネル空間20は経路探索要求後に、パケットをカーネル空間20内の図示しないキューバッファに格納する(S55)。具体的には、経路判断部22がパケット転送部23にパケットのキューイングを要求する。要求を受けたパケット転送部23はパケットをキューバッファに格納する。
On the other hand, if there is no corresponding host entry in the route table RT as a result of the search in step S52, an exchange occurs between the kernel space 20 and the user space 10 to acquire the host entry (S54 to S59). Specifically, the
ユーザ空間10内の経路探索部12は経路探索要求を受け、オンデマンド型のルーティングプロトコルに基づいて経路探索を実行する(S7)。経路探索部12は経路探索により取得した宛先アドレスAn5のホストエントリをカーネル空間20にソケット経由で送信する(S8)。
The
経路判断部22はユーザ空間10からホストエントリを受け、登録部221は受けたホストエントリを経路テーブルRTと転送テーブルFTとに登録する(S56)。なお、このときタイムスタンプも登録される。
The
続いて、キューバッファに格納されたパケットを取り出す(S57)。複数のパケットがキューバッファに格納されている場合、カーネル空間20はステップS56で登録されたホストエントリの宛先IPアドレスと宛先が一致するパケットを取り出す。 Subsequently, the packet stored in the queue buffer is taken out (S57). When a plurality of packets are stored in the queue buffer, the kernel space 20 extracts a packet whose destination matches the destination IP address of the host entry registered in step S56.
経路判断部22は、取り出したパケットのパケットサイズがステップS56で登録したホストエントリ内で指定されたインターフェース(パケット送信時に使用するインターフェース)のMTU(Maximum Transmission Unit)よりも大きいか否かを判断する(S58)。各インタフェースは個別のMTU値を保有している。パケットサイズがMTUよりも小さい場合、確認処理を終了する。
The
一方、パケットサイズがMTUよりも大きい場合、フラグメンテーション処理を実行し(S59)、確認処理を終了する。次ホップアドレスのノードN5のインタフェースに対応したパケットサイズにするためである。 On the other hand, if the packet size is larger than the MTU, fragmentation processing is executed (S59), and the confirmation processing is terminated. This is because the packet size corresponds to the interface of the node N5 of the next hop address.
確認処理を実行後(S5)、パケット転送部がパケット転送処理を実行する(S6)。 以上のように、経路判断部22で確認処理を実行するため、ホストエントリが経路テーブルRTに存在すれば、カーネル空間20とユーザ空間10とのやり取りは発生しない。よって、高いスループットでパケットを転送できる。
After executing the confirmation process (S5), the packet transfer unit executes the packet transfer process (S6). As described above, since the
4.2.自ノードからパケットを発信する場合
図8を参照して、ノードN1がノードN2宛のパケットを送信する場合、カーネル空間20内の送受信部21Aは、アプリケーション11からソケットインタフェース経由でパケットを受信する(S2)。たとえばアプリケーション11がWebブラウザの場合、パケットはWebブラウザからTCP層に送信され、TCP層から送受信部21Aに送信される。
4.2. When sending a packet from its own node Referring to FIG. 8, when node N1 sends a packet addressed to node N2, the transmitting / receiving
パケット転送部23は受信したパケットの宛先アドレスAn2に対応したホストエントリを転送テーブルFTから検索する(S3)。検索後、ホストエントリの有無に関わらず、確認処理が実行される(S5)。
The
経路判断部22は、パケットの宛先のノードN2がアドホックサブネットに属するか否かを判断する(S51)。判断の結果、宛先アドレスがアドホックサブネットに属しない場合、つまり、ノードN2がアドホック以外のサブネット(たとえば有線ネットワーク)に属する場合、確認処理は終了する。ステップS51の判断の結果、ノードN2がアドホックサブネットに属する場合、経路テーブル検索部222は宛先アドレスAn2のホストエントリを経路テーブルRTから検索する(S52)。検索の結果、経路テーブルRT内にホストエントリが存在する場合、そのホストエントリのタイムスタンプを更新して(S53)、確認処理を終了する。
The
経路テーブルRT内にホストエントリが存在するため、転送テーブルFT内にもホストエントリが存在する。パケット転送部23は既にステップS3で宛先アドレスAn2のホストエントリを検索している。そのため、パケット転送処理(S6)では、ステップS3で取得したホストエントリの次ホップアドレス=An5に基づいて、パケット送信部232がパケットを送信する(S62)。
Since the host entry exists in the route table RT, the host entry also exists in the transfer table FT. The
ステップS52での検索の結果、経路テーブルRT内にホストエントリが存在しない場合のアドホックパケット転送処理は、図7と同じである。 As a result of the search in step S52, the ad hoc packet transfer process when the host entry does not exist in the route table RT is the same as FIG.
自ノードからパケットを発信する場合、確認処理(S5)の前に転送テーブルFTが検索される。このような動作フローにすれば、汎用OSのカーネルコードを変更する必要はない。たとえば汎用OSであるLinux(登録商標)において、カーネルコアの所定のフックに追加モジュールを実装すれば、カーネルコードを変更することなく図8の動作を実現できる。要するに、移動通信装置1は、汎用OSのカーネルコードを変更することなく、高いスループットでパケットを転送できる。
When a packet is transmitted from the own node, the forwarding table FT is searched before the confirmation process (S5). With such an operation flow, there is no need to change the kernel code of the general-purpose OS. For example, in Linux (registered trademark), which is a general-purpose OS, if an additional module is mounted on a predetermined hook of the kernel core, the operation of FIG. 8 can be realized without changing the kernel code. In short, the
5.テーブル更新処理の動作フロー
5.1.隣接ノード探索処理
隣接ノード探索処理では、移動通信装置1は、一定期間ごとに隣接ノードへHelloメッセージをブロードキャスト送信後、そのHelloメッセージを受信した隣接ノードからHello応答メッセージを受信し経路情報を取得する。取得した経路情報に基づいて、テーブル更新部130がカーネル内テーブルの経路情報を更新する。テーブル更新部130内のテーブル管理部13は、表4に示すシャドー経路テーブルSRTを持つ。
シャドー経路テーブルSRTは7つのフィールドを持つ。そのうち6つのフィールドは経路テーブルRTと同じデータを持つ。新たなフィールドであるステータスには、対応する経路情報の状態が登録される。経路情報のタイムスタンプから所定期間αを経過していない場合、経路情報内のステータスは「active」となる。所定期間αを経過した場合、ステータスは「inactive」となる。 The shadow path table SRT has seven fields. Six of them have the same data as the route table RT. In the status which is a new field, the state of the corresponding route information is registered. When the predetermined period α has not elapsed since the time stamp of the route information, the status in the route information is “active”. When the predetermined period α has elapsed, the status becomes “inactive”.
テーブル更新部130は、隣接ノードから取得した経路情報に基づいてシャドー経路テーブルSRT内の経路情報を更新した後、カーネル内テーブルの経路情報を更新する。
The
図9を参照して、隣接ノード探索処理は、Helloメッセージブロードキャスト送信処理(S20)と更新処理(S21)とを実行する。 Referring to FIG. 9, the adjacent node search process executes a Hello message broadcast transmission process (S20) and an update process (S21).
図10に時刻t10におけるアドホックネットワークを示す。図9及び図10を参照して、ノードN1内の経路探索部12は、表5に示すHelloメッセージをブロードキャストする(Helloメッセージブロードキャスト送信処理:S20)。
Helloメッセージは、自ノードIPアドレス(An1)とシーケンス番号とを含む。ノードN1がHelloメッセージを生成するごとにシーケンス番号はカウントアップされる。ステップS20でノードN1は所定期間△t1ごとにHelloメッセージをブロードキャストする。たとえば所定期間△t1は「1秒」である。 The Hello message includes its own node IP address (An1) and a sequence number. Each time the node N1 generates a Hello message, the sequence number is counted up. In step S20, the node N1 broadcasts a Hello message every predetermined period Δt1. For example, the predetermined period Δt1 is “1 second”.
図10中のノードN5はノードN1のHelloメッセージを受信する。ノードN5はHelloメッセージを受信してから所定期間△t2経過後の時刻t11(=t10+△t2)にHello応答メッセージを送信する。△t2>△t1であり、たとえば、所定期間△t2は「3秒」である。 Node N5 in FIG. 10 receives the Hello message of node N1. The node N5 transmits a Hello response message at time t11 (= t10 + Δt2) after the elapse of a predetermined period Δt2 after receiving the Hello message. Δt2> Δt1, and for example, the predetermined period Δt2 is “3 seconds”.
図11に時刻t11におけるアドホックネットワークを示す。ノードN1は1秒ごとにHelloメッセージを送信するため、時刻t10から3秒後の時刻t11において、ノードN5はノードN1から3回Helloメッセージを受ける。さらに、△t2中にノードN5はノードN2〜N4からもHelloメッセージを受ける。 FIG. 11 shows the ad hoc network at time t11. Since the node N1 transmits the Hello message every second, the node N5 receives the Hello message three times from the node N1 at the time t11 after 3 seconds from the time t10. Further, during Δt2, the node N5 receives the Hello message from the nodes N2 to N4.
ノードN5が生成するHello応答メッセージを表6に示す。
表6を参照して、Hello応答メッセージは、複数の隣接ノードデータとを含む。隣接ノードデータは、時刻t10〜時刻t11の間にノードN5が受信したHelloメッセージに基づくデータであり、具体的には、Helloメッセージの送信元のノード(N1〜N4)に関するデータである。隣接ノードデータは、IPアドレスとメッセージ受信回数と有効フラグとを持つ。IPアドレスは、ノードN1〜N4のIPアドレス(An1〜An4)である。 Referring to Table 6, the Hello response message includes a plurality of adjacent node data. The adjacent node data is data based on the Hello message received by the node N5 between the time t10 and the time t11. Specifically, the adjacent node data is data regarding the node (N1 to N4) that is the transmission source of the Hello message. The adjacent node data has an IP address, the number of received messages, and a valid flag. The IP address is the IP address (An1 to An4) of the nodes N1 to N4.
メッセージ受信回数は、時刻t10から時刻t11の間にノードN5が受信したHelloメッセージの回数である。受信回数はノードN5によりカウントされる。ノードN5は、同じノードから送信された同じシーケンス番号を持つ複数のHelloメッセージを重複してカウントしない。それらのHelloメッセージは同じタイミングで同じノードから出力されたものだからである。ノードN2〜N4からのHelloメッセージについても同様である。 The number of message receptions is the number of Hello messages received by the node N5 between time t10 and time t11. The number of receptions is counted by the node N5. The node N5 does not count a plurality of Hello messages transmitted from the same node and having the same sequence number. This is because those Hello messages are output from the same node at the same timing. The same applies to the Hello messages from the nodes N2 to N4.
有効フラグは、ノードN5と各隣接ノードN1〜N4とのリンクの状態を示す。ノードN5と隣接ノードN1〜N4とのリンクが双方向に通信可能な状態(Bi-directional-link)であり、かつそのリンクが安定している場合、有効フラグは「ON」である。リンクが一方向に通信可能であったり、双方向リンクではあるが、電波障害等の影響で不安定である場合、有効フラグは「OFF」である。Hello応答メッセージを送信するノードN5が有効フラグを決定する。なお、ノードN5の自ノードIPアドレス(An5)はHello応答メッセージのIPヘッダに含まれる。 The valid flag indicates the state of the link between the node N5 and each of the adjacent nodes N1 to N4. When the link between the node N5 and the adjacent nodes N1 to N4 is in a bidirectionally communicable state (Bi-directional-link) and the link is stable, the valid flag is “ON”. If the link is communicable in one direction or is a bi-directional link but unstable due to radio interference or the like, the valid flag is “OFF”. The node N5 that transmits the Hello response message determines the valid flag. Note that the node N5's own node IP address (An5) is included in the IP header of the Hello response message.
ノードN5は、時刻t10でHelloメッセージを受信してから所定期間△t2経過後にHello応答メッセージを出力する。また、時刻t10から△t2が経過するまでに受信したHelloメッセージの送信元ノード(N1〜N4)の全てのデータをHello応答メッセージに含める。このため、Hello応答メッセージの送信頻度を軽減しネットワークへの負荷を抑制することに貢献する。この貢献によりアプリケーション11が送受信するパケットの実効スループットを向上させることが可能となる。
The node N5 outputs a Hello response message after a lapse of a predetermined period Δt2 after receiving the Hello message at time t10. In addition, all the data of the transmission source nodes (N1 to N4) of the Hello message received from the time t10 until Δt2 elapses are included in the Hello response message. For this reason, it contributes to reducing the transmission frequency of a Hello response message and suppressing the load to a network. This contribution makes it possible to improve the effective throughput of packets transmitted and received by the
図9に戻って、ノードN1が時刻t11にノードN5から表5に示すHello応答メッセージを受けたとき、テーブル更新部130は更新処理を実行する(S21)。
Returning to FIG. 9, when the node N1 receives the Hello response message shown in Table 5 from the node N5 at the time t11, the
Hello応答メッセージを受信した後(S211)、ノードN1内のテーブル管理部13は、Hello応答メッセージがノードN1のIPアドレス(An1)を含むか否かを判断する(S212)。表5のHello応答メッセージはIPアドレスAn1を含む。換言すれば、ノードN1が出力したHelloメッセージ内の情報を含む。そのため、ノードN1とノードN5とのリンクは、双方向に通信可能なリンクである。この場合、テーブル更新部130は、Hello応答メッセージに基づいてシャドー経路テーブルSRTとカーネル内テーブルとを更新する(S213〜S216)。このようにHelloメッセージの受信によってではなくHello応答メッセージの受信によって隣接ノードへのリンク情報を獲得することで、双方向の通信が有効なリンクのみを経路として採用することを可能としている。
After receiving the Hello response message (S211), the
ステップS213では、テーブル管理部13が、Hello応答メッセージに含まれる経路情報がシャドーテーブルSRTに既に登録されているか否かを判断する。具体的には、Hello応答メッセージ内の各IPアドレスを宛先IPアドレスに持つ経路情報がステータスが「active」のエントリとしてシャドーテーブルSRTに登録されているか否か判断する。表4を参照して、宛先IPアドレスがAn5及びAn2である経路情報はシャドーテーブルSRTに既にステータスが「active」のエントリとして登録されている。そのため、カーネル内テーブルにもこれらの経路情報は登録されている。この場合、テーブル管理部13は、シャドーテーブルSRT内のこれらの経路情報に対応したタイムスタンプをHello応答メッセージ受信時の「t11」に更新し(S216)、更新処理を終了する。
In step S213, the
一方、表4を参照して、宛先IPアドレスがAn3及びAn4の経路情報は登録されていない(S213)。この場合、テーブル管理部13はこれらの経路情報をシャドー経路テーブルSRTにステータスが「inactive」のエントリとして登録する(S214)。ステータスが「inactive」のエントリとして存在している場合(An6)、ある所定の回数のHello応答メッセージを受信した時点で無線リンクの品質を"安定"と見なし、そのステータスを「active」に更新する。
On the other hand, referring to Table 4, route information with destination IP addresses An3 and An4 is not registered (S213). In this case, the
宛先アドレスAn3の経路情報は以下のように登録される。宛先IPアドレスAn3はホストアドレスであるため、ネットマスクは「255.255.255.255」となる。また、次ホップアドレスはHello応答メッセージ中の自ノードIPアドレス「An5」となる。インタフェースインデックスは、ノードN1と次ホップのノードN5とのインタフェースインデックス=1となる。ノードN1はHello応答メッセージを受信したときに使用したインタフェースインデックスを判断する。ホップカウントは「2」となり、タイムスタンプは「t11」となる。宛先アドレスAn4の経路情報も同様に登録される。 The route information of the destination address An3 is registered as follows. Since the destination IP address An3 is a host address, the netmask is “255.255.255.255”. Further, the next hop address is the own node IP address “An5” in the Hello response message. The interface index is 1 between the node N1 and the next hop node N5. The node N1 determines the interface index used when receiving the Hello response message. The hop count is “2” and the time stamp is “t11”. The route information of the destination address An4 is registered in the same manner.
以上の更新処理により更新されたシャドー経路テーブルSRTを表7に示す。
ステップS214で、テーブル更新部130が所定の回数のHello応答メッセージ(隣接データ3、4を含む)を連続して又は一定期間内に受信した時、テーブル更新部130は、ノードN3及びN4とのリンクの品質を"安定"と見なす。このとき、シャドー経路テーブルSRT内の宛先アドレスAn3及びAn4のステータスを「inactive」から「active」に更新する。更新後、テーブル更新部130内のテーブル管理部13は、宛先アドレスAn3及びAn4の経路情報をカーネル空間20へ送信する(S215)。カーネル空間20は経路情報を受信し(S22)、経路判断部22内の登録部221は、受けた経路情報を経路テーブルRT及び転送テーブルFTに登録する(S23)。
In step S214, when the
なお、ステップS212の判断の結果、Hello応答メッセージがノードN1のIPアドレスを含まない場合、ノードN1とN5とのリンクは一方向のみ通信可能なリンクである。そのため、更新処理を終了する。 As a result of the determination in step S212, when the Hello response message does not include the IP address of the node N1, the link between the nodes N1 and N5 is a link that can communicate in only one direction. Therefore, the update process is terminated.
以上の動作により、カーネル内テーブルの隣接ノードに関する経路情報は定期的に更新される。換言すれば、カーネル内テーブルは隣接ノードに関しては常に最新の経路情報を含む。 Through the above operation, the route information related to the adjacent node in the in-kernel table is periodically updated. In other words, the in-kernel table always includes the latest route information for neighboring nodes.
上述の内容と一部重複するが、Hello応答メッセージ内のメッセージ受信回数及び有効フラグに基づいて、シャドー経路テーブルSRT内の該当エントリーにおけるステータスが登録される。たとえば、Hello応答メッセージ中の隣接ノードデータ1(ノードN1のデータ)のメッセージ受信回数が「1」の場合、ノードN5は所定期間△t2内にノードN1から送信された3回のHelloメッセージのうち1回しかHelloメッセージを受信していないことになる。この場合、ノードN1とノードN5とのリンクが不安定な状態と見なされ、テーブル管理部13がステップS214又はステップS216でシャドー経路テーブルSRT内の宛先IPアドレスAn5のステータスを「inactive」と設定する。また、Hello応答メッセージ内に存在した付随的な情報である宛先ノードAn2〜An4について、Hello応答メッセージ中の各宛先の有効フラグを利用してステータスを設定することも可能である。たとえば、Hello応答メッセージ中の隣接ノードデータ3の有効フラグは「OFF」であり、ノードN5にとってノードN3はリンクが不安定な隣接ノードであることを示している。そのため、自ノードのシャドー経路テーブルSRT内にノードN3に関するホストエントリが存在しない場合、テーブル管理部13はシャドー経路テーブルSRT内の宛先IPアドレスAn3のステータスを「inactive」としてもよい。
Although partially overlapping with the above-described content, the status in the corresponding entry in the shadow route table SRT is registered based on the number of message receptions and the validity flag in the Hello response message. For example, when the number of received messages of the adjacent node data 1 (data of the node N1) in the Hello response message is “1”, the node N5 is one of the three Hello messages transmitted from the node N1 within the predetermined period Δt2. This means that the Hello message has been received only once. In this case, the link between the node N1 and the node N5 is regarded as an unstable state, and the
5.2.経路情報消去処理
経路情報消去処理では、経路テーブルRT内のタイムスタンプを参照し、更新されていない経路情報を削除する。不要な経路情報を削除し、有効な経路情報のみをカーネル内テーブルに登録するため、アドホックパケット転送処理において、カーネル空間20とユーザ空間10とのやり取りを抑えることができる。その結果、高いスループットでパケットを転送する。以下、経路情報削除処理について説明する。
5.2. Route Information Erasing Process In the route information erasing process, the time information in the route table RT is referred to and the route information that has not been updated is deleted. Since unnecessary route information is deleted and only valid route information is registered in the in-kernel table, exchange between the kernel space 20 and the user space 10 can be suppressed in the ad hoc packet transfer processing. As a result, packets are transferred with high throughput. Hereinafter, the route information deletion process will be described.
図12を参照して、テーブル管理部13は、カーネル空間20内の経路判断部22にタイムスタンプデータを要求する。タイムスタンプデータとは、経路テーブルRT内の全ての経路情報の最新のエントリ参照時刻を表すデータであり、具体的には、宛先アドレス及びタイムスタンプで構成される。経路判断部22は、要求を受け、タイムスタンプデータを送信する(S302)。
Referring to FIG. 12, the
タイムスタンプデータを受信後、テーブル管理部13はタイムスタンプデータに基づいてシャドー経路テーブルSRTを更新する(S303)。ステップS303の更新により、SRT内のタイムスタンプはRT内のタイムスタンプ(図8及び図9中ステップS53に相当)と同期する。なお、確認処理時に経路探索部12が経路探索を実行したとき(図8及び図9のステップS7に相当)、取得した経路情報とタイムスタンプとはシャドー経路テーブルSRTにも登録されている。
After receiving the time stamp data, the
テーブル管理部13はシャドー経路テーブルSRT中の全てのエントリ(経路情報)に対し、最新のステータスを判断する(S304〜S309)。
The
具体的には、シャドー経路テーブルSRTの最初の経路情報を選択し(S304)、以下の式(1)に基づいてステータスを判断する(S305)。
現在時刻−タイムスタンプ>所定期間α…(1)
Specifically, the first route information in the shadow route table SRT is selected (S304), and the status is determined based on the following equation (1) (S305).
Current time-Time stamp> Predetermined period α (1)
式(1)を満たす場合、その経路情報は所定期間α中に検索又は更新されてない情報である。そのため、その経路情報のステータスを「inactive」にする(S306)。続いて、テーブル管理部13は当該経路情報の削除要求をカーネル空間20に送信する(S307)。削除要求を受けた経路判断部22内の登録部221は、カーネル内テーブルの該当経路情報を削除する(S310)。
When Expression (1) is satisfied, the route information is information that has not been searched or updated during the predetermined period α. Therefore, the status of the route information is set to “inactive” (S306). Subsequently, the
一方、ステップS305において、式(1)を満たさない場合、その経路情報のステータスは「active」である。そのため、次の経路情報を選択し(S309)、ステップ305へ戻る。全ての経路情報についてステータスを判断した場合(S308)、経路情報削除処理を終了する。なお、ステップS305で「active」であると判定された経路について再経路探索を起動させることも可能である。再経路探索を起動するか否かは、トポロジの変更頻度やノードの移動速度といった環境要因に応じて決定することが望ましい。 On the other hand, if the expression (1) is not satisfied in step S305, the status of the route information is “active”. Therefore, the next route information is selected (S309), and the process returns to step 305. When the status is determined for all the route information (S308), the route information deletion process is terminated. Note that it is also possible to activate re-route search for the route determined to be “active” in step S305. Whether or not to start reroute search is preferably determined according to environmental factors such as topology change frequency and node movement speed.
以上の動作により、カーネル内テーブルの不要な経路情報を削除できる。なお、シャドー経路テーブルSRT内の「inactive」の経路情報は残しておく。経路探索のときにこれらの過去の経路情報を利用した探索が可能となり、探索時間短縮ならびに探索処理で発生するネットワークへの負荷軽減などの効果が期待されるからである。 Through the above operation, unnecessary route information in the kernel table can be deleted. Note that the “inactive” route information in the shadow route table SRT is left. This is because a search using these past route information becomes possible at the time of route search, and effects such as a reduction in search time and a reduction in load on the network generated by the search processing are expected.
以上、本実施の形態を説明したが、本発明は上述した実施の形態に限られない。たとえば、従来の汎用OSのカーネルコードを変更し、図13に示すように、パケット転送部23の転送テーブルFTに経路テーブルRTの機能を追加し(以下経路転送テーブルRFTと称する)、さらに登録部221及び要求部223を追加すれば、図2の移動通信装置1と同じ機能を実現できる。経路転送テーブルRFTは、汎用OS内の転送テーブルFTに表2に示す経路テーブルのフィールドを追加したものである。
Although the present embodiment has been described above, the present invention is not limited to the above-described embodiment. For example, the kernel code of the conventional general-purpose OS is changed, and as shown in FIG. 13, the function of the route table RT is added to the transfer table FT of the packet transfer unit 23 (hereinafter referred to as the route transfer table RFT), and the registration unit If the 221 and the
図14を参照して、他のノードからパケットを受けたカーネル空間20は、確認処理を実行する(S5)。経路転送テーブルRFT内のパケットの宛先アドレスに一致するホストエントリが存在する場合(S52)、参照した該当ホストエントリの情報に基づいてパケット送信部232がパケットを送信する(S62)。一方、経路転送テーブルRFTに該当ホストエントリが存在しない場合(S52)、経路探索をユーザ空間で稼動するミドルウェアに要求する(S54)。ユーザ空間10から経路情報を取得後、登録部221が経路転送テーブルRFTに経路情報を登録する(S561)。登録した経路情報に基づいて、パケット送信部232はパケットを送信する(S62)。その他の動作については、図7と同じである。なお、自ノードのアプリケーション11からパケットが発信された場合も、図14の動作が実行される。
Referring to FIG. 14, the kernel space 20 that receives a packet from another node executes a confirmation process (S5). If there is a host entry that matches the destination address of the packet in the route transfer table RFT (S52), the
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。 While the embodiments of the present invention have been described above, the above-described embodiments are merely examples for carrying out the present invention. Therefore, the present invention is not limited to the above-described embodiment, and can be implemented by appropriately modifying the above-described embodiment without departing from the spirit thereof.
1 移動通信装置
10 ユーザ空間
11 アプリケーション
12 経路探索部
13 テーブル管理部
20 カーネル空間
21A,21B 送受信部
22 経路判断部
23 パケット転送部
101 CPU
102 メモリ
103 通信部
130 テーブル更新部
221 登録部
222 経路テーブル検索部
223 要求部
231 転送テーブル検索部
232 パケット送信部
RT 経路テーブル
FT 転送テーブル
RFT 経路転送テーブル
DESCRIPTION OF
102
Claims (4)
前記カーネル空間は、
アドホックネットワークのサブネットに属する宛先アドレスの経路情報と、前記アドホックネットワークのサブネットに属さない宛先アドレスのパケットを外部ネットワークへの中継局となるノードに送信するための経路情報とが登録される転送テーブルと、
前記転送テーブルに登録された、アドホックネットワークのサブネットに属する宛先アドレスの経路情報と同じ経路情報が登録される経路テーブルと、
宛先アドレスを有するパケットを受信する受信手段と、
前記受信手段が受信したパケットの宛先アドレスが前記アドホックネットワークのサブネットに属するか否かを判断する判断手段と、
前記判断手段の判断の結果、前記受信したパケットの宛先アドレスが前記アドホックネットワークのサブネットに属するとき、前記受信したパケットの宛先アドレスの経路情報を前記経路テーブルから検索する経路テーブル検索手段と、
前記経路テーブル検索手段が検索した結果、前記受信したパケットの宛先アドレスの経路情報が前記経路テーブルにないときに経路探索要求を出力する要求手段とを備え、
前記ユーザ空間は、
前記経路探索要求を受けたとき、オンデマンド型のルーティングプロトコルに基づいて前記経路情報を探索して取得する経路探索手段を備え、
前記カーネル空間はさらに、
前記宛先アドレスが前記アドホックネットワークのサブネットに属さないと前記判断手段が判断したとき、及び、前記経路テーブル検索手段が検索した結果、前記受信したパケットの宛先アドレスの経路情報が前記経路テーブルにあるとき、前記転送テーブル内の経路情報のうち前記受信したパケットの宛先アドレスに対応した経路情報で特定される経路に前記パケットを送信し、前記経路探索手段が前記経路情報を取得したとき、前記取得された経路情報で特定される経路に前記受信したパケットを送信する送信手段とを備えたことを特徴とする移動通信装置。 A mobile communication device that forms an ad hoc network with other nodes and has a kernel space and a user space,
The kernel space is
A forwarding table for registering route information of a destination address belonging to a subnet of an ad hoc network and route information for transmitting a packet of a destination address not belonging to the subnet of the ad hoc network to a node serving as a relay station to an external network ; ,
A route table in which the same route information as the route information of the destination address belonging to the subnet of the ad hoc network registered in the forwarding table is registered;
Receiving means for receiving a packet having a destination address;
Determining means for determining whether a destination address of a packet received by the receiving means belongs to a subnet of the ad hoc network;
As a result of the determination by the determination means, when the destination address of the received packet belongs to the subnet of the ad hoc network, the route table search means for searching the route information of the destination address of the received packet from the route table;
Requesting means for outputting a route search request when the route information of the destination address of the received packet is not in the route table as a result of searching by the route table search means;
The user space is
When the route search request is received , it comprises route search means for searching and acquiring the route information based on an on-demand routing protocol,
The kernel space is further
When the determination unit determines that the destination address does not belong to the subnet of the ad hoc network, and as a result of the search by the route table search unit, the route information of the destination address of the received packet is in the route table The packet is transmitted to the route specified by the route information corresponding to the destination address of the received packet among the route information in the forwarding table, and the route information is acquired when the route search means acquires the route information. A mobile communication device comprising: a transmission unit configured to transmit the received packet to a route specified by the route information .
前記経路探索手段により取得された経路情報を前記経路テーブル及び転送テーブルに登録する経路情報登録手段と、
前記経路情報を経路テーブルから検索できたとき、検索された経路情報に対応したタイムスタンプを前記経路テーブルに登録するタイムスタンプ登録手段と、
前記対応したタイムスタンプから所定期間が経過した経路情報を削除するテーブル更新手段を備えたことを特徴とする移動通信装置。 The mobile communication device according to claim 1 , further comprising :
Route information registration means for registering the route information acquired by the route search means in the route table and the forwarding table;
When could find the previous SL route information from the route table, and time stamp registration means for registering a time stamp corresponding to the retrieved route information to the route table,
Mobile communication apparatus characterized by comprising a table update unit for deleting the routing information given period from the time stamp the corresponds has elapsed.
前記経路探索手段は所定期間毎にメッセージをブロードキャストし、
前記ユーザ空間はさらに、
前記メッセージに対応した、経路情報を含む応答メッセージを受け、前記経路情報を前記カーネル空間に送信する手段を備え、
前記テーブル更新手段はさらに、前記送信された経路情報に基づいて、前記経路テーブル及び転送テーブルを更新することを特徴とする移動通信装置。 The mobile communication device according to claim 1 ,
The route search means broadcasts a message every predetermined period,
The user space further includes
Means for receiving a response message corresponding to the message and including route information, and transmitting the route information to the kernel space;
The table update means further updates the route table and forwarding table based on the transmitted route information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004065071A JP3972338B2 (en) | 2004-03-09 | 2004-03-09 | Mobile communication device and mobile communication program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004065071A JP3972338B2 (en) | 2004-03-09 | 2004-03-09 | Mobile communication device and mobile communication program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005260299A JP2005260299A (en) | 2005-09-22 |
JP3972338B2 true JP3972338B2 (en) | 2007-09-05 |
Family
ID=35085648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004065071A Expired - Lifetime JP3972338B2 (en) | 2004-03-09 | 2004-03-09 | Mobile communication device and mobile communication program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3972338B2 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4728801B2 (en) * | 2005-12-28 | 2011-07-20 | 日本無線株式会社 | Relay permission method and base station apparatus using the same |
JP4839993B2 (en) * | 2006-07-12 | 2011-12-21 | 日本電気株式会社 | Multihop network, route information management method thereof, and communication terminal used therefor |
JP4316593B2 (en) | 2006-09-04 | 2009-08-19 | 日本電気通信システム株式会社 | Wireless device and wireless communication network provided with the same |
JP4888598B2 (en) * | 2008-04-25 | 2012-02-29 | 富士通株式会社 | Node device and program |
JP2011040960A (en) * | 2009-08-10 | 2011-02-24 | Toshiba Corp | Packet transfer device |
JP5750973B2 (en) | 2011-03-29 | 2015-07-22 | 富士通株式会社 | Communication method and communication apparatus |
JP5316600B2 (en) * | 2011-07-11 | 2013-10-16 | 日本電気株式会社 | Multihop network, route information management method thereof, and communication terminal used therefor |
JP5316601B2 (en) * | 2011-07-11 | 2013-10-16 | 日本電気株式会社 | Multihop network, route information management method thereof, and communication terminal used therefor |
US10089127B2 (en) | 2011-11-15 | 2018-10-02 | Nicira, Inc. | Control plane interface for logical middlebox services |
CN104221433B (en) * | 2012-03-02 | 2018-01-30 | 富士通株式会社 | Communication equipment searching method, communication equipment, communication equipment search utility and ad hoc network system |
WO2014073040A1 (en) * | 2012-11-06 | 2014-05-15 | 富士通株式会社 | Network device and transmission program |
JP6264856B2 (en) * | 2013-11-18 | 2018-01-24 | 富士通株式会社 | Node device, control program, wireless communication system, and data communication method |
-
2004
- 2004-03-09 JP JP2004065071A patent/JP3972338B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2005260299A (en) | 2005-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2682930C2 (en) | Route selection in wireless networks | |
JP3972338B2 (en) | Mobile communication device and mobile communication program | |
JP2005124195A (en) | Method for processing broadcast data in mobile ad-hoc network | |
JP2004336716A (en) | Path mtu discovery system and method for ad-hoc network | |
WO2005006676A1 (en) | Home agent, mobile router, and mobile communication method using the same | |
JP5287622B2 (en) | Communication system, node, communication control method, and program | |
JP5801887B2 (en) | System and method for communicating between nodes of a wireless network | |
JPWO2008105158A1 (en) | Network management device and packet transfer device | |
Wang et al. | A-DSR: A DSR-based anycast protocol for IPv6 flow in mobile ad hoc networks | |
WO2007066866A1 (en) | Routing optimization method | |
JP2003258859A (en) | Communication system, communicating method, transferring device and network managing device | |
JP4735202B2 (en) | Mobile terminal and program for selecting routing protocol for ad hoc network | |
JP4951695B2 (en) | Route selection in wireless networks | |
JP4939579B2 (en) | Route selection in wireless networks | |
JP4335945B2 (en) | Ad hoc network system and its node equipment | |
JP4430512B2 (en) | Relay device and relay method | |
CA2896911C (en) | Route selection in wireless networks | |
CA2817659C (en) | Route selection in wireless networks | |
JP2007129516A (en) | Route search device | |
CN100512172C (en) | Method for, realizing self adaption extension domain management entity mechanism Flexible IP network technology system | |
JP2002223230A (en) | Transfer data communication system, network address transfer device provided in the system, and foreign agent device | |
RU2008122984A (en) | ROUTE SELECTION IN WIRELESS NETWORKS | |
WO2007114186A1 (en) | Binding update system, home agent, communication node, mobile node and binding update requesting method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070219 |
|
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: 20070522 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070601 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3972338 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130622 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130622 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160622 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |