Information
-
Patent Grant
-
6393488
-
Patent Number
6,393,488
-
Date Filed
Thursday, May 27, 199927 years ago
-
Date Issued
Tuesday, May 21, 200224 years ago
-
Inventors
-
Original Assignees
-
Examiners
Agents
- Wagner Murabito & Hao LLP
-
CPC
-
US Classifications
Field of Search
US
- 709 245
- 709 238
- 709 227
- 709 225
- 709 250
-
International Classifications
-
Abstract
A method and system for resolving network address translator (NAT) based internet protocol (IP) subnet address conflicts. In one embodiment of the present invention, a first NAT is used to assign an address to a first device which is coupled to the first NAT. Next, the present embodiment using a second NAT to assign an address to a second device coupled to the second NAT. Additionally, in the present embodiment, the second NAT automatically assigns an address to a link coupling the first NAT and the second NAT. The second NAT then assigns a second address to the second device. The second address is related to the address of the link coupling the first NAT and the second NAT. In so doing, the present invention insures that the second device has a second address associated therewith wherein the second address is different from the address of the first device. As a result, the present embodiment is able to resolve NAT-based subnet address conflicts. The present embodiment also eliminates the need for tedious user examination of all NAT-assigned IP addresses for each of the various NATs. Furthermore, the present embodiment is compatible with existing network address translator devices.
Description
FIELD OF THE INVENTION
The present invention relates to the field of network communications. More particularly, the present invention relates to supporting internet protocol (IP) subnets with network address translators.
BACKGROUND OF THE INVENTION
As networks and the internet gain in popularity and users, the sheer number of devices coupled to various networks and to the internet have increased drastically. As a result, the vast number of different networks that communicate with each other but are under separate control and administration increases the difficulty of assigning each device a unique identifying address. One approach that effectively expands address capacity limitation is to provide address translation through a network address translator (NAT).
Typically a NAT facilitates the transmission of communications from one network to another network by performing an address translation for a device coupled thereto. In so doing, multiple devices effectively share a common address. That is, the NAT assigns an IP address to each of the devices coupled thereto. However, the addresses assigned by the NAT are not publicly-administered, routable, unique addresses. As a result, the are used only “behind” the NAT and are not passed beyond the NAT.
FIG. 1
is an example of a prior art network
100
. Network
100
comprises a first network (e.g. a LAN), a second network (e.g. a LAN), and PC
131
all coupled to each other via phone system
140
. The first LAN comprises PC
111
, PC
112
, and PC
113
, all of which are coupled to network address translator (NAT)
115
. The second LAN comprises PC
121
, PC
123
, and server
122
all of which are coupled to NAT
125
. NAT
115
and NAT
125
are coupled to phone system
140
and provide translation between addresses of the first and second networks.
Unfortunately, the use of conventional NATs is not without problems. For example, because NATs may utilize similar software, two separate NATs may assign the same IP address to device coupled thereto. As an example, NAT
115
of Prior Art
FIG. 1
, may, for example, assign PC
111
an IP address of
192
.
168
.
1
.
2
, assign PC
112
an IP address of
192
.
168
.
1
.
3
, and assign PC
113
an IP address of
192
.
168
.
1
.
4
. Similarly, NAT
125
of Prior Art
FIG. 1
, may, for example, assign PC
121
an IP address of
192
.
168
.
1
.
2
, assign PC
123
an IP address of
192
.
168
.
1
.
3
, and assign server
122
an IP address of
192
.
168
.
1
.
4
. Because NATs
115
and
125
utilize similar address assigning schemes PC
111
and PC
121
now have the same address assigned thereto by their respective NAT. Likewise, PC
112
and PC
123
have the same address assigned thereto by their respective NAT, and PC
113
and server
122
now have the same address assigned thereto by their respective NAT. As a result, address conflicts may arise when, for example, PC
121
wishes to send data to PC
111
. Because PC
121
and PC
111
share the same address, a subnet address conflict arises and the data cannot be appropriately handled. Similarly, PC
121
may wish to send data to PC
112
. Because PC
112
and PC
123
have the same address, the data intended for PC
112
is instead handled as though it was intended for PC
123
.
In one attempt to overcome such subnet address conflicts, prior art approaches require a user to examine all of the NAT-assigned IP addresses for each of the various NATs. The user must make sure that each device coupled to a NAT has a unique address assigned thereto. This process is usually relatively complicated and tedious. In many instances, the user is required to understand the intricacies of communication frame protocols and construct complicated and extensive tables that map types of communication frames to NAT ports and uniquely defined IP addresses. Furthermore, a solution to the above-listed problems should be compatible with existing NAT systems and designs.
Thus, a need exists for a network address translator system and method which is able to resolve NAT-based subnet address conflicts. Still another need exists for a network address translator system and method which meets the above need and which eliminates the need for tedious user examination of all NAT-assigned IP addresses for each of the various NATs. Yet another need exists for a network address translator system and method which meets the above-listed needs and which is compatible with existing network address translator devices.
SUMMARY OF THE INVENTION
The present invention provides a network address translator system and method which is able to resolve NAT-based subnet address conflicts. The present invention further provides a network address translator system and method which accomplishes the above achievement and which eliminates the need for tedious user examination of all NAT-assigned IP addresses for each of the various NATs. The present invention also provides a network address translator system and method which accomplishes the above-listed achievements and which is compatible with existing network address translator devices.
In one embodiment of the present invention, a first NAT is used to assign an address to a first device which is coupled to the first NAT. Next, the present embodiment using a second NAT to assign an address to a second device coupled to the second NAT. Additionally, in the present embodiment, the second NAT automatically assigns an address to a link coupling the first NAT and the second NAT. The second NAT then assigns a second address to the second device. The second address is related to the address of the link coupling the first NAT and the second NAT. In so doing, the present invention insures that the second device has a second address associated therewith wherein the second address is different from the address of the first device. As a result, the present embodiment is able to resolve NAT-based subnet address conflicts. The present embodiment also eliminates the need for tedious user examination of all NAT-assigned IP addresses for each of the various NATs. Furthermore, the present embodiment is compatible with existing network address translator devices.
These and other objects and advantages of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the various drawing figures.
DESCRIPTION OF THE DRAWINGS
The accompanying drawings which are incorporated in and form a part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention:
PRIOR ART
FIG. 1
is an example of a prior art network.
FIG. 2
is a block diagram illustrating one embodiment of a NAT subnet support system of the present invention.
FIG. 3
illustrates one embodiment of a network that utilizes a NAT subnet support system and method of the present invention to facilitate appropriate address translation of devices included in different LANs included in the same subnet.
FIG. 4
is an example of one embodiment of an alternative address mapping table.
FIG. 5
is one embodiment of an automated NAT subnet support method.
FIG. 6
is a flow chart of steps performed in accordance with one embodiment of the present claimed invention.
FIG. 7
is a schematic diagram of component and features present in one embodiment of the present claimed invention.
The drawings referred to in this description should be understood as not being drawn to scale except if specifically noted.
BEST MODE FOR CARRYING OUT THE INVENTION
Reference will now be made in detail to the preferred embodiments of the invention, a virtual private network infiltration prevention system, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one ordinarily skilled in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the current invention.
The system and method of the present invention automatically configures information a NAT utilizes to perform address translations and communication frame distribution. One embodiment of the present invention is implemented in an automatic NAT configuration system. The automatic NAT configuration system facilitates the connection of communication paths between devices included in one network (e.g. a primary LAN) of the NAT and devices included in other networks. Communication frames of varying types or associated with different applications are transmitted by the automatic NAT configuration system to devices included in a primary LAN. The primary LAN addresses of devices responding to the transmissions are automatically mapped in a configuration table to the corresponding type of communication frames or application. The automatic NAT configuration system then utilizes the information in the mapped configuration table to translate network addresses between different networks and establish appropriate communication paths.
FIG. 2
is a block diagram illustrating NAT subnet support system
200
, one embodiment of the present invention. NAT subnet support system
200
comprises input/output ports
211
through
213
, switch
220
, control logic
230
and subnet address mapping component
240
. Input/output ports
211
through
213
are coupled to switch
220
. Switch
220
is coupled to control logic
230
which is coupled to subnet address mapping component
240
. Input/output ports
211
through
213
are network ports that facilitate the coupling of communication media to NAT subnet support system
200
. The communication media are also coupled to various exterior devices (not shown). At least one of the input/output ports
211
through
213
is coupled to a network that is different than the other input/output ports
211
through
213
. For example in one embodiment input/output ports
211
and
212
are coupled to a primary LAN of NAT subnet support system
200
and input/output port
213
is coupled to a WAN such as a public phone system.
The components of NAT subnet support system
200
interact with one another to facilitate communications between devices coupled to NAT subnet support system
200
. Switch
220
provides communication path connections between ports
211
through
213
configured in multiple arrangements. Control logic
230
controls the coupling configurations implemented by switching matrix
220
and automatic support of subnet address differentiation. Subnet LAN address mapping component
240
facilitates subnet IP address differentiation and in some embodiments stores information related to the support of subnet address resolution.
NAT subnet support system
200
analyzes the LAN addresses of devices included in its primary LAN and the addresses of devices included in the primary LANs of other NATs or NAT subnet support systems. In one embodiment of the present invention, control logic
230
of NAT subnet support system
200
is capable of intelligently recognizing if either a destination or source address of a device not included in a primary LAN of NAT subnet support system
200
is the same address as a device included in the primary LAN of NAT subnet support system
200
. If a destination or source address of a device not included in a primary LAN of NAT subnet support system
200
is the same address as a device included in the primary LAN of NAT subnet support system
200
, NAT subnet support system
200
creates an alternative address. NAT subnet support system
200
inserts the alternative address in a communication frame destined from the device included in the primary LAN of NAT subnet support system
200
to another network and utilizes the alternative address to identify responses intended for the device included in the primary LAN of NAT subnet support system
200
. When a response is received NAT subnet support system
200
translates between the alternative address and the original primary LAN address.
Although NAT subnet support system
200
is described in terms of one embodiment of the present invention, it should be appreciated the present invention is also well suited for use in other applications. For example, in some situations automatic NAT configuration system
200
is implemented between a LAN and a WAN and in other circumstances automatic NAT configuration system
200
is utilized in between other network arrangements, such as between two LANs. In one embodiment, NAT subnet support system
200
is implemented in a virtual private network (VPN) established via the Internet. In some embodiments communications through switches of NAT subnet support system
200
and subnet address support are controlled by software. In yet other embodiments the present invention is implemented in combinations of software, hardware and firmware which automatically creates and translate between alternative addresses and forward communication frames to and from devices coupled to NAT subnet support system
200
.
FIG. 3
illustrates one embodiment of a network
300
that utilizes an NAT subnet support system and method of the present invention to facilitate appropriate address translation of devices included in different LANs included in the same subnet. Network
300
comprises NAT subnet support system
310
,
320
and
330
, public phone system
340
, personal computer (PC)
311
,
312
,
313
,
322
,
323
,
331
,
332
, and
333
, and file transfer protocol (FTP) device
321
. In one embodiment NAT subnet support system
310
,
320
and
330
are similar to NAT subnet support system
200
. NAT subnet support system
310
, PC
311
, PC
312
, and PC
313
are included in a primary LAN of NAT subnet support system
310
. NAT subnet support system
320
, FTP device
321
, PC
322
, and PC
323
are included in a primary LAN of NAT subnet support system
320
. NAT subnet support system
330
, PC
331
, PC
332
, and PC
333
are included in a primary LAN of NAT subnet support system
330
. Public phone system
340
is coupled to NAT subnet support system
310
,
320
and
330
.
The components of network
300
interact with one another to provide a user with versatile and dynamic networked computer facilities capable of executing a variety of applications. FTP device
321
stores various files related to different applications. In one embodiment of the present invention, the primary LANs of NAT subnet support system
310
,
320
and
330
are implemented in different locations of a small business. FTP device
370
includes a list of customers and their billing information for the small business. Public phone system
340
provides communication services that enable communication links to be established between the different LANs of NAT subnet support system
310
,
320
and
330
. PC
311
,
312
,
313
,
322
,
323
,
331
,
332
, and
333
are personal computers that enable their users to interact with devices coupled to the primary LANs of NAT subnet support system
310
,
320
and
330
and phone system
340
. Public phone system
340
facilitates communications between devices including devices coupled to the primary LANs of NAT subnet support system
310
,
320
and
330
. NAT subnet support system
310
,
320
and
330
function as part of the communication paths between devices included in the primary LANs of NAT subnet support systems
310
,
320
and
330
and public phone system
340
. NAT subnet support systems
310
,
320
and
330
also translate network addresses, direct communication traffic to and from the translated addresses and assign addresses to device included in their respective primary LANs.
In one embodiment of network
300
, NAT subnet support system
310
,
320
and
330
use the same software to assign primary LAN addresses to devices included in their respective primary LANs. For example, NAT subnet support system
310
assigns primary LAN addresses of
192
.
1
.
1
to PC
311
,
192
.
1
.
2
to PC
312
and
192
.
1
.
3
to PC
313
. NAT subnet support system
320
assigns primary LAN addresses of
192
.
1
.
1
to FTP server
321
,
192
.
1
.
2
to PC
322
and
192
.
1
.
3
to PC
323
. NAT subnet support system
330
assigns primary LAN addresses of
192
.
1
.
1
to PC
331
,
192
.
1
.
2
to PC
332
and
192
.
1
.
3
to PC
333
. NAT subnet support systems
310
,
320
and
330
automatically determine if there is a potential conflict between LAN addresses, such as devices in different LANs trying to communicate with one another, and take appropriate steps to uniquely identify each piece of equipment.
In one embodiment of the present invention, NAT subnet support system
320
automatically produces alternative address translation information for communication frames directed to devices included in the primary LAN of NAT subnet support system
320
from devices not included in the primary LAN of NAT subnet support system
320
. NAT subnet support system
320
includes a directory name service (DNS) that provides a mapping of designated in a uniform resource locating (URL) protocol names to LAN IP addresses. NAT subnet support system
320
receives communication frames from destinations with various addresses directed to a device included in its primary LAN. If a device included in the primary LAN of NAT subnet support system
320
has the same address as a device included in a different network forwarding the communication frame to NAT subnet support system
320
, NAT subnet support system
320
notifies the other network that the appropriate identification for the device included in the primary LAN of NAT subnet support system
320
is an alternative address. For example, if a user on PC
333
forwards a URL names associated with FTP server
321
(e.g., FTPSERVER.COM) to NAT subnet support system
320
for resolution, NAT subnet support system
320
responds with an alternative address (e.g.,
192
.
1
.
15
). The alternative address avoids a potential confusion regarding the NAT subnet support system
320
primary LAN address of
192
.
1
.
1
assigned to FTP server
321
and NAT subnet support system
330
primary LAN address of
192
.
1
.
1
. assigned to PC
331
.
In another embodiment of network
300
NAT subnet support system
330
provides an alternative address for PC
333
. In this situation, if a user on PC
333
forwards a URL names associated with FTP server
321
(e.g., FTPSERVER.COM) to NAT subnet support system
320
for resolution, NAT subnet support system
320
responds with the
192
.
1
.
1
NAT subnet support system
320
primary LAN address for FTP server
321
. NAT subnet support system
330
recognizes that PC
331
already has a NAT subnet support system
320
primary LAN address of
192
.
1
.
1
and assigns an alternative source address (e.g.
168
.
1
.
1
) in communication frames from PC
333
to FTP server
321
and provides translations to
192
.
1
.
3
NAT subnet support system
330
LAN address for communication frames indicating the alternative address as a destination.
FIG. 4
is an example of one embodiment of an alternative address mapping table
400
. Alternative address mapping table
400
comprises multiple rows arranged in two columns including a first column
410
and a second column
420
. Entries in a first column
410
indicate a primary LAN address of devices included in the NAT subnet support system implementing alternative address mapping table
400
. Data in the second column
420
designates an alternative address for the devices included in the NAT subnet support system implementing alternative address mapping table
400
. The addresses in each row are associated with the same device. Alternative address mapping table
400
is automatically constructed by a NAT subnet support system.
In one embodiment of the present invention, NAT subnet support system
320
automatically creates an alternative address mapping table
400
by analyzing source and destination addresses in communication frames it receives and the addresses of devices included in its primary LAN. In one embodiment of the present invention, NAT subnet support system
320
examines the source addresses in communication frames it receives and determines if the source address is the same as an address of a device included in its primary LAN. For example, NAT subnet support system
320
compares the source address in a communication frame to its list of primary LAN addresses. If the source address in a communication frame matches a primary LAN addresses, NAT subnet support system
320
creates an alternative address mapping table. In generating an alternative address mapping table, NAT subnet support system
320
selects alternative addresses that do not match any of the devices included in the primary LAN of NAT subnet support system
320
.
In another embodiment of the present invention, NAT subnet support system
320
examines the destination addresses in communication frames it receives and determines if the destination address is the same as an address of a device included in its primary LAN. If the destination address is the same as an address of a device included in its primary LAN, NAT subnet support system
320
creates an alternative address mapping table and inserts alternative addresses included in the alternative address mapping table in communication frames destined for other networks. If the other network sends a response indicating the alternative address as the destination, NAT subnet support system
320
translates the alternative address into the appropriate primary LAN address and forwards the communication frame to the appropriate LAN device.
FIG. 5
is one embodiment of an automated NAT subnet support method
500
. Automated NAT subnet support method
500
automatically assigns an alternative address to devices with a primary LAN address that is the same as a device in another network. In one embodiment of the present invention, automated NAT subnet support method
500
is not engaged if an address included in the primary LAN of a NAT is not the same as an address in another network.
In step
510
a communication frame is received by a NAT (e.g., NAT subnet support system
320
). In one embodiment, the communication frame is a DNS request for a primary LAN address associated with a service included in the primary LAN of NAT subnet support system
320
. For example, the communication frame is associated with a request directed to a DNS for the primary LAN address of a uniform resource locator (URL) name of an FTP server (FTP.com).
In step
511
automated NAT subnet support method
500
determines if the device resolving the DNS is included in the same LAN as the device initiating the URL request. If the device resolving the DNS is included in the same LAN as the device initiating the URL request the process proceeds to step
512
. If the device resolving the DNS is not included in the same LAN as the device initiating the URL request automated NAT subnet support method
500
proceeds to step
513
.
In step
512
the original primary LAN IP address associated with the URL name is transmitted to the requesting device. In one embodiment of the present invention, the original primary LAN IP address associated with the URL name is transmitted to the requesting device by performing a network address translation operation between the original primary LAN IP address associated with the URL name and an address of another network and forwarding the communication frame to the other network.
In step
513
a call is made to a device that includes the DNS that resolves a URL name and the URL name is forwarded to the DNS device. The DNS locates the address of the device associated with the URL name.
In step
514
automated NAT subnet support method
500
establishes if there is a conflict between the address of the device that initiated the DNS request and devices included in the same primary LAN as the device associated with the URL name. If there is no conflict the process proceeds to step
512
. If there is a conflict the process proceeds to step
515
. In one embodiment automated NAT subnet support method
500
examines a source identifier in a communication frame and compares it to addresses included in its primary LAN addresses. In another embodiment automated NAT subnet support method
500
analyzes a destination identifier in a communication frame and contrasts it to addresses included in its primary LAN addresses.
In step
515
automated NAT subnet support method
500
resolves subnet address conflicts. In one embodiment of the present invention automated NAT subnet support method
500
provides an alternative non-conflicting destination address to the requesting device. In another embodiment of the present invention of automated NAT subnet support method
500
supplies an alternative non-conflicting source address to a receiving device.
In step
516
an alternative address mapping table is updated to reflect the creation and assignment of an alternative non-conflicting address. In one embodiment of the present invention the alternative address mapping tracks alternate non-conflicting source addresses. In another embodiment of automated NAT subnet support method
500
the alternative address mapping stores alternate non-conflicting destination addresses.
In step
517
communication frames are processed in accordance with alternative non-conflicting addresses. Appropriate network address translations are performed between alternative non-conflicting addresses and original primary LAN addresses. In one embodiment of automated NAT subnet support method
500
an alternative address corresponding to the response to the DNS request is forwarded to requesting device.
With reference next to
FIG. 6
, a flow chart
600
of steps performed in accordance with another embodiment of the present invention is shown. For purposes of clarity, the steps of
FIG. 6
will be described in conjunction with the features of FIG.
7
. As shown in step
602
, in the present embodiment, a first NAT (e.g. NAT
115
) assigns an address to a first device (e.g. PC
111
) coupled thereto. In this example, and for purposes of illustration, it will be assumed that NAT
115
assigns an address of
192
.
168
.
1
.
1
to PC
111
. It will be understood that NAT
115
may also assign various other addresses to the other devices (e.g. PC
112
and PC
113
) coupled thereto.
At step
604
, in the present embodiment, a second NAT (e.g. NAT
125
) assigns an address to a second device (e.g. server
122
) coupled thereto. In this example, and for purposes of illustration, it will be assumed that NAT
125
assigns an address of
192
.
168
.
1
.
1
to server
122
. It will be understood that NAT
125
may also assign various other addresses to the other devices (e.g. PC
121
and PC
123
) coupled thereto. As seen from steps
602
and
604
, in this example, PC
111
and server
122
have been assigned the same address by their respective NAT. As a result, in the prior art address conflicts would arise when, for example, server
122
wishes to send data to PC
111
. Because server
122
and PC
111
share the same address, a subnet address conflict arises and the data cannot be appropriately handled. Similarly, PC
123
may wish to send data to PC
111
. Because PC
111
and server
122
have the same address, the data intended for PC
111
is instead handled as though it was intended for server
122
. As described below, the present embodiment resolves such subnet address conflicts.
At step
606
, NAT
125
automatically assigns an address to the link
704
coupling NAT
115
and NAT
125
. In this example, and for purposes of illustration, it will be assumed that NAT
125
assigns an address of
192
.
168
.
2
.
1
to link
704
. More specifically, NAT
115
and NAT
125
negotiate addresses for themselves on link
704
. These addresses are, therefore, in a unique subnet from the subnets associated with the devices behind NATs
115
and
125
. In the present embodiment, a control logic component
702
of NAT
125
is used to assign the address (
192
.
168
.
2
.
1
) to link
704
coupling NAT
115
and NAT
125
. In the present embodiment, control logic component
702
is, for example, a set of instructions adapted to operate using the internal hardware of NAT
125
. Control logic component
702
is also used to inform NAT
115
of the creation of the new address or addresses. Similarly, in the present embodiment, a control logic component
703
of NAT
115
is adapted to perform similar functions. In the present embodiment, control logic component
703
is, for example, a set of instructions adapted to operate using the internal hardware of NAT
115
.
Next, at step
608
, NAT assigns a second address to server
122
. In this example, and for purposes of illustration, it will be assumed that NAT
125
assigns an address of
192
.
168
.
2
.
2
to server
122
. Thus, the second address (
192
.
168
.
2
.
2
) for server
122
is related to the address (i.e.
192
.
168
.
2
.
1
) of link
704
coupling NAT
115
and NAT
125
. In the present embodiment, control logic component
702
of NAT
125
is used to assign the second address (
192
.
168
.
2
.
2
) to server
122
.
Referring still to step
608
, in essence, server
122
now appears to have a virtual location
706
on link
704
coupling NAT
115
and NAT
125
. As a result, server
122
has a second address (
192
.
168
.
2
.
2
) associated therewith wherein the second address is different from the address (
192
.
168
.
1
.
2
) of PC
111
. Thus, NATs
115
and
125
can now appropriately handle the transfer of data between server
122
and PC
111
even though each of the devices was initially assigned the same address by their respective NAT. As an example, when NAT
115
receives a request to send data to address 192.168.1.2 (i.e. server
122
), upon determining that the data is not for PC
111
, NAT
115
sends the data to the new address (i.e.
192
.
168
.
2
.
2
) of server
122
. More specifically, in the present embodiment, a user (e.g. PC
113
) behind NAT
115
would attempt to initiate, for example, an FTP session with a device having a particular name (e.g. FTP
1
.company
1
.com). PC
113
will then send a DNS request asking for resolution of the name “FTP1.company1.com” to NAT
115
. NAT
115
will have been configured to forward all DNS requests pertaining to names in “company1.com” to NAT
125
(via e.g. a circuit switched call. Upon receipt of the DNS request, NAT
125
will respond with the second address (
192
.
168
.
2
.
2
) of server
122
. NAT
115
also inserts its own address as the source of the data. When the data, having as a destination address the new address (i.e.
192
.
168
.
2
.
2
) of server
122
, is received by NAT
125
, NAT
125
is able to translate (via prior communication with NAT
115
) the new address (i.e.
192
.
168
.
2
.
2
) of server
122
to the original address (
192
.
168
.
1
.
2
) of server
122
. Thus, the data is then passed to server
122
.
Thus, the present invention provides a network address translator system and method which is able to resolve NAT-based subnet address conflicts. The present invention further provides a network address translator system and method which accomplishes the above achievement and which eliminates the need for tedious user examination of all NAT-assigned IP addresses for each of the various NATs. The present invention also provides a network address translator system and method which accomplishes the above-listed achievements and which is compatible with existing network address translator devices.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.
Claims
- 1. An automatic network address translator (NAT) configuration system comprising:a first NAT having first device coupled thereto, said first NAT adapted to assign an address to said first device; a second NAT having second device coupled thereto, said second NAT adapted to assign an address to said second device, said second NAT further adapted to automatically assign an address to a link coupling said first NAT and said second NAT, said second NAT further adapted to assign a second address to said second device coupled to said second NAT, said second address related to said address of said link coupling said first NAT and said second NAT such that said second device has a second address associated therewith wherein said second address is different from said address of said first device.
- 2. The automatic network address translator (NAT) configuration system of claim 1 wherein said second NAT further comprises a control logic component for assigning said address to said link.
- 3. The automatic network address translator (NAT) configuration system of claim 2 wherein said control logic component is further adapted for assigning said second address to said second device.
- 4. A method for resolving network address translator (NAT) based internet protocol (IP) subnet address conflicts, said method comprising the steps of:a) using a first NAT to assign an address to said first device coupled thereto; b) using a second NAT to assign an address to said second device coupled thereto; c) said second NAT automatically assigning an address to a link coupling said first NAT and said second NAT; and d) said second NAT assigning a second address to said second device coupled to said second NAT, said second address related to said address of said link coupling said first NAT and said second NAT such that said second device has a second address associated therewith wherein said second address is different from said address of said first device.
- 5. The method for resolving network address translator (NAT) based internet protocol (IP) subnet address conflicts as recited in claim 4 wherein step c) comprises:using a control logic component of said second NAT to assign said address to said link coupling said first NAT and said second NAT.
- 6. The method for resolving network address translator (NAT) based internet protocol (IP) subnet address conflicts as recited in claim 4 wherein step d) comprises:using a control logic component of said second NAT to assign to said second device said second address related to said link coupling said first NAT and said second NAT.
- 7. An automatic network address translator (NAT) subnet support system, comprising:a switch adapted to facilitate establishment of a communication link between a first device included in a primary local area network (LAN) and a second device included in a wide area network (WAN); a control logic component coupled to said switch, said control logic component adapted to control said switch operations and resolution of subnet address conflicts; and a subnet LAN address mapping component coupled to said control logic component, said subnet LAN address mapping component adapted to facilitate resolution of subnet address conflicts.
- 8. The automatic NAT subnet support system of claim 7 wherein said subnet LAN address mapping component further comprises a memory component.
- 9. The automatic NAT subnet support system of claim 7 wherein said subnet LAN address mapping component further comprises a communication frame type mapping table.
- 10. The automatic NAT subnet support system of claim 7 further comprising input/output ports.
- 11. The automatic NAT subnet support system of claim 7 further comprising a personal computer coupled to said automatic NAT subnet support system, said personal computer adapted to transmit a communication frame to said automatic NAT subnet support system.
- 12. The automatic NAT subnet support system of claim 11 further comprising a primary local area network (LAN) coupled to said automatic NAT subnet support system, said personal computer adapted to transmit and receive a communication frame to and from said automatic NAT subnet support system.
- 13. An automatic network address translator (NAT) subnet support system comprising:a switch adapted to facilitate establishment of a communication link between a first device included in a primary local area network (LAN) and a second device included in a wide area network (WAN); a control logic component coupled to said switch, said control logic component adapted to control said switch operations and automatic configuration of said automatic NAT configuration system; and a frame type mapping component coupled to said control logic component, said frame type mapping component adapted to facilitate resolution of address conflicts by creating and tracking alternative non conflicting addresses.
- 14. The automatic NAT subnet support system of claim 13 wherein said subnet LAN address mapping component further comprises a memory component.
- 15. The automatic NAT subnet support system of claim 13 wherein said subnet LAN address mapping component further comprises a communication frame type mapping table.
- 16. The automatic NAT subnet support system of claim 13 further comprising input/output ports.
- 17. The automatic NAT subnet support system of claim 13 further comprising a personal computer coupled to said automatic NAT subnet support system, said personal computer adapted to transmit a communication frame to said automatic NAT subnet support system.
- 18. The automatic NAT subnet support system of claim 17 further comprising a primary local area network (LAN) coupled to said automatic NAT subnet support system, said personal computer adapted to transmit and receive a communication frame to and from said automatic NAT subnet support system.
- 19. An automated NAT subnet support method that automatically assigns an alternative address to devices with a primary local area network (LAN) address that is the same as a device in another network comprising the steps of:a) receiving a directory name service (DNS) request communication frame by a NAT; b) determining if the device resolving said DNS request is included in the same LAN as the device initiating the DNS request; c) making a call to a device that includes a DNS device that resolves a universal resource locator (URL) name; d) forwarding said URL name to said DNS device; e) establishing if there is a conflict between an address of a device that initiated said DNS request and devices included in the same primary LAN as a device associated with said URL name; and f) resolving subnet address conflicts.
- 20. The automated NAT subnet support method of claim 19 further comprising the steps of:updating an alternative address mapping table to reflect the creation and assignment of an alternative non-conflicting address; and processing communication frames in accordance with alternative non-conflicting addresses.
- 21. The automated NAT subnet support method of claim 20 further comprising the step of tracking alternate non-conflicting source addresses.
- 22. The automated NAT subnet support method of claim 20 further comprising the step of storing alternate non-conflicting destination addresses.
- 23. The automated NAT subnet support method of claim 20 wherein appropriate network address translations are performed between alternative non-conflicting addresses and original primary LAN addresses.
- 24. The automated NAT subnet support method of claim 19 wherein step e further comprising the steps of:examining a source identifier in a communication frame; and comparing said source identifier to addresses included in primary LAN addresses of said NAT.
- 25. The automated NAT subnet support method of claim 19 wherein step e further comprising the steps of:analyzing a destination identifier in a communication frame; and contrasting said destination identifier to addresses included in primary LAN addresses of said NAT.
- 26. The automated NAT subnet support method of claim 19 wherein step f further comprising the step of providing an alternative non-conflicting destination address to the requesting device.
- 27. The automated NAT subnet support method of claim 19 wherein step f further comprising the step of supplying an alternative non-conflicting source address to a receiving device.
US Referenced Citations (7)
| Number |
Name |
Date |
Kind |
|
6058431 |
Srisuresh et al. |
May 2000 |
A |
|
6108330 |
Bhatia et al. |
Aug 2000 |
A |
|
6128664 |
Yanagidate et al. |
Oct 2000 |
A |
|
6266707 |
Boden et al. |
Jul 2001 |
B1 |
|
6269099 |
Borella et al. |
Jul 2001 |
B1 |
|
6304908 |
Kalajan |
Oct 2001 |
B1 |
|
6327662 |
Araujo |
Dec 2001 |
B1 |