Abstract:
A system and method for providing a congestion optimized address resolution protocol (ARP) for a wireless ad-hoc network. The system and method enables a node in the wireless ad-hoc network to issue an ARP request without the need to broadcast the request to all of the nodes in the wireless ad-hoc network, to thus minimize radio traffic on the wireless ad-hoc network for handling the ARP request. The node includes an address resolution protocol module which is adapted to generate an ARP request for a media access control (MAC) address corresponding to an Internet protocol (IP) address, and a transceiver which is adapted to transmit the ARP request for delivery to an access point of a network portion, such as a core LAN of the network, without broadcasting the ARP request to a plurality of other nodes in the wireless ad-hoc network. The transceiver can transmit the ARP request to the access point directly or via other nodes in the wireless ad-hoc network.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a system and method for providing a congestion optimized address resolution protocol for wireless ad-hoc networks. More particularly, the present invention relates to a system and method for enabling a node on a wireless ad-hoc network to issue an address resolution protocol request without the need to broadcast the request to a plurality of other nodes on the wireless ad-hoc network, to thus minimize the amount of traffic on the network necessary to handle the request. 
   2. Description of the Related Art 
   In recent years, a type of mobile communications network known as an “ad-hoc” network has been developed for use by the military. In this type of network, each user terminal is capable of operating as a base station or router for the other user terminals, thus eliminating the need for a fixed infrastructure of base stations. Details of an ad-hoc network are set forth in U.S. Pat. No. 5,943,322 to Mayor, the entire content of which is incorporated herein by reference. 
   More sophisticated ad-hoc networks are also being developed which, in addition to enabling user terminals to communicate with each other as in a conventional ad-hoc network, further enable user terminals, also referred to as subscriber devices, to access a fixed network and thus communicate with other user terminals, such as those on the public switched telephone network (PSTN), and on other networks such as a local area network (LAN) and the Internet. Details of these types of ad-hoc networks are described in U.S. patent application Ser. No. 09/897,790 entitled “Ad Hoc Peer-to-Peer Mobile Radio Access System Interfaced to the PSTN and Cellular Networks”, filed on Jun. 29, 2001, and in U.S. patent application Ser. No. 09/815,157 entitled “Time Division Protocol for an Ad-Hoc, Peer-to-Peer Radio Network Having Coordinating Channel Access to Shared Parallel Data Channels with Separate Reservation Channel”, filed on Mar. 22, 2001, the entire content of both of said patent applications being incorporated herein by reference. 
   Address Resolution Protocol (ARP) is a protocol for mapping an Internet Protocol address (IP address) to a physical machine address that is recognized in a local network, such as a LAN. For example, in IP Version 4, which is the most common level of IP in use today, an address is 32 bits long. In an Ethernet local area network, however, addresses for attached devices are 48 bits long. The physical machine address is also commonly referred to as a Media Access Control or MAC address. A table, usually called the ARP cache, is used to maintain a correlation between each MAC address and its corresponding IP address. ARP provides the protocol rules for making this correlation and providing address conversion in both directions, that is, from IP address to MAC address and vice-versa. 
   ARP functions in the following manner. When an incoming packet destined for a host machine on a particular LAN arrives at a gateway on the LAN, the gateway requests that the ARP program find a physical host or MAC address that matches the IP address. The ARP program looks in the ARP cache at the gateway and, if it finds the MAC address, provides the MAC address so that the packet can be converted and formatted as appropriate and sent to the machine. If no entry is found for the IP address in the ARP cache, the ARP program broadcasts a request packet in a special format to all the machines on the LAN to see if any machine recognizes that IP address as being associated with its MAC address. A machine that recognizes the IP address as its own returns an affirmative reply to the ARP program. A machine configured to respond to requests for an IP addresses other than its own, for which it is said to proxy, returns an affirmative reply if it recognizes the IP address as one for which it is so configured. In response, the ARP program updates the ARP cache for future reference, and then sends the packet to the machine having the MAC address associated with the IP address for which the packet is intended. Examples of conventional ARP techniques performed in asynchronous transfer mode (ATM) networks employing LANs are described in a publication by M. Laubach and J Halpern entitled “Classical IP and ARP over ATM”, IETF RFC 2225, April, 1998, in a publication by Jill Kaufman entitled “ATM Forum Education Corner”, ATM Forum, 2001, and in a publication by Rajeev Gupta entitled “The ‘Glue’ of Networks: Looking at IP over ATM”, ATM Forum, 2001, the entire contents of each of these documents is incorporated herein by reference. 
   Although the process described above is suitable for use with wired networks and broadcast wireless, the process is not suitable for use in an ad-hoc wireless network. Specifically, in an ad-hoc wireless network, when the ARP of a node causes a broadcast of the ARP request packet to all the nodes on the wireless network, such a broadcast could flood the radio network since it would be required to be repeated by every node to ensure completeness. 
   The MANET working group within the IETF is evaluating techniques in which to accomplish the delivery of such broadcast messages from a node in a wireless LAN. For example, the message can be via a broadcast of the IP address to all nodes on the network, or via a single hop broadcast to only neighboring nodes. In the case in which the message is broadcast to all nodes on the network, the amount of radio traffic generated on the network is enormous because each node must insure that its neighbors receive the message. Although certain techniques can be used to reduce this overhead, there is no mechanism for delivering a broadcast message toward a destination capable of resolving the ARP. Alternatively, in the single hop case, a node which is not directly connected to a node which can resolve the ARP request will never receive a reply. In addition, in either case, the reliability of the broadcast transfer can be severely impacted by the hidden terminal problem common in ad-hoc networks, as well as the near/far problem in which a node near to a node receiving a signal from a more distant node inadvertently transmits to the near node and thus destroys the ongoing reception from the distant node. A hidden terminal is a node which is out of range of a transmitting node and can therefore destroy an ongoing reception. This effect is particularly detrimental to broadcast transmissions which do not require a clear-to-send operation by the receiving node. Without the clear to send, the hidden terminal has no knowledge that a transmission is occurring and is free to attempt a transmission. An example of a non-broadcast multi-access subnetwork (NBMA) is described in a publication by J. Luciani et al. entitled “NBMA Next Hop Resolution Protocol (NHRP)”, IETF RFC 2332, April 1998, the entire contents of which is incorporated herein by reference. 
   Accordingly, a need exists for a system and method for improving the manner in which ARP is performed on wireless ad-hoc networks. 
   SUMMARY OF THE INVENTION 
   An object of the present invention is to provide a system and method for providing a congestion optimized ARP for a wireless ad-hoc network. 
   Another object of the present invention is to provide a system and method for enabling a node in a wireless ad-hoc network to issue an ARP request without the need to broadcast the request to all of the nodes on the wireless ad-hoc network. 
   A further object of the present invention is to provide a system and method for enabling a node on a wireless ad-hoc network to issue an ARP request and receive a response to the ARP request with minimal traffic on the network. 
   These and other objects are substantially achieved by providing a system and method for providing a congestion optimized address resolution protocol (ARP) for a wireless ad-hoc network. The system and method enables a node in a wireless ad-hoc network to issue an ARP request without the need to broadcast the request to all of the nodes in the wireless ad-hoc network, to thus minimize radio traffic on the wireless ad-hoc network for handling the ARP request. The node includes an address resolution protocol module which is adapted to generate an ARP request for a media access control (MAC) address corresponding to an Internet protocol (IP) address, and a transceiver which is adapted to transmit the ARP request for delivery to an access point of a network portion, such as a core LAN of the network, without broadcasting the ARP request to a plurality of other nodes in the wireless ad-hoc network. The transceiver can transmit the ARP request to the access point directly or via other nodes in the wireless ad-hoc network. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     These and other objects, advantages and novel features of the invention will be more readily appreciated from the following detailed description when read in conjunction with the accompanying drawings, in which: 
       FIG. 1  is a block diagram of an example of an ad-hoc packet-switched wireless communications network employing a system and method for providing a congestion optimized ARP according to an embodiment of the present invention; 
       FIG. 2  is a conceptual block diagram illustrating an example of communication exchanges between a subscriber device and an intelligent access point on the network shown in  FIG. 1  when performing an ARP according to an embodiment of the present invention; and 
       FIG. 3  is a flowchart showing an example of operations performed by the subscriber device and intelligent access point as shown in  FIG. 2 . 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1  is a block diagram illustrating an example of an ad-hoc packet-switched wireless communications network  100  employing an embodiment of the present invention. Specifically, the network  100  includes a plurality of mobile wireless subscriber devices  102 - 1  through  102 -n (referred to generally as subscriber devices  102 ), and a fixed network  104  having a plurality of access points  106 - 1 ,  106 - 2 , . . . ,  106 -n, for providing the subscriber devices  102  with access to the fixed network  104 . The fixed network  104  includes, for example, a core local access network (LAN), and a plurality of servers and gateway routers, to thus provide the subscriber devices  102  with access to other networks, such as the public switched telephone network (PSTN), the Internet or another wireless ad-hoc network. 
   The subscriber devices  102  are capable of communicating with each other directly, or via one or more other subscriber devices  102  operating as a router or routers for data packets being sent between subscriber devices  102 , as described in U.S. Pat. No. 5,943,322 to Mayor and in U.S. patent application Ser. Nos. 09/897,790 and 09/815,157, referenced above. As shown in  FIG. 2 , each subscriber device  102  includes a subscriber device host  108  which can be, for example, a notebook computer terminal, mobile telephone unit, mobile data unit, or any other suitable device. Each subscriber device  102  further include a transceiver  110  that is capable of receiving and transmitting signals, such as packetized data signals, to and from the subscriber device  102 , via a modem as, for example, a radio frequency (RF) transmission under the control of a controller (not shown). The packetized data signals can include, for example, voice, data or multimedia. 
   Each subscriber device host  108  includes the appropriate hardware and software to perform Internet Protocol (IP) and Address Resolution Protocol (ARP), the purposes of which can be readily appreciated by one skilled in the art. The subscriber device host  108  can optionally include the appropriate hardware and software to perform transmission control protocol (TCP) and user datagram protocol (UDP). Furthermore, a subscriber device host  108  includes a driver to provide an interface between the subscriber device host  108  and the transceiver  110  in the subscriber device  102 . 
   In addition to including a modem, the transceiver  110  includes the appropriate hardware and software to provide IP, ARP, admission control (AC), traffic control (TC), ad-hoc routing (AHR), logic link control (LLC) and MAC. The transceiver  110  further includes the appropriate hardware and software for IAP association (IA), UDP, simple network management protocol (SNMP), data link (DL) protocol and dynamic host configuration protocol (DHCP) relaying. 
   The Admission Control (AC) module acts on packets flowing between the IP stack module of the subscriber device host  108 , the IP stack module of the subscriber device transceiver  110 , and the traffic control (TC) module of the subscriber device transceiver  110 . The IP stack of the transceiver  110  will communicate directly with the AC module. The TC module passes formatted-message (i.e., those messages having Ad-Hoc Routing (AHR) headers) to the Logical Link Control module (LLC). The AC module also provides a number of services to these interfacing modules, including determination and labeling of Quality of Service (QoS) requirements for IP packets, throttling of higher-layer protocols, support of the Mobility Manager (not shown), and generation of appropriate responses to client service requests such as DHCP, ARP, and other broadcast messages. The AC module will rely on local broadcasts, ad hoc routing updates, and unicast requests for information destined to the associated IAP  106  to provide these services transparently to the IP stacks. 
   The AC module will further provide a routing mechanism to forward packets to the appropriate IP stack in the host  108  or transceiver  110 . Several of the services provided by the AC module will require knowledge of the IP packet header and, potentially, the UDP or TCP headers. Any other services which require knowledge of these packet headers should be isolated within the AC module to help enforce a modular, layered design. Information obtained from these headers that is required by TC or lower layers are encoded in the AHR header, or passed out-of-band with the packet. 
   It can be further noted that all IP packets intended for transmission by the transceiver  110  are forwarded to the AC module. The AC module should receive packets in buffers with sufficient headroom to prepend the AHR and LLC headers. Specifically, AC module receives a packet over the host interface. AC module must choose a buffer big enough to hold the packet from the host interface and the media access control header information which the transceiver places in front of the message. Headers are in front of the packet to ease implementation. Ad Hoc packets that have been received over the wireless interface must be delivered to the appropriate IP stack for reception. In doing so, the AC module strips any header information below the IP packet and forwards only the IP packet to the IP stack. The AC module should also be IP-aware in order to flow packets to the proper stack. The AC module is further capable of flowing packets between the attached IP stacks without sending the packets to lower layers, which enables host-to-transceiver communication without sending packets to the air. The AC module also operates to intercept DHCP client messages from the host and transceiver IP stacks, and reply with the IP address and parameters obtained from the DHCP server on the core LAN, because the DHCP protocol does not have any knowledge of the Ad Hoc Routing protocol. 
   Further details of the operations and protocols described above are set forth in a U.S. provisional patent application of Eric A. Whitehill entitled “Embedded Routing Algorithms Under the Internet Protocol Routing Layer in a Software Architecture Protocol Stack”, Ser. No. 60/297,769, filed on Jun. 14, 2001, the entire contents of which is incorporated herein by reference. 
   As further shown in  FIG. 2 , each IAP  106  includes an IAP host  112  and an IAP transceiver  114 . The LAP host  112  includes the appropriate hardware and software to perform TCP, UDP, IP and ARP. Also, IAP host  112  includes the appropriate hardware and software to provide DHCP relaying, IA, a proxy ARP agent, and an NDIS driver. Furthermore, the IAP host  112  includes a driver to provide an interface between the IAP host  112  and the transceiver  114  in the IAP  106 . 
   In addition to including a modem which can be similar to that in transceiver  110 , the transceiver  114  includes the appropriate hardware and software to perform IP, ARP, AC, TC, AHR, LLC and MAC in a manner similar to that described above for the host  108  and transceiver  110 . The transceiver  110  further includes the appropriate hardware and software for providing IA, UDP, SNMP, DL protocol and DHCP. Further details of the operations and protocols of IAP host  112  and transceiver  114  are discussed below and are set forth in U.S. provisional patent Ser. No. 60/297,769, referenced above. 
   As discussed in the Background section above, if a subscriber device  102  in an ad-hoc wireless network  100  were to broadcast an ARP request to all the wireless nodes on the network  100 , including subscriber devices  102  and IAPs  106 , such a broadcast can overload the radio network. Hence, as will now be described with reference to  FIGS. 2 and 3 , to overcome this problem, when a subscriber device host  108  sends an ARP request, the subscriber device transceiver  110  intercepts the ARP request and forwards it directly to an LAP  106  for resolution instead of performing a traditional broadcast of the ARP request. Specifically, the subscriber device  102  unicasts the ARP request to the LAP  106  which is capable of resolving the ARP request over the reliable backbone of the fixed network  104 . It is noted that although  FIG. 2  shows a subscriber device  102  communicating directly with an IAP  106 , the system architecture and ad-hoc capabilities of the wireless network allows the message to hop through intermediate nodes  102  between the subscriber device  102  and the IAP  106 . 
   The IAP  106  resolves the query by looking first in its own ARP cache tables, or, if necessary, by querying other nodes on the wired fixed network  104 . The IAP  106  then returns a message to the subscriber device  102  containing the MAC address corresponding to the requested IP address. Specifically, the IAP  106  unicasts a reply to the requesting subscriber device  102 . It is noted that in an ad-hoc network such as network  100 , transfer of a unicast message from the IAP  106  to the subscriber device  102  is much more reliable than the transfer of a broadcast message. 
   Furthermore, it should be noted that the ARP request can be for a MAC address of another subscriber device  102  in the ad-hoc wireless network  100 , which can be affiliated with the same IAP  106  as the requesting subscriber device  102  or with another IAP  106 . For example, assuming that subscriber devices  102 - 5  and  102 - 7  shown in  FIG. 1  are affiliated with IAP  106 - 1 , if subscriber device  102 - 5  issues an ARP for the MAC address of subscriber device  102 - 7 , IAP  106 - 1  can resolve this request and send to the subscriber device  102 - 5  a message containing the requested MAC address of subscriber device  102 - 7 . Subscriber device  102 - 5  will therefore be capable of communicating directly with subscriber device  102 - 7  using that MAC address. On the other hand, if subscriber device  102 - 5  issues an ARP for the MAC address of a subscriber device (e.g., subscriber device  102 - 3 ) that is affiliated with a different IAP (e.g., LAP  106 - 2 ), IAP  106 - 1  can also resolve this request and send to the subscriber device  102 - 5  a message containing the requested MAC address of subscriber device  102 - 3 . Subscriber device  102 - 5  will therefore be able to communicate with subscriber device  102 - 3  via LAP  106 - 1  using either the core network which is included in fixed network  104  shown in  FIG. 1 , or through other subscriber devices  102  in the ad-hoc wireless network  100  if the route is known. 
   In addition, if a subscriber device (e.g., subscriber device  102 - 5 ) issues an ARP for a MAC address of a device or machine on another network, such as a user terminal, server or the like, IAP  106 - 1  can also resolve this request and send to the subscriber device  102 - 5  a message containing the requested MAC address of that device or machine. Subscriber device  102 - 5  can thus communicate with that device or machine via IAP  106 - 1  and the core network, gateways and the like in fixed network  104  and in the other network with which that device or machine is affiliated. 
   Further details of these operations will now be described.  FIG. 2  illustrates the transfer of information between components in the subscriber device host  108 , subscriber device transceiver  110 , IAP host  112  and IAP transceiver  114  to handle an ARP request generated at the subscriber device host  108 . The numbers  1  through  12  in  FIG. 2  correspond to steps  1  through  12  shown in the flowchart of  FIG. 3 . 
   As indicated in step  1  in the flowchart of  FIG. 3  and by arrow  1  in  FIG. 2 , when the ARP module of the subscriber device host  108  generates an ARP request, the admission control software intercepts the ARP request. In step  2 , the Admission Control (AC) module routes the ARP request to a specialized ARP module which, in this example, is referred to as an ANARP module. 
   As indicated in step  3 , upon receiving the ARP request, the ANARP module checks the local list which compares ARPs to MACs. It is noted that the ANARP module ignores ARP requests for transceiver IP addresses and subscriber device IP addresses, because the ARP modules on the IP stacks of the subscriber device host  108  and subscriber device transceiver  110  answer those requests. That is, when such ARP requests are made, the ARP is passed directly between the IP stacks of the subscriber device host  108  and subscriber device transceiver  110 , and normal ARP rules apply. 
   If the ANARP module does not identify a corresponding MAC address, the process proceeds to step  4  during which ANARP module sends a directed custom message to a specialized module, referred to in this example as an ANARP relay, in the LAP transceiver  114  via TC module and the modems. Specifically, the custom message is sent as an RF transmission from the modem in the subscriber device transceiver  110  to the modem in the IAP transceiver  114 . As stated above, due to the capability of the wireless ad-hoc network, the subscriber device transceiver  110  need not send the custom message directly to the IAP transceiver  114 . Rather, the subscriber device transceiver  110  can send the message to a transceiver of another node  102  in the network  110 , which can operate as a router to send the message to the IAP  106  or, if necessary, to another node  102 . That is, the message can hop through several nodes  102  before reaching the IAP  106 . Further details of these ad-hoc capabilities are described in U.S. Pat. No. 5,943,322 to Mayor and in U.S. patent application Ser. Nos. 09/897,790 and 09/815,157, referenced above. 
   As indicted in step  5 , the admission control (AC) module in the IAP transceiver  114  routes the relayed ARP request to a specialized module, referred to in this example as an ANARP module, in IAP host  112 . In step  6 , the ANARP module in IAP host  112  examines its local cache to determine whether a MAC address is present that corresponds to the IP address in the ARP request. If the ANARP module does not find an MAC entry that matches the IP address in the ARP request, the process proceeds to step  7 . In step  7 , the ANARP module in IAP host  11  converts the directed request to a UDP broadcast of a custom protocol to some or all of the elements on the network  104  to which the IAP  106  provides access. 
   As shown in step  8 , upon receiving the UDP broadcast, an element on the network  104  responds to the ARP request by providing the MAC address to the ANARP in the IAP host  112 , again via a custom UDP protocol. In step  9 , the ANARP module in the IAP host  112  converts this response as appropriate. Specifically, the custom UDP message is decoded to determine the MAC address. The IAP  112  then updates its cache, and routes the MAC address to the ANARP relay in the IAP transceiver  114  via the Admission Control (AC) module. In step  10 , the ANARP relay routes the ANARP response to the ANARP module in the subscriber device transceiver  110  via the modems in the IAP transceiver  114  and the subscriber device transceiver  110 . Specifically, the modem in IAP transceiver  114  sends the MAC address response as a RF transmission to the modem in the subscriber device transceiver  110 . As stated above, the IAP transceiver  114  need not communicate directly with the subscriber device transceiver  110 . Rather, the message can be routed through one or more nodes  102  in the wireless ad-hoc network. 
   In step  11 , the ANARP module in the subscriber device transceiver  110  sends an ARP response message including the MAC address to the Admission Control (AC) module. Then, in step  12 , the admission control (AC) module delivers the ARP response message to the ARP module in the subscriber device host  108 . 
   It can be further noted from the flowchart in  FIG. 3  that if the ANARP module in the subscriber device transceiver  110  identifies an MAC corresponding to the IP address in its local list in step  3 , the ARP is passed directly between the IP stacks of the subscriber device host  108  and subscriber device transceiver  110 , and normal ARP rules apply. This condition can be considered an optimization technique, or rather, an exception handling technique, in which either the IP stack of the subscriber device host  108  or the IP stack of the subscriber device transceiver  110  issues an ARP request for itself or one another. 
   Also, if the ANARP module of the IAP host  112  in step  6  does indeed find an MAC entry that matches the IP address in the ARP request, the process proceeds to step  9  during which the ANARP module routes the response including the MAC address to the ANARP relay in the IAP transceiver  114  via the Admission Control (AC) module. The process then continues with steps  10  through  12  as discussed above. 
   As can be appreciated from the above, the ARP process performed in accordance with the embodiment of the present invention shown in  FIGS. 2 and 3  avoids the use of a broadcast message from the subscriber device  102 . Accordingly, the ARP request can be satisfied without resulting in undue congestion in the wireless ad-hoc network that would otherwise be caused by broadcasting the ARP to the wireless nodes in the ad-hoc network. 
   Although only a few exemplary embodiments of the present invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention as defined in the following claims.