Chapter 1, “Introduction to IP Multicast,” examined the differences between unicast, broadcast, and multicast messages. This chapter takes an in-depth look at IP multicast messages at Layer 2 and how they are transported in a Layer 2 domain. This chapter covers the basic elements of multicast functionality in Layer 2 domains as well as design considerations for multicast deployments.
Layered Encapsulation
Before reviewing multicast in Layer 2, we must discuss fundamental packet-forwarding concepts to establish a baseline of the process. Encapsulation is an important component of the OSI model for data communication and is absolutely essential in IP networks. Encapsulation is the method by which information is added at each layer of the OSI reference model, used for processing and forwarding purposes. Think of it like an onion, with many layers. This information is added in the form of headers and footers. At each layer of the OSI reference model, the data is processed, encapsulated, and sent to the next layer. Take a look at Figure 2-1 to understand how this works.
Figure 2-1 OSI Model and Data Encapsulation
Data from the application, presentation, and session layers (Layers 1, 2, and 3) is encapsulated at Layer 4 with transport protocol information. This information is encapsulated in TCP and/or UDP with specific port numbers. For example, TCP port 80 is typically web traffic. This allows an operating system to forward data to an appropriate application or subroutine. Layer 3 adds logical forwarding details (source and destination IP addresses) so that networking devices can determine the best path toward a destination. Finally, Layer 2 adds hardware forwarding information (source and destination MAC addresses). This allows data to be passed physically to the appropriate machine or the next hop in a network. A data transmission at Layer 4 is called a segment, a packet at Layer 3, and a frame at Layer 2.
At each step through a network, routers and switches use these encapsulation headers and footers to make decisions about how to treat data transmissions. The diagrams in Chapter 1 show much of this processing in action. In that chapter, you learned the uniqueness of IP multicast packets compared to unicast and broadcast packets. From a Layer 2 perspective, this is only part of the story.
To better explain what happens to a packet traversing the network, we will walk you through the Layer 2 and Layer 3 transmission process. Figure 2-2 illustrates the first step in this process. Before the sender has the ability to encapsulate any data, it must first understand where the destination is located. The sender performs a simple check to verify if the receiving device is on the same subnet. This is accomplished by checking the destination IP address against the local subnet. In this example, the receiver is not on the same subnet. The sender must use the configured route to the destination. In most cases, this is the default-gateway.
Figure 2-2 Layer 2 and Layer 3 Transport Process on the Local Segment
Before the sender can communicate with the default gateway, it must know the media access control (MAC) address of that device. Because the destination is on a different segment, the sender will need to discover the MAC address of the default gateway (IP address 10.1.1.1) using an Address Resolution Protocol (ARP) request. The default gateway responds to the ARP request with its MAC address. Finally, the sender has enough information to encapsulate the data with the destination IP address of Host A and the MAC addresses of the default gateway, as shown in Figure 2-2.
The default gateway or router has Layer 3 IP routing information that determines where Host A is physically connected. This information determines the appropriate outgoing interface to which the message should be sent. The router should already know the MAC address of the neighbor router if there is an established routing protocol adjacency. If not, the same ARP request process is conducted. With this information, the router can now forward the message. Understand that both Layer 2 addresses (SA and DA) change at each logical hop in the network, but the Layer 3 addresses never change and are used to perform route lookups.
When the packet is forwarded to the final router, that router must do a lookup and determine the MAC address of the destination IP. This problem exists in part because of the historical implications of Ethernet. Ethernet is a physical medium that is attached to a logical bus network. In a traditional bus network, many devices can be connected to a single wire. If the gateway router does not have an entry from a previous communication, it will send out an ARP request and finally encapsulate with the destination MAC address of the host, as shown in Figure 2-3.
Figure 2-3 Layer 2 and Layer 3 Transport Process on the Destination Router
After the final router properly encapsulates the message, it is the responsibility of the switch to send the packet to the appropriate host, and only to that host. This is one of the primary functions of a traditional Layer 2 switch—to discover the location of devices connected to it. It does this by cataloging the source MAC addresses in frames received from connected devices. In this way, the switch builds a table of all known MAC addresses and keeps Ethernet networks efficient by making intelligent Layer 2 forwarding decisions.
This process is easy to understand for the unicast packet shown. Items to consider while you read this chapter include the following:
What happens if the packet is a multicast packet and many hosts connected to a switch are subscribed to the destination multicast group?
Can a switch still make efficient forwarding decisions if there are multiple ports that require a copy of the packet (meaning there are multiple endpoints on multiple segments that need a copy of the frame)?
If the MAC address in a frame is not the physical address of the host, will it process the packet, assuming it is not the intended recipient?
How do you identify multicast groups at Layer 2?