Multicast packet replication
First Claim
1. A method comprising:
- identifying a set of interfaces of a network router from a first multicast list of a plurality of multicast lists;
identifying packet replicators associated with the identified interfaces, wherein the packet replicators are distributed across multiple ones of the interfaces;
generating a hierarchical data structure that represents a hierarchical relationship of packet replicators distributed across the multiple interfaces in the network router by determining a starting entry of the first multicast list based on at least an index number of the first multicast list from a data structure that maintains the plurality of multicast lists, populating a base node of the hierarchical data structure with one of the packet replicators associated with the determined starting entry of the first multicast list, and populating the hierarchical data structure with the respective packet replicators associated with ascending entries of the first multicast list; and
replicating a multicast packet in the packet replicators according to the hierarchical data structure.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described to replicate multicast packets in accordance with a hierarchical data structure. For example, upon receiving a multicast packet, a packet-forwarding engine may communicate the packet to packet-forwarding engines corresponding to starting nodes of the hierarchical data structure. The packet-forwarding engines corresponding to starting nodes of the hierarchical data structure may replicate the multicast packet for local interface cards, and forward the replicated packets to the network. Furthermore, the packet-forwarding engines may replicate the packet for packet-forwarding engines corresponding to downstream nodes. In this manner, the packet replication process is distributed throughout the router decreasing the complexity of necessary replication hardware. Furthermore, the packet replication process is highly scalable resulting in a latency of one fabric hop when the number of packet-forwarding engines doubles. Also, when the hierarchical data structure has more than one starting node, the packet replication process is less susceptible to a single point failure.
151 Citations
38 Claims
-
1. A method comprising:
-
identifying a set of interfaces of a network router from a first multicast list of a plurality of multicast lists; identifying packet replicators associated with the identified interfaces, wherein the packet replicators are distributed across multiple ones of the interfaces; generating a hierarchical data structure that represents a hierarchical relationship of packet replicators distributed across the multiple interfaces in the network router by determining a starting entry of the first multicast list based on at least an index number of the first multicast list from a data structure that maintains the plurality of multicast lists, populating a base node of the hierarchical data structure with one of the packet replicators associated with the determined starting entry of the first multicast list, and populating the hierarchical data structure with the respective packet replicators associated with ascending entries of the first multicast list; and replicating a multicast packet in the packet replicators according to the hierarchical data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A device comprising:
-
a set of router interfaces; a set of packet replicators, wherein the packet replicators are distributed across multiple ones of the router interfaces; and a hierarchical data structure that represents a hierarchical relationship of the packet replicators distributed across the multiple interfaces in the device, wherein the hierarchical data structure is generated by determining a starting entry of a first multicast list of a plurality of multicast lists based on at least an index number of the first multicast list from a data structure that maintains the plurality of multicast lists, populating a base node of the hierarchical data structure with one of the packet replicators associated with the determined starting entry of the first multicast list, and populating the hierarchical data structure with the respective packet replicators associated with ascending entries of the first multicast list, further wherein each of the packet replicators replicates a multicast packets according to the hierarchical data structure. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A method comprising:
-
identifying a set of interfaces of a network router involved in a one-to-many communication session from a first list of a plurality of lists; identifying packet replicators associated with the identified interfaces, wherein the packet replicators are distributed across multiple ones of the interfaces; generating a data structure that represents a hierarchical relationship of packet replicators distributed across the multiple interfaces in the network router by determining a starting entry of the first list based on at least an index number of the first list from a data structure that maintains the plurality of lists, populating a base node of the hierarchical data structure with one of the packet replicators associated with the determined starting entry of the first list, and populating the hierarchical data structure with the respective packet replicators associated with ascending entries of the first list; and replicating a one-to-many communication packet using the packet replicators associated with the interfaces in accordance with the hierarchical data structure. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A method comprising:
-
receiving a first multicast list of a plurality of multicast lists that identifies interface cards involved in a multicast session; deriving a list of packet-forwarding engines involved in the multicast session from the first multicast list, wherein each of the packet-forwarding engines is associated with one or more of the interface cards; and generating a hierarchical data structure based on the packet-forwarding engine list by determining a starting entry of the packet-forwarding engine list based on at least an index number of the first multicast list from a data structure that maintains the plurality of multicast lists, populating a base node of the hierarchical data structure with one of the packet-forwarding engines associated with the determined starting entry, and populating the hierarchical data structure with the respective packet-forwarding engines associated with ascending entries of the packet-forwarding engine list; replicating multicast packets within the packet-forwarding engines in accordance with the hierarchical data structure.
-
-
29. A method comprising:
-
receiving a first multicast list of a plurality of multicast lists; determining a starting entry of the first multicast list based on at least an index number of the first multicast list from a data structure that maintains the plurality of multicast lists; populating a base node of a hierarchical data structure with one of a plurality of packet replicators corresponding to the determined starting entry of the first multicast list; populating the hierarchical data structure horizontally with ascending entries of the first multicast list; and replicating packets using packet replicators associated with the router interfaces according to the hierarchical data structure. - View Dependent Claims (30, 31)
-
-
32. A system comprising:
-
a source host that sends a multicast packet; a plurality of destination hosts that receive a copy of the multicast packet; and a router that replicates the multicast packets using packet replicators distributed across multiple interfaces in the router according to a hierarchical data structure, wherein the hierarchical data structure is generated by determining a starting entry of a first multicast list of a plurality of multicast lists based on at least an index number of the first multicast list from a data structure that maintains the plurality of multicast lists, populating a base node of the hierarchical data structure with one of the packet replicators associated with the determined starting entry of the first multicast list, and populating the hierarchical data structure with the respective packet replicators associated with ascending entries of the first multicast list.
-
-
33. A computer-readable medium comprising instructions to cause a processor to:
-
identify a set of interfaces of a network router from a first multicast list of a plurality of multicast lists; identify packet replicators associated with the identified interfaces, wherein the packet replicators are distributed across multiple ones of the interfaces; generate a hierarchical data structure that represents a hierarchical relationship of packet replicators distributed across the multiple interfaces in the network router by determining a starting entry of the first multicast list based on at least an index number of the first multicast list from a data structure that maintains the plurality of multicast lists, populating a base node of the hierarchical data structure with one of the packet replicators associated with the determined starting entry of the first multicast list, and populating the hierarchical data structure with the respective packet replicators associated with ascending entries of the first multicast list; and replicate a multicast packets in the packet replicators according to the hierarchical data structure. - View Dependent Claims (34, 35, 36, 37, 38)
-
Specification