Methods of routing data within a wireless communication system

Information

  • Patent Application
  • 20070286139
  • Publication Number
    20070286139
  • Date Filed
    February 06, 2007
    17 years ago
  • Date Published
    December 13, 2007
    16 years ago
Abstract
Methods of routing data within a wireless communication system are provided. In the example methods and system, data packets may be routed to and/or between any node within a Mobile Ad-Hoc Network (MANET), such as a network running Ad-hoc On-demand Distance Vector (AODV) protocol, and an external connection or device (e.g., an Internet entity) if at least one node within the MANET includes a connection to the external connection or device. Accordingly, a single “connected” MANET node may share its external connections with non-connected nodes.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will become more fully understood from the detailed description given herein below and the accompanying drawings which are given by way of illustration only, wherein like reference numerals designate corresponding parts in the various drawings, and wherein:



FIG. 1 illustrates a conventional Ad-hoc On-demand Distance Vector (AODV) network.



FIG. 2 illustrates a conventional message routing process within the AODV network of FIG. 1.



FIG. 3 illustrates a conventional user mode AODV network message routing process.



FIG. 4 illustrates an AODV network according to an example embodiment of the present invention.



FIG. 5 illustrates an AODV message routing process according to an example embodiment of the present invention.



FIG. 6 illustrates a process for sending a data packet from a non-Internet connected AODV node within the AODV network of FIG. 4 to an Internet destination entity within an Internet according to another example embodiment of the present invention.



FIG. 7 illustrates a process for sending a data packet from an Internet destination entity within an Internet to a non-Internet connected AODV node within the AODV network of FIG. 4 according to another example embodiment of the present invention.





DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

As discussed in the Background of the Invention section, conventional Ad-hoc On-demand Distance Vector (AODV) networks may not be capable of routing a data packet from a AODV node without an Internet connection to an Internet destination entity, nor can a conventional Internet source entity send a data packet to an AODV node not directly connected to the Internet. Accordingly, example embodiments of the present invention, as will now be described, are directed to an addressing scheme which allows for a routing of Internet messaging to and/or from any desired AODV node(s) within an AODV network through an AODV node within the AODV network having an Internet connection.



FIG. 4 illustrates an AODV network 400 according to an example embodiment of the present invention.


In the example embodiment of FIG. 4, AODV network 400 includes nodes 1, 2, 3, 4 and 5 with coverage areas 405, 410, 415, 420 and 425, respectively. Nodes which can communicate directly with other nodes are referred to as “neighbors”. Generally, the AODV network 400 is similar to the AODV network 100 except that node 2 in the AODV network 400 is further connected to an Internet 430 in addition to being in communication with neighbor nodes 1 and 3. The Internet 430 includes a plurality of communication networks, which may exchange data packets with any of a number of well-known protocols (e.g., TCP/IP protocols).



FIG. 5 illustrates an AODV message routing process according to an example embodiment of the present invention. The example AODV message routing process of FIG. 5 will be described below with reference to the AODV network 400 of FIG. 4. The operations described below are performed by node 2 (e.g., a node connected to the Internet 430) within the AODV network 400.


In step S500, each of nodes 1, 2, 3, 4 and 5 are assigned an internal address for use in routing within the AODV network 400. Table 1 (below) illustrates an example set of internal addresses for each of nodes 1 through 5.












TABLE 1







Node #
Assigned Internal Address









1
10.0.0.1



2
10.0.0.2



3
10.0.0.3



4
10.0.0.4



5
10.0.0.5










For example, referring to step S500 of FIG. 5, the internal addresses for nodes 1-5 may be assigned manually (e.g., by each respective node independently, by node 2, etc.) or automatically (e.g., via a Dynamic Host Configuration Protocol (DHCP protocol) configured for the AODV network 400 of FIG. 4).


After the internal addresses are assigned, a spoofing reserve address (SRA) is assigned to identify the AODV network 400 of FIG. 4 in step S505. The SRA serves to distinguish the AODV network 400 from other networks connected to the Internet 430, and may be used as a destination address to route data packets to one or more nodes within the AODV network 400. In this example, the SRA address for the AODV network 400 is 10.255.255.254, the MAC address for the AODV network 400 is 00-00-00-00-00 and the MAC/SRA addresses are “static” and do not change during operation.


After the SRA is assigned, the address resolution protocol (ARP) table and the system routing table are updated. The ARP table is stored at each node within the AODV network 400, and the system routing table is managed by the operating system (e.g. Windows® 2000 professional/server, XP, etc.). Each computer associated with the AODV network 400 and the Internet 430 includes a local system routing table. In a first example, referring to internal devices (e.g., a computer, a mobile phone, internal routers, etc.), the system routing table may only contain some route in the Intranet (e.g., and not to other networks). In an alternative example, referring to border routers (e.g. routers sit on the edge of a network), the system routing table may also include routes to other networks. In our example, all the nodes within the ad hoc network form a subnet, their system routing tables may only contain local routes; while the system routing table of gateway nodes may have non-local routes.


Accordingly, the system routing table may be used by the OS to determine how to route the data packets. At the same time, there is an AODV routing table which is used by AODV routing protocol. AODV nodes typically use AODV the routing table to update the system routing table. However, node 2 includes a module referred to as a network address translator (NAT). The NAT, which is not present in AODV nodes without Internet connectivity, is used to generate a temporary IP address and/or Transport layer port for internal nodes to communicate with external node, e.g. the web server on the Internet 430. The ARP is a TCP/IP protocol used to convert an IP address into a physical address, such as an Ethernet address. Generally, a node (e.g., node 2), wishing to obtain a physical address, broadcasts an ARP request onto the TCP/IP network (e.g., the Internet 430). The node on the network (e.g., the Internet 430) that has the address in the request then replies with its physical hardware address.


In step S510, the ARP table at each node within the AODV network 400 is updated to notify the OS of the MAC address of SRA with an entry as follows:












ARP Table Entry









Internet Address
Physical Address
Type





10.255.255.254
00-00-00-00-00
static









Also in step S510, the routing table at each node in the AODV network 400 is updated, to allow packets addressed for Internet destinations to be forwarded to the Internet 430, with an entry as follows:












Routing Table Entry










Destination
Next Hop







10.0.0.0/255.0.0.0
10.255.255.254










Node 2 receives a data packet in step S515. The data packet received at node 2 in step S515 may be either (i) sent from a node (e.g., node 1, 3, 4, etc., or may originate from node 2 itself) within the AODV network 400 and destined for another node within the AODV network 400; (ii) sent from a node (e.g., node 1, 3, 4, etc., or may originate from node 2 itself) within the AODV network 400 and destined for an internet destination within the Internet 430; or (iii) sent from an Internet source via the Internet 430 and destined for a node within the AODV network 400. Node 2 includes a data packet capture module configured to receive and analyze data packets received in accordance with any of (i), (ii) or (iii). The data packet includes a destination address field, which denotes the intended destination entity. In step S520, node 2 analyzes the data packet to determine whether the destination address indicated by the destination address field of the data packet is known to be within the AODV network 400


An example will now be given regarding how node 2 may determine whether the destination node indicated by the destination address is “known” to be within the AODV network 400. Each node in the AODV network 400 has a local IP address and subnet mask. The subnet mask is used to identify the local IP and the external IP address. For example, a computer may have the IP address 135.252.20.29, the subnet mask 255.255.255.0. Accordingly, an IP address such as 135.252.20.XXX may be used as a subnet IP, and can be reached directly, otherwise, a gateway will help to route the packet to destination. The IP address obtainment may be performed manual or automatically, as is well-known in the art.


If the destination address is known to be with in the AODV network 400, node 2 forwards the data packet to the destination node using a conventional AODV routing process (e.g., see conventional FIGS. 1-3) in step S525. Otherwise, if the destination of the data packet is determined to be outside of the AODV network 400, the process advances to step S530.


In step S530, node 2 forwards the received data packet to the Internet 430. At this time, node 2 will not run the AODV route discovery procedure because the IP address is known to be an outside IP address and the data packet has already forwarded to node 2. If the destination of an incoming packets is within the Internet, the data packet is captured by the NAT module (e.g. which may be included within Windows® server) on node 2, which generates and assigns a temporary external IP address and/or transport layer port for the incoming packet. The packet is forwarded to the network interface (e.g. an ethernet card) connected to the Internet 430. If node 2 wants to send a packet to the Internet, the packet is processed in the same way as a incoming packet.



FIG. 6 illustrates a process for sending a data packet from a non-Internet connected AODV node within the AODV network 400 of FIG. 4 to an Internet destination entity within the Internet 430 according to another example embodiment of the present invention. In particular, the example given below with reference to FIG. 6 describes a data packet being sent from node 4 to the Internet 430. However, it is understood that other example embodiments of the present invention may employ similar techniques to send a data packet to the Internet 430 from any node within the AODV network 400.


In step S600, node 4 determines whether to send a data packet to a destination out-of-network with respect to the AODV network 400, such as an Internet destination entity within the Internet 430. If node 4 determines to send the data to an out-of-network destination, the process advances to step S605. If the AODV module captures packets which are destined to an external network (e.g., Internet 430), these packets are buffered. The AODV module initiates a gateway finding procedure to find the gateway to the external network. The gateway finding procedure is similar to the RREQ/RREP procedure with the exception that the destination IP address is set to 0.0.0.0, such that only the gateway can reply to the RREQ. After the gateway is found, node 4 will update the local routing table and forward the buffered packets.


In step S610, node 4 forwards the data packet to node 2 (e.g., after passing through intermediate node 1) using well-known “internal” AODV routing protocols, for example, those described above with respect to FIGS. 1 to 3.


Node 2 receives and processes the data packet in accordance with the above-described process of FIG. 5. Thus, the data packet is received from node 4 at node 2 in step S515, node 2 analyzes the data packet in step S520, and determines that the data packet is not intended for a node in the AODV network 400 in step S525. Node 2 forwards the data packet to the Internet 430 in step S530 (e.g., to a next-hop router in the Internet) and the Internet 430 routes the data packet to its intended destination in step S535 using well-known Internet data packet routing protocols.



FIG. 7 illustrates a process for sending a data packet from an Internet destination entity within the Internet 430 to a non-Internet connected AODV node within the AODV network 400 of FIG. 4 according to another example embodiment of the present invention. In particular, the example given below with reference to FIG. 7 describes a data packet being sent from the Internet 430 to node 4 (e.g., a node not directly connected to the Internet 430). However, it is understood that other example embodiments of the present invention may employ similar techniques to send a data packet to any node within the AODV network 400 from the Internet 430.


In step S700, an Internet entity (e.g., a computer, a mobile telephone, etc.) connected to the Internet 430 determines whether to send or reply to a data packet to one or more nodes within the AODV network 400. In an example, the Internet entity may determine to send a data packet to the AODV network 400 in response to a request for information or other type of data packet received from one or more nodes within the AODV network 400. If the Internet entity determines to send the data packet to the AODV network 400 (e.g., in response to a request for information sent by one or more of the nodes within the AODV network 400), the Internet entity sends the data packet(s) to the gateway the same way as sending packet to any other destinations using well-known Internet routing protocols in step S705. Upon receiving the packet, the NAT module on node 2 captures the packet and routes the received packet to a designated destination AODV node. Accordingly, in step S710, (1) the data packet is routed to node 2 with well-known Internet routing protocols, (2) the routed data packet is processed by the NAT module at the node 2. The NAT module processing includes converting he IP address in the packet header to a corresponding AODV IP address (e.g. 10.0.0.4). The NAT IP address conversion table is generated when AODV node initiate the connection to the external network (e.g., Internet 430). Next, in step S710, (3) the OS at the Node 2 searches the system routing table and find the route to the destination node (e.g. node 4). This route is generated when node 4 initiate the gateway finding procedure.


Node 2 receives and processes the data packet in accordance with the above-described process of FIG. 5. Thus, the data packet is received from the Internet 430 at node 2 in step S515, node 2 analyzes the data packet in step S520, and determines that the data packet is intended to be sent to a node in the AODV network 400 in step S525. Node 2 forwards the data packet to node 4 (e.g., through intermediate node 1) in step S525 using well-known “internal” AODV routing protocols, as described above in conventional FIGS. 1 to 3.


Accordingly, it will be appreciated that AODV nodes without direct Internet connections may effectively become Internet-connected (e.g., for uploads of data packets to the Internet and/or downloads of data packets from the Internet), so long as at least one node within an AODV network has an Internet connection, with the above-described example AODV routing protocols.


Example embodiments of the present invention being thus described, it will be obvious that the same may be varied in many ways. For example, while particular AODV internal addresses (e.g., 10.0.0.1, 10.0.0.2, etc.), subnet masks (e.g. 255.255.255.0), IP addresses (e.g., 10.255.255.254) and MAC addresses (e.g., 00-40-96-54-CF-|OCi|) are given above, it is understood that these are intended to represent examples only and other example embodiments of the present invention may be configured for any appropriate address designation. Also, while the AODV network 400 illustrates five (5) nodes and one (1) node (i.e., node 2) having a connection to the Internet 430, it is understood that other example embodiments of the present invention may be directed to AODV networks having any number of nodes and also with any number of nodes having Internet connections.


Further, while example embodiments of the present invention are described above as being applied within an AODV routing protocol, it is understood that other example embodiments may be directed to any type of routing protocols for Mobile Ad-Hoc Network (MANET), and is not necessarily limited to AODV.


Such variations are not to be regarded as a departure from the example embodiments of the invention, and all such modifications are intended to be included within the scope of the invention.

Claims
  • 1. A method of routing data, comprising: receiving a data packet at a communication node, the communication node including connections to an Internet and at least one other communication node not connected the Internet, each of the communication node and the at least one other communication node included within a same Mobile Ad-Hoc Network (MANET);determining whether the data packet is configured to be sent to one of the Internet and the at least one other communication node; andsending the data packet to one of the Internet and the at least one other communication node based on the determining step.
  • 2. The method of claim 1, wherein the receiving step receives the data packet from the at least one other communication node.
  • 3. The method of claim 2, wherein the determining step determines that the data packet is configured to be sent to the Internet.
  • 4. The method of claim 3, wherein the sending step sends the data packet to the Internet.
  • 5. The method of claim 1, wherein the receiving step receives the data packet from the Internet.
  • 6. The method of claim 5, wherein the determining step determines that the data packet is configured to be sent to the at least one other communication node.
  • 7. The method of claim 6, wherein the sending step sends the data packet to the at least one other communication node.
  • 8. The method of claim 1, wherein the MANET running Ad-hoc On-demand Distance Vector (AODV) routing protocol.
  • 9. A method of routing data from a source node without an Internet connection to an Internet destination entity, comprising: sending a data packet from the source node to a gateway node having an Internet connection, the source node and the gateway node within a same Mobile Ad-Hoc Network (MANET), the data packet including instructions instructing the gateway node to forward the data packet to the Internet destination entity through the Internet connection.
  • 10. The method of claim 9, wherein the MANET is running Ad-hoc On-demand Distance Vector (AODV) routing protocol.
  • 11. A method of routing data from an Internet source entity to a destination node without an Internet connection, comprising: sending a data packet to a gateway node having an Internet connection and connected to the destination node, the gateway node and the destination node within a same Mobile Ad-Hoc Network (MANET), the data packet including instructions instructing the gateway node to forward the data packet to the destination node.
  • 12. The method of claim 11, wherein the MANET is running Ad-hoc On-demand Distance Vector (AODV) protocol.
  • 13. A wireless communication system, comprising: an Internet connection connected to a plurality of communication networks; anda Mobile Ad-Hoc Network (MANET) included among the plurality of communication networks, the MANET including at least one node connected to the Internet connection, the at least one node configured to route data packets between the plurality of communication networks and nodes within the MANET which are not connected to the Internet connection.
  • 14. The method of claim 13, wherein the MANET is running Ad-hoc On-demand Distance Vector (AODV) routing protocol.
  • 15. A method of routing data between a Mobile Ad-Hoc Network (MANET) and one or more other networks, comprising: first assigning each node within the MANET an internal address; andsecond assigning the MANET an external address, the external address distinguishing the MANET from the one or more other networks.
  • 16. The method of claim 15, wherein the MANET is running Ad-hoc On-demand Distance Vector (AODV) routing protocol.
  • 17. The method of claim 15, further comprising: designating one node or more nodes within the MANET as an Internet gateway, the designated node(s) receiving packets either (i) sent from the one or more other networks to the MANET or (ii) sent from the MANET to the one or more other networks.
  • 18. The method of claim 17, further comprising: analyzing the received packets at the designated node to determine whether to forward the received packets to another node within the MANET; andforwarding the received packets in accordance with the analyzing step.
  • 19. The method of claim 17, further comprising: analyzing the received packets at the designated node to determine whether to forward the received packets to the one or more other networks; andforwarding the received packets in accordance with the analyzing step.
Priority Claims (1)
Number Date Country Kind
200610091682.7 Jun 2006 CN national