Forward filtering flooding
Définition
Un switch L2 prend trois types de decisions pour chaque trame recue : forward (transmettre sur un port precis), filter (ne pas transmettre sur les autres ports) ou flood (diffuser sur tous les ports du VLAN sauf le port source). Cette logique repose sur le contenu de la table CAM et le type d'adresse MAC de destination.
Contexte
CCST demande de comprendre cette logique de decision pour interpreter le comportement d'un switch en depannage : pourquoi un hote recoit-il du trafic inattendu ? Pourquoi un autre ne recoit-il rien ?
Details techniques
Logique de decision du switch
Trame recue sur port Fa0/1
│
v
┌───────────────────────────────┐
│ 1. Apprendre MAC source │
│ (ajouter a la table CAM)│
└──────────────┬────────────────┘
│
v
┌───────────────────────────────┐
│ 2. Chercher MAC destination │
│ dans la table CAM │
└────┬───────────┬───────────┬────┘
│ │ │
Connue Inconnue Broadcast
│ │ (FF:FF:FF:FF:FF:FF)
v v v
FORWARD FLOOD FLOOD
(1 port) (tous ports (tous ports
sauf source) sauf source)
Tableau recapitulatif
| MAC destination | Action | Ports concernés |
|---|---|---|
| Connue (dans la table CAM) | Forward + Filter | Trame envoyee sur le port associe, filtree sur tous les autres |
| Inconnue (unknown unicast) | Flood | Trame envoyee sur tous les ports du meme VLAN sauf le port source |
| Broadcast (FF:FF:FF:FF:FF:FF) | Flood | Trame envoyee sur tous les ports du meme VLAN sauf le port source |
| Multicast (01:xx:xx:xx:xx:xx) | Flood (par defaut) | Similaire au broadcast, sauf si IGMP snooping est active |
Ordre des operations
- Le switch lit la MAC source de la trame entrante.
- Il verifie si cette MAC est deja dans la table CAM :
- Si non : il l'ajoute avec le port d'entree et un timer (300 s par defaut).
- Si oui mais port different : il met a jour l'entree (le poste a peut-etre change de port).
- Il lit la MAC destination :
- Connue → forward.
- Inconnue ou broadcast → flood.
Impact en depannage
| Observation | Signification |
|---|---|
| Un PC recoit du trafic non destine a lui | Probablement du flood (unknown unicast ou broadcast) |
| Un PC ne recoit rien | Sa MAC est inconnue du switch emetteur ou le port est dans le mauvais VLAN |
| Un port montre beaucoup de MAC | Ce port est probablement un uplink vers un autre switch |
| La table CAM est pleine | Attaque potentielle (MAC flooding) — le switch passe en mode flood total |
Exemple concret
PC-A (MAC AAAA) sur Fa0/1 envoie une trame a PC-B (MAC BBBB). Le switch apprend AAAA sur Fa0/1. Si BBBB est dans la table CAM associee a Fa0/6, la trame est forwarded uniquement sur Fa0/6 et filtree sur tous les autres ports. Si BBBB n'est pas encore connue, la trame est floodee sur Fa0/2 a Fa0/24 (tous les ports du meme VLAN sauf Fa0/1). Quand PC-B repond, sa MAC est apprise sur Fa0/6 et les echanges suivants sont point-a-point.