IP Library Granted Patent US 10,397,102
Granted Patent B2
US 10,397,102 · App. 15/466,817 · Granted Aug 27, 2019

Communication between distinct network domains

Inventors: Atif Khan (San Jose, CA); Himanshu H. Shah (Milpitas, CA); Nehal Bhau (San Jose, CA)
Assignee: Cisco Technology, Inc.
H04L45/507H04L45/748H04L45/04
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 10,397,102
App. No.
15/466,817
Granted
Aug 27, 2019
Kind
B2
Abstract

A system may include a first border network device located between a first network domain and a third network domain, and a first edge network device in the first network domain, where the first edge network device may be configured to receive a packet. The packet may be directed to a second edge network device in a second network domain. The first edge network device may also be configured to add a second label to the packet that identifies a second border network device located at the border of a second network domain and the third network domain. The third network domain may be located between the first network domain and the second network domain. The first edge network device may additionally be configured to add a first label to the packet that identifies the first border network device, and route the packet to the first border network device.

Claims (69)

1. A method comprising:

enabling, via a controller, routing of packets through all of a plurality of edge network devices connected to the controller by sharing segment information across the plurality of edge network devices, the routing performed via any one of the plurality of edge network devices without reference to any address of any of the packets identifying any of the plurality of edge network devices, the plurality of edge network devices including a first edge network device and a second edge network device;

receiving, at the first edge network device in a first internal network domain, a packet from a first computing device, the packet directed to a second computing device associated with the second edge network device in a second internal network domain;

adding, at the first edge network device, a label to the packet identifying a second border network device located at the border of the second internal network domain and a third network domain located between the first internal network domain and the second internal network domain;

adding, at the first edge network device, another label to the packet identifying a first border network device located at the border of the first internal network domain and the third network domain, the label and the another label forming a label stack or encapsulation of the packet; and

routing the packet to the first border network device.

2. The method of claim 1 , further comprising:

removing, at the first border network device, the another label from the packet;

confirming, at the first border network device, the packet was to-be received by the first border network device; and

routing the packet through the third network domain to the second border network device based on the label.

3. The method of claim 2 , wherein routing of the packet to the second border network device is performed without storing an address of the packet identifying the second edge network and without referencing the address.

4. The method of claim 1 , further comprising:

removing, at the second border network device, the label from the packet; and

routing the packet through the second internal network domain to the second edge network device based on an identifier in the packet identifying the second edge network device, the identifier being a transport locator.

5. The method of claim 1 , further comprising:

determining availability of each of a first plurality of path segments through the first internal network domain;

determining availability of each of a second plurality of path segments through the second internal network domain; and

determining availability of each of a third plurality of path segments through the third network domain.

6. The method of claim 5 , further comprising:

selecting a first path segment from the first plurality of path segments based on the first path segment being available;

selecting a second path segment from the second plurality of path segments based on the second path segment being available; and

selecting a third path segment from the third plurality of path segments based on the third path segment being available.

7. The method of claim 6 , wherein selecting the first path segment is further based on network performance of the first path segment.

8. The method of claim 1 , further comprising:

transmitting a first message from the first edge network device to a control device, the first message including an identifier of the first edge network device and an Internet Protocol (IP) prefix associated with the first edge network device.

9. The method of claim 8 , further comprising:

transmitting a second message from the first edge network device to the control device, the second message including the identifier of the first edge network device and an identifier of the first internal network domain.

10. A network device in a first internal network domain, the network device comprising:

one or more processors;

one or more communication devices; and

one or more non-transitory computer readable media containing instructions that, when executed by the one or more processors, performs operations, the operations comprising:

enable routing of packets through all of a plurality of edge network devices by sharing segment information across the plurality of edge network devices, the routing performed via any one of the plurality of edge network devices without reference to any address of any of the packets identifying any of the plurality of edge network devices, the plurality of edge network devices including a first edge network device and a second edge network device;

receive, at the first edge network device, a packet from a first computing device via the one or more communication devices, the packet directed to a second computing device associated with the second edge network device in a second internal network domain;

add a label to the packet identifying a second border network device located at the border of the second internal network domain and a third network domain located between the first internal network domain and the second internal network domain;

add another label to the packet identifying a first border network device located at the border of the first internal network domain and the third network domain, the label and the another label forming a label stack or encapsulation of the packet; and

route the packet to the first border network device via the one or more communication devices.

11. The network device of claim 10 , the operations further comprising:

determine availability of each of a first plurality of path segments through the first internal network domain;

determine availability of each of a second plurality of path segments through the second internal network domain; and

determine availability of each of a third plurality of path segments through the third network domain.

12. The network device of claim 11 , the operations further comprising:

select a first path segment from the first plurality of path segments based on the first path segment being available;

select a second path segment from the second plurality of path segments based on the second path segment being available; and

select a third path segment from the third plurality of path segments based on the third path segment being available.

13. The network device of claim 12 , wherein selection of the first path segment is further based on network performance of the first path segment.

14. The network device of claim 11 , wherein the one or more communication devices are configured to communicate over a Multi-Protocol Label Switching (MPLS) connection, an Internet connection, and a cellular connection.

15. The network device of claim 11 , the operations further comprising:

generate a first message to be transmitted via the one or more communication devices to a control device, the first message including an identifier of the network device and an Internet Protocol (IP) prefix associated with the network device.

16. The network device of claim 15 , the operations further comprising:

generate a second message to be transmitted via the one or more communication devices to the control device, the second message including the identifier of the network device and an identifier of the first internal network domain.

17. A system comprising:

a first border network device located at a border between a first internal network domain and a third network domain;

a first edge network device in the first internal network domain, the first edge network device enabled, via segment information received from a controller, for packet routing without reference to any address of any of a plurality of edge network devices, the plurality of edge network devices including the first edge network device and a second edge network device, the first edge network device configured to:

receive a packet from a first computing device, the packet directed to a second computing device associated with the second edge network device in a second internal network domain;

add a label to the packet identifying a second border network device located at the border of the second internal network domain and the third network domain, the third network domain located between the first internal network domain and the second internal network domain;

add another label to the packet identifying the first border network device, the label and the another label forming a label stack or encapsulation of the packet; and

route the packet to the first border network device.

18. The system of claim 17 ,

wherein the first border network device is configured to:

remove the another label from the packet;

confirm the packet was to-be received by the first border network device; and

route the packet through the third network domain to the second border network device based on the label.

19. The system of claim 18 ,

wherein the first border network device is further configured to:

route the packet without storing an address of the packet identifying the second edge network device and without referencing the address.

20. The system of claim 17 ,

wherein the second border network device is configured to:

remove the label from the packet; and

route the packet through the second internal network domain to the second edge network device based on an identifier in the packet identifying the second edge network device, the identifier being a transport locator.

Assignments (3)
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 Mar 24, 2017
From: KHAN, ATIF; SHAH, HIMANSHU H.; BHAU, NEHAL
To: VIPTELA INC.
Reel/Frame 041744/0802 →
Continuity (2)
Provisional Application 62311865 · Mar 22, 2016
Related Publication 20170279710A1 · Sep 28, 2017
Cited By (1)
US 12,261,772