Multiple network connections from a single PPP link with partial network address translation
First Claim
1. A method for establishing multiple network connections for a user having a PPP connection to a gateway, including the steps of:
- establishing a primary PPP session between the user and a first network;
receiving a first real network address for said user, said first real network address assigned by said first network;
storing said first real network address in a non-network address translation table;
establishing a secondary network session between the gateway and a second network; and
receiving a second real network address for the user, said second real network address assigned by said second network; and
storing said second real network address in a network address translation table in an entry corresponding to said first real network address.
1 Assignment
0 Petitions
Accused Products
Abstract
Multiple simultaneous network connections from a single PPP connection may be accomplished. A primary PPP connection is established between a user and a first network. A first real network address for the user is then received, the first real network address assigned by the first network. Then, the gateway may establish a secondary network session between a gateway and a second network, receiving a second real network address assigned by the second network. Additional network connections may be added as secondary network sessions. Network address translation is then performed on packets traveling between the user and any of the secondary network sessions, but not on packets traveling between the user and the primary PPP connection. This allows for connection to multiple networks without disturbing the primary PPP session and also allows for the utilization of applications which may not be used with network address translation on the primary PPP session.
-
Citations
91 Claims
-
1. A method for establishing multiple network connections for a user having a PPP connection to a gateway, including the steps of:
-
establishing a primary PPP session between the user and a first network;
receiving a first real network address for said user, said first real network address assigned by said first network;
storing said first real network address in a non-network address translation table;
establishing a secondary network session between the gateway and a second network; and
receiving a second real network address for the user, said second real network address assigned by said second network; and
storing said second real network address in a network address translation table in an entry corresponding to said first real network address. - View Dependent Claims (2, 3)
-
-
4. A method for establishing multiple network connections for a user having a PPP connection to a gateway, including the steps of:
-
receiving a first PPP connection request from the user;
negotiating LCP options between the user and a first network;
establishing a primary PPP session between the user and a first network;
receiving a first real network address for the user, said first real network address assigned by said first network;
storing said first real network address in a non-network address translation table;
receiving a second PPP connection request from the user;
negotiating LCP options between the user and a second network;
establishing a secondary PPP session between the gateway and a second network; and
receiving a second real network address for the user, said second real network address assigned by said second network; and
storing said second real network address in a network address translation table in an entry corresponding to said first real network address. - View Dependent Claims (5, 6)
-
-
7. A method for communications routing in a system in which a user is connected to a first external network and a second external network, the method including the steps of:
-
receiving a packet sent from the user;
examining said packet to determine if its destination is the first network or the second network;
forwarding said packet directly to the first network if said packet indicates that its destination is the first network;
performing network address translation on said packet if said packet indicates that its destination is the second network; and
forwarding said translated packet to the second network if said packet indicates that its destination is the second network. - View Dependent Claims (8, 9, 10, 11)
extracting a destination network address from the packet;
looking up said destination network address in a routing table;
determining that said destination is the first or second network based upon the listing for the destination network address in the routing table; and
determining that said destination is the first or second network based on a default setting if said destination network address is not listed in said routing table.
-
-
9. The method of claim 7, wherein said performing network address translation step includes the steps of:
-
extracting a source network address from the packet; and
applying a network address translation mapping scheme to said source network address.
-
-
10. The method of claim 7, wherein said performing network address translation step includes the steps of:
-
extracting a source network address from the packet; and
looking up said source network address in said network address translation table.
-
-
11. The method of claim 7, further including the steps of:
-
receiving a second packet, said second packet sent from said first network or said second network;
examining said second packet to determine if its source is said first network or said second network;
performing network address translation on said second packet if said second packet indicates that its source is said second network; and
forwarding said second packet to the user.
-
-
12. A method for network communications in a system having a user with a PPP connection to a gateway, including the steps of:
-
establishing a primary PPP session between the user and a first external network;
receiving a first real network address for the user, said first real network address assigned by said first network;
establishing a secondary network session between the gateway and a second external network;
receiving a second real network address for the user, said second real network address assigned by said second network;
receiving a packet sent by the user;
examining said packet to determine if its destination is said first network or said second network;
forwarding said packet directly to the first network if said packet indicates that its destination is said first network;
performing network address translation on said packet if said packet indicates that its destination is said second network; and
forwarding said translated packet to said second network if said packet indicates that its destination is said second network. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
extracting a source network address from the packet; and
looking up said source network address in said network address translation table.
-
-
15. The method of claim 12, wherein said primary PPP session and said secondary network session are tunneling sessions.
-
16. The method of claim 15, wherein said primary PPP session and said secondary network session are L2TP sessions.
-
17. The method of claim 12, wherein said examining step further includes the steps of:
-
extracting a destination network address from the packet;
looking up said destination network address in a routing table;
determining that said destination is the first or second network based upon the listing for the destination network address in the routing table; and
determining that said destination is the first or second network based on a default setting if said destination network address is not listed in said routing table.
-
-
18. The method of claim 12, wherein said performing network address translation step includes the steps of:
-
extracting a source network address from the packet; and
applying a network address translation mapping scheme to said source network address.
-
-
19. The method of claim 12, further including the steps of:
-
receiving a second packet, said second packet sent from said first network or said second network;
examining said second packet to determine if its source is said first network or said second network;
performing network address translation on said second packet if said second packet indicates that its source is said second network; and
forwarding said second packet to the user.
-
-
20. A method for network communications in a system having a user with a PPP connection to a gateway, including the steps of:
-
receiving a first PPP connection request from the user;
negotiating LCP options between the user and a first external network;
establishing a primary PPP session between the user and a first network;
receiving a first real network address for the user, said first real network address assigned by said first network;
receiving a second PPP connection request from the user;
negotiating LCP options between the user and a second external network;
establishing a secondary PPP session between the gateway and a second network;
receiving a second real network address for the user, said second real network address assigned by said second network;
receiving a packet sent by the user;
examining said packet to determine if its destination is said first network or said second network;
forwarding said packet directly to the first network if said packet indicates that its destination is said first network;
performing network address translation on said packet if said packet indicates that its destination is said second network; and
forwarding said translated packet to said second network if said packet indicates that its destination is said second network. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
extracting a destination network address from the packet;
looking up said destination network address in a routing table;
determining that said destination is the first or second network based upon the listing for the destination network address in the routing table; and
determining that said destination is the first or second network based on a default setting if said destination network address is not listed in said routing table.
-
-
26. The method of claim 20, wherein said performing network address translation step includes the steps of:
-
extracting a source network address from the packet; and
applying a network address translation mapping scheme to said source network address.
-
-
27. The method of claim 20, further including the steps of:
-
receiving a second packet, said second packet sent from said first network or said second network;
examining said second packet to determine if its source is said first network or said second network;
performing network address translation on said second packet if said second packet indicates that its source is said second network; and
forwarding said second packet to the user.
-
-
28. A network gateway for use in a system having a user with a PPP connection to the gateway, including:
-
a network session initiator adapted to establish a primary PPP session between the user and a first network;
a network address receiver adapted to receive a first real network address for the user, said first real network address assigned by said first network, and to store said first real network address in a non-network address translation table;
said network session initiator further adapted to establish a secondary network session between the gateway and a second network; and
said network address receiver further adapted to receive a second real network address for the user, said second real network address assigned by said second network, and to store said second real network address in a network address translation table in an entry corresponding to said first real network address. - View Dependent Claims (29, 30)
-
-
31. A network gateway for use in a system having a user with a PPP connection to the gateway, including:
-
a request receiver adapted to receive a first PPP connection request from the user;
an LCP negotiator adapted to negotiate LCP options between the user and a first network;
a network session initiator adapted to establish a primary PPP session between the user and a first network;
a network address receiver adapted to receive a first real network address for the user, said first real network address assigned by said first network, and to store said first real network address in a non-network address translation table;
said request receiver further adapted to receive a second PPP connection request from the user;
said LCP negotiator further adapted to negotiate LCP options between the user and a second network;
said network session initiator further adapted to establish a secondary PPP session between the user and a second network; and
said network address receiver further adapted to receive a second real network address for the user, said second real network address assigned by said second network, and to store said second real network address in a network address translation table in an entry corresponding to said first real network address. - View Dependent Claims (32, 33)
-
-
34. A network gateway including:
-
a packet receiver adapted to receive a packet sent from a user;
a packet examiner adapted to examine said packet to determine if its destination is a first external network or a second external network;
a packet forwarder adapted to forward said packet directly to the first network if said packet indicates that its destination is said first network;
a network address translator adapted to perform network address translation on said packet if said packet indicates that its destination is said second network; and
said packet forwarder further adapted to forward said translated packet to said second network if said packet indicates that its destination is said second network. - View Dependent Claims (35, 36, 37, 38)
an address extractor adapted to extract a destination network address from said packet;
a routing table searcher adapted to look up said destination network address in a routing table;
a network determiner adapted to determine that said destination is said first network or said second network based upon the listing for the destination network address in the routing table; and
said network determiner further adapted to determine that said destination is said first network or said second network based on a default setting if said destination network address is not listed in said routing table.
-
-
36. The network gateway of claim 34, wherein said network address translator is further adapted to extract a source network address from the packet and apply a network address translation mapping scheme to said source network address.
-
37. The network gateway of claim 34, wherein said network address translator is further adapted to extract a source network address from the packet and look up said source network address in a network address translation table.
-
38. The network gateway of claim 34, wherein said packet receiver further is adapted to receive a second packet, said second packet sent from said first network or said second network, said packet examiner is further adapted to examine said second packet to determine if its source is said first network or said second network, said network address translator is further adapted to perform network address translation on said second packet if said second packet indicates that its source is said second network, and said packet forwarder is further adapted to forward said second packet to the user.
-
39. A network gateway for use in a system having a user with a PPP connection to the gateway, including:
-
a network session initiator adapted to establish a primary PPP session between the user and a first external network;
a network address receiver adapted to receive a first real network address for the user, said first real network address assigned by said first network;
said network session initiator further establish a secondary network session between the user and a second external network;
said network address receiver further receive a second real network address for the user, said second real network address assigned by said second network;
a packet receiver adapted to receive a packet sent by the user;
a packet examiner adapted to examine said packet to determine if its destination is said first network or said second network;
a packet forwarder adapted to forward said packet directly to the first network if said packet indicates that its destination is said first network;
a network address translator adapted to perform network address translation on said packet if said packet indicates that its destination is said second network; and
said packet forwarder further adapted to forward said translated packet to said second network if said packet indicates that its destination is said second network. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46)
an address extractor adapted to extract a destination network address from said packet;
a routing table searcher adapted to look up said destination network address in a routing table;
a network determiner adapted to determine that said destination is said first network or said second network based upon the listing for the destination network address in the routing table; and
said network determiner further adapted to determine that said destination is said first network or said second network based on a default setting if said destination network address is not listed in said routing table.
-
-
45. The network gateway of claim 39, wherein said network address translator is further adapted to extract a source network address from the packet and apply a network address translation mapping scheme to said source network address.
-
46. The network gateway of claim 39, wherein said packet receiver is further adapted to receive a second packet, said second packet sent from said first network or said second network, said packet examiner is further adapted to examine said second packet to determine if its source is said first network or said second network, said network address translator is further adapted to perform network address translation on said second packet if said second packet indicates that its source is said second network, and said packet forwarder is further adapted to forward said second packet to the user.
-
47. A network gateway for use in a system having a user with a PPP connection to the gateway, including:
-
a request receiver adapted to receive a first PPP connection request from the user;
an LCP negotiator adapted to negotiate LCP options between the user and a first external network;
a PPP session initiator adapted to establish a primary PPP session between a user and a first network;
a network address receiver adapted to receive a first real network address for the user, said first real network address assigned by said first network;
said request receiver further adapted to receive a second PPP connection request from the user;
said LCP negotiator further adapted to negotiate LCP options between the user and a second external network;
said PPP session initiator further adapted to establish a secondary PPP session between the user and a second network;
said network address receiver further adapted to receive a second real network address for the user, said second real network address assigned by said second network;
a packet receiver adapted to receive a packet sent by the user;
a packet examiner adapted to examine said packet to determine if its destination is said first network or said second network;
a packet forwarder adapted to forward said packet directly to the first network if said packet indicates that its destination is said first network;
a network address translator adapted to perform network address translation on said packet if said packet indicates that its destination is said second network; and
said packet forwarder further adapted to forward said translated packet to the second network if said packet indicates that its destination is said second network. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54)
an address extractor adapted to extract a destination network address from said packet;
a routing table searcher adapted to look up said destination network address in a routing table;
a network determiner adapted to determine that said destination is said first network or said second network based upon the listing for the destination network address in the routing table; and
said network determiner further adapted to determine that said destination is said first network or said second network based on a default setting if said destination network address is not listed in said routing table.
-
-
53. The network gateway of claim 47, wherein said network address translator is further adapted to extract a source network address from the packet and apply a network address translation mapping scheme to said source network address.
-
54. The network gateway of claim 47, wherein said packet receiver is further adapted to receive a second packet, said second packet sent from said first network or said second network, said packet examiner is further adapted to examine said second packet to determine if its source is said first network or said second network, said network address translator is further adapted to perform network address translation on said second packet if said second packet indicates that its source is said second network, and said packet forwarder is further adapted to forward said second packet to the user.
-
55. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for establishing multiple network connections for a user having a PPP connection to a gateway, said method steps including the steps of:
-
establishing a primary PPP session between the user and a first network;
receiving a first real network address for said user, said first real network address assigned by said first network;
storing said first real network address in a non-network address translation table;
establishing a secondary network session between the gateway and a second network; and
receiving a second real network address for the user, said second real network address assigned by said second network; and
storing said second real network address in a network address translation table in an entry corresponding to said first real network address. - View Dependent Claims (56, 57, 58)
-
-
59. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for establishing multiple network connections for a user having a PPP connection to a gateway, said method steps including the steps of:
-
receiving a first PPP connection request from the user;
negotiating LCP options between the user and a first network;
establishing a primary PPP session between the user and a first network;
receiving a first real network address for the user, said first real network address assigned by said first network;
storing said first real network address in a non-network address translation table;
receiving a second PPP connection request from the user;
negotiating LCP options between the user and a second network;
establishing a secondary PPP session between the gateway and a second network; and
receiving a second real network address for the user, said second real network address assigned by said second network; and
storing said second real network address in a network address translation table in an entry corresponding to said first real network address. - View Dependent Claims (60, 61, 62)
-
-
63. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for communications routing in a system in which a user is connected to a first external network and a second external network, the method including the steps of:
-
receiving a packet sent from the user;
examining said packet to determine if its destination is the first network or the second network;
forwarding said packet directly to the first network if said packet indicates that its destination is the first network;
performing network address translation on said packet if said packet indicates that its destination is the second network; and
forwarding said translated packet to the second network if said packet indicates that its destination is the second network. - View Dependent Claims (64, 65, 66, 67)
extracting a destination network address from the packet;
looking up said destination network address in a routing table;
determining that said destination is the first or second network based upon the listing for the destination network address in the routing table; and
determining that said destination is the first or second network based on a default setting if said destination network address is not listed in said routing table.
-
-
65. The program storage device of claim 63, wherein said performing network address translation step includes the steps of:
-
extracting a source network address from the packet; and
applying a network address translation mapping scheme to said source network address.
-
-
66. The program storage device of claim 63, wherein said performing network address translation step includes the steps of:
-
extracting a source network address from the packet; and
looking up said source network address in said network address translation table.
-
-
67. The program storage device of claim 63, wherein the method further includes the steps of:
-
receiving a second packet, said second packet sent from said first network or said second network;
examining said second packet to determine if its source is said first network or said second network;
performing network address translation on said second packet if said second packet indicates that its source is said second network; and
forwarding said second packet to the user.
-
-
68. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for network communications in a system having a user with a PPP connection to a gateway, the method including the steps of:
-
establishing a primary PPP session between the user and a first external network;
receiving a first real network address for the user, said first real network address assigned by said first network;
establishing a secondary network session between the gateway and a second external network;
receiving a second real network address for the user, said second real network address assigned by said second network;
receiving a packet sent by the user;
examining said packet to determine if its destination is said first network or said second network;
forwarding said packet directly to the first network if said packet indicates that its destination is said first network;
performing network address translation on said packet if said packet indicates that its destination is said second network; and
forwarding said translated packet to said second network if said packet indicates that its destination is said second network. - View Dependent Claims (69, 70, 71, 72, 73, 74, 75)
extracting a source network address from the packet; and
looking up said source network address in said network address translation table.
-
-
71. The program storage device of claim 68, wherein said primary PPP session and said secondary network session are tunneling sessions.
-
72. The program storage device of claim 71, wherein said primary PPP session and said secondary network session are L2TP sessions.
-
73. The program storage device of claim 69, wherein said examining step further includes the steps of:
-
extracting a destination network address from the packet;
looking up said destination network address in a routing table;
determining that said destination is the first or second network based upon the listing for the destination network address in the routing table; and
determining that said destination is the first or second network based on a default setting if said destination network address is not listed in said routing table.
-
-
74. The program storage device of claim 69, wherein said performing network address translation step includes the steps of:
-
extracting a source network address from the packet; and
applying a network address translation mapping scheme to said source network address.
-
-
75. The program storage device of claim 69, wherein the method further includes the steps of:
-
receiving a second packet, said second packet sent from said first network or said second network;
examining said second packet to determine if its source is said first network or said second network;
performing network address translation on said second packet if said second packet indicates that its source is said second network; and
forwarding said second packet to the user.
-
-
76. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for network communications in a system having a user with a PPP connection to a gateway, the method including the steps of:
-
receiving a first PPP connection request from the user;
negotiating LCP options between the user and a first external network;
establishing a primary PPP session between the user and a first network;
receiving a first real network address for the user, said first real network address assigned by said first network;
receiving a second PPP connection request from the user;
negotiating LCP options between the user and a second external network;
establishing a secondary PPP session between the gateway and a second network;
receiving a second real network address for the user, said second real network address assigned by said second network;
receiving a packet sent by the user;
examining said packet to determine if its destination is said first network or said second network;
forwarding said packet directly to the first network if said packet indicates that its destination is said first network;
performing network address translation on said packet if said packet indicates that its destination is said second network; and
forwarding said translated packet to said second network if said packet indicates that its destination is said second network. - View Dependent Claims (77, 78, 79, 80, 81, 82, 83)
receiving a second packet, said second packet sent from said first network or said second network;
examining said second packet to determine if its source is said first network or said second network;
performing network address translation on said second packet if said second packet indicates that its source is said second network; and
forwarding said second packet to the user.
-
-
80. The program storage device of claim 77, wherein said primary PPP session and said secondary network session are tunneling sessions.
-
81. The program storage device of claim 80, wherein said primary PPP session and said secondary network session are L2TP sessions.
-
82. The program storage device of claim 77, wherein said examining step further includes the steps of:
-
extracting a destination network address from the packet;
looking up said destination network address in a routing table;
determining that said destination is the first or second network based upon the listing for the destination network address in the routing table; and
determining that said destination is the first or second network based on a default setting if said destination network address is not listed in said routing table.
-
-
83. The program storage device of claim 77, wherein said performing network address translation step includes the steps of:
-
extracting a source network address from the packet; and
applying a network address translation mapping scheme to said source network address.
-
-
84. A network gateway for network communications in a system having a user with a PPP connection to the gateway, including:
-
means for establishing a primary PPP session between the user and a first external network;
means for receiving a first real network address for the user, said first real network address assigned by said first network;
means for establishing a secondary network session between the gateway and a second external network;
means for receiving a second real network address for the user, said second real network address assigned by said second network;
means for receiving a packet sent by the user;
means for examining said packet to determine if its destination is said first network or said second network;
means for forwarding said packet directly to the first network if said packet indicates that its destination is said first network;
means for performing network address translation on said packet if said packet indicates that its destination is said second network; and
means for forwarding said translated packet to said second network if said packet indicates that its destination is said second network. - View Dependent Claims (85, 86, 87, 88, 89, 90, 91)
extracting a destination network address from the packet;
looking up said destination network address in a routing table;
determining that said destination is the first or second network based upon the listing for the destination network address in the routing table; and
determining that said destination is the first or second network based on a default setting if said destination network address is not listed in said routing table.
-
-
90. The network gateway of claim 84, wherein said means for performing network address translation include means for extracting a source network address from the packet and means for applying a network address translation mapping scheme to source destination network address.
-
91. The network gateway of claim 84, further including:
-
means for receiving a second packet, said second packet sent from said first network or said second network;
means for examining said second packet to determine if its source is said first network or said second network;
means for performing network address translation on said second packet if said second packet indicates that its source is said second network; and
means for forwarding said second packet to the user.
-
Specification