Exercices réseaux informatique avec le corrigés – Partie 8

Les exercices pratiques sur les réseaux informatiques comportent des exercices basées sur les concepts des réseaux informatiques tel que les routeurs, switches, passerelles, collision. Domaine de diffusion, adressage IPv4 et IPv6. Fragmentation des paquets IP, routage réseaux, etc… Nous allons voir ici de nombreuses exercices des années précédentes qui vous aideront non seulement à récapituler ce que vous avez appris, mais aussi à comprendre le type de défis et le niveau de difficulté auxquels vous devez vous attendre.
 
 

Exercice 1: Adressage dans la couche liaison de données

1.1) Le format des adresses utilisées dans les protocoles de la couche liaison de données est ___________

A Adresses réseau physique

B Adresses réseau logiques

A

Les adresses utilisées dans les protocoles de la couche liaison de données, comme Ethernet, sont appelées adresses réseau physiques ou adresses MAC (Media Access Control). Ces adresses sont attribuées à chaque interface réseau et sont utilisées pour l’identification des dispositifs sur un réseau local. Les adresses MAC sont généralement de 48 bits (6 octets). Elles sont représentées en hexadécimal, par exemple : 00:1A:2B:3C:4D:5E.

1.2) Comment appelle-t-on les adresses réseau physique ?

Adresses MAC (Media Access Control).

1.3) Quel protocole utilise Ethernet pour la résolution d’adresses ?

Address Resolution Protocol (ARP).

1.4) Qui reçoit une trame avec l’adresse de destination FF-FF-FF-FF-FF-FF ?

Cette adresse est l’adresse de broadcast MAC. Chaque participant du réseau physique reçoit cette trame.

1.5) Qu’est-ce que le MAC spoofing ?

Les adresses MAC peuvent être modifiées par un logiciel. Cette méthode est appelée MAC spoofing.

 

Exercice 2: Détection d’erreurs – CRC

Le calcul du CRC (Cyclic Redundancy Check) pour une trame à transférer se fait généralement en suivant ces étapes:

  • Choisir un polynôme générateur: Le CRC est basé sur un polynôme binaire. Par exemple, un polynôme courant est CRC-32, qui est représenté par 0x04C11DB7.
  • Représenter la trame: Convertissez les données de la trame (en binaire) à laquelle vous voulez ajouter le CRC.
  • Ajouter des zéros: Ajoutez des zéros à la fin de la trame. Le nombre de zéros ajouté correspond à la longueur du polynôme moins un. Par exemple, pour un CRC-32, ajoutez 32 zéros.
  • Effectuer la division binaire: Utilisez la division binaire pour diviser la trame (avec les zéros ajoutés) par le polynôme générateur. Cette division est similaire à la division classique, mais elle utilise l’addition XOR au lieu de la soustraction.
  • Calculer le reste: Le résultat de la division sera un reste (remainder). Ce reste est le CRC.
  • Ajouter le CRC à la trame: Ajoutez le reste calculé à la fin de la trame originale. Ce reste servira à vérifier l’intégrité des données à la réception.

 

2.1) Calculer la trame à transférer.

Polynôme générateur: 100101

Données: 11010011 (en binaire)

Le polynôme générateur a 6 chiffres ⇒ Cinq bits de 0 sont ajoutés.

Trame avec des bits 0 ajoutés: 1101001100000

1101001100000
100101|||||||
------v||||||
 100011||||||
 100101||||||
 ------vvv|||
    110100|||
    100101|||
    ------v||
     100010||
     100101||
     ------vv
        11100 => Remainder(reste)

Reste: 11100

Trame transféré: 1101001111100

2.2) Vérifier si la trame reçue a été transmise correctement.

Trame transférée: 1101001110100

Polynôme générateur: 100101

1101001110100
100101|||||||
------v||||||
 100011||||||
 100101||||||
 ------vvv|||
    110110|||
    100101|||
    ------v||
     100111||
     100101||
     ------vv
         1000 => Erreur

2.3) Vérifier si la trame reçue a été transmise correctement.

Trame transférée: 1101001110100

Polynôme générateur: 100101

1101001111100
100101|||||||
------v||||||
 100011||||||
 100101||||||
 ------vvv|||
    110111|||
    100101|||
    ------v||
     100101||
     100101||
     ------vv
           00 => La transmission s'est faite sans erreur
 

Exercice 3: Détection d’erreurs – CRC

3.1) Calculer la trame à transférer.

Polynôme générateur: 00101

Données: 0110101 (en binaire)

Le polynôme générateur a 6 chiffres ⇒ Cinq bits de 0 sont ajoutés.

Trame avec des bits 0 ajoutés: 011010100000

1011010100000
100101|||||||
------vv|||||
  100001|||||
  100101|||||
  ------vv|||
     100000||
     100101||
     ------vv
        10100 = Remainder(reste)

Reste: 10100

Trame transféré: 011010110100

3.2) Vérifier si la trame reçue a été transmise correctement.

Trame transférée: 011010110110

Polynôme générateur: 00101

1011010110110
100101|||||||
------vv|||||
  100001|||||
  100101|||||
  ------vvv||
     100101||
     100101||
     ------vv
           10 => Erreur

3.3) Vérifier si la trame reçue a été transmise correctement.

Trame transférée: 011010110100

Polynôme générateur: 100101

1011010110100
100101|||||||
------vv|||||
  100001|||||
  100101|||||
  ------vvv||
     100101||
     100101||
     ------vv
           00 => La transmission s'est faite sans erreur

3.4) Vérifier si la trame reçue a été transmise correctement.

Trame transférée: 010010110100

Polynôme générateur: 100101

1010010110100
100101|||||||
------vv|||||
  110001|||||
  100101|||||
  ------v||||
   101001||||
   100101||||
   ------vv||
     110001||
     100101||
     ------v|
      101000|
      100101|
      ------v
        11010 => Erreur
 

Exercice 4: Détection d’erreurs – CRC

4.1) Calculer la trame à transférer.

Polynôme générateur: 100000111

Données: 1101010101110101 (en binaire)

Le polynôme générateur a 9 chiffres ⇒ Huit bits de 0 sont ajoutés.

Trame avec des bits 0 ajoutés: 110101010111010100000000

110101010111010100000000
100000111|||||||||||||||
---------v||||||||||||||
 101011011||||||||||||||
 100000111||||||||||||||
 ---------vv||||||||||||
   101110011||||||||||||
   100000111||||||||||||
   ---------vv||||||||||
     111010001||||||||||
     100000111||||||||||
     ---------v|||||||||
      110101100|||||||||
      100000111|||||||||
      ---------v||||||||
       101010111||||||||
       100000111||||||||
       ---------vv||||||
         101000000||||||
         100000111||||||
         ---------vv||||
           100011100||||
           100000111||||
           ---------vvvv
               110110000
               100000111
               ---------
                10110111 = Remainder(reste)

Reste: 10110111

Trame transféré: 110101010111010110110111

4.2) Vérifier si la trame reçue a été transmise correctement.

Trame transférée: 110101010111110110110111

Polynôme générateur: 100000111

110101010111110110110111
100000111|||||||||||||||
---------v||||||||||||||
 101011011||||||||||||||
 100000111||||||||||||||
 ---------vv||||||||||||
   101110011||||||||||||
   100000111||||||||||||
   ---------vv||||||||||
     111010011||||||||||
     100000111||||||||||
     ---------v|||||||||
      110101000|||||||||
      100000111|||||||||
      ---------v||||||||
       101011111||||||||
       100000111||||||||
       ---------vv||||||
         101100010||||||
         100000111||||||
         ---------vv||||
           110010111||||
           100000111||||
           ---------v|||
            100100000|||
            100000111|||
            ---------vvv
               100111111
               100000111
               ---------
                  111000 => Erreur

4.3) Vérifier si la trame reçue a été transmise correctement.

Trame transférée: 110101010111010110110111

Polynôme générateur: 100000111

110101010111010110110111
100000111|||||||||||||||
---------v||||||||||||||
 101011011||||||||||||||
 100000111||||||||||||||
 ---------vv||||||||||||
   101110011||||||||||||
   100000111||||||||||||
   ---------vv||||||||||
     111010001||||||||||
     100000111||||||||||
     ---------v|||||||||
      110101100|||||||||
      100000111|||||||||
      ---------v||||||||
       101010111||||||||
       100000111||||||||
       ---------vv||||||
         101000010||||||
         100000111||||||
         ---------vv||||
           100010111||||
           100000111||||
           ---------vvvv
               100000111
               100000111
               ---------
                       0 => La transmission s'est faite sans erreur
 

Exercice 5: Correction d’erreur – Code de Hamming simplifié

Les erreurs de transmission peuvent être détectées grâce aux sommes de contrôle CRC. S’il est important non seulement de reconnaître les erreurs, mais aussi de les corriger, les données à transmettre doivent être codées de manière à permettre la correction des erreurs. La correction d’erreurs peut être réalisée par exemple via le code de Hamming simplifié.

5.1) Un message de 8 bits de données utiles (10011010) doit être transféré. Calculez le message qui sera transmis (les données y compris les bits de parité).

Étape 1: Déterminer la position des bits de parité

             Position: 1 2 3 4 5 6 7 8 9 10 11 12
Données à transmettre: ? ? 1 ? 0 0 1 ? 1  0  1  0

Étape 2: Calculer les valeurs des bits de parité

    0011 Position 3
    0111 Position 7
    1001 Position 9
XOR 1011 Position 11
--------------------
    0110 = valeurs des bits de parité

Étape 3: Insérer les valeurs des bits de parité dans la transmission

             Position: 1 2 3 4 5 6 7 8 9 10 11 12
Données à transmettre: 0 1 1 1 0 0 1 0 1  0  1  0

5.2) Les messages suivants ont été reçus. Vérifiez s’ils ont été transmis correctement.

  • a) 00111101
  • b) 101110100010
  • c) 001101100100
  • d) 0001101100101101
a) 00111101

Données reçues: 1 2 3 4 5 6 7 8
                0 0 1 1 1 1 0 1

    0011 Position 3
    0101 Position 5
XOR 0110 Position 6
---------------------------------
    0000 Bits de parité calculés
XOR 0011 Bits de parité reçus
---------------------------------
    0011 => Le bit 3 est défectueux!

b) 101110100010

Données reçues: 1 2 3 4 5 6 7 8 9 10 11 12
                1 0 1 1 1 0 1 0 0  0  1  0

    0011 Position 3
    0101 Position 5
    0111 Position 7
XOR 1011 Position 11
---------------------------------
    1010 Bits de parité calculés
XOR 1010 Bits de parité reçus
---------------------------------
    0000 => Transmission correcte

c) 001101100100

Données reçues: 1 2 3 4 5 6 7 8 9 10 11 12
                0 0 1 1 0 1 1 0 0  1  0  0
				
    0011 Position 3
    0110 Position 6
    0111 Position 7
XOR 1010 Position 10
---------------------------------
    1000 Bits de parité calculés
XOR 0010 Bits de parité reçus
---------------------------------
    1010 => Le bit 10 est défectueux!

d) 0001101100101101

Données reçues: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
                0 0 0 1 1 0 1 1 0  0  1  0  1  1  0  1

    00101 Position 5
    00111 Position 7
    01011 Position 11
    01101 Position 13
XOR 01110 Position 14
---------------------------------
    01010 Bits de parité calculés
XOR 00111 Bits de parité reçus
---------------------------------
    01101 => Le bit 13 est défectueux!
 

Exercice 6: ARP – Address Resolution Protocol

6.1) Quelle est la fonction du protocole de résolution d’adresses (ARP) ?

Le protocole de résolution d’adresses (ARP) est utilisé pour convertir l’adresse IP de la couche réseau en adresse MAC de la couche liaison de données.

6.2) Qu’est-ce que le cache ARP ?

Le cache ARP (Address Resolution Protocol) est une table qui stocke temporairement les correspondances entre adresses IP et adresses MAC sur un réseau local. Il permet une résolution rapide des adresses, réduisant ainsi le nombre de requêtes ARP nécessaires et améliorant l’efficacité du réseau. Les entrées expirent après un certain temps pour maintenir des informations à jour.

 

Laisser un commentaire

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