Jules Aubert
Transcafodeur : Transforme le café en code

Accueil > Release the Geeken ! > CIDR pour les téméraires

CIDR pour les téméraires

lundi 19 janvier 2015, par Jules

Ceci est un challenge que m’a donné mon prof de réseau en première. L’énoncé ne respecte pas les normes d’un réseau, et il va pourtant falloir respecter les codes de réalisation d’un réseau pour répondre aux questions.

Tout d’abord, voici le sujet.

PNG

Calculez la NetID, la HostID et la BroadCastID de cette machine :

Prenons le couple IP/SM. 213.149.68.69/103.42.69.142 : A ce point, nous sommes encore heureux d’avoir des octets normaux. Mettons ensuite tous ces nombres en binaire.

  • 213 : 11010101
  • 149 : 10010101
  • 68 : 01000100
  • 69 : 01000101
  • 103 : 01100111
  • 42 : 00101010
  • 69 : 01000101
  • 142 : 10001110

Maintenant, il faut répondre aux questions, voici quelques formules à connaitre !

  • IP and SM = Net ID
  • IP and not(SM) = Host ID
  • IP or not(SM) = Broadcast ID

Voici donc l’IP et le SM en binaire.

  • 11010101.10010101.01000100.01000101
  • 01100111.00101010.01000101.10001110

Appliquons les trois opérations sur ce couple.

  • Net ID = 01000101.00000000.01000100.00000100 = 69.0.68.4
  • Host ID = 10011000.11010101.10111010.01110001 = 152.213.186.113
  • Broadcast ID = 11011101.11010101.11111110.01110101 = 221.213.254.117

On vous demande de segmenter la NetID que vous avez calculé en 5 sous-réseaux :
Calculez le nouveau masque utilisé (il y a plusieurs possibilités).

Un conseil de mon prof, est d’utiliser notre concentration pour faire preuve d’abstraction. La difficulté est de faire abstraction du problème, sans oublier les règles fondamentales du réseau pour continuer à bien l’exercice. Comment faire un sous-réseau dans ces conditions ? Comme d’habitude, on prend les 0 de la NetID, et on réserve le nombre de bits que l’on veut pour créer ces 5 sous-réseaux. 2^3 > 5. On prend donc 3 bits.
On a donc le masque d’origine

  • 01100111.00101010.01000101.10001110
    qui devient
  • 11111111.00101010.01000101.10001110
    soit 255.42.69.142. (Comme vous avez pu le lire, il y a plusieurs possibilités, en voici une. Il y a 3 bits réservés aux sous-réseaux dans le premier octet.)

Enoncez les NetID et BroadcastID de 5 sous-réseaux avec le nouveau masque

Pas compliqué... on réutilise les formules vues avant. Voici les 5 masques que l’on va utiliser.

  • 01101111.00101010.01000101.10001110 soit 111.42.69.142
  • 01110111.00101010.01000101.10001110 soit 119.42.69.142
  • 11100111.00101010.01000101.10001110 soit 231.42.69.142
  • 11101111.00101010.01000101.10001110 soit 239.42.69.142
  • 11110111.00101010.01000101.10001110 soit 247.42.69.142

Vous l’avez peut-être vu, je n’ai pas suivi l’ordre, j’ai sauté 01111111.00101010.01000101.10001110. Le premier octet est 127. Restons correct et n’utilisons pas l’adresse de loopback. Après calcul, voici ce que j’obtiens. (Les NetID seront les mêmes, mais les masques seront différents, donc le réseau reste correct... enfin pour ce qu’il en est).

  • Avec le masque 111.42.69.142
    • NetID : 69.0.68.4
    • BroadcastID : 213.213.254.117
  • Avec le masque 119.42.69.142
    • NetID : 69.0.68.4
    • BroadcastID : 205.213.254.117
  • Avec le masque 231.42.69.142
    • NetID : 69.0.68.4
    • BroadcastID : 93.213.254.117
  • Avec le masque 239.42.69.142
    • NetID : 69.0.68.4
    • BroadcastID : 85.213.254.117
  • Avec le masque 247.42.69.142
    • NetID : 69.0.68.4
    • BroadcastID : 77.213.254.117

Enoncez 3 IPs valides dans chaque sous-réseau

Interdiction de toucher au premier octet, vu que tous les bits sont réservés aux sous-réseaux. Et on ne change les bits de l’IP qui sont au représentés comme bit machine grâce aux 0 du SM.
Comme je suis bon joueur, je vais proposer des IPs différentes à chaque fois.

  • Dans le réseau 69.0.68.4/111.42.69.142
    • 69.0.68.4/111.42.69.142
    • 69.0.68.5/111.42.69.142
    • 69.0.68.12/111.42.69.142
  • Dans le réseau 69.0.68.4/119.42.69.142
    • 69.0.68.13/119.42.69.142
    • 69.0.68.20/119.42.69.142
    • 69.0.68.21/119.42.69.142
  • Dans le réseau 69.0.68.4/231.42.69.142
    • 69.0.68.28/231.42.69.142
    • 69.0.68.29/231.42.69.142
    • 69.0.68.36/231.42.69.142
  • Dans le réseau 69.0.68.4/239.42.69.142
    • 69.0.68.37/239.42.69.142
    • 69.0.68.44/239.42.69.142
    • 69.0.68.45/239.42.69.142
  • Dans le réseau 69.0.68.4/247.42.69.142
    • 69.0.68.48/247.42.69.142
    • 69.0.68.49/247.42.69.142
    • 69.0.68.56/247.42.69.142

Question bonus ! Nous avons le masque suivant : 254.254.254.254
Combien de sous-réseaux permet-il ?

Avant de répondre, que faut-il pour qu’un réseau fonctionne ? Au moins deux ordinateurs qui communiquent, sinon, où est l’intérêt ? En prenant compte que 254 représente les machines, et 255 le sous-réseau. Il faut assez de place pour la HostID, deux machines, et la BroadcastID. Imaginons 255.255.254.254 comme masque. Nous avons 2 bits machines. Avec une IP, c’est assez pour une HostID, deux IPs machines, et la Broadcast ID. Il faut au minimum deux octets à 254. Donc les sous-réseaux possibles sont :

  • 254.254.254.255
  • 254.254.255.254
  • 254.254.255.255
  • 254.255.254.254
  • 254.255.254.255
  • 254.255.255.254
  • 255.254.254.254
  • 255.254.254.255
  • 255.254.255.254
  • 255.255.254.254

Ce qui fait donc 10 sous-réseaux possibles.

Combien de machines par réseau ?

Tout dépend du nombre d’octets à 254 libres. S’il y en a deux, ça donne 2^2 - 2 = 2 machines. S’il y en a trois, ça donne 2^3 - 2 = 6 machines

Comment identifier RAPIDEMENT si deux IPs sont dans le même sous-réseau ?

Il suffit de vérifier les octets pairs et impairs. Par exemple, dans un réseau avec le masque 254.254.254.255, les adresses avec le dernier octet pair ne seront pas dans le même sous-réseau que des adresses dont le dernier octet impair.

Voilà, je pense avoir répondu à tout. J’espère que c’est bon. C’est parce qu’il me manquait une formule que je suis resté dessus pendant près de deux ans.
Quelle était cette phrase que mon prof nous avait dit un jour ? Ah oui.
Il faut avoir la rage de vaincre.