Aller au contenu principal

Exercices de la semaine 6

Somme de contrôle Ethernet

Au chapitre 3, vous avez appris que les trames Ethernet possèdent un checksum. À quoi sert ce checksum? Qu'arrivera-t-il lorsqu’un récepteur refait un calcul de somme de contrôle, mais n’arrive pas à la bonne réponse?

Réponse

Les checksums permettent de valider l’intégrité des trames Ethernet. Un mauvais résultat permet d’identifier que des bits de la trame Ethernet sont erronés. Lorsqu’un récepteur reçoit un message avec un checksum invalide, celui-ci jette la trame Ethernet tout simplement. Ce sont aux protocoles de plus haut niveau de gérer la retransmission des données perdues.

Utilité des CRCs

Vrai ou faux?

Les CRCs fournissent une forme de sécurité permettant de mitiger certains des problèmes mentionnés à la section 3.10 du manuel TCP-IP Illustrated.

Réponse

Faux. Il est important de comprendre que les CRCs ne constituent pas une forme d’encryption ou de signature. Ces sommes de contrôle ne permettent même pas de valider qu’un message n’a pas été modifié en transit par un malfaiteur. En effet, il est possible qu’une trame ait été modifiée par un acteur malicieux et que celui-ci ait tout simplement recalculé la somme de contrôle avant de renvoyer la trame sur le réseau.

N’utilisez jamais une somme de contrôle pour valider qu’une trame n’a pas été modifiée en transit.

Calcul d'un CRC

Calcul de CRC: Vous recevez le message de 8 bits suivant:

0101010010101011

Ce message possède aussi un CRC de 8 bits. Votre somme de contrôle (déterminée et programmée à l’avance) est 100000111.

Jusqu’à combien d’erreurs consécutives pourriez-vous détecter dans le message reçu?

Des erreurs se sont-elles infiltrées dans votre message en transit? Quel est le message reçu? Indice: c’est une lettre majuscule en ASCII.

astuce

Le vidéo suivant est un excellente ressource sur le calcul de codes CRC: https://www.youtube.com/watch?v=izG7qT0EpBw&t=2s.

Réponse

Un code CRC de nn bits peut typiquement détecter jusqu’à nn erreurs consécutives dans un message. Vous pourriez donc ici détecter si tous les bits du message étaient inversés!

Aucune erreur ne s’est infiltrée dans votre message en transit. Si vous appliquez l’algorithme de calcul de CRC sur le message reçu, vous n’obtiendrez pas de reste (que des 0s).

Le message reçu est T en ASCII.

Taille de l'entête Ethernet en octets

Créer une trop grande quantité de trames Ethernet pour une communication vient alourdir celle-ci (ex: lorsque la charge utile est petite). En effet, les messages Ethernet possèdent un entête de taille non négligeable. Quelle est cette taille?

Réponse

Un header Ethernet est typiquement constitué de 18 octets, incluant les 4 octets de CRC (qui sont en fait situés à la fin de la trame)

Taille de l'entête Ethernet en mètres

Quelle est la taille, en mètres, d’un entête Ethernet sur un réseau 1Gb/s?

Indice: Allez lire la première note de la section 3.2.2.2 si vous ne savez pas comment vous y prendre.

Réponse

Supposons que la taille de l’entête est de 18 bytes, soit 144 bits. La vitesse de propagation des électrons dans un câble de cuivre est d’environ 231×106231 \times 10^6 m/s (pas mal moins rapide que la vitesse de la lumière).

Une interface 1Gb/s prendra 1441×109=0.144μs\frac{144}{1×10^9} = 0.144\mu s pour mettre 144 bits sur la ligne. En 0.144μs0.144 \mu s, le premier bit de l’entête sera 0.144×106×231×10633.26m0.144 \times 10^{−6} \times 231 \times 10^6 \approx 33.26\text{m} plus loin dans le fil que le dernier bit de l’entête!

Transmission sur lien partagé

Quel type de mécanisme est utilisé pour éviter que les interfaces ne transmettent en même temps sur Ethernet?

Réponse

Les interfaces 802.3 sont capables de détecter des collisions sur le lien. Lorsqu’une collision est détectée, les interfaces cessent de transmettre pour une durée aléatoire. La taille de la distribution des durées d’attente augmente avec le nombre de collisions consécutives sur le lien. Ce protocole est CSMA/CD.

Évitement de collisions sur Ethernet

Les méthodes d’évitement de collision sont-elles régulièrement utilisées sur un réseau Ethernet moderne? Pourquoi?

Réponse

Non, les méthodes d’évitement de collision ne sont pas régulièrement utilisées sur un réseau Ethernet moderne. Les différents hôtes sont typiquement connectés à travers une switch qui gère l’acheminement des trames Ethernet. Chaque hôte possède sa propre connexion full-duplex à la switch, ce qui élimine la nécessité de la détection de collision

Ethernet et LAN

Le poste A est connecté sur un réseau Ethernet comme présenté à la figure suivante.

Topologie à considérer pour l'exercice Ethernet et LAN

Les tables d’adressage des commutateurs A et B sont vides. Assumez que le résultat de chaque question affecte la question subséquente.

  1. Le poste A tente de communiquer avec le poste B. Qui reçoit le message?
  2. Le poste B tente alors de répondre au poste A. Quelles entrées sont alors ajoutées aux tables de commutation? Qui reçoit le message?
  3. Le poste C tente d’envoyer une trame au poste A. Est-ce que cela modifie les entrées de la filtering database du commutateur A?
  4. Finalement, le poste D tente de communiquer avec le poste C. Qui reçoit la trame Ethernet?
Réponse

  1. Tout le monde sauf le poste A reçoit le message! La mémoire des commutateurs est initialement vide donc ils broadcast les messages reçus.
  2. L’entrée pour le poste B est ajoutée à la table du commutateur A. Seul le poste A reçoit le message puisque le commutateur A a appris à quelle interface correspond l’adresse MAC du poste A.
  3. Oui! Le commutateur A sait maintenant que les trames à envoyer à l’adresse 80-4E-F1-FC-34-33 devront passer par son interface eth3.
  4. Seul le poste C reçoit la trame. Le commutateur B connaît déjà l’interface sur lequel envoyer des trames destinées à l’adresse du poste C (apprentissage réalisé à l’étape précédente).

Utilité du protocole STP

Expliquez pourquoi un protocole comme STP est nécessaire sur des réseaux Ethernet complexes.

Réponse

Considérez une topologie de commutateurs assez complexe pour contenir des boucles. Supposez aussi que la table des interfaces de chacun de ces commutateurs est initialement vide. Lorsqu’un commutateur reçoit une trame Ethernet dont il ne connait pas la destination, celui-ci achemine le message à toutes ses interfaces. Lorsqu’une boucle est présente dans le circuit, le message peut éventuellement revenir au commutateur, et ce, par plus d’un chemin. Le commutateur renverra encore une fois la trame sur toutes ses interfaces. Cette amplification est indésirable puisqu’elle peut venir complètement congestionner le réseau Ethernet.

STP vient régler le problème en désactivant des liens afin qu’il n’existe aucune boucle dans le réseau Ethernet.