Traffic engineering for bit indexed explicit replication
First Claim
1. A method, comprising:
- determining a path to be taken by a message through multiple nodes of a network configured for bit indexed forwarding, wherein the message is configured to carry a message bit array from node to node along the path;
assigning a first bit position within the message bit array to a first path segment within the path, wherein the first path segment is not directly connected to an egress node of the network;
storing, in a data structure accessible by a network controller, a mapping of the first path segment to the first bit position, whereinthe data structure is configured for storing bit position assignments for path segments, throughout the network, having assigned bit positions,the data structure is configured for use in generating the message bit array and in generating additional message bit arrays incorporating the mapping of the first path segment to the first bit position, andthe additional message bit arrays encode additional paths through the network, including one or more paths not comprising the first path segment;
communicating, to a first network node along the path, the mapping of the first path segment to the first bit position, wherein the first network node is directly connected to the first path segment;
generating the message bit array, wherein bit values at bit positions in the message bit array indicate whether respective path segments having the assigned bit positions are included in the path to be taken by the message; and
communicating, to an ingress node to the network, the message bit array and information associated with a corresponding message flow comprising the message, wherein the message bit array encodes the path for messages in the message flow.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and network devices are disclosed for traffic-engineered forwarding through a new form of bit indexed explicit replication. In one embodiment, a method includes receiving at a first node in a network a message comprising a message bit array, and comparing bit values at one or more bit positions in the message bit array to one or more entries in a forwarding table stored at the first node. The one or more bit positions correspond in this embodiment to links in the network. This embodiment of the method further includes forwarding the message over a link represented in the forwarding table if a result of the comparing indicates that the link is included in a path to be taken by the message. In a further embodiment of the method, the message is a multicast message and forwarding the message comprises forwarding a replica of the multicast message.
325 Citations
16 Claims
-
1. A method, comprising:
-
determining a path to be taken by a message through multiple nodes of a network configured for bit indexed forwarding, wherein the message is configured to carry a message bit array from node to node along the path; assigning a first bit position within the message bit array to a first path segment within the path, wherein the first path segment is not directly connected to an egress node of the network; storing, in a data structure accessible by a network controller, a mapping of the first path segment to the first bit position, wherein the data structure is configured for storing bit position assignments for path segments, throughout the network, having assigned bit positions, the data structure is configured for use in generating the message bit array and in generating additional message bit arrays incorporating the mapping of the first path segment to the first bit position, and the additional message bit arrays encode additional paths through the network, including one or more paths not comprising the first path segment; communicating, to a first network node along the path, the mapping of the first path segment to the first bit position, wherein the first network node is directly connected to the first path segment; generating the message bit array, wherein bit values at bit positions in the message bit array indicate whether respective path segments having the assigned bit positions are included in the path to be taken by the message; and communicating, to an ingress node to the network, the message bit array and information associated with a corresponding message flow comprising the message, wherein the message bit array encodes the path for messages in the message flow. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A device for controlling a network configured for bit indexed forwarding, the device comprising:
-
one or more communication interfaces; one or more computer-readable storage media configured to store topology information for the network; a processor; and stored program instructions configured, when executed by the processor, to determine, using the topology information, a path to be taken by a message through multiple nodes of the network, wherein the message is configured to carry a message bit array from node to node along the path, assign a first bit position within the message bit array to a first path segment within the path, wherein the first path segment is not directly connected to an egress node of the network, store, in a data structure accessible by a network controller, a mapping of the first path segment to the first bit position, wherein the data structure is configured for storing bit position assignments for path segments, throughout the network, having assigned bit positions, the data structure is configured for use in generating the message bit array and in generating additional message bit arrays incorporating the mapping of the first path segment to the first bit position, and the additional message bit arrays encode additional paths through the network, including one or more paths not comprising the first path segment, communicate, to a first network node along the path, the mapping of the first path segment to the first bit position, wherein the first network node is directly connected to the first path segment, generate the message bit array, wherein bit values at bit positions in the message bit array indicate whether respective path segments having the assigned bit positions are included in the path to be taken by the message, and communicate, to an ingress node of the network, the message bit array and information associated with a corresponding message flow comprising the message, wherein the message bit array encodes the path for messages in the message flow. - View Dependent Claims (16)
-
Specification