Quelle est la différence entre les tables de transfert et de routage ?
Réponses
Trop de publicités?Le routage consiste à décider sur quelle interface un paquet doit être envoyé. Cette décision doit également être prise pour les paquets créés localement. Les tables de routage contiennent les adresses réseau et l'interface ou le nexthop associé. Cela fait référence à ip route
y ip rule
(dans un contexte Linux).
Le transfert fait référence aux paquets qui atteignent un système mais qui ne sont pas destinés à ce système. Le transfert est une décision du système : "Je prends le paquet et j'essaie de l'amener vers sa destination". Au lieu de simplement le laisser tomber. "Forwarding" est un terme courant dans le contexte des filtres de paquets. Le Netfilter de Linux possède trois chaînes dans sa table de base : INPUT, OUTPUT, et FORWARD. Cette chaîne prend simplement la décision "Ce paquet doit-il être transféré ou abandonné ?" (si le transfert est généralement activé sur le système ; Linux encore : /proc/sys/net/ipv4/ip_forward).
Sur la plupart des systèmes - ceux qui ont une seule connexion réseau - ils seront les mêmes. Sur un routeur, cependant, ils auront tendance à être différents.
La table de routage contient toutes les routes qu'un routeur apprend de ses pairs et voisins à l'aide d'un protocole de routage dynamique tel que OSPF ou BGP. Chaque route est triée et évaluée, en fonction des paramètres du protocole de routage utilisé, et le sous-ensemble des entrées de la table de routage qui sont les "meilleures" est placé dans la table de transfert. Lorsque le routeur reçoit un paquet, il consulte l'adresse de destination dans la table de transfert pour décider de l'interface par laquelle envoyer le paquet et de l'adresse du prochain saut. Lorsque de nouveaux itinéraires sont découverts, que des interfaces sont ajoutées ou retirées, ou que des changements de politique sont apportés au système de classement, la table de routage est réévaluée et la table de transfert mise à jour.
Les tables de routage sont généralement stockées en RAM ; les tables de transfert sur les équipements à haute performance seront distribuées sur les cartes de ligne (dans les systèmes modulaires), et sont stockées dans une TCAM à plus grande vitesse. Le nombre de routes pouvant être stockées dans la TCAM est généralement limité ; lorsque la table de transfert dépasse la capacité de la TCAM, les paquets peuvent être abandonnés ou acheminés par logiciel (ce qui est nettement plus lent).
Tout d'abord, de mon point de vue, je pense que vous devez d'abord comprendre clairement la distinction entre redirection y routage qui est souvent négligé. Selon le livre Réseaux informatiques en page 240 par Lary L.Peterson Le routage est une série d'actions que le routeur entreprend lorsqu'il reçoit un paquet, y compris la recherche de son adresse de destination, la consultation d'une table et l'envoi du paquet dans une direction déterminée par cette table. Cependant, le terme "routage" fait ici référence au processus par lequel les tables de transfert sont construites.
Pour en revenir à la question initiale, nous pouvons tirer la conclusion que, bien que nous puissions conserver une table de transfert et une table de routage dans les mêmes structures, il existe de nombreuses raisons de les séparer. A table de transfert doit généralement être structuré pour optimiser le processus de recherche d'une adresse lors de la transmission d'un paquet, qui contient plus d'informations comme l'adresse MAC. En revanche, le table de routage se concentre généralement sur le calcul des changements de topologie, et les entrées dans la table de routage sont généralement plus succinctes, incluant seulement l'IP du prochain saut.