The present invention relates generally to communication networks, such as networks including asynchronous transfer mode (ATM) connections or asymmetric digital subscriber loop (ADSL) connections, and more particularly to techniques for addressing computers and other devices in such networks.
Local networks are often connected to external networks via a bidirectional routing device commonly referred to as a gateway. In a local networking arrangement of this type with external network attachments, e.g., attachments provided through the local gateway, endpoints of the local network are typically assigned Internet Protocol (IP) addresses by a remote server in accordance with the well-known Dynamic Host Configuration Protocol (DHCP). DHCP dynamically allocates IP addresses to computers on a local network. For example, a range of IP addresses may be assigned to DHCP, such that each computer or other device on the local network can have its Transmission Control Protocol (TCP)/IP software configured to request an IP address from a remote DHCP server. The request and grant process uses a lease concept with a controllable time period.
A significant problem with the above-described type of conventional address assignment arrangement is that there is no guarantee that different endpoints on the same physical local network, e.g., different endpoints on the same local area network (LAN), will be assigned compatible subnetwork addresses.
This IP addressing disparity prevents local network utilities, e.g., a Network Neighborhood utility, from identifying locally available resources, such as computers, printers, file servers or other devices attached to the same LAN. Instead, this conventional addressing arrangement requires that such devices be treated as remote devices. As a result, the local gateway is generally required to route communications between different devices on the same LAN through an external network, e.g., an external public switched telephone network (PSTN) or asynchronous transfer mode (ATM) network. For example, as a result of the conventional IP addressing arrangement, a personal computer attached to a given LAN which sends a message to a printer attached to the same LAN may have to route the message out through the gateway into the external network, from which the message will be directed back through the gateway to the printer. It is apparent that this type of communication unnecessarily consumes gateway and external network processing resources.
The invention provides techniques for providing local network services in an environment in which, e.g., local Internet Protocol (IP) addresses have been assigned by a remote server and therefore have disparate subnetwork addresses.
In accordance with the invention, a local area network (LAN) or other type of local network is interfaced with one or more external network elements via a gateway that implements an address substitution mechanism for ensuring that communications between devices attached to the local network are not routed through an external network as a result of, e.g., disparity in their remotely-assigned IP addresses. In accordance with the invention, the gateway is configured to intercept communications from devices on the local network in order to determine remotely-assigned IP address information for those devices. After such information is determined for a given device, the gateway creates a set of address substitution information that includes sub-network compatible addresses for use by other devices on the local network when communicating with the given device. The substitution addresses are then used in subsequent communications between the devices on the local network.
Advantageously, the invention prevents traffic between devices on the same local network from being routed through an external network as a result of IP address disparity. Although the above-described illustrative embodiment is particularly well suited for use in transmission applications involving external asynchronous transfer mode (ATM) transmitted over asymmetric digital subscriber loop (ADSL) network connections, the invention can also be implemented in other types of communication systems including, for example, Frame Relay systems, IP systems, etc. These and other features and advantages of the present invention will become more apparent from the accompanying drawings and the following detailed description.
The present invention will be illustrated below in conjunction with an exemplary communication system which provides connections between a local area network (LAN) and one or more external networks via a gateway. It should be understood, however, that the disclosed techniques are suitable for use with a wide variety of other types of systems including, for example, Frame Relay systems and IP systems, and with any desired type of communication medium, including asymmetric digital subscriber loop (ADSL), synchronous optical network (Sonet)/synchronous digital hierarchy (SDH), wireless networks, etc. The term “local network” as used herein in intended to include any type of network which may be interfaced via a gateway device to one or more external network elements. A local network in accordance with the invention may therefore include, e.g., a local area network (LAN), wide area network (WAN), metropolitan area network (MAN), extranet, or intranet, as well as portions or combinations of these and other networks.
The gateway 110 communicates via an ADSL link to a DSL access multiplexer (DSLAM) 112. The DSLAM 112 provides connections between the gateway 110 and a number of external networks, which in this illustrative embodiment includes a public switched telephone network (PSTN) 114, and an asynchronous transfer mode (ATM) network 116 which includes a remote access server (RAS) 118.
The conventional aspects of the operation of these devices are well understood in the art and therefore not described in detail herein. For example, additional details regarding the ATM communication aspects of the system 100 may be found in, e.g., ATM Forum, “ATM User-Network Interface Specification,” Version 3.1, September, 1994, and in Martin de Prycker, “Asynchronous Transfer Mode Solution for Broadband ISDN,” Ellis Horwood, N.Y., 1993, both of which are incorporated by reference herein.
As described previously, in a conventional gateway, an IP address disparity can arise between devices attached to the LAN 102, and can lead to direct communications between these devices nonetheless being routed through one or more of the external networks, e.g., network 114 or network 116. This is clearly undesirable in that it unnecessarily consumes network and gateway processing resources.
The present invention solves this significant problem of the prior art by implementing an address substitution mechanism in an otherwise conventional ATU-R or other gateway device. In accordance with the invention, gateway 110 is configured to intercept and store all address assignments issued by a remote network address server during an IP address assignment process, e.g. during a designated IP address exchange interval. The gateway 110 will then “trap” all incoming requests during, e.g., capabilities identification exchanges, and reissue the requests after evaluating and potentially adjusting the address fields thereof to a format suitable to each of the other devices on the LAN 102. Finally, at transport service time, the gateway 110 will receive individual message requests from devices on the LAN 102, map their addresses to appropriate substitution addresses, and reissue the messages with the altered addresses.
These stored substitution addresses comprise an address set in which each member of the set represents a subnetwork-compatible address for each device on the LAN 102 that has already registered its assigned IP address information in the above-described manner with the gateway 110. The gateway then explicitly exchanges addresses with each registered device on the LAN 102, and in step 205 sends the message in an otherwise conventional manner. If the message is a communication message, the gateway 110 in step 206 performs a lookup operation in the address substitution matrix, and in step 208 performs an address replacement. After completion of step 208, the gateway sends the message in step 205.
The following is a more specific example of the operation of the above-described address substitution feature of the gateway 110.
1. PC-1 broadcasts on LAN 102 a query message which includes its IP address information.
2. The gateway 110 receives the message, identifies it as a query message, stores the IP address information for PC-1, and creates a set of substitution addresses in the matrix for PC-1.
3. The gateway 110 then reports the address substitution information by unicasting the appropriate address information to each device on the LAN 102. More specifically, for each row of the address substitution matrix, the gateway 110 unicasts to each device a response which includes the corresponding address information for the device PC-1.
At transport service time, when the gateway 110 determines that a given device on the LAN 102 is transmitting a communication message to one of its substitution addresses, it intercepts the message, modifies the address to the actual address in accordance with the contents of the matrix, and forwards the message. In this manner, communication between devices on the LAN 102 can be implemented without routing the communications through the PSTN 114 or ATM network 116, despite the above-described IP address disparity that arises when a remote server is used to assign device IP addresses.
TABLE 1 below shows an example layout for the above-noted address substitution matrix. In this example, entries are shown for the first three PCs only, i.e., PC-1, PC-2 and PC-3, but additional entries could of course be added for other devices on the LAN 102 in a straightforward manner.
It should be noted that a given row in the address substitution matrix corresponds to a particular device on the LAN 102, and includes entries for the gateway 110 and for each of the other devices on the LAN 102 that have a corresponding row in the matrix. For example, the row for PC-1 includes entries for gateway 110, and the other two devices that are registered with gateway 110 and have entries in the matrix, i.e., PC-2 and PC-3. Similarly, the row for PC-2 includes entries for gateway 110, and the other two devices that are registered with gateway 110 and have entries in the matrix, i.e., PC-1 and PC-3. A given entry Ci-PCj in the row for the device PC-j designates an address that PC-i should use in communicating with PC-j. For example, PC-1 when communicating with PC-2 should use the address specified by the entry C1-PC2 in the address substitution matrix of TABLE 1.
TABLE 2 below shows an example matrix with typical entries. In this example, the actual addresses are as follows:
In the foregoing example, PC-1 when communicating with PC-2 should use the address 196.2.57.7 in the address substitution matrix of TABLE 2. Similarly, PC-3 when communicating with PC-2 should use the address 208.191.22.71. Address substitution information is determined in a similar manner for each of the devices on LAN 102 that have registered their IP address information with the gateway 110.
It is apparent from the above example that a given row of the address substitution matrix includes compatible sub-network address information for each of the devices on the LAN 102 that have registered with the gateway 110. For example, the row of the matrix created for PC-1 has IP addresses 196.2.57.6, 196.2.57.7 and 196.2.57.8 for the gateway 110, PC-2 and PC-3, respectively, and each of these substitution IP addresses is sub-network compatible with the corresponding stored IP address 196.2.57.5 which was assigned to PC-1 by a remote server. Use of the address substitution information in the address substitution matrix thus ensures that communications between registered devices on the LAN 102 will not be unnecessarily routed through an external network such as PSTN 114 or ATM network 116.
The address substitution operations described in conjunction with
It should be noted that a gateway of the type described above may be configured to provide a number of other processing operations. For example, a gateway may be configured to intercept control information and/or maintenance information sent over a network for delivery to a particular device, and may perform related control and/or maintenance services on behalf of the particular device.
It will be recognized that many alternative configurations are possible for system 100 and gateway 110, e.g., using elements other than those shown in
The above-described embodiments of the invention are intended to be illustrative only. Numerous alternative embodiments within the scope of the following claims will be apparent to those skilled in the art.
Number | Name | Date | Kind |
---|---|---|---|
5526489 | Nilakantan et al. | Jun 1996 | A |
5856974 | Gervais et al. | Jan 1999 | A |
5922049 | Radia et al. | Jul 1999 | A |
6006272 | Aravamudan et al. | Dec 1999 | A |
6070187 | Subramaniam et al. | May 2000 | A |
6088725 | Kondo et al. | Jul 2000 | A |
6101189 | Tsuruoka | Aug 2000 | A |
6128664 | Yanagidate et al. | Oct 2000 | A |
6141690 | Weiman | Oct 2000 | A |
6157950 | Krishnan | Dec 2000 | A |
6222842 | Sasyan et al. | Apr 2001 | B1 |
6249801 | Zisapel et al. | Jun 2001 | B1 |
6295276 | Datta et al. | Sep 2001 | B1 |
6366558 | Howes et al. | Apr 2002 | B1 |
6377987 | Kracht | Apr 2002 | B1 |
6378000 | Akatsu et al. | Apr 2002 | B1 |
6414952 | Foley | Jul 2002 | B2 |
6434627 | Millet et al. | Aug 2002 | B1 |
6519243 | Nonaka et al. | Feb 2003 | B1 |
H2065 | Hong et al. | May 2003 | H |
6674745 | Schuster et al. | Jan 2004 | B1 |
6693878 | Daruwalla et al. | Feb 2004 | B1 |
6765920 | Tari et al. | Jul 2004 | B1 |
6768743 | Borella et al. | Jul 2004 | B1 |
6807166 | Ohura | Oct 2004 | B1 |
7120139 | Kung et al. | Oct 2006 | B1 |
20020152311 | Veltman et al. | Oct 2002 | A1 |