IP Library Granted Patent US 9,819,613
Granted Patent B1
US 9,819,613 · App. 15/243,897 · Granted Nov 14, 2017

Bi-directional NAT traversal using endpoint assigned discriminators

Inventor: Lars Olof Stefan Olofsson (Dubai, AE)
Assignee: VIPTELA INC.
H04L49/3009H04L61/2582H04L63/02H04L63/029
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 9,819,613
App. No.
15/243,897
Granted
Nov 14, 2017
Kind
B1
Abstract

A method for creating a secure link between any two endpoints in a network comprises: assigning a unique identifier to each endpoint of a network; for each endpoint in the network, transmitting the unique identifiers associated with each of the remaining endpoints in the network to said endpoint; establishing a secure link between a source endpoint and a destination comprising: transmitting a data-session establishment packet from the source endpoint to the destination endpoint via a symmetric NAT device; wherein the data-session establishment packet comprises the unique identifier associated with the source endpoint; performing a matching operation at the destination endpoint to match the unique identifier associated with the source endpoint with a unique identifier known to the destination endpoint; and upon matching of unique identifiers then creating a forwarding table entry for the destination endpoint based on the source address and source port associated with the source endpoint.

Claims (37)

1. A method for creating a secure link between two endpoints in a network, said method comprising:

assigning a unique identifier to each endpoint of a network;

for each endpoint in the network, transmitting the unique identifiers associated with one or more other endpoints in the network to said endpoint; and

establishing a secure link between a source endpoint and a destination endpoint comprising:

transmitting a data-session establishment packet from the source endpoint to the destination endpoint via a device configured to translate addresses from a public address to a private address, wherein the data-session establishment packet comprises the unique identifier associated with the source endpoint;

performing a matching operation at the destination endpoint to match the unique identifier associated with the source endpoint with a unique identifier in an existing forwarding table associated with the destination endpoint;

determining whether the matching operation fails;

upon a condition in which the matching operation fails, retrieving the unique identifier comprised in the data-session establishment packet, and matching the retrieved unique identifier with a unique identifier known to the destination endpoint, wherein the unique identifier known to the destination endpoint was previously received at the destination endpoint from a controller; and

upon a successful matching of the retrieved unique identifier with a unique identifier known to the destination endpoint, creating a forwarding table entry for the destination endpoint based on a source address and source port associated with the source endpoint.

2. The method of claim 1 , further comprising dropping the data-session establishment packet upon an unsuccessful matching of the retrieved unique identifier with the unique identifier known to the destination endpoint.

3. The method of claim 1 , wherein said assigning is performed by the controller for the network.

4. The method of claim 1 , wherein each unique identifier comprised in the data-session establishment packet comprises a discriminator as defined in Bidirectional Forward Detection (BFD) protocol.

5. The method of claim 3 , wherein transmission of the unique identifiers is via a control plane established between said endpoint and the controller.

6. The method of claim 5 , further comprising establishing said control plane with the controller.

7. A method for creating a secure link between a source endpoint and a destination endpoint in a network, said method comprising:

receiving by the destination endpoint, a data-session establishment packet transmitted by the source endpoint to the destination endpoint via a device configured to translate addresses from a public address to a private address, wherein the data-session establishment packet comprises a unique identifier associated with the source endpoint;

performing by the destination endpoint, a matching operation to match the unique identifier associated with the source endpoint with a unique identifier in an existing forwarding table associated with the destination endpoint;

determining whether the matching operation fails;

upon a condition in which the matching operation fails, retrieving the unique identifier comprised in the data-session establishment packet, and matching the retrieved unique identifier with a unique identifier previously received by the destination endpoint; and

upon a successful matching of the retrieved unique identifier with a unique identifier previously received by the destination endpoint, creating a forwarding table entry for the destination endpoint based on a source address and source port associated with the source endpoint.

8. The method of claim 7 , further comprising dropping the data-session establishment packet upon an unsuccessful matching of the retrieved unique identifier with the unique identifier previously received by the destination endpoint.

9. The method of claim 7 , wherein each unique identifier associated with the source endpoint comprises a discriminator as defined in Bidirectional Forward Detection (BFD) protocol.

10. The method of claim 7 , further comprising receiving by the destination endpoint, unique identifiers associated with other endpoints in the network.

11. The method of claim 10 , wherein said receiving is via a control plane established between the destination endpoint and a controller.

12. An edge router, comprising:

a component to receive a data-session establishment packet transmitted by a source endpoint via a device configured to translate addresses from a public address to a private address, wherein the data-session establishment packet comprises a unique identifier associated with the source endpoint;

a component to perform a matching operation to match the unique identifier associated with the source endpoint with a unique identifier in an existing forwarding table associated with a destination endpoint;

a component to retrieve the unique identifier in the data-session establishment packet, upon an unsuccessful matching of the unique identifier associated with the source endpoint with the unique identifier in the existing forwarding table associated with the destination endpoint;

a component to perform a matching operation to match the retrieved unique identifier with a unique identifier previously received by the edge router, upon an unsuccessful matching of the unique identifier associated with the source endpoint with the unique identifier in the existing forwarding table associated with the destination endpoint; and

a component to create a forwarding table entry for the edge router based on a source address and source port associated with the source endpoint, upon a successful matching of the retrieved unique identifier with the unique identifier previously received by the edge router.

13. The edge router of claim 12 , configured to drop the data-session establishment packet upon an unsuccessful matching of the retrieved unique identifier with the unique identifier previously received by the edge router.

14. The edge router of claim 12 , wherein each unique identifier associated with the source endpoint comprises a discriminator as defined in Bidirectional Forward Detection (BFD) protocol.

15. The method of claim 10 , wherein said receiving is via a control plane established between the destination endpoint and a controller.

16. The method of claim 6 , wherein said control plane is defined by secure control channels.

17. The method of claim 16 , wherein each endpoints of the network advertises respective local routing information to the controller via the secure control channels.

18. The method of claim 17 , wherein the controller further advertises respective local routing information of an endpoint with each of other endpoints in the network.

19. The edge router of claim 12 , wherein each of the components are implemented by one or more processors of the edge router.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2018
From: VIPTELA LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 045967/0666 →
CHANGE OF NAME Recorded Mar 1, 2018
From: VIPTELA, INC.
To: VIPTELA LLC
Reel/Frame 045484/0110 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2017
From: OLOFSSON, LARS OLOF STEFAN
To: VIPTELA INC.
Reel/Frame 042319/0631 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2017
From: OLOFSSON, LARS OLOF STEFAN
To: VIPTELA INC.
Reel/Frame 042086/0491 →
Continuity (1)
Continuation 14146683 · Jan 2, 2014