The Process of Packet Replication in a Switch
Nearly all the protocols required to accomplish multicast forwarding are open standards, ratified by working groups like the IETF. However, the actual process of forwarding packets through a network device is not an open standard. The same is true of unicast packets. The way each manufacturer, or in some cases product lines, implement forwarding is what differentiates each platform from the next.
At the heart of IP multicast forwarding is the packet replication process. Packet replication is the process of making physical copies of a particular packet and sending a copy out any destination interfaces in the derived forwarding path.
What makes the process of replication so different from platform to platform is where the replication occurs. Each Cisco networking platform handles this process a little differently. Many routers use centralized processing to perform replication. Other more advanced routers and switches with distributed processing require specialized application-specific integrated circuits (ASICs) to perform packet replication and forwarding from one line-card to another. At the beginning of the Internet, the key objective of packet handling was to simply forward packets.
Packet forwarding at wire speed required the specialization of ASIC processing. As features and applications embedded on routers and switches grew (including critical components in modern networks like QoS, MPLS, multicast, SNMP, flow reporting, and so on) so did the need for packet replication and treatment at wire speed. Without ASICs, router processors would be overwhelmed by packet handling requirements. Cisco Systems spent over 25 years developing custom ASICs, many specifically for packet replication needs. With that understanding, the router manufacturer must make a choice about where and on which ASIC(s) to replicate packets. This is especially true in distributed routing and switching platforms. A distributed platform uses ASICs throughout the device to push forwarding decisions as close to the interface as possible.
Some distributed platforms may forward incoming multicast packets to the central processing card. That card may take special action on the packet, replicate the packet, or forward to other line-cards for replication. If replication occurs on the central processor, then the replication model used is centralized replication and acts as a traditional bus. In a centralized replication model, resource pressure occurs on the central processor and centralized resources like memory. Depending on the size of the multicast deployment or the number of packets requiring replication can result in serious performance problems for control plane traffic.
Other distributed platforms may use the ASICs associated with the inbound interface or line card to perform replication. This is known as ingress replication. In this case, the incoming interface line card replicates the multicast packet and sends copies via a fabric toward the exit interfaces in the path. Ingress replication distributes resource pressure across multiple processors and may still require occasional forwarding by the central processor depending on enabled features.
The ASICs associated with the exit interfaces can also perform replication. This, of course, is egress replication. In some instances, replicating only at the egress interface could mean an obvious loss in efficiency; however, exit line cards in many models terminate encapsulated multicast packets destined for certain domains. This means that the egress line card can be an ideal point of replication because that particular card might have many interfaces with subscribed receivers downstream.
Platforms may implement a combination of these replication methods, centralized, ingress, and egress. This is known as distributed replication. An incoming interface ASIC may perform one level of replication and send one packet copy to each line card with exit interfaces in the forwarding tree. The egress line cards can then create additional copies, one for each interface on that card in the path. This method further distributes resource pressure across as many ASICs as possible. Figure 2-11 represents a basic distributed replication model using replication on both the incoming line card and the outgoing line card. (This is a common model used in Cisco devices, for example the Catalyst 6500 switch line.)
Figure 2-11 Packet Replication
The important thing to remember is that each manufacturer and each platform handles replication differently. To be truly competitive, each manufacturer must perform replication in a safe and efficient manner. That means the platform must forward as quickly as possible, while preventing loops and protecting precious control-plane resources. Any architect or engineer seeking to deploy IP multicast technologies should pay special attention to the replication process of each platform in the network path, as well as any specialized hardware and software feature enhancements.