1ère NSI - Architecture & Réseaux - Réseaux - Exercices

Exercice 1 - Exemple de CRC 160

Validé !

Le but d'écrire une fonction crc(chaine) très simple, dont le but est d'associer à une chaîne de caractères chaine un nombre compris entre 0 et 255, et donc codé sur 1 octet.

Pour calculer le CRC de chaine, on procède de la manière suivante :

  • On effectue la somme des valeurs numériques de chaque caractère de la chaîne (grâce à la fonction ord)
  • On calcule le reste dans la division euclidienne de cette somme par 256
  • Ce reste, compris entre 0 et 255, est retourné sous forme héxadécimale (grâce à la fonction hex)
>>> crc("bonjour") '0xff' >>> crc("J'adore la NSI") '0x73'

Exercice 2 - Du binaire ! 322

Validé !

Écrire une fonction IPBinaire(ip) qui convertit la chaîne de caractères ip (donnée en écriture décimale pointée) et retourne une chaîne de caractères correspondante à l'écriture binaire de cette adresse IP.

>>> IPBinaire("192.168.1.3") '11000000101010000000000100000011'

On pourra utiliser la fonction bin pour convertir en binaire... mais attention au nombre de bits !

Exercice 3 - C'est mieux en décimal... 138

Validé !

Écrire une fonction IPDecimale(ip) qui convertit la chaîne de caractères ip (donnée en écriture binaire) et retourne une chaîne de caractères correspondante à l'écriture décimale pointée de cette adresse IP.

>>> IPDecimale("11000000101010000000000100000011") '192.168.1.3'

Pour convertir du binaire en décimal, on peut utiliser la fonction int...

Exercice 4 - CIDR 150

Validé !

Écrire une fonction cidr(masque) qui retourne un entier correspondant au CIDR associé au masque réseau, donné sous forme de chaîne de caractères. Si le masque réseau n'est pas valide, la fonction doit retourner None.

# Il n'est pas interdit de réutiliser les fonctions des exercices précédents...

Exercice 5 - CIDR 2 : le retour 163

Validé !

Écrire une fonction masque(cidr) qui retourne le masque réseau sous forme décimale pointée, en fonction du CIDR donné (sous forme d'entier). Si le CIDR n'est pas un entier compris entre 1 et 31, la fonction doit retourner None.

Exercice 6 - Adresse de réseau 103

Validé !

Écrire une fonction adresseReseau(ip, masque) qui retourne l'adresse du réseau associée au couple IP/masque donné (forme décimale pointée).

Exercice 7 - Adresse de broadcast 49

Validé !

Écrire une fonction adresseBroadcast(ip, masque) qui retourne l'adresse de broadcast associée au couple IP/masque donné (forme décimale pointée).

Exercice 8 - Machine, réseau ou broadcast ? 53

Validé !

Écrire une fonction typeIP(ip, masque) qui retourne "Machine", "Réseau" ou "Broadcast" selon l'adresse IP et le masque donnés (sous forme de chaînes de caractères).

# Si vous avez réussi les exercices ci-dessus, celui-ci ne devrait pas poser de problème ! # N'hésitez pas à réutiliser les fonctions précédentes.