Cisco IOS: Afficher l'ordre de sortie de la route IP

9

J'exécute quelques tests BGP à travers le laboratoire avant de les déployer en production (ainsi, toutes les adresses IP ou numéros AS, etc. utilisés ici le sont de manière complètement fictive).

Quelque chose qui m'a toujours dérangé est la sortie sur Cisco IOS de show ip route. Dans quel ordre sont ces routes, ce n'est pas numérique, 1, 2, 58, 10! Ils ne sont pas non plus regroupés par protocole ou par métrique.

br2#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 4 subnets
B       1.1.1.1 [200/0] via 10.10.0.1, 00:20:24
B       1.1.0.1 [200/0] via 10.10.0.1, 00:20:24
B       1.1.0.2 [20/0] via 10.20.0.1, 00:15:03
B       1.1.2.1 [200/0] via 10.10.0.1, 00:20:24
     2.0.0.0/32 is subnetted, 4 subnets
B       2.1.2.1 [20/0] via 10.100.0.1, 07:41:53
B       2.1.3.1 [20/0] via 10.200.0.1, 07:41:53
B       2.1.1.1 [20/0] via 10.100.0.1, 07:41:53
B       2.1.4.1 [20/0] via 10.200.0.1, 07:41:53
     58.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
B       58.58.58.2/32 [200/0] via 10.65.12.2, 00:20:25
S       58.58.58.0/24 is directly connected, Null0
B       58.58.58.1/32 [200/0] via 10.65.11.2, 00:20:26
     10.0.0.0/8 is variably subnetted, 15 subnets, 3 masks
i L2    10.10.0.0/30 [115/10] via 10.65.0.1, FastEthernet0/0
C       10.0.0.2/32 is directly connected, Loopback0
i L2    10.0.1.2/32 [115/30] via 10.65.0.1, FastEthernet0/0
i L2    10.0.0.1/32 [115/20] via 10.65.0.1, FastEthernet0/0
C       10.20.0.0/30 is directly connected, FastEthernet1/0
i L2    10.65.11.0/30 [115/20] via 10.65.0.1, FastEthernet0/0
i L2    10.65.13.0/30 [115/20] via 10.65.0.1, FastEthernet0/0
i L2    10.65.12.0/30 [115/20] via 10.65.0.1, FastEthernet0/0
i L2    10.65.1.0/28 [115/20] via 10.65.0.1, FastEthernet0/0
B       10.65.12.12/32 [200/0] via 10.65.12.2, 00:20:26
B       10.65.11.11/32 [200/0] via 10.65.11.2, 00:20:26
C       10.65.0.0/28 is directly connected, FastEthernet0/0
C       10.100.0.0/30 is directly connected, FastEthernet2/0.100
C       10.200.0.0/30 is directly connected, FastEthernet2/0.200
B       10.10.200.0/30 [20/0] via 10.200.0.1, 07:41:57
     60.0.0.0/32 is subnetted, 1 subnets
B       60.0.0.60 [200/0] via 10.65.13.2, 00:20:27

Même dans les limites de classe complète ou les limites entières de groupes de préfixes, par exemple, 10.65.0.0/28vient après 10.65.11.11/32.

jwbensley
la source
show ip cefaffiche les entrées de transfert dans l'ordre numérique
jwbensley

Réponses:

12

Ils sont par ordre de spécificité; Le plus spécifique (masque de réseau le plus long) est le premier et le moins spécifique (le masque de réseau le plus court) est le dernier. Si le réseau est variable en sous-réseaux, alors ils sont regroupés avec le moins spécifique des différents masques de réseau, et ordonnés le plus spécifique en premier dans chacun des groupes.

mise à jour

Il semble que la sortie de show ip routesoit dans l'ordre de l'arborescence interne, plutôt que dans une liste explicitement ordonnée (dans le sens de l'ordre de sélection de l'itinéraire).

Par exemple, voici un ancien article des forums Cisco; https://supportforums.cisco.com/thread/344940 concernant IOS 12.

(Si quelqu'un peut écrire une réponse plus fiable, veuillez me laisser un commentaire et je supprimerai ma réponse.)

Craig Constantine
la source
1
Cela n'a pas de sens pour moi; La sortie commence par huit / 32 puis sur 58/8, nous sommes donc passés de / 32 à / 8. Dans cette gamme 58/8, les itinéraires sont classés / 32, / 30, / 32 dans cet ordre!? En sortant de 58/8, nous passons à 10/8 (si cela devait arriver avant 58/8?), Puis à 60.0.0.60/32. Dans 10/8 par exemple, l'ordre est (travailler sur la sortie ci-dessus) / 30, / 32, / 32, / 32, /30.... Pouvez-vous me montrer ce que vous voulez dire?
jwbensley
Il s'avère que la commande est plus compliquée - ou plutôt, moins significative - que je ne le pensais. Réponse modifiée ci-dessus.
Craig Constantine