Regle du longest match
Définition
La regle du longest match (ou longest prefix match) signifie que le routeur choisit, parmi toutes les routes correspondantes dans sa table, celle dont le prefixe est le plus long (masque le plus specifique) pour la destination du paquet.
Contexte
CCST teste regulierement cette notion dans les exercices de lecture de table de routage. C'est le mecanisme fondamental par lequel un routeur decide ou envoyer un paquet lorsque plusieurs routes pourraient correspondre.
Details techniques
Principe
Le routeur effectue un AND binaire entre l'adresse IP de destination et le masque de chaque route. Si le resultat correspond au reseau de la route, c'est un match. Parmi tous les matches, le routeur choisit celui avec le masque le plus long (le plus de bits a 1).
Exemple avec table de routage
Router# show ip route
S 10.0.0.0/8 [1/0] via 192.168.1.1 ← /8 (8 bits)
O 10.10.0.0/16 [110/20] via 192.168.1.2 ← /16 (16 bits)
C 10.10.10.0/24 is directly connected, Gi0/0 ← /24 (24 bits)
Paquet pour 10.10.10.14 :
| Route | Masque | Match ? | Longueur du prefixe |
|---|---|---|---|
| 10.0.0.0/8 | 255.0.0.0 | Oui (10.x.x.x) | 8 bits |
| 10.10.0.0/16 | 255.255.0.0 | Oui (10.10.x.x) | 16 bits |
| 10.10.10.0/24 | 255.255.255.0 | Oui (10.10.10.x) | 24 bits ← gagne |
Le routeur utilise la route /24 car 24 > 16 > 8.
Cas concrets
| Destination | Routes candidates | Route choisie | Raison |
|---|---|---|---|
| 10.10.10.14 | /8, /16, /24 | /24 | Masque le plus long |
| 10.10.20.5 | /8, /16 | /16 | /24 ne matche pas (.20 ≠ .10) |
| 10.50.1.1 | /8 | /8 | Seule route qui matche |
| 8.8.8.8 | /8, /16, /24 | Aucune → default route ou drop | Aucun match |
Lien avec la route par defaut
La route par defaut 0.0.0.0/0 a un prefixe de longueur 0 (aucun bit). Elle matche toute destination mais perd toujours face a une route plus specifique. C'est le "dernier recours" (gateway of last resort).
0.0.0.0/0 → prefixe 0 bits (matche tout mais perd toujours)
10.0.0.0/8 → prefixe 8 bits
10.10.10.0/24 → prefixe 24 bits (gagne si applicable)
10.10.10.128/25 → prefixe 25 bits (encore plus specifique)
Visualisation binaire
Destination : 10.10.10.14 = 00001010.00001010.00001010.00001110
Route /8 : 00001010.|........|........|........ → 8 bits matchent
Route /16 : 00001010.00001010.|........|........ → 16 bits matchent
Route /24 : 00001010.00001010.00001010.|........ → 24 bits matchent ← BEST
Pourquoi le longest match ?
Un prefixe plus long = un reseau plus petit et plus precis. Le routeur prefere toujours la route la plus specifique car elle guide le paquet plus precisement vers sa destination, comme un code postal plus complet mene plus pres de l'adresse.
Exemple concret
Un routeur d'entreprise a une route par defaut (0.0.0.0/0 vers Internet), une route OSPF (10.10.0.0/16 vers le WAN), et une route connected (10.10.10.0/24 sur son LAN). Un paquet destine a 10.10.10.50 est livre directement sur le LAN (/24 gagne). Un paquet destine a 10.10.20.1 part vers le WAN (/16 gagne). Un paquet destine a 8.8.8.8 part vers Internet (default route, /0).