Pour Cisco Hardware dCEF, basé sur certains documents publiés sur le site Web de Cisco, au niveau de la carte / interface de ligne d'entrée, il recherche conceptuellement la FIB avec l'adresse IP dst et obtient un pointeur vers une entrée de table de contiguïté, où les informations de réécriture L2 sont stockées, par exemple, nexthop mac, etc.
Mais ce qui me confond, c'est que la réécriture L2 ne se produit-elle pas sur la carte / interface de ligne de sortie? Si oui, alors pourquoi cette table de contiguïté est-elle stockée en entrée? Ou où se passe la recherche de table de contiguïté? entrée ou sortie? Si c'est sur l'entrée, les informations de réécriture L2 sont-elles transférées de la carte d'entrée à la carte de ligne de sortie? Ne serait-ce pas un gaspillage de bande passante de tissu?
Réponses:
Pas vraiment, la décision de transfert / suppression, la recherche de contiguïté L2, la décrémentation du TTL, le calcul de la somme de contrôle IP, etc. se produisent tous sur la carte de ligne d' entrée .
Conceptuellement, vous pouvez diviser le flux d'informations en un plan de contrôle et un plan de données, même dans le châssis du routeur. Il semble que la plus grande partie de votre confusion tourne autour du fonctionnement du plan de contrôle ... voici un schéma rapide que j'ai piraté pour illustrer ...
L'IPC synchronisé est assez critique pour le fonctionnement de dCEF; si vous ne gardez pas les messages synchronisés entre toutes les cartes de ligne, vous pouvez vous retrouver avec des incohérences de préfixe .
La mécanique de la façon dont le routeur le fait est spécifique à la plate-forme, donc je ferai référence à la plate-forme que je connais le mieux, qui est Catalyst 6500 avec Supervisor720 / Supervisor2T. Le moteur de transfert et de réécriture sur une carte de ligne Catalyst 6500 dCEF est en fait une copie miniature du superviseur lui-même; ainsi le processus entier de transmission et de commutation IP s'exécute comme s'il faisait comme si le paquet était transmis de manière centralisée sur le superviseur. La linecard d'entrée dCEF recherche les informations requises dans la table CAM / CEF, puis construit un en-tête qu'elle attache au paquet.
La linecard de sortie regarde l'en-tête et utilise les informations de contiguïté à l'intérieur pour écrire le paquet sur le fil.
Vous pouvez donc prendre l'intégralité de la décision de transfert sur l'entrée.
Oui
Je ne pense pas, mais là encore, je pourrais être biaisé :-)
la source
Le RP (exécutant divers processus de protocole de routage) construit la FIB et la publie sur toutes les cartes de ligne. Il y a un FIB, mais il est répliqué sur chaque linecard. (oui, parfois ils se désynchronisent.)
la source