The present invention relates to digital data networks. More specifically, the present invention relates to data routing and forwarding in a digital data network.
Broadband services amongst small businesses and home consumers are increasing at a rapid pace. Consistent with this trend is the proliferation of broadband devices which increase end users' capabilities and functionalities, e.g., voice over Internet Protocol (“VOIP”) devices. Thus, it is common for an end user to have multiple network devices coupled to a single broadband connection (gateway) having only one wide area network (“WAN”) Internet Protocol (“IP”) address. In order to facilitate easy addition of such devices, many broadband devices contain a Dynamic Host Configuration Protocol (“DHCP”) server to lease out IP addresses, as well as a Network Address Translation Device or “NAT” device, which provides a means for private/local addressing. A broadband device containing a DHCP server, and a NAT device is referred to herein as a “gateway device”. As such the most typical gateway device is a router. However, in addition to a DHCP server, NAT functionality, and a router, a gateway device may contain other application specific functionality, e.g., VOIP functionality.
A gateway device is conventionally connected to a WAN via a broadband interface, such as a cable modem, for example. The gateway device sits as an intermediary between the broadband interface and a plurality of broadband devices. (Please note that alternatively the broadband interface and gateway device may be integrated into one device.) In operation, the gateway device has both a WAN side and a local area network (“LAN”) side. On the WAN side, the gateway device communicates with the WAN, via the interface, typically using the single WAN IP address, made known to the gateway device from the broadband interface. On the LAN side, the gateway device is interconnected with the plurality of network devices which the end user wishes to utilize on the network. Such devices may include personal computer(s) (“PC”), file server(s), web server(s), printer(s), gaming device(s)/controller(s), etc. (hereinafter referred to as “LAN devices” for simplicity of explanation).
Upon request from a LAN device, the gateway device's DHCP server provides a private (or LAN) IP address to each LAN device to the requester. Such private address may be leased from the gateway device in a wide range of schemes: random, sequential order based upon the sequential order of requester, etc. Thus, for example, if an end user has two LAN devices, namely a web server and a client PC, the web server may receive a first private address of 192.168.1.2 (for example). The client PC may receive a second address of 192.168.1.3 (for example). In this case, since the web server sits on the LAN side of the gateway device, such web server will be invisible to the WAN unless the end user configures the gateway device to port forward, typically port 80, to private address 192.168.1.2. Such port forwarding will expose the web server to the WAN, as if the gateway device were not present.
The above described port forwarding is conventionally manifested in a port forwarding table in the gateway device. Such port forwarding table, ties, binds, or otherwise fixes a private IP address with the port forwarding request(s). The port forwarding table is often physically placed on flash EEPROM, or other type of non-volatile memory in the gateway device. Thus, if the gateway device is reset, due to a power outage, interruption, or firmware update, for example, the end user does not have to enter their previously entered port forwarding requests. However, if after the reset, the LAN devices private address leases expire, the DHCP server will lease out a new private address to any device whose lease has expired. For purposes of illustrative example, assume that the private address leases for the web server and client PC, respectively, of the present example expire. The DHCP server will then have to re-issue leases for private addresses for these devices. Since DHCP lease allocation can follow a wide variety of schemes, the web server and client PC may receive different private addresses after the reset. For example, after a reset, differentiating from the example above, the client PC may be given an address of 192.168.1.2 or maybe even a private IP address from a different LAN space, 192.168.20.1 (for example). Further, the web server may be given a private IP address of 192.168.1.3. Therefore, after the reset, the web server will be invisible to the WAN since the desired port forwarding is not in alignment with the new private IP address settings. Further, using the above example, if the client PC receives private IP address 192.168.1.2, based upon the above example, it will be open to the WAN. This is most likely an undesirable result as well. Alternative to port 80 forwarding, there are numerous other port forwarding configurations, e.g., file transfer protocol (“FTP”) typically on port 21, which will suffer the same fate.
What is needed is a system and method to maintain a correct port forwarding table in a gateway device, after a reset of the gateway device. for LAN devices connected thereto.
An object of the present invention is to provide for a correct port forwarding table in a gateway device, after reset of the gateway device, for LAN devices connected thereto.
In order to achieve this objective, as well as others which will become apparent in the disclosure below, the present invention provides an inventive port forwarding table coupled to an update engine.
In an exemplary embodiment of the present invention, the inventive port forwarding table has at least three (3) fields: a port to be forwarded field (“port field”), LAN device MAC address field (“MAC field”), and a LAN device private IP address field (as given by the DHCP server, “private address field”). The port field and MAC field are bound to each other and fixed in non-volatile memory of the gateway device. Thus, a port forwarding request is bound to a corresponding MAC address (an actual specific LAN device). The private address field is dynamic.
In operation, after a gateway device containing, or otherwise coupled to, the system and method of the present invention resets, where at least one leased private address expires, and LAN devices interconnected to the gateway device receive different private addresses (than prior to the reset), the inventive port forwarding table of the present invention will still provide the correct port forwarding because (i) the inventive table binds the MAC field to the port field, and (ii) the update engine will update the private address field in the inventive port forwarding table by keying in on the MAC address of each LAN device. Hence, since the port field is bound to the MAC field, port forwarding configuration(s) will be functionally the same as before the reset. This places the new (post-reset) private address allocation in line with the previous port forwarding configuration(s).
Thus, the system and method of the present invention maintains a correct port forwarding table in a gateway device, after reset of the gateway device, for LAN devices connected thereto.
For a complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings in which like reference numbers indicate like features, components and method steps, and wherein:
It is essential to comprehend conventional gateway device port forwarding in order to understand the substance of the present invention. Referring to
Referring to
A gateway device 114 is conventionally connected to a WAN via the interface 112. The interface 112 may be a broadband cable modem for example. The gateway device 114 sits as an intermediary between the interface 112 and a plurality of broadband, in this instance web server 116 and client PC 118. In operation, the gateway device 114 has both a WAN side and a LAN side, as described above. On the WAN side, the gateway device 114 communicates with the WAN, via the interface 112, typically using the single WAN IP address, 209.16.0.29 (for example), which the gateway device 114, made known to the gateway device 114 from the interface 112. On the LAN side, the gateway device 114 is interconnected with the plurality of LAN devices (116, 118) which the end user wishes to utilize on the network.
Upon request from a LAN device 116, 118, the gateway device 114 leases a private address to each LAN device. Such private address may be leased from the gateway device 114 in a wide range of schemes: random, sequential order based upon the sequential order of requester, etc. The importance here being that the leasing scheme is not standardized. Thus, for example, using
Since the web server 116 sits on the LAN side of the gateway device, such web server will be invisible to the WAN unless the end user configures the gateway to port forward, typically port 80, to private address 192.168.1.2. Assuming the end user completes such port forwarding configuration in the gateway device 114, the conventional port forwarding table (see
Thus, the conventional port forwarding table bind/ties a private address with the port forwarding request. This port forwarding table is often physically placed on flash EEPROM, or other type of non-volatile memory in the gateway device 114.
If conventional gateway device 114 is reset, due to a power outage, interruption or firmware update, the gateway device 114 will retain the above described conventional port forwarding table.
Referring to
Referring to
Referring to
The exemplary port forwarding of
Referring to FIGS. 2(d), 2(e), and 2(f) simultaneously, in operation, after a gateway device 214 containing the system and method of the present invention resets and one or all leased private addresses expire, in step 224, LAN devices 216, 218 interconnected to the gateway device 214 may receive/lease different private addresses (than prior to the reset) from the DHCP server 206, in step 226 (also is
Further, even though the system and method of the present invention binds the port field 242 and MAC address field 244, in actual end user configuration, the system and method can still allow the end user to configure port forwarding using then current private addresses. The system and method of the present invention would then simply complete the MAC address field data value in the inventive port forwarding table 240 for the end user. This keeps the end user's configuration practice familiar for the end user.
Thus, the system and method of the present invention maintains a correct port forwarding table in a gateway device, after reset of the gateway device, for LAN devices connected thereto.
Although the invention has been described herein by reference to an exemplary embodiment thereof, it will be understood that such embodiment is susceptible of modification and variation without departing from the inventive concepts disclosed. All such modifications and variations, therefore, are intended to be encompassed within the spirit and scope of the appended claims.