Self-routing multicast in a software defined network fabric
First Claim
1. A system, comprising:
- a switch controller comprising a hardware processor and logic integrated with and/or executable by the processor, the logic being configured to;
receive a multicast data stream join request from a source in a network;
create a multipath identifier (ID) for a multicast data stream;
create a series of path identifiers (IDs) for intermediate switches in the network based on a local network topology database, each path ID being associated with an output port bitmap; and
transmit the multipath ID and a path ID to a source of the multicast data stream, the path ID corresponding to the source of the multicast join request; and
the source of the multicast data stream configured to;
receive the multipath ID and path ID from the switch controller;
create a unicast packet having the multipath ID in a header of the unicast packet, wherein the header comprises a multicast group address appended to an end of the multipath ID; and
determine at least one output port with which to forward the unicast packet, the output port corresponding to the source of the multicast join request; and
a recipient of the unicast packet configured to convert the unicast packet into a multicast packet using the multicast group address before sending the multicast packet to a device which is not capable of interpreting the multipath ID in the header of the unicast packet.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems presented herein provide for self-routing multicast. In one embodiment, a method includes receiving, using a switch controller, a multicast data stream join request from a source in a network, and creating, using the switch controller, a multipath identifier (ID) for a multicast data stream. Moreover, the method includes creating, using the switch controller, path identifiers (IDs) for intermediate switches in the network based on a local network topology database. Each path ID is associated with an output port bitmap. The method also includes transmitting, using the switch controller, the multipath ID and a path ID to a source of the multicast data stream, the path ID corresponding to the source of the multicast join request. Also, the multipath ID and the path ID are configured to allow the source of the multicast data stream to determine an output port mapping for a packet.
-
Citations
19 Claims
-
1. A system, comprising:
-
a switch controller comprising a hardware processor and logic integrated with and/or executable by the processor, the logic being configured to; receive a multicast data stream join request from a source in a network; create a multipath identifier (ID) for a multicast data stream; create a series of path identifiers (IDs) for intermediate switches in the network based on a local network topology database, each path ID being associated with an output port bitmap; and transmit the multipath ID and a path ID to a source of the multicast data stream, the path ID corresponding to the source of the multicast join request; and
the source of the multicast data stream configured to;receive the multipath ID and path ID from the switch controller; create a unicast packet having the multipath ID in a header of the unicast packet, wherein the header comprises a multicast group address appended to an end of the multipath ID; and determine at least one output port with which to forward the unicast packet, the output port corresponding to the source of the multicast join request; and a recipient of the unicast packet configured to convert the unicast packet into a multicast packet using the multicast group address before sending the multicast packet to a device which is not capable of interpreting the multipath ID in the header of the unicast packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
receiving, using a switch controller, a multicast data stream join request from a source in a network; creating, using the switch controller, a multipath identifier (ID) for a multicast data stream; creating, using the switch controller, a series of path identifiers (IDs) for intermediate switches in the network based on a local network topology database, each path ID being associated with an output port bitmap; transmitting, using the switch controller, the multipath ID and a path ID to a source of the multicast data stream, the path ID corresponding to the source of the multicast join request; receiving, using the source of the multicast data stream, the multipath ID and path ID from the switch controller; creating, using the source of the multicast data stream, a unicast packet having the multipath ID in a header of the unicast packet, wherein the header comprises a multicast group address appended to an end of the multipath ID; determining, using the source of the multicast data stream, at least one output port with which to forward the unicast packet, the output port corresponding to the source of the multicast join request; and converting, using a recipient of the unicast packet, the unicast packet into a multicast packet using the multicast group address before sending the multicast packet to any device which is not capable of interpreting the multipath ID in the header of the unicast packet. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A system, comprising:
a hardware processor and logic integrated with and/or executable by the processor, the logic being configured to; receive a unicast packet having a multipath identifier (ID) and a multicast group address stored in a header of the unicast packet; convert the unicast packet into a multicast packet using the multicast group address; and send the multicast packet to a device identified in the multipath ID which is not capable of interpreting the multipath ID stored in the header of the unicast packet.
-
19. A method comprising:
-
receiving, using a switch controller, a multicast data stream join request from a source in a network; creating, using the switch controller, a multipath identifier (ID) for a multicast data stream; creating, using the switch controller, path identifiers (IDs) for intermediate switches in the network based on a local network topology database, each path ID being associated with an output port bitmap; and transmitting, using the switch controller, the multipath ID and a path ID to a source of the multicast data stream, the path ID corresponding to the source of the multicast join request, wherein the multipath ID and the path ID are configured to allow the source of the multicast data stream to determine an output port mapping for a packet.
-
Specification