Peer-to-peer (P2P) connection despite network address translators (NATs) at both ends
First Claim
1. A computer-readable storage medium having code portions embodied thereon that are readable by a first endpoint device (ED), the first ED being usable with a system compliant with the internet protocol (IP),the system having an architecture that includes a first network, a second network and a third network,the first network having at least the first ED and a first network address translator (NAT), the first ED being connected to the third network via the first NAT, the first NAT allocating a first pair of an IP address and port number for communication from the third-network-side of the first NAT with the first ED via the first NAT,the second network having at least a second ED and a second NAT, the second ED being connected to the third network via the second NAT, the second NAT allocating a second IP address and port pair for communication from the third-network-side of the second NAT with the second ED via the second NAT,the code portions embodied on the computer-readable storage medium, when read by the first ED, causing the first ED to perform the steps of:
- (a) request the second NAT to map a plurality of port identification numbers (IDs), receive information regarding the plurality of ports, including the plurality of port IDs, and determine a port increment size (Δ
p) of the second NAT based on said information;
or(b) receiving an indication of port increment size (Δ
p) used by the second NAT to allocate and map new port numbers, and predict, based upon the indication of port increment size (Δ
p), at least one predicted destination port identification number (ID) that would be used by the second NAT for a peer-to-peer (P2P) connection between the first ED and the second ED, wherein the ID is predicted before assignment by the second NAT of the port ID,thereby making the first ED operable to facilitate the peer-to-peer (P2P) connection between the first ED and the second ED, despite the intervening first and second NATs at both ends of the connection.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods of operating a first endpoint device (ED) facilitate the making of a peer-to-peer (P2P) connection between the first ED and a second ED despite intervening network address translators (NATs) at both ends. The P2P connection extends across a system compliant with the internet protocol (IP) whose architecture that includes a first network (having at least the first ED and a first NAT), a second network (having at least the second ED and a second NAT) and a third network. The first ED connects to the third network via the first NAT while the second ED connects to the third network via the second NAT. A first such method includes: providing the second ED with the first IP-address/port pair; and providing the second ED with first type-information regarding the type of the first NAT.
153 Citations
3 Claims
-
1. A computer-readable storage medium having code portions embodied thereon that are readable by a first endpoint device (ED), the first ED being usable with a system compliant with the internet protocol (IP),
the system having an architecture that includes a first network, a second network and a third network, the first network having at least the first ED and a first network address translator (NAT), the first ED being connected to the third network via the first NAT, the first NAT allocating a first pair of an IP address and port number for communication from the third-network-side of the first NAT with the first ED via the first NAT, the second network having at least a second ED and a second NAT, the second ED being connected to the third network via the second NAT, the second NAT allocating a second IP address and port pair for communication from the third-network-side of the second NAT with the second ED via the second NAT, the code portions embodied on the computer-readable storage medium, when read by the first ED, causing the first ED to perform the steps of: -
(a) request the second NAT to map a plurality of port identification numbers (IDs), receive information regarding the plurality of ports, including the plurality of port IDs, and determine a port increment size (Δ
p) of the second NAT based on said information;
or(b) receiving an indication of port increment size (Δ
p) used by the second NAT to allocate and map new port numbers, and predict, based upon the indication of port increment size (Δ
p), at least one predicted destination port identification number (ID) that would be used by the second NAT for a peer-to-peer (P2P) connection between the first ED and the second ED, wherein the ID is predicted before assignment by the second NAT of the port ID,thereby making the first ED operable to facilitate the peer-to-peer (P2P) connection between the first ED and the second ED, despite the intervening first and second NATs at both ends of the connection.
-
-
2. A system for effecting communication between an endpoint device associated with a first network and a client associated with a second network, comprising:
-
a symmetric network address translator (NAT) coupled between said first and second networks and being configured to map first address and port pairs associated with said first network to second address and port pairs associated with said second network; said symmetric NAT being configured to uniquely map one first address and port pair with one and only one second address and port pair; said endpoint device having a map request component adapted to communicate with said symmetric NAT to obtain a set of port mappings previously made by said symmetric NAT between said first and second address and port pairs; said endpoint device further having a prediction component that examines said set of port mappings received and computes a predicted port mapping with which communication between said endpoint device and said client is effected through said symmetric NAT based upon an indication of port increment size (Δ
p).
-
-
3. A peer-to-peer system for effecting communication between a first peer associated with a first network and a second peer associated with a second network, comprising:
-
a symmetric network address translator (NAT) coupled between said first and second networks and being configured to map first address and port pairs associated with said first network to second address and port pairs associated with said second network; said symmetric NAT being configured to uniquely map one first address and port pair with one and only one second address and port pair; said first peer having a map request component adapted to communicate with said symmetric NAT to obtain a set of port mappings previously made by said symmetric NAT between said first and second address and port pairs; said first peer further having a prediction component that examines said set of port mappings received and computes a predicted port mapping with which communication between said first and second peers is effected through said symmetric NAT based upon an indication of port increment size (Δ
p).
-
Specification