I'm currently studying my ICND1 book, just got to Chapter 8. Had a question on Chapter 7, "Do I Know This Already?" question 5. It was answered here:
https://learningnetwork.cisco.com/message/8758#8758
however something struck me as odd. After completing the chapter i went back and re-did the test and got the question right w/o issue. However, how it goes is as follows:
PC1, PC2, PC3 all connected to Switch1:
- PC1 sends a frame to Switch1 destined for PC2 (Switch1 adds PC1 entry to MAC table)
- Switch1 doesn't have PC2 in it's MAC table, so it broadcasts the frame out all interfaces (except source, specifically PC2, PC3)
- Before PC2 can reply, PC3 also sends a frame destined for PC2 (Switch1 adds PC3 entry to MAC table, still doesn't have PC2)
Correct answer is Switch1 rightfully so, floods the frame out all interfaces (accept the source) because PC2 is still unknown. Here lies my question:
- Switch1 already has an entry for PC1 and knows (in the books example) it's on Fa 0/1, so why then does the switch flood that frame out that interface?
It seems like it would make sense to keep a short list of "unassigned interfaces" that it would flood to learn. Rather than every interface, even ones it already knows. One thing i thought of, is since NICs don't appear to be proactive with notifying the switch, "Eg: Hey i'm [MAC] just letting you know i'm on this interface" but rather get learned naturally when they send frames, or get flooded and respond. If we swapped PC2 and PC1s cable, not forwarding out Fa 0/1 would be an error because we'd never know that PC2 was there until it sent a frame.
I realize this is a very specific question, but i'm just curious. Do we always forward out to every interface just incase? Or would there be ways to optimize the process? Thanks in advance
