Les méthodes de transferts de trame des switchs

I. Présentation

Dans ce tutoriel, nous allons parler des principales méthodes de transfert de trame utilisées par les switchs de niveau 2 (Layer 2 switch).

Pour rappel, la couche 2 du modèle OSI est la couche de liaison qui utilise principalement les adresses MAC. Les entêtes des trames au niveau deux sont composées de l'adresse MAC source du paquet, de l'adresse MAC destination sur laquelle le switch se base pour réorienter le paquet vers un port de sortie en lisant sa table ARP, d'une indication pour le protocole de niveau supérieur puis des "data" qui sont le corps de la trame.

Il existe donc deux méthodes de transfert des trames au travers un switch de niveau 2 qui sont le cut-through et le store-and-forward. Nous allons ici détailler leurs fonctionnements global, leurs avantages et leurs limites.

II. Le store and Forward

Le store-and-forward qui signifie "Stocke et fait suivre" est une méthode de transmission des paquets qui permet d'obtenir une plus grande assurance et une vérification quant a l'intégrité des trames reçues. Le switch va attendre d'avoir reçu l'intégralité de la trame pour la vérifier puis l'envoyer si aucune erreur n'est détectée. Cette méthode se caractérise en deux points :

  • La vérification des erreurs  (Erreur Checking)

Il s'agit de la vérification des erreurs sur la trame entrante. Concrètement, le switch va stocker la trame dans un buffer (tampon) en attendant qu'elle soit totalement reçue puis va effectuer une vérification sur le CRC (Cycle Redundancy Check) parfois appelé FCS (Frame Check Sequence). Pour information, le CRC est calculé par la carte réseau émettrice qui envoi le paquet puis inclue à la fin de la trame. A la réception de la trame complète par le switch, celui-ci va recalculé le CRC du paquet puis le comparer au CRC présent en fin de trame. Si aucune différence n'est observée, le switch considère que le paquet est en bon état et fait donc suivre le paquet. Sinon, il jette le paquet (drop).

  • La mise en tampon automatique (Automatic Buffering)

Cette caractéristique permet de supporter des différences de vitesse de lien entre les ports (Ex : un port d'entrée en 10Mbps et un port de sortie en 1Gbps). Le switch met le paquet dans un buffer (tampon), il attend que celui-ci soit totalement reçu pour effectuer la vérification d'erreurs  puis le fait suivre en le mettant dans le buffer du port de sortie et l'envoi ou alors le jette si la vérification n'est pas concluante.

Cela peut permettre de ne pas encombrer le port de sortie avec l'attente de l'arrivée de la totalité d'un paquet ou la vérification de son CRC.

TransfSwitch01

III. Le Cut-through

A l'inverse du store-and-forward, le cut-through qui signifie "couper à travers" ne va pas attendre que le paquet soit totalement reçu avant de commencer à le transférer vers le port de sortie. Dés la réception de l'entête de la trame contenant l'adresse MAC de destination, le switch va lire sa table ARP, prendre la décision de transfert (vers quel port renvoyer le paquet) puis envoyer le paquet par le port de sortie. Le cut-through se caractérise en deux points également :

  • Le transfert rapide des trames (Rapid Frame Forwarding)

Cela permet de débuter la transmission d'une trame dés la réception de l'entête qui contient l'adresse MAC de destination sur laquelle se base un switch de niveau 2 pour faire suivre une trame. Pas besoin d'attendre le reste de la trame pour commencer à l'envoyer par le port de sortie.

Note : Le cut-through peut avoir un impacte négatif sur la bande passante. En effet, vu qu'il n'y a pas vérification d'erreur par le CRC des trames reçu, le switch peut très bien transmettre et faire passer des trames qui ne sont pas en bon état et qui sont donc inutiles. Cela peut encombrer la bande passante avec des trames inutiles. Il faut toutefois souligner que les cartes réseaux (NIC - Network interface controller/card) n'acceptent pas les trames qui ne sont pas complètes.

  • Fragment-free

C'est une forme modifiée du cut-through basique. Le switch attend d'avoir reçu la fenêtre de collision de 64 bits avant de faire suivre la trame sur le port de sortie. Cela permet de s'assurer de ne pas avoir de collision en attendant un laps de temps. Toutes les trames vont donc être vérifiée dans le champ de données pour s'assurer qu'aucune fragmentation n'a eu lieu. Cela permet d'avoir une meilleur vérification des erreurs que le cut-through classique avec presque pas de latence supplémentaire.

TransfSwitch02

On voit donc que le cut-through est plus approprié pour les réseaux et infrastructures nécessitant une performance très rapide.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 526.Voir tous les posts

2 thoughts on “Les méthodes de transferts de trame des switchs

  • Bonjour,

    Tout d’abord merci pour vos articles.
    Pour le mode « fragment-free » il s’agit des 64 premiers octets et non pas bits.
    Cela correspond à la taille min d’une trame Ethernet.

    Tail

    Répondre
  • Le switch est un équipement de niveau 2. Il ne possède donc pas de table ARP car il lui est impossible de lire l’en-tête IP.
    Il est nécessaire de corriger table ARP en table de @mac.

    Répondre

Répondre à Pejo Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.