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.
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.
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:
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
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
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
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
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.
As indicated in step 1 in the flowchart of
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
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
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.
Number | Name | Date | Kind |
---|---|---|---|
4494192 | Lew et al. | Jan 1985 | A |
4617656 | Kobayashi et al. | Oct 1986 | A |
4736371 | Tejima et al. | Apr 1988 | A |
4742357 | Rackley | May 1988 | A |
4747130 | Ho | May 1988 | A |
4910521 | Mellon | Mar 1990 | A |
5034961 | Adams | Jul 1991 | A |
5068916 | Harrison et al. | Nov 1991 | A |
5231634 | Giles et al. | Jul 1993 | A |
5233604 | Ahmadi et al. | Aug 1993 | A |
5241542 | Natarajan et al. | Aug 1993 | A |
5317566 | Joshi | May 1994 | A |
5392450 | Nossen | Feb 1995 | A |
5412654 | Perkins | May 1995 | A |
5424747 | Chazelas et al. | Jun 1995 | A |
5502722 | Fulghum | Mar 1996 | A |
5517491 | Nanni et al. | May 1996 | A |
5555425 | Zeller et al. | Sep 1996 | A |
5555540 | Radke | Sep 1996 | A |
5572528 | Shuen | Nov 1996 | A |
5615212 | Ruszczyk et al. | Mar 1997 | A |
5618045 | Kagan et al. | Apr 1997 | A |
5621732 | Osawa | Apr 1997 | A |
5623495 | Eng et al. | Apr 1997 | A |
5627976 | McFarland et al. | May 1997 | A |
5631897 | Pacheco et al. | May 1997 | A |
5644576 | Bauchot et al. | Jul 1997 | A |
5652751 | Sharony | Jul 1997 | A |
5680392 | Semaan | Oct 1997 | A |
5684794 | Lopez et al. | Nov 1997 | A |
5687194 | Paneth et al. | Nov 1997 | A |
5696903 | Mahany | Dec 1997 | A |
5701294 | Ward et al. | Dec 1997 | A |
5706428 | Boer et al. | Jan 1998 | A |
5717689 | Ayanoglu | Feb 1998 | A |
5745483 | Nakagawa et al. | Apr 1998 | A |
5774876 | Wooley et al. | Jun 1998 | A |
5781540 | Malcolm et al. | Jul 1998 | A |
5787080 | Hulyalkar et al. | Jul 1998 | A |
5794154 | Bar-On et al. | Aug 1998 | A |
5796732 | Mazzola et al. | Aug 1998 | A |
5796741 | Saito et al. | Aug 1998 | A |
5805593 | Busche | Sep 1998 | A |
5805842 | Nagaraj et al. | Sep 1998 | A |
5805977 | Hill et al. | Sep 1998 | A |
5809518 | Lee | Sep 1998 | A |
5822309 | Ayanoglu et al. | Oct 1998 | A |
5844905 | McKay et al. | Dec 1998 | A |
5845097 | Kang et al. | Dec 1998 | A |
5857084 | Klein | Jan 1999 | A |
5870350 | Bertin et al. | Feb 1999 | A |
5877724 | Davis | Mar 1999 | A |
5881095 | Cadd | Mar 1999 | A |
5881372 | Kruys | Mar 1999 | A |
5886992 | Raatikainen et al. | Mar 1999 | A |
5896561 | Schrader et al. | Apr 1999 | A |
5903559 | Acharya et al. | May 1999 | A |
5909651 | Chander et al. | Jun 1999 | A |
5936953 | Simmons | Aug 1999 | A |
5943322 | Mayor et al. | Aug 1999 | A |
5987011 | Toh | Nov 1999 | A |
5987033 | Boer et al. | Nov 1999 | A |
5991279 | Haugli et al. | Nov 1999 | A |
6028853 | Haartsen | Feb 2000 | A |
6029217 | Arimilli et al. | Feb 2000 | A |
6034542 | Ridgeway | Mar 2000 | A |
6044062 | Brownrigg et al. | Mar 2000 | A |
6047330 | Stracke, Jr. | Apr 2000 | A |
6052594 | Chuang et al. | Apr 2000 | A |
6052752 | Kwon | Apr 2000 | A |
6064626 | Stevens | May 2000 | A |
6067291 | Kamerman et al. | May 2000 | A |
6078566 | Kikinis | Jun 2000 | A |
6104712 | Robert et al. | Aug 2000 | A |
6108738 | Chambers et al. | Aug 2000 | A |
6115580 | Chuprun et al. | Sep 2000 | A |
6122690 | Nannetti et al. | Sep 2000 | A |
6130881 | Stiller et al. | Oct 2000 | A |
6130892 | Short et al. | Oct 2000 | A |
6132306 | Trompower | Oct 2000 | A |
6147975 | Bowman-Amuah | Nov 2000 | A |
6163699 | Naor et al. | Dec 2000 | A |
6178337 | Spartz et al. | Jan 2001 | B1 |
6192053 | Angelico et al. | Feb 2001 | B1 |
6192230 | Van Bokhorst et al. | Feb 2001 | B1 |
6208870 | Lorello et al. | Mar 2001 | B1 |
6223240 | Odenwald et al. | Apr 2001 | B1 |
6240294 | Hamilton et al. | May 2001 | B1 |
6246875 | Seazholtz et al. | Jun 2001 | B1 |
6249516 | Brownrigg et al. | Jun 2001 | B1 |
6275707 | Reed et al. | Aug 2001 | B1 |
6285892 | Hulyalkar | Sep 2001 | B1 |
6304556 | Haas | Oct 2001 | B1 |
6307843 | Okanoue | Oct 2001 | B1 |
6327300 | Souissi et al. | Dec 2001 | B1 |
6349091 | Li | Feb 2002 | B1 |
6349210 | Li | Feb 2002 | B1 |
20010005368 | Rune | Jun 2001 | A1 |
20010024443 | Alriksson et al. | Sep 2001 | A1 |
20010053699 | McCrady et al. | Dec 2001 | A1 |
20020013856 | Garcia-Luna-Aceves et al. | Jan 2002 | A1 |
20020044549 | Johansson et al. | Apr 2002 | A1 |
Number | Date | Country |
---|---|---|
2132180 | Mar 1996 | CA |
0513841 | Nov 1992 | EP |
0513841 | Nov 1992 | EP |
0627827 | Dec 1994 | EP |
0924890 | Jun 1999 | EP |
2683326 | Jul 1993 | FR |
WO 9608884 | Mar 1996 | WO |
WO 9724005 | Jul 1997 | WO |
WO 9839936 | Sep 1998 | WO |
WO 9912302 | Mar 1999 | WO |
WO 0034932 | Jun 2000 | WO |
WO 0110154 | Feb 2001 | WO |
WO 0133770 | May 2001 | WO |
WO 0135567 | May 2001 | WO |
WO 0137481 | May 2001 | WO |
WO 0137482 | May 2001 | WO |
WO 0137483 | May 2001 | WO |
WO 0235253 | May 2002 | WO |