Exercice 5 - Masques de réseau et CIDR · Bac Numérique et Sciences Informatiques Nouvelle-Calédonie 2022 (jour 2)
Thème : Réseaux : adressage IP et sous-réseaux · Tiré du sujet Jour 2 (2022)
Énoncé
EXERCICE 5
Cet exercice porte sur l’architecture réseau et les tables de routage. Il comporte également l’écriture d’une fonction en langage Python.
1) Une adresse IPv4 doit être associée à un masque de réseau pour être interprétable.
Rappel sur le masque de réseau:
il permet de distinguer la partie de l’adresse qui identifie un réseau de celle qui identifie une machine;
il est codé sur 4 octets soit 32 bits sous la forme d’une suite de 1 puis une suite de 0;
il peut être indiqué sous forme décimale ou en notation CIDR (Classless Inter-Domain Routing) « / n » où n correspond aux nombres de bits égaux à 1.
Exemples:
255.255.192.0 est un masque de réseau valide écrit sous forme décimale et de notation CIDR /18.
En effet, sa forme binaire contient dix-huit 1 suivis d’une suite de 0.
1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1. 1 1 0 0 0 0 0 0. 0 0 0 0 0 0 0 0
255.252.128.0 n’est pas un masque de réseau valide car sa forme binaire n’est pas une suite de 1 suivie d’une suite de 0: elle contient au moins un 0 intercalé entre deux 1.
1 1 1 1 1 1 1 1. 1 1 1 1 1 1 0 0. 1 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0
1) Une adresse IPv4 doit être associée à un masque de réseau pour être interprétable.
Rappel sur le masque de réseau:
il permet de distinguer la partie de l'adresse qui identifie un réseau de celle qui identifie une machine;
il est codé sur 4 octets soit 32 bits sous la forme d'une suite de 1 puis une suite de 0;
il peut être indiqué sous forme décimale ou en notation CIDR (Classless Inter-Domain Routing) « /n » où n correspond aux nombres de bits égaux à 1.
Exemples:
255.255.192.0 est un masque de réseau valide écrit sous forme décimale et de notation CIDR /18.
En effet, sa forme binaire contient dix-huit 1 suivis d'une suite de 0.
11111111.11111111.11000000.00000000
255.252.128.0 n'est pas un masque de réseau valide car sa forme binaire n'est pas une suite de 1 suivie d'une suite de 0: elle contient au moins un 0 intercalé entre deux 1.
11111111.11111100.10000000.00000000
a)
Pour chaque écriture de masque de réseau, ci-dessous, indiquer et justifier si elle correspond à un masque de réseau valide:
255.255.225.0
255.255.224.0
b)
On dispose d'une fonction convBin qui prend en paramètre une liste de quatre nombres entiers compris entre 0 et 255 et qui renvoie la liste des 32 bits de l'écriture binaire correspondante.
Par exemple:
convBin([255, 255, 192, 0]) renvoie
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
convBin([255, 252, 128, 0]) renvoie
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Dans cette question, on considère que les masques en notation CIDR /0 et /32 sont valides.
Écrire en langage Python la fonction cidr qui prend en paramètre une liste de 32 bits et qui:
renvoie l'entier de la notation CIDR si la liste des 32 bits correspond à l'écriture binaire d'un masque de réseau valide;
renvoie -1 sinon.
Par exemple:
m = convBin([255, 255, 192, 0])
cidr(m) renvoie 18
m = convBin([255, 252, 128, 0])
cidr(m) renvoie -1

Corrigé
Corrigé proposé par AprenAI (non officiel)
a) Pour chaque écriture de masque de réseau, ci-dessous, indiquer et justifier si elle correspond à un masque de réseau valide : 255.255.225.0
Réponse : Ce n'est pas un masque de réseau valide.
a) Pour chaque écriture de masque de réseau, ci-dessous, indiquer et justifier si elle correspond à un masque de réseau valide : 255.255.224.0
Réponse : C'est un masque de réseau valide (notation CIDR /19).
La réponse de la question restante et l’explication pas à pas sont réservées aux membres Premium. Premium
Résous-le ici : correction automatique, indices et corrigé détaillé.
‹ Exercice 4 - Adressage IP · Nouvelle-Calédonie 2022 (jour 2)