Abstract:
An address translation method for a LAN (local area network) node using a real Internet protocol (IP) address to deliver and receive transparent application layer packets. First, the IP address of the local node equivalent to the WAN IP address of the router is assigned. Thereafter, the router masquerades ARP responses when the local node looks up MAC addresses of certain destinations, and rewrites the data-link layer header of packets transferred to and from the local node, such that application layer communications are deemed transparent.

Description:
BACKGROUND  
       [0001]     The invention relates to an address translation method, in particular, to a transparent application layer translation method and system for use in a local network area (LAN) node using Virtual Internet Protocol (IP) addresses.  
         [0002]     IP address occupation grows as the number of computers increases. Thus Network Address Translation (NAT) and Port Address Translation (PAT) are widely used to overcome IP address allocation issues and provide a secure local area network.  
         [0003]     NAT is a technique that rewrites packets, such that a plurality of computers each having a virtual IP addresses in local area network can access Internet by one real IP address through a specific router. A router capable of NAT is therefore referred as an IP sharer.  
         [0004]      FIG. 1  shows a conventional architecture of a local area network and the Internet. In Internet  100 , a remote destination node  102  is provided. The router  104  comprises two interfaces, which is a wide area network (WAN) interface  104   a  connected to Internet  100 , and a local area network (LAN) interface  104   b  connected to LAN  110 . In LAN  110  comprises a plurality of local nodes  106  accessing Internet  100  through the router  104 .  
         [0005]     Conventionally, packet transfer between two nodes in the same subnet is physically achieved by identifying media access control (MAC) addresses. Conversely, packets are transferred between two nodes in different subnets by routers. Thus, the MAC address of the default gateway (for routing packets in and out) is first identified, and the packets are then physically transferred.  
         [0006]      FIG. 2  shows a NAT table  210  and PAT table  220  provided by router  104  based on NAT and PAT standards. The connection session management is implemented through NAT table  210 , thereby local nodes can transparently access the Internet via network layer. The PAT table  220  further maps external ports to specific local nodes on specific ports, such that an internal service can be provided over the Internet.  
         [0007]      FIG. 3   a  and  FIG. 3   b  are exemplary flowcharts of conventional PAT. In  FIG. 3   a , the remote destination node  102  delivers an inbound packet  224 . When the inbound packet  224  is routed to router  104 , the router  104  looks up a corresponding column in the PAT table  220 , and rewrites the inbound packet  224  to inbound packet  222  accordingly. In this example, the destination IP address is rewritten to 192.168.1.4, and the destination port is rewritten to 14662. Thereafter, the inbound packet  222  is transferred to local node  106 .  
         [0008]     In  FIG. 3   b , the local node  106  responds an outbound packet  226  destined for the remote destination node  102 . When the outbound packet  226  is transferred to router  104 , the router  104  rewrites the outbound packet  226  to outbound packet  228  according to the PAT table  220 . In the outbound packet  228 , the source address is rewritten to 223.82.179.6, and the source port is rewritten to 4662. Thereafter, the outbound packet  228  is transferred to remote destination node  102 .  
         [0009]     Although NAT and PAT provide Internet access by sharing one IP address, there are some disadvantages. Since NAT and PAT do not rewrite application layer packet headers, when an application encloses its virtual IP address information in the application layer packet header, a connection problem may occur due to an unidentifiable IP address. For example, FTP, IRC, layer 2 tunneling protocol over IP security (L2TP/IPSec) and on-line games typically suffer from this issue.  
         [0010]     Many schemes are proposed to alleviate the NAT and PAT bottleneck. Software protocols such as Universal Plug and Play (UPNP) or network address translation traversal (NAT-T), however, require additional application program interface (API) upgrades on corresponding servers, routers and local nodes to accomplish the schemes. Conversely, present commercial products such as layer 7 switches, may provide partial capabilities of application layer rewriting, but only for specific protocols with high cost. Thus a more convenient and efficient solution is desirable.  
       SUMMARY  
       [0011]     To provide a feasible solution for application layer transparency in local area networks, embodiments of the invention provide an address translation method and system. In the system, a local node in an internal subnet communicates with a destination node, and a router comprises an internal interface for the internal subnet and an external interface for an external subnet. The method comprises the following steps. First, an IP address identical to the IP address of the external interface is bound to the local node. If the destination node is in the external subnet, a masquerading ARP response is generated when the local node queries media access control (MAC) address of the destination node, such that an outbound packet from the local node destined for the destination node can be physically transferred to the router. If the destination node is in neither the internal subnet nor the external subnet, a masqueraded ARP response is generated when the local node queries a MAC address of the external subnet&#39;s gateway, such that the outbound packet can be physically transferred to the router. 
     
    
     DESCRIPTION OF THE DRAWINGS  
       [0012]     The following detailed description, given by way of example and not intended to limit the invention solely to the embodiments described herein, will best be understood in conjunction with the accompanying drawings, in which:  
         [0013]      FIG. 1  shows a conventional architecture of a local area network and the Internet;  
         [0014]      FIG. 2  shows a NAT table  210  and PAT table  220  provided by router  104  based on NAT and PAT standard;  
         [0015]      FIG. 3   a  and  FIG. 3   b  are exemplary flowcharts of conventional PAT;  
         [0016]      FIG. 4  shows network architecture according to an embodiment of the invention;  
         [0017]      FIG. 5   a  shows a procedure based on Dynamic Destination node Control Protocol (DHCP);  
         [0018]      FIG. 5   b  shows a procedure based on Address Resolution Protocol (ARP);  
         [0019]      FIG. 5   c  shows the steps of the local node  108  sending a packet to remote destination node  102 ; and  
         [0020]      FIG. 5   d  shows the steps of the remote destination node  102  sending a packet to local node  108 . 
     
    
     DETAILED DESCRIPTION  
       [0021]      FIG. 4  shows network architecture according to an embodiment of the invention. Remote destination node  102  is a server in the same subnet that the gateway  112  and router  104  are in. Remote destination node  114  is another server in a different subnet from that the gateway  112  is in. The WAN IP address of router  104  is cloned to local node  108 , duplicating the IP address. As shown in  FIG. 5   a , the WAN IP address of router  104  can be obtained from ISP  320  by dynamic destination node control protocol (DHCP). In step  322 , the router  104  sends a DHCP request to ISP  320 . In step  324 , the ISP  320  responds to router  104  with information for configuring WAN interface  204   a . Similarly, the router  104  can provide a DHCP service on its LAN interface  104   b , and the IP address of local node  108  can be obtained therefrom. In step  304 , the local node  108  sends a request to router  104 , and in step  304 , the router  104  responds to local node  108 , assigning the same IP address of the WAN IP of router  104  to the local node  108 , 223.82.179.6 in  FIG. 5   a . When the WAN interface  104   a  changes dynamically, the IP address of local node  108  is also synchronized. For example, if the WAN interface  104   a  fails to link to the Internet, instead of assigning the WAN IP address to the local node  108 , the router  104  acts as a conventional local area network DHCP server, and the local node  108  acts as a conventional local area network node having a virtual IP address, for example, 192.168.1.2.  
         [0022]     As shown in  FIG. 4 , when a packet from local node  108  is destined for remote destination node  102 , it must be received and processed by the router  104  before transfer to remote destination node  102 . According to the Open Standard Interface (OSI) specification, packet transfer in the same subnet is accomplished by physical layer identification of a Media Access Control (MAC) address. In this case, in order for packets from local node  108  to be received by the LAN interface  104   b  of router  104  for further processing, the local node  108  queries the MAC address of the destination remote destination node  102 , for example, by the way of conventional Address Resolution Protocol, ARP, and the router  104  responds with the MAC address of LAN interface  104   b . Thus packets from local node  108  destined for remote destination node  102  are physically transferred to router  104 , and the router  104  transfers the packets to remote destination node  102  directly by physical layer identification.  
         [0023]     In another example, when a packet from local node  108  is destined for remote destination node  114  within a subnet different from WAN interface  104   a , the packets are physically destined for gateway  112  for further routing. The router  104  must first receive the packet and reroute it to gateway  112 . Similarly, in order for packets from local node  108  to be received by the LAN interface  104   b  of router  104  for further processing, the local node  108  queries the MAC address of the destination gateway  112  (AA:00:00:00:00:FF in  FIG. 5   b ), the router  104  responds with the MAC address of LAN interface  104   b  (7F:7F:7F:7F:7F:7F in  FIG. 5   b ) Thus packets from local node  108  destined for remote destination node  114  are physically transferred to router  104 , and by physical layer identification. The packets can then be transferred to gateway  112  and routed toward remote destination node  114 .  
         [0024]      FIG. 5   b  shows the procedure based on ARP. In step  306 , an ARP request is first broadcasted, and in step  308 , upon receiving the request, the router  104  responds a packet to the local node  18 , wherein address provided in the response to this ARP request is actually MAC address 7F:7F:7F:7F:7F:7of LAN interface  204   b . The local node  108  accordingly fills the destination MAC address in outbound packets with 7F:7F:7F:7F:7F:7F, such that the router  104  physically receives all the packets.  
         [0025]      FIG. 5   c  shows the steps of the local node  108  sending a packet to remote destination node  102 . The local node  108  fills the destination MAC address of the outbound packet  312  with the MAC address of LAN interface  104   b , 7F:7F:7F:7F:7F:7F. Thus the router  104  receives the outbound packet  312  and rewrites the source and destination MAC addresses for further transmission. In some embodiments, the source MAC address in the rewritten outbound packet  314  is the MAC address of the WAN interface  104   a , 80:80:80:80:80:80, and the destination MAC address is MAC address of the remote destination node  102 , AA:BB:CC:DD:EE:FF.  
         [0026]      FIG. 5   d  shows the steps of the remote destination node  102  sending a packet to local node  108 . Before the router  104  reroutes the inbound packet  318 , a verification sequence must be processed as router  104  may comprise several services, each occupying certain sessions and ports, such as NAT table  210  and PAT table  220  in  FIG. 3 . When the packet type does not correspond to any other services in the router  104 , it is rewritten to inbound packet  316  and sent to local node  108 .  
         [0027]     Variations can be implemented for further applications. For example, the WAN interface  104   a  of router  104  can access ISP  320  using Point to Point Protocol over Ethernet (PPPoE) or Serial Line Internet Protocol (SLIP). In the same subnet, packets from local node  106  and local node  108  are processed in the router  104  using different schemes, therefore it is necessary to distinguish which node is associated with the packet. One solution is to provide a non-volatile memory in router  104 , to store the MAC address of local node  108 , thereby whether a packet is associated with local node  108  can be determined.  
         [0028]     In summary, some embodiment of invention accomplish transparency by binding a real IP address to a destination node in local area network and using the router as an ARP proxy to route every packet to and from the destination node.  
         [0029]     While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.