Multiple network connections from a single PPP link with 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 first network session between the gateway and said first network;
receiving a first real network address for the user, said first real network address assigned by said first network;
establishing a second network session between the gateway and a second network while said first network session is established; and
receiving a second real network address for the user, said second real network address assigned by said second network.
1 Assignment
0 Petitions
Accused Products
Abstract
Multiple simultaneous network connections from a single PPP connection may be accomplished by utilizing a gateway in the following manner. A first network connection is established between the gateway 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 network session between the gateway and a second network and receive a second real network address for the user, the second real network address assigned by the second network. A virtual network address may be assigned to the user for network address translation purposes. Additional network connections may be added in a similar manner. Network address translation is then performed on packets traveling between the user and any of the network sessions. This allows each of the simultaneous network connections to gain the benefits of network address translation.
-
Citations
93 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 first network session between the gateway and said first network;
receiving a first real network address for the user, said first real network address assigned by said first network;
establishing a second network session between the gateway and a second network while said first network session is established; and
receiving a second real network address for the user, said second real network address assigned by said second network. - View Dependent Claims (2, 3, 4, 5)
assigning the user a virtual network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said second real network address.
-
-
3. The method of claim 2, wherein said assigning step includes the step of assigning the user a virtual network address utilizing a network address translation allocation scheme.
-
4. The method of claim 1, wherein said first network session and said second network session are tunneling sessions.
-
5. The method of claim 3, wherein said first network session and said second network session are L2TP sessions.
-
6. 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 first PPP session between the gateway and said 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 network;
establishing a second PPP session between the gateway and said second network while said first PPP session is established; and
receiving a second real network address for the user, said second real network address assigned by said second network. - View Dependent Claims (7, 8, 9, 10)
assigning the user a virtual network address;
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address.
-
-
8. The method of claim 7, wherein said assigning step includes the step of assigning the user a virtual network address utilizing a network address translation allocation scheme.
-
9. The method of claim 7, wherein said first network session and said second network session are tunneling sessions.
-
10. The method of claim 7, wherein said first network session and said second network session are L2TP sessions.
-
11. A method for network communications in a system having a user with a PPP connection to a gateway, including the steps of:
-
establishing a first network session between the gateway and said first network;
receiving a first real network address for the user, said first real network address assigned by said first network;
establishing a second network session between the gateway and a second network while said first network session is established;
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 to the first network if said packet indicates that its destination is said first network;
performing network address translation on said packet; and
forwarding said translated packet to said second network if said packet indicates that its destination is said second network. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
assigning the user a virtual network address;
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address.
-
-
13. The method of claim 12, wherein said assigning step includes the step of assigning the user a virtual network address utilizing a network address translation allocation scheme.
-
14. The method of claim 13, wherein said first network session and said second network session are L2TP sessions.
-
15. The method of claim 11, wherein said first network session and said second network session are tunneling sessions.
-
16. The method of claim 11, 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.
-
-
17. The method of claim 11, wherein said performing network address translation step includes the step of applying a network address translation mapping scheme to said destination network address.
-
18. The method of claim 11, wherein said performing network address translation step includes the step of looking up said destination network address in a network address translation table.
-
19. The method of claim 11, further including the steps of:
-
receiving a second packet, said second packet sent from said first network or said second network;
performing network address translation on said second packet; 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 network;
establishing a first PPP session between the gateway and said 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 network;
establishing a second PPP session between the gateway and said second network while said first PPP session is established;
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 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, 28)
assigning the user a virtual network address;
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address.
-
-
22. The method of claim 21, wherein said assigning step includes the step of assigning the user a virtual network address utilizing a network address translation allocation scheme.
-
23. The method of claim 20, wherein said first network session and said second network session are tunneling sessions.
-
24. The method of claim 23, wherein said first network session and said second network session are L2TP session.
-
25. The method of claim 20, 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.
-
-
26. The method of claim 20, wherein said performing network address translation step includes the step of applying a network address translation mapping scheme to said source network address.
-
27. The method of claim 20, wherein said performing network address translation step includes the step of looking up said destination network address in a source address translation table.
-
28. 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;
performing network address translation on said second packet; and
forwarding said second packet to the user.
-
-
29. A network gateway for use in a system having a user with a PPP connection to the gateway, including:
-
a session initiator adapted to establish a first network session between the gateway 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 session initiator further establish a second network session between the gateway and a second network while said first network session is established; and
said network address receiver is further adapted to receive a second real network address for the user, said second real network address assigned by said second network. - View Dependent Claims (30, 31, 32, 33)
a network address allocator adapted to assign the user a virtual network address;
a NAT table storer adapted to store said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
said NAT table storer further adapted to store said virtual network address in a network address translation table in an entry corresponding to said first real network address.
-
-
31. The network gateway of claim 30, wherein said network address allocator is further adapted to assign the user a virtual network address utilizing a network address translation allocation scheme.
-
32. The network gateway of claim 29, wherein said first network session and said second network session are tunneling sessions.
-
33. The network gateway of claim 32, wherein said first network session and said second network session are L2TP sessions.
-
34. A network gateway for use in a system having a user with a PPP connection to the gateway, including:
-
a PPP session initiator adapted to establish a first PPP session between the gateway 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 session initiator further adapted to establish a second PPP session between the gateway and a second network while said first PPP session is established; 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. - View Dependent Claims (35, 36, 37, 38)
a network address allocator adapted to assign the user a virtual network address;
a NAT table storer adapted to store said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
said NAT table storer is further adapted to store said virtual network address in a network address translation table in an entry corresponding to said first real network address.
-
-
36. The network gateway of claim 35, wherein said network address allocator is further adapted to assign the user a virtual network address utilizing a network address translation allocation scheme.
-
37. The network gateway of claim 34, wherein said first network session and said second network session are tunneling sessions.
-
38. The network gateway of claim 34, wherein said first network session and said second network session are L2TP sessions.
-
39. A network gateway for use in a system having a user with a PPP connection to the gateway, including:
-
a session initiator adapted to establish a first network session between the gateway 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 session initiator further establish a second network session between the gateway and a second network while said first network session is established;
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 said user;
a packet examiner adapted to examine said packet to determine if its destination is a first network or a second network;
a network address translator adapted to perform network address translation on said packet; and
a packet forwarder adapted to forward said translated packet to the first network or the second network, depending upon said packet'"'"'s destination. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47)
a network address allocator adapted to assign the user a virtual network address;
a NAT table storer adapted to store said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
said NAT table storer is further adapted to store said virtual network address in a network address translation table in an entry corresponding to said first real network address.
-
-
41. The network gateway of claim 40, wherein said network address allocator is further adapted to assign the user a virtual network address utilizing a network address translation allocation scheme.
-
42. The network gateway of claim 40, wherein said network address translator is further adapted to look up said source network address in a network address translation table.
-
43. The network gateway of claim 39, wherein said first network session and said second network session are tunneling sessions.
-
44. The network gateway of claim 43, wherein said first network session and said second network session are L2TP sessions.
-
45. The network gateway of claim 39, wherein said packet examiner further includes:
-
an network 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 determine that said destination is the said first network or second network based on a default setting if said destination network address is not listed in said routing table.
-
-
46. The network gateway of claim 39, wherein said network address translator is further adapted to apply a network address translation mapping scheme to said source network address.
-
47. 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 network address translator is further adapted to perform network address translation on said second packet, and said packet forwarder is further adapted to forward said second packet to the user.
-
48. A network gateway for use in a system having a user with a PPP connection to the gateway, including:
-
a PPP session initiator adapted to establish a first PPP session between the gateway 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 session initiator further adapted to establish a second PPP session between the gateway and a second network while said first network session is established;
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 said user;
a packet examiner adapted to examine said packet to determine if its destination is a first network or a second network;
a network address translator adapted to perform network address translation on said packet; and
a packet forwarder adapted to forward said translated packet network or the second packet'"'"'s destination. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56)
a network address allocator adapted to assign the user a virtual network address;
a NAT table storer adapted to store said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
said NAT table storer further adapted to store said virtual network address in a network address translation table in an entry corresponding to said first real network address.
-
-
50. The network gateway of claim 49, wherein said network address allocator is further adapted to assign the user a virtual network address utilizing a network address translation allocation scheme.
-
51. The network gateway of claim 49, wherein said network address translator is further adapted to look up said source network address in a network address translation table.
-
52. The network gateway of claim 48, wherein said first network session and said second network session are tunneling sessions.
-
53. The network gateway of claims 52, wherein said first network session and said second network session are L2TP sessions.
-
54. The network gateway of claim 48, wherein said packet examiner further includes:
-
an network 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 the said first network or second network based on a default setting if said destination network address is not listed in said routing table.
-
-
55. The network gateway of claim 48, wherein said network address translator is further adapted to apply a network address translation mapping scheme to said source network address.
-
56. The network gateway of claim 48, 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 network address translator is further adapted to perform network address translation on said second packet, and said packet forwarder is further adapted to forward said second packet to the user.
-
57. 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 first network session between the gateway and said first network;
receiving a first real network address for the user, said first real network address assigned by said first network;
establishing a second network session between the gateway and a second network while said first network session is established; and
receiving a second real network address for the user, said second real network address assigned by said second network. - View Dependent Claims (58, 59, 60, 61)
assigning the user a virtual network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said second real network address.
-
-
59. The program storage device of claim 58, wherein said assigning step includes the step of assigning the user a virtual network address utilizing a network address translation allocation scheme.
-
60. The program storage device of claim 57, wherein said first network session and said second network session are tunneling sessions.
-
61. The program storage device of claim 60, wherein said first network session and said second network session are L2TP sessions.
-
62. 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 first PPP session between the gateway and said first network;
receiving a first real network address for the user, said first real network address assigned by said first network;
receiving a PPP connection request from the user;
negotiating LCP options between the user and a second network;
establishing a second PPP session between the gateway and a second network while said first PPP session is established; and
receiving a second real network address for the user, said second real network address assigned by said second network. - View Dependent Claims (63, 64, 65, 66)
assigning the user a virtual network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said second real network address.
-
-
64. The program storage device of claim 63, wherein said assigning step includes the step of assigning the user a virtual network address utilizing a network address translation allocation scheme.
-
65. The program storage device of claims 62, wherein said first network session and said second network session are tunneling sessions.
-
66. The program storage device of claim 65, wherein said first network session and said second network session are L2TP sessions.
-
67. 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 first network session between the gateway and said first network;
receiving a first real network address for the user, said first real network address assigned by said first network;
establishing a second network session between the gateway and a second network while said first network session is established;
receiving a second real network address for the user, said second real network address assigned by said second network;
receiving a packet sent from the user;
examining said packet to determine if its destination is the first network or the second network;
performing network address translation on said packet; and
forwarding said translated packet to the first network or the second network, depending upon said packet'"'"'s destination. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74, 75)
assigning the user a virtual network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said second real network address.
-
-
69. The program storage device of claim 68, wherein said assigning step includes the step of assigning the user a virtual network address utilizing a network address translation allocation scheme.
-
70. The program storage device of claim 68, wherein said performing network address translation step includes the step of looking up said source network address in a network address translation table.
-
71. The program storage device of claim 67, wherein said first network session and said second network session are tunneling sessions.
-
72. The program storage device of claim 71, wherein said first network session and said second network session are L2TP sessions.
-
73. The program storage device of claim 67, 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 67, wherein said performing network address translation step includes the step of applying a network address translation mapping scheme to said source network address.
-
75. The program storage device of claim 67, wherein the method further includes the steps of:
-
receiving a second packet, said second packet sent from said first network or said second network;
performing network address translation on said second packet; 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 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 first PPP session between the gateway and said 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 said second network;
establishing a second PPP session between the gateway and a second network while said first PPP session is established;
receiving a second real network address for the user, said second real network address assigned by said second network;
receiving a packet sent from the user;
examining said packet to determine if its destination is the first network or the second network;
performing network address translation on said packet; and
forwarding said translated packet to the first network or the second network, depending upon said packet'"'"'s destination. - View Dependent Claims (77, 78, 79, 80, 81, 82, 83, 84)
assigning the user a virtual network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
storing said virtual network address in a network address translation table in an entry corresponding to said second real network address.
-
-
78. The method of claim 77, wherein said assigning step includes the step of assigning the user a virtual network address utilizing a network address translation allocation scheme.
-
79. The program storage device of claim 77, wherein said performing network address translation step includes the step of looking up said source network address in a network address translation table.
-
80. The program storage device of claim 76, wherein said first network session and said second network session are tunneling sessions.
-
81. The program storage device of claim 80, wherein said first network session and said second network session are L2TP sessions.
-
82. The program storage device of claim 76, 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 76, wherein said performing network address translation step includes the step of applying a network address translation mapping scheme to said source network address.
-
84. The program storage device of claims 76, wherein the method further includes the steps of:
-
receiving a second packet, said second packet sent from said first network or said second network;
performing network address translation on said second packet; and
forwarding said second packet to the user.
-
-
85. A network gateway for network communications in a system having a user with a PPP connection to the gateway, including:
-
means for establishing a first network session between the gateway and said first 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 second network session between the gateway and a second network while said first network session is established;
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 to the first network if said packet indicates that its destination is said first network;
means for performing network address translation on said packet; 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 (86, 87, 88, 89, 90, 91, 92, 93)
means for assigning the user a virtual network address; and
means for storing said virtual network address in a network address translation table in an entry corresponding to said first real network address; and
means for storing said virtual network address in a network address translation table in an entry corresponding to said second real network address.
-
-
87. The network gateway of claim 86, wherein said means for assigning includes means for assigning the user a virtual network address utilizing a network address translation allocation scheme.
-
88. The network gateway of claim 86, wherein said performing network address translation means includes means for looking up said source network address in a network address translation table.
-
89. The network gateway of claim 85, wherein said first network session and said second network session are tunneling sessions.
-
90. The network gateway of claim 89, wherein said first network session and said second network session are L2TP sessions.
-
91. The network gateway of claim 85, wherein said examining means further includes:
-
means for extracting a destination network address from the packet;
means for looking up said destination network address in a routing table;
means for determining that said destination is the first or second network based upon the listing for the destination network address in the routing table; and
means for 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.
-
-
92. The network gateway of claim 85, wherein said performing network address translation means includes means for applying a network address translation mapping scheme to said source network address.
-
93. The network gateway of claim 85, further includes:
-
means for receiving a second packet, said second packet sent from said first network or said second network;
means for performing network address translation on said second packet; and
means for forwarding said second packet to the user.
-
Specification