Loading content...
Every microsecond, network bridges face a simple but critical question: What should I do with this frame? The answer—forward, filter, or flood—determines whether networks operate efficiently or waste bandwidth broadcasting traffic everywhere.
This decision is the moment where learning translates into action. The carefully built forwarding database exists precisely to answer this question as quickly and accurately as possible.
Understanding forwarding and filtering is essential because:
By the end of this page, you will master the forwarding decision process—from the exact lookup algorithm to special case handling, understand the critical difference between forwarding and filtering, analyze flooding behavior and its implications, and trace traffic flow through multi-bridge networks. You'll be able to predict exactly how a bridge will handle any given frame.
When a frame arrives at a bridge port, the decision process follows a specific sequence. Understanding this sequence is fundamental to predicting bridge behavior.
The Complete Decision Algorithm
Here is the full decision tree that a bridge follows for every incoming frame:
Decision Outcomes Explained
1. DROP (FCS Error)
If the Frame Check Sequence doesn't match the calculated CRC, the frame is corrupted. It's silently discarded. The bridge increments error counters but sends no notification to the sender—error recovery is the responsibility of higher-layer protocols.
2. FORWARD
The destination MAC is found in the forwarding database, and the associated port is different from the receiving port. The frame is queued for transmission on that specific port only. This is the optimal outcome—traffic is precisely directed.
3. FILTER
The destination MAC is found in the forwarding database, but the associated port is the same as the receiving port. This means source and destination are on the same segment—the frame doesn't need to cross the bridge. It's discarded (filtered), preventing unnecessary traffic on other segments.
4. FLOOD
The frame is copied to all ports except the receiving port. This occurs when:
Flooding ensures delivery when the specific destination is unknown but consumes more bandwidth.
Forwarding is the primary function of a bridge—directing known unicast traffic efficiently along optimal paths.
The Forwarding Process
When the decision is to forward:
Queue Selection: The frame is placed in the output queue for the destination port. High-end switches have multiple queues per port for QoS prioritization.
Congestion Check: If the output queue is full, the switch must decide whether to drop the new frame (tail drop), drop an existing frame, or use more sophisticated algorithms like WRED (Weighted Random Early Detection).
Transmission Scheduling: The frame waits its turn for transmission. In half-duplex mode, CSMA/CD rules apply. In full-duplex mode, frames are transmitted as soon as the port is available.
Frame Transmission: The frame is transmitted on the destination port. In store-and-forward mode, this happens after the complete frame is received and verified. In cut-through mode, transmission may have already started.
Multi-Destination Forwarding
In some cases, a single frame must be forwarded to multiple ports:
Unicast Frame Replication
In specific scenarios, such as port mirroring/SPAN configurations, a unicast frame may be copied to additional ports for monitoring purposes. The original forwarding decision is unchanged, but copies are created.
Multicast With IGMP Snooping
When IGMP snooping is enabled, multicast frames are forward to:
This is still "forwarding" (informed by membership data), not flooding.
Frame Modification During Forwarding
In basic bridging, frames are not modified—the same bytes received are transmitted. However, VLAN-aware bridges may:
The underlying MAC addresses and payload remain unchanged.
| Scenario | Lookup Result | Action | Performance Impact |
|---|---|---|---|
| Known unicast, local destination | Port found, different from source | Forward to single port | Optimal—minimal bandwidth use |
| Known unicast, same segment | Port found, same as source | Filter (discard) | Perfect—no crossing required |
| Known unicast, remote via multiple bridges | Port found (toward destination) | Forward | Each bridge forwards toward final destination |
| Unknown unicast | Not found | Flood all ports | Suboptimal but necessary |
| Broadcast | N/A (always flood) | Flood all ports | Required for broadcast semantics |
Filtering is the quiet hero of bridge operation—traffic that doesn't need to cross the bridge simply doesn't. This is how bridges create collision domain separation while maintaining a unified broadcast domain.
When Filtering Occurs
Filtering happens when the destination MAC address lookup reveals that the destination device is on the same port as the source device. Since both devices share the same segment, the frame doesn't need bridge assistance—it was already delivered when the source transmitted it on the shared medium.
Example Scenario
Consider this network:
[Host A]---+
|--- Port 1 ---[Bridge]--- Port 2 ---+---[Host C]
[Host B]---+ +---[Host D]
Host A sends a frame to Host B:
Meanwhile, Host C and D can simultaneously communicate on Port 2 without collision—the bridge has effectively created two independent collision domains.
You might wonder: why bother filtering if the destination already received the frame? The answer is bandwidth conservation. Without filtering, the bridge would forward the frame out Port 2, consuming bandwidth unnecessarily and potentially causing congestion. With filtering, local traffic stays local, and inter-segment traffic gets full bandwidth. This is why bridges dramatically outperform hubs.
Filtering Efficiency Measurement
The percentage of traffic filtered by a bridge is a key metric:
Filtering Ratio = (Frames Filtered / Total Frames Received) × 100%
Typical values:
A low filtering ratio indicates that most traffic crosses the bridge, suggesting:
| Filtering Rate | Interpretation | Recommended Action |
|---|---|---|
80% | Excellent—traffic is localized | Current design is optimal |
| 60-80% | Good—most traffic local | Minor optimization possible |
| 40-60% | Moderate—balanced traffic pattern | Review server placement |
| 20-40% | Poor—most traffic crosses bridge | Redesign topology or use VLANs |
| <20% | Very poor—bridge adds little value | Consider if bridging is appropriate |
Special Filtering Cases
Same-Port Broadcast Filtering
Broadcasts are NOT filtered even when all devices receiving them are on the same port as the source. This is because broadcasts are by definition intended for all devices on the broadcast domain, including those on other ports.
Self-Addressed Frames
If a frame's source and destination MAC are the same (invalid, but can happen with misconfigured software), the bridge will:
The frame is discarded, which is the correct behavior for this invalid scenario.
Static Filter Entries
Administrators can create static entries that cause specific MAC addresses to be filtered (dropped) regardless of which port they're found on. This provides MAC-based access control:
switch(config)# mac address-table static aaaa.bbbb.cccc vlan 10 drop
Any frame TO this MAC address will be dropped; any frame FROM this MAC address will also be dropped (port security violation).
Flooding is the fallback behavior when the bridge cannot determine the specific destination port. While necessary for network operation, flooding has significant implications for performance and security.
Types of Flooding
1. Unknown Unicast Flooding
When the destination MAC address isn't in the forwarding database, the bridge must flood. Common causes:
2. Broadcast Flooding
Frames with destination FF:FF:FF:FF:FF:FF must always be flooded—this is the defined behavior for broadcasts. Examples:
3. Multicast Flooding
Without IGMP snooping enabled, multicast traffic (destination starting with 01:xx:xx) is flooded. With snooping, it's forwarded only to interested parties.
Flooding Scope
Understanding where flooded frames go:
Within a VLAN: In VLAN-aware bridges, flooding is constrained to the VLAN. A flood in VLAN 10 doesn't reach ports in VLAN 20. This VLAN isolation is critical for controlling broadcast domains.
Across Bridges: Flooded frames cross bridges just like forwarded frames. If Bridge A floods to Bridge B, Bridge B will either forward (if known) or flood again. This allows unknown unicast to eventually reach any device in the network—but at the cost of bandwidth.
Trunk Ports: On trunk ports carrying multiple VLANs, the flood is tagged with the appropriate VLAN. The frame is still only flooded within its VLAN.
Implications of Excessive Flooding
1. Bandwidth Waste
Every flooded frame consumes bandwidth on every port. A 1 Gbps link carrying flooded traffic can fill with frames that only one port actually needs.
2. Security Exposure
Flooded frames reach devices not intended as recipients. Attackers can exploit this by putting NICs in promiscuous mode to capture flooded traffic.
3. CPU Impact
While the switch handles flooding in hardware, end hosts must process flooded frames to determine if they're intended recipients. This consumes host CPU cycles.
4. Congestion Chain Reaction
In oversubscribed networks, flooding can trigger congestion that causes more flooding (through buffer overflows losing learned entries), creating a negative feedback loop.
In networks with loops not blocked by STP, flooded frames can circulate forever, multiplying with each pass. A single broadcast can spawn thousands of copies within seconds, consuming all network bandwidth. This is called a broadcast storm and will bring a network to its knees. We'll explore this in detail when covering the Loop Problem.
Real networks contain multiple bridges (switches). Understanding how traffic flows through these networks requires tracing the forwarding decision at each hop.
Frame Delivery Across Multiple Bridges
Consider a linear topology:
[Host A]---[Bridge 1]---[Bridge 2]---[Bridge 3]---[Host B]
When Host A sends a frame to Host B:
Step 1: Bridge 1
Step 2: Bridge 2
Step 3: Bridge 3
When Host B responds:
Key Observations
1. Learning Propagates Backward
As frames traverse bridges, each bridge learns the source address. This means the source's location is learned at every bridge along the path—not just the first one.
2. Initial Flooding is Normal
The first frame in a new conversation is almost always flooded at some bridges. This is expected behavior, not an error. The flooding enables discovery; subsequent frames are forwarded.
3. Asymmetric Paths
If multiple paths exist (and STP has blocked some), forward and return traffic may take different routes. Each bridge independently makes forwarding decisions based on its own FDB.
4. Convergence Time
for a new host:
This convergence happens within milliseconds of traffic flow beginning.
In hierarchical campus networks (access → distribution → core → distribution → access), a frame may cross 5+ bridges. Each bridge independently learns and forwards. The principle remains the same: learn source, lookup destination, forward/filter/flood. The learning process builds a consistent, distributed understanding of the network topology.
Let's work through a concrete example showing how forwarding tables evolve and drive traffic decisions.
Network Topology
Consider a simple network:
VLAN 10
[PC1: AA:11:...]--+
|--Port 1
[PC2: BB:22:...]--+
[Switch]
[Server1: CC:33:...]------Port 2
[Server2: DD:44:...]------Port 3
| Time | Event | FDB After Event | Forwarding Decision |
|---|---|---|---|
| T0 | Switch boots | Empty | All traffic will be flooded |
| T1 | PC1 → Server1 | AA:11 → P1 | Flood (Server1 unknown) |
| T2 | Server1 → PC1 | AA:11 → P1, CC:33 → P2 | Forward to Port 1 |
| T3 | PC2 → Server1 | AA:11 → P1, CC:33 → P2, BB:22 → P1 | Forward to Port 2 |
| T4 | PC1 → PC2 | Same | Filter (both on Port 1) |
| T5 | Server2 → PC1 | Add DD:44 → P3 | Forward to Port 1 |
| T6 | PC1 → Server2 | Same | Forward to Port 3 |
Analysis of Each Event
T1: PC1 → Server1 (Initial Traffic)
T4: PC1 → PC2 (Same Segment Traffic)
This is the filtering optimization in action—local traffic stays local.
Viewing the FDB on Real Switches
Cisco IOS:
switch# show mac address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- ---- -----
10 aa11.0000.0001 DYNAMIC Gi0/1
10 bb22.0000.0002 DYNAMIC Gi0/1
10 cc33.0000.0003 DYNAMIC Gi0/2
10 dd44.0000.0004 DYNAMIC Gi0/3
When troubleshooting connectivity issues, examining the FDB is invaluable. If a device's MAC appears on the wrong port, traffic will be misdirected. If a device's MAC is missing, traffic will be flooded instead of forwarded. If a MAC keeps flapping between ports, there's a topology issue. The FDB is a window into the switch's understanding of the network.
Certain MAC addresses receive special treatment in the forwarding decision process. Understanding these exceptions is essential for complete mastery of bridge behavior.
1. Broadcast Address (FF:FF:FF:FF:FF:FF)
The all-ones broadcast address is always flooded:
2. Multicast Addresses (01:xx:xx:xx:xx:xx)
MAC addresses with the group bit set (least significant bit of first octet = 1):
| Address Range | Purpose | Forwarding Behavior |
|---|---|---|
| 01:80:C2:00:00:00 | STP (Spanning Tree Protocol) | Processed locally, never forwarded |
| 01:80:C2:00:00:01 | Pause frames (Flow Control) | Processed locally, never forwarded |
| 01:80:C2:00:00:02 | LACP (Link Aggregation) | Processed locally, never forwarded |
| 01:80:C2:00:00:03 | IEEE 802.1X (Auth) | Processed locally, never forwarded |
| 01:00:0C:CC:CC:CC | Cisco CDP/VTP/PAgP | Processed locally, never forwarded |
| 01:80:C2:00:00:0E | LLDP (Link Layer Discovery) | Processed locally, never forwarded |
| 01:00:5E:xx:xx:xx | IPv4 Multicast | Flood or IGMP snooping |
| 33:33:xx:xx:xx:xx | IPv6 Multicast | Flood or MLD snooping |
3. Local Link Layer Addresses
IEEE reserved addresses in the 01:80:C2:00:00:0x range receive special handling:
4. Locally Administered Addresses
MAC addresses with the locally administered bit set (second-least significant bit of first octet = 1):
Identifying Address Types
The first byte of a MAC address encodes important information:
Bit 0 (LSB): Group/Individual
0 = Unicast (individual address)
1 = Multicast/Broadcast (group address)
Bit 1: Universal/Local
0 = Universally administered (OUI-based)
1 = Locally administered (may not be unique)
Examples:
00:1A:2B:... → Unicast, universal (normal NIC)01:00:5E:... → Multicast, universal (IPv4 multicast)02:42:AC:... → Unicast, local (Docker container)FE:FF:FF:... → Would be multicast (group bit set)Spanning Tree BPDUs (sent to 01:80:C2:00:00:00) deserve special mention. These frames are NEVER forwarded—they're consumed by the local bridge. This ensures STP operates correctly even on port where STP has blocked forwarding. If BPDUs were forwarded like normal traffic, loop detection would fail.
We've thoroughly examined how bridges make forwarding decisions. Let's consolidate the essential concepts:
What's Next: Aging Entries
We've seen how entries enter the forwarding database (learning) and how they're used (forwarding/filtering). But what happens when devices become inactive or leave the network? The next page explores entry aging—the mechanism that keeps the forwarding database fresh and accurate by removing stale entries that no longer reflect network reality.
You now understand the complete forwarding decision process—from frame reception through the decision tree to delivery or discarding. This knowledge enables you to predict exactly how bridges will handle any frame type, troubleshoot traffic flow issues, and design efficient network topologies.