IP Library Granted Patent US 8,837,483
Granted Patent B2
US 8,837,483 · App. 13/084,050 · Granted Sep 16, 2014

Mapping private and public addresses

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,837,483
App. No.
13/084,050
Granted
Sep 16, 2014
Kind
B2
Abstract

Various exemplary embodiments relate to a method and related network node including one or more of the following: identifying, at the network node, a packet associated with a first address; determining, at the network node, that an alternate address mapping is unknown to the network node for the first address; generating a request message based on at least a portion of the packet; transmitting the request message to a different node; receiving a response message, the response message including a second address, wherein the second address is an alternative address for the first address; and storing the first address and the second address together as an alternate address mapping.

Claims (110)

1. A method performed by a network node for determining an alternate address mapping, the method comprising:

identifying, at the network node, a packet associated with a first address;

determining independent of a NAT device, at the network node, when an alternate address mapping is unknown to the network node for the first address;

generating a request message based on at least a portion of the packet, where the at least a portion of the packet does not comprise the first address;

transmitting the request message to a different node independent of a NAT device; and

receiving a response message, the response message including a second address, wherein the second address is an alternative address for the first address.

2. The method of claim 1 , wherein the request message includes at least one of the packet, at least one additional packet, at least one field of the packet, and a hash of at least a portion of the packet.

3. The method of claim 1 , wherein:

at least one of the network node and the different node is at least one of a source and a destination for the packet.

4. The method of claim 1 , wherein:

the first address is associated with the packet on a first side of a first network address translation (NAT) device; and

the second address is associated with the packet on a second side of a second NAT device.

5. The method of claim 4 , wherein the first NAT device and the second NAT device are the same device.

6. The method of claim 1 , wherein:

the first address includes a first IP address and a first port; and

the second address includes a second IP address and a second port.

7. A network node adapted to determine an alternate address mapping, the network node comprising:

an address mapping storage for storing at least one mapping between two addresses;

an interface for communicating with a different node independent of a NAT device;

an alternate address identifier for:

identifying a packet associated with a first address, and

determining independent of a NAT device when the address mapping storage does not store a mapping for the first address;

a request message generator for:

generating a request message based on at least a portion of the packet, where the at least a portion of the packet does not comprise the first address, and

transmitting the request message to the different node via the interface; and

a response message interpreter for:

receiving a response message from the different node via the interface, the response message including a second address, wherein the second address is an alternative address for the first address.

8. The network node of claim 7 , wherein the request message includes at least one of the packet, at least one additional packet, at least one field of the packet, and a hash of at least a portion of the packet.

9. The network node of claim 7 , wherein:

at least one of the network node and the different node is at least one of a source and a destination for the packet.

10. The network node of claim 7 , wherein:

the first address is associated with the packet on a first side of a first network address translation (NAT) device; and

the second address is associated with the packet on a second side of a second NAT device.

11. The network node of claim 10 , wherein the first NAT device and the second NAT device are the same device.

12. The network node of claim 7 , wherein:

the first address includes a first IP address and a first port; and

the second address includes a second IP address and a second port.

13. A non-transitory machine-readable storage medium encoded with instructions for execution by a network node for determining an alternate address mapping, the machine-readable storage medium comprising:

instructions for identifying, at the network node, a packet associated with a first address;

instructions for determining independent of a NAT device, at the network node, when an alternate address mapping is unknown to the network node for the first address;

instructions for generating a request message based on at least a portion of the packet, where the at least a portion of the packet does not comprise the first address;

instructions for transmitting the request message to a different node independent of a NAT device;

instructions for receiving a response message, the response message including a second address, wherein the second address is an alternative address for the first address; and

instructions for storing the first address and the second address together as an alternate address mapping.

14. The non-transitory machine-readable storage medium of claim 13 , wherein the request message includes at least one of the packet, at least one additional packet, at least one field of the packet, and a hash of at least a portion of the packet.

15. The non-transitory machine-readable storage medium of claim 13 , wherein:

at least one of the network node and the different node is at least one of a source and a destination for the packet.

16. The non-transitory machine-readable storage medium of claim 13 , wherein:

the first address is associated with the packet on a first side of a first network address translation (NAT) device; and

the second address is associated with the packet on a second side of a second NAT device.

17. The non-transitory machine-readable storage medium of claim 16 , wherein the first NAT device and the second NAT device are the same device.

18. The non-transitory machine-readable storage medium of claim 13 , wherein:

the first address includes a first IP address and a first port; and

the second address includes a second IP address and a second port.

19. A method performed by a network node for determining an alternate address mapping, the method comprising:

receiving, at the network node from a different node, a request message, the request message including an indication of a packet and a first address;

identifying a second address associated with the packet based on the indication of the packet;

constructing a response message, the response message including the first address and the second address; and

transmitting the response message to the different node.

20. The method of claim 19 , wherein the indication of a packet is at least one of: the packet itself, a portion of the packet, at least one header field from the packet, and a hash of at least a portion of the packet.

21. The method of claim 19 , wherein the step of identifying the first address comprises:

performing a hash function on at least a part of the indication of the packet to produce a hash key; and

using the hash key to locate a packet that was cached having a matching hash.

22. The method of claim 19 , wherein:

the response message is an application-layer packet.

23. The method of claim 19 , wherein at least one of the network node and the different node is at least one of a source and a destination for the packet.

24. The method of claim 19 , further comprising:

before receiving the request message, receiving the packet;

storing at least a portion of the packet in a packet cache,

wherein the step of identifying a first address associated with the packet comprises extracting the first address from the at least a portion of the packet.

25. The method of claim 19 , wherein the indication of the packet includes fields from a packet that are not modified by a network address translation device.

26. A network node for determining an alternate address mapping, the network node comprising:

a packet cache for storing a number of packets;

an interface for communicating with a different node;

a request message interpreter for:

receiving, from a different node via the interface, a request message, the request message including an indication of a packet and a first address,

identifying a second address associated with the packet based on the indication of the packet; and

a response message generator for:

constructing a response message, the response message including the first address and the second address, and

transmitting the response message to the different node.

27. The network node of claim 26 , wherein the indication of a packet is at least one of: the packet, a portion of the packet, at least one header field from the packet, and a hash of at least a portion of the packet.

28. The network node of claim 26 , wherein, in identifying the first address, the a request message interpreter:

performs a hash function on at least a part of the indication of the packet to produce a hash key; and

uses the hash key to locate a packet that was cached having a matching hash.

29. The network node of claim 26 , wherein:

the response message is an application-layer packet.

30. The network node of claim 26 , wherein at least one of the network node and the different node is at least one of a source and a destination for the packet.

31. The network node of claim 26 , further comprising:

a packet cache manager for:

before receiving the request message, receiving the packet;

storing at least a portion of the packet in a packet cache,

wherein the step of identifying a first address associated with the packet comprises extracting the first address from the at least a portion of the packet.

32. The network node of claim 26 , wherein the indication of the packet includes fields from a packet that are not modified by a network address translation device.

33. A non-transitory machine-readable storage medium encoded with instructions for execution by a network node for determining an alternate address mapping, the machine-readable storage medium comprising:

instructions for receiving, at the network node from a different node, a request message, the request message including an indication of a packet and a first address;

instructions for identifying a second address associated with the packet based on the indication of the packet;

instructions for constructing a response message, the response message including the first address and the second address; and

instructions for transmitting the response message to the different node.

34. The non-transitory machine-readable storage medium of claim 33 , wherein the indication of a packet is at least one of: the packet, a portion of the packet, at least one header field from the packet, and a hash of at least a portion of the packet.

35. The non-transitory machine-readable storage medium of claim 33 , wherein the step of identifying the first address comprises:

performing a hash function on at least a part of the indication of the packet to produce a hash key; and

using the hash key to locate a packet that was cached having a matching hash.

36. The non-transitory machine-readable storage medium of claim 33 , wherein:

the response message is an application-layer packet.

37. The non-transitory machine-readable storage medium of claim 33 , wherein at least one of the network node and the different node is at least one of a source and a destination for the packet.

38. The non-transitory machine-readable storage medium of claim 33 , further comprising:

before receiving the request message, receiving the packet;

storing at least a portion of the packet in a packet cache,

wherein the step of identifying a first address associated with the packet comprises extracting the first address from the at least a portion of the packet.

39. The non-transitory machine-readable storage medium of claim 33 , wherein the indication of the packet includes fields from a packet that are not modified by a network address translation device.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0555 →
SECURITY AGREEMENT Recorded Jan 30, 2013
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 029821/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2012
From: ALCATEL-LUCENT USA INC.
To: ALCATEL LUCENT
Reel/Frame 028271/0083 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ALCATEL-LUCENT USA INC. 600-700 MOUNTAIN AVENUE MURRAY HILL, NJ 07974 PREVIOUSLY RECORDED ON REEL 026105 FRAME 0843. ASSIGNOR(S) HEREBY CONFIRMS THE ALCATEL-LUCENT CANADA, INC. 600 MARCH ROAD OTTAWA, ONTARIO, CANADA K2K 2E6. Recorded Feb 21, 2012
From: BU, TIAN; ZHAO, YAO
To: ALCATEL-LUCENT USA INC.
Reel/Frame 027743/0583 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2011
From: BU, TIAN; ZHAO, YAO
To: ALCATEL-LUCENT CANADA, INC.
Reel/Frame 026105/0843 →