Layer 2 Switch Operation
Recall that with shared Ethernet networks using hubs, many hosts are connected to a single broadcast and collision domain. In other words, shared Ethernet media operates at OSI Layer 1.
Each host must share the available bandwidth with every other connected host. When more than one host tries to talk at one time, a collision occurs, and everyone must back off and wait to talk again. This forces every host to operate in half-duplex mode, by either talking or listening at any given time. In addition, when one host sends a frame, all connected hosts hear it. When one host generates a frame with errors, everyone hears that, too.
At its most basic level, an Ethernet switch provides isolation from other connected hosts in several ways:
The collision domain's scope is severely limited. On each switch port, the collision domain consists of the switch port itself and the devices directly connected to that porteither a single host or if a shared-media hub is connected, the set of hosts connected to the hub.
Host connections can operate in full-duplex mode because there is no contention on the media. Hosts can talk and listen at the same time.
Bandwidth is no longer shared. Instead, each switch port offers dedicated bandwidth across a switching fabric to another switch port. (These connections change dynamically.)
Errors in frames are not propagated. Each frame received on a switch port is checked for errors. Good frames are regenerated when they are forwarded or transmitted. This is known as store-and-forward switching technology, where packets are received, stored for inspection, and then forwarded.
You can limit broadcast traffic to a volume threshold.
n Other types of intelligent filtering or forwarding become possible.
A switch is basically a multiport transparent bridge, where each switch port is its own Ethernet LAN segment, isolated from the others. Frame forwarding is based completely on the MAC addresses contained in each frame, such that the switch won't forward a frame unless it knows the destination's location. (In cases where the switch doesn't know where the destination is, it makes some safe assumptions.) Figure 3-1 shows the progression from a two-port to a multiport transparent bridge, and then to a switch.
Figure 3-1 A Comparison of Transparent Bridges and Switches
The entire process of forwarding Ethernet frames then becomes figuring out what MAC addresses connect to which switch ports. A switch must either be told explicitly where hosts are located, or it must learn this information for itself. You can configure MAC address locations through a switch's command-line interface, but this quickly gets out of control when there are many stations on the network or when stations move around.
To dynamically learn about station locations, a switch listens to incoming frames and keeps a table of address information. As a frame is received on a switch port, the switch inspects the source MAC address. If that address is not in the address table already, the MAC address, switch port, and Virtual LAN (VLAN) on which it arrived are recorded in the table. Learning the address locations of the incoming packets is easy and straightforward.
Incoming frames also include the destination MAC address. Again, the switch looks this address up in the address table, hoping to find the switch port and VLAN where the address is attached. If it is found, the frame can be forwarded on out that switch port. If the address is not found in the table, the switch must take more drastic actionthe frame is forwarded in a "best effort" fashion by flooding it out all switch ports assigned to the source VLAN. This is known as unknown unicast flooding, where the unicast destination location is unknown. Figure 3-2 illustrates this process, using only a single VLAN for simplification.
A switch constantly listens to incoming frames on each of its ports, learning source MAC addresses. However, be aware that the learning process is allowed only when the Spanning Tree Protocol (STP) algorithm has decided a port is stable for normal use. STP is concerned only with maintaining a loop-free network, where frames will not be recursively forwarded. If a loop were to form, a flooded frame could follow the looped path, where it would be flooded again and again.
In a similar manner, frames containing a broadcast or multicast destination address are also flooded. These destination addresses are not unknownthe switch knows them well. They are destined for multiple locations, so they must be flooded by definition. In the case of multicast addresses, flooding is performed by default. Other more elegant means of determining the destination locations are available and are discussed in Chapter 15, "Multicast."
Follow That Frame!
You should have a basic understanding of the operations that a frame undergoes as it passes through a Layer 2 switch. This helps you get a firm grasp on how to configure the switch for complex functions. Figure 3-3 shows a typical Layer 2 Catalyst switch and the decision processes that take place to forward each frame.
Figure 3-2 Unknown Unicast Flooding
When a frame arrives at a switch port, it is placed into one of the port's ingress queues. The queues can each contain frames to be forwarded, each queue having a different priority or service level. The switch port can then be fine-tuned so that important frames get processed and forwarded before less-important frames. This can prevent time-critical data from being "lost in the shuffle" during a flurry of incoming traffic.
Figure 3-3 Operations Within a Layer 2 Catalyst Switch
As the ingress queues are serviced and a frame is pulled off, the switch must figure out not only where to forward the frame but also if it should be forwarded and how. There are three fundamental decisions to be madeone concerned with finding the egress switch port, and two concerned with forwarding policies. All of these decisions are made simultaneously by independent portions of switching hardware and can be described as follows:
L2 Forwarding TableThe frame's destination MAC address is used as an index, or key, into the Content Addressable Memory (CAM) or address table. If the address is found, the egress switch port and the appropriate VLAN ID are read from the table. (If the address is not found, the frame is marked for flooding so that it is forwarded out every switch port in the VLAN.)
Security ACLsAccess control lists (ACLs) can be used to identify frames according to their MAC addresses, protocol types (for non-IP frames), IP addresses, protocols, and Layer 4 port numbers. The Ternary Content Addressable Memory (TCAM) contains ACLs in a compiled form, such that a decision can be made on whether to forward a frame in a single table lookup.
QoS ACLsOther ACLs can classify incoming frames according to quality of service (QoS) parameters, to police or control the rate of traffic flows, and to mark QoS parameters in outbound frames. The TCAM is also used to make these decisions in a single table lookup.
The CAM and TCAM tables are discussed in greater detail in the "CAM" and "TCAM" sections later in this chapter. After the CAM and TCAM table lookups have occurred, the frame is placed into the appropriate egress queue on the appropriate outbound switch port. The egress queue is determined by QoS values either contained in the frame or passed along with the frame. Like the ingress queues, the egress queues are serviced according to importance or time criticality; frames are sent out without being delayed by other outbound traffic.