IP Library Granted Patent US 9,680,745
Granted Patent B2
US 9,680,745 · App. 14/159,072 · Granted Jun 13, 2017

Multi-domain source routed forwarding based on collaborating network controllers

Inventors: Evelyne Roch (Gatineau, CA); Peter Ashwood-Smith (Gatineau, CA)
Assignee: Huawei Technologies Co., Ltd.
H04L45/745H04L45/34H04L45/04H04L45/42H04L45/50H04L45/741
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,680,745
App. No.
14/159,072
Granted
Jun 13, 2017
Kind
B2
Abstract

Efficient and scalable source routed forwarding can be achieved in multi-domain networks by substituting path identifiers for intra-domain hop lists in source route hop lists. The path identifiers are then replaced with the corresponding intra-domain hop lists at the ingress edge nodes of each corresponding domain. The path identifiers do not specify individual hops along an intra-domain path segment, and are therefore typically shorter than the intra-domain hop lists. To facilitate multi-domain source routed forwarding techniques, routing tables in edge nodes of the corresponding domains are updated to associate the path identifiers with the corresponding intra-domain hop lists during (or immediately following) inter-domain path computation.

Claims (47)

1. A method for source routed forwarding in a network, the method comprising:

receiving, by an edge node in a domain, a first data packet of a traffic flow over an inter-domain path, the first data packet preceding every other data packet in the traffic flow, the inter-domain path being a source-routed path traversing a route specified by a source of the first data packet, the first data packet appended with a packet header carrying a source route hop list, wherein the source route hop list specifies a path identifier of an intra-domain path segment without specifying individual hops along the intra-domain path segment, and wherein the intra-domain path segment is a portion of the inter-domain path that extends through the domain;

identifying, by the edge node, a hop list associated with the path identifier, the hop list specifying a sequence of next-hop addresses along the intra-domain path segment;

replacing the path identifier with the hop list in the packet header such that the next-hop addresses along the intra-domain path segment can be read directly from the packet header by intermediate nodes on the intra-domain path segment; and

forwarding the first data packet to a next hop of the intra-domain path segment in accordance with the hop list.

2. The method of claim 1 , wherein identifying the hop list associated with the path identifier comprises:

locating an entry associating the path identifier with the hop list in a forwarding table stored at the edge node.

3. The method of claim 2 , wherein the edge node identifies the hop list without querying external devices during a period between receiving the first data packet and forwarding the first data packet.

4. The method of claim 3 , further comprising:

receiving, by the edge node, a first control message from a controller prior to receiving the first data packet over the inter-domain path, the first control message instructing the edge node to write the entry into the forwarding table; and

receiving, by the edge node, a second control message from the controller after forwarding the first data packet to the next hop of the intra-domain path segment, the second control message instructing the edge node to remove the entry from the forwarding table.

5. The method of claim 1 , wherein the first data packet carries data, and wherein forwarding the first data packet to the next hop comprises forwarding the first data packet over a data plane of the network.

6. The method of claim 1 , wherein a length of the path identifier is shorter than a length of the hop list.

7. The method of claim 1 , wherein the path identifier comprises a Multiprotocol Label Switching (MPLS) label.

8. The method of claim 1 , wherein the path identifier comprises an internet protocol (IP) version four (IPv4) or IP version six (IPv6) address.

9. The method of claim 1 , wherein the path identifier comprises a type length value (TLV) encoding.

10. An edge node in a domain, the edge node comprising:

a processor; and

a computer readable storage medium storing programming for execution by the processor, the programming including instructions to:

receive a first data packet of a traffic flow over an inter-domain path, the first data packet preceding every other data packet in the traffic flow, the inter-domain path being a source-routed path traversing a route specified by a source of the first data packet, the first data packet appended with a packet header carrying a source route hop list, wherein the source route hop list specifies a path identifier of an intra-domain path segment without specifying individual hops along the intra-domain path segment, and wherein the intra-domain path segment is a portion of the inter-domain path that extends through the domain;

identify a hop list associated with the path identifier, the hop list specifying a sequence of next-hop addresses along the intra-domain path segment;

replace the path identifier with the hop list in the packet header such that the next-hop addresses can be read directly from the packet header by intermediate nodes on the intra-domain path segment; and

forward the first data packet to a next hop of the intra-domain path segment in accordance with the hop list.

11. The edge node of claim 10 , wherein the instructions to identify the hop list associated with the path identifier include instructions to:

locate an entry associating the path identifier with the hop list in a forwarding table stored at the edge node.

12. The edge node of claim 10 , wherein the path identifier comprises one of a Multiprotocol Label Switching (MPLS) label, an internet protocol (IP) version four (IPv4) address, an IP version six (IPv6) address, and a type length value (TLV) encoding.

13. A method for source routed forwarding, the method comprising:

receiving, by a controller, a request to configure an inter-domain path between a source node and a destination node for a traffic flow, the inter-domain path being a source-routed path traversing a route specified by the source node;

obtaining, by the controller, a path identifier of an intra-domain path segment extending through a domain, the intra-domain path segment representing a portion of the inter-domain path;

constructing a source route hop list that specifies the path identifier without specifying individual hops along the intra-domain path segment;

sending the source route hop list to a device, wherein the source route hop list is configured to be appended to a first data packet of the traffic flow at the source node prior to the first data packet being communicated over the inter-domain path, the first data packet preceding every other data packet in the traffic flow; and

sending, or prompting another controller to send, a first control message to an edge node in the domain, the first control message instructing the edge node to replace the path identifier with a hop list in a header of the first data packet upon receiving the first data packet over the inter-domain path and prior to forwarding the first data packet over the intra-domain path segment, the hop list specifying a sequence of next-hop addresses along the intra-domain path segment, wherein replacing the path identifier with the hop list at the edge node enables intermediate nodes on the intra-domain path segment to directly read the next-hop addresses along the intra-domain path segment from the header of the first data packet.

14. The method of claim 13 , wherein the path identifier excludes information relating to individual hops along the intra-domain path segment.

15. The method of claim 13 , the first control message further instructing the edge node to write an entry into a forwarding table that associates the path identifier with a hop list specifying a sequence of hops along the intra-domain path segment.

16. The method of claim 15 , wherein the first control message is sent to the edge node prior to the first data packet being communicated over the inter-domain path.

17. The method of claim 16 , further comprising:

sending, or prompting another controller to send, a second control message to the edge node after the first data packet is transported over the inter-domain path, wherein the second control message instructs the edge node to remove the entry from the forwarding table.

18. The method of claim 13 , wherein the path identifier comprises one of a Multiprotocol Label Switching (MPLS) label, an internet protocol (IP) version four (IPv4) address, an IP version six (IPv6) address, and a type length value (TLV) encoding.

19. A controller comprising:

a processor; and

a computer readable storage medium storing programming for execution by the processor, the programming including instructions to:

receive a request to configure an inter-domain path between a source node and a destination node for a traffic flow, the inter-domain path being a source-routed path traversing a route specified by the source node;

obtain a path identifier of an intra-domain path segment extending through a domain, the intra-domain path segment representing a portion of the inter-domain path;

construct a source route hop list that specifies the path identifier without specifying individual hops along the intra-domain path segment;

send the source route hop list to a device, wherein the source route hop list is configured to be appended to a first data packet at the source node prior to the first data packet being communicated over the inter-domain path, the first data packet preceding every other data packet in the traffic flow; and

send, or prompt another controller to send, a first control message to an edge node in the domain, the first control message instructing the edge node to replace the path identifier with a hop list in a header of the first data packet upon receiving the first data packet over the inter-domain path and prior to forwarding the first data packet over the intra-domain path segment, the hop list specifying a sequence of next-hop addresses along the intra-domain path segment, wherein replacing the path identifier with the hop list at the edge node enables intermediate nodes on the intra-domain path segment to directly read the next-hop addresses along the intra-domain path segment from the header of the first data packet.

20. The controller of claim 19 , wherein the path identifier comprises one of a Multiprotocol Label Switching (MPLS) label, an internet protocol (IP) version four (IPv4) address, an IP version six (IPv6) address, and a type length value (TLV) encoding.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: FUTUREWEI TECHNOLOGIES, INC.
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 036754/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2014
From: ROCH, EVELYNE; ASHWOOD-SMITH, PETER
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 032037/0489 →
Continuity (1)
Related Publication 20150207736A1 · Jul 23, 2015