Un réseau est un ensemble de machines qui sont reliés ensembles. Machines = PC, automates, imprimantes, … Pour communiquer entre elles, elles doivent avoir une adresse (cf. La Poste)
Une adresse IP se compose de deux parties :
Les bits d’ordre supérieur, ou les bits les plus à gauche, spécifient le composant d’adresse réseau (ID réseau) de l’adresse. Les bits d’ordre inférieur, ou le plus à droite, spécifient le composant d’adresse hôte (ID hôte) de l’adresse.
Un masque de sous-réseau ressemble un peu à une adresse IP dans la forme, mais chaque octet ne peut prendre que certaines valeurs.
Un masque de sous-réseau associé à une adresses IP définit une plage d’adresses et vont constituer un réseau. C’est donc le masque qui va définir avec qui on peut communiquer.
Prenons une adresse IP quelconque : 42.51.82.3 Associons à cette adresse un masque, par exemple 255.0.0.0 Ce masque va définir quelle partie de l’adresse IP identifie le réseau (cette partie est appellée network ID) et quelle partie identifie l’hôte sur le réseau (host ID).
Un masque de sous-réseau définit donc la plage d’adresses IP avec laquelle une carte réseau peut communiquer directement. Pour communiquer avec des adresses IP extérieures à cette plage, elle doit passer par une passerelle par défaut.
Règles
On ne peut pas mélanger les zéros et les autres valeurs. En somme, tous les 255 doivent être à gauche et les zéros à droite. Pourquoi ? Parce que dans une adresse IP, c’est la partie gauche qui correspond à l’identité du réseau, et la partie droite qui correspond à l’identité de l’hôte. Ces exemples de masques sont donc invalides : 255.0.0.255, 255.255.0.255, 0.0.0.255, …
Combien de machines on peut mettre sur un sous-réseau ? Cela est défini par un masque de sous-réseau.
On prend la partie haute du masque de sous réseau c’est-à-dire la série de zéro qui est à la fin du réseau.
Ici il est sur un octet et comme un octet peut être codé entre \(0\) et \(255\) (soit 256 nombres possibles) –> on peut coder 256 adresses (il y a cependant deux adresses qui sont réservées - celle finissant par \(0\) et celle finissant par \(255\)). Il y a 254 adresses disponibles/utilisables.
Celle finissant par \(0\) : c’est l’adresse du réseau qui permet d’identifier le réseau
192.168.0.255 est l’adresse de Broadcast ou de diffusion - qui permet à envoyer un message à toutes les machines du réseau. Toutes les machines connectées au réseau 192.168.0.0 recevront le message.
La première adresse est 192.168.0.1 que j’ai le droit d’utiliser (après l’adresse réseau) et la dernière est 192.168.0.254
Le subnetting est une technique qui consiste à diviser un réseau plus large en plusieurs sous-réseaux.Le subnetting est l’action de créer des sous-réseaux.Comment ? en personnalisant les masques.
Par exemple, admettons un réseau de 1000 ordinateurs. La gestion d’un tel réseau ne doit pas être évidente. Grâce au subnetting, on peut par exemple diviser ce grand réseau en 10 réseaux de 100 ordinateurs chacun.
Pour personnaliser les masques de sous-réseau, il faut emprunter des bits de la partie host (client) de notre adresse IP.
Plus on “monte” dans les masques (c’est à dire qu’on passe de 255.0.0.0 à 255.255.0.0, de 255.255.0.0 à 255.255.255.0, …), plus le network ID devient grand : il gagne un octet de plus à chaque fois, et le host ID en perd un.
On remarque - pour le masque de sous-réseau - qu’on a une suite de \(1\) ininterrompu - 255 est le nombre le plus grand qu’on puisse coder sur un octet. Un masque de sous-réseau doit avoir QUE des uns à gauche et QUE des zéros à droite.
Plus vous mettez de \(1\) à gauche (et donc moins vous mettez de \(0\) à droite), plus vous pouvez créer des sous-réseaux différents. L’inverse permettra de mettre plus de machines.
Faire du subnetting, c’est subdiviser un réseau en plusieurs sous-réseaux, diminuer le nombre d’adresses IP par sous-réseau. Plusieurs manières pour subnetter :
Classe d’adresse | Plage des valeurs du premier octet (décimales) | Portions réseau (N) et hôte (H) des adresses IP | Masque de sous-réseau par défaut (décimal et binaire) | Nombre de réseaux et d’hôtes possibles par réseau |
---|---|---|---|---|
A | 1–127 | N.H.H.H | 255.0.0.0 | \(2^{7} = 128\) réseaux \(2^{24} - 2 = 16,777,214\) hôtes par réseau |
B | 128–191 | N.N.H.H | 255.255.0.0 | \(2^{14} = 16,384\) réseaux \(2^{16} - 2 = 65,534\) hôtes par réseau |
C | 192–223 | N.N.N.H | 255.255.255.0 | \(2^{21} = 2,097,152\) réseaux \(2^{8} - 2 = 254\) hôtes par réseau |
D | 224–239 | Non utilisé pour l’adressage d’hôtes | ||
E | 240–255 | Non utilisé pour l’adressage d’hôtes |
Les adresses IPv4 sont dites publiques si elles sont enregistrées et routables sur Internet, elles sont donc uniques mondialement. À l’inverse, les adresses privées ne sont utilisables que dans un réseau local, et ne doivent être uniques que dans ce réseau. La traduction d’adresse réseau [NAT = Network ], réalisée notamment par les box internet, transforme des adresses privées en adresses publiques et permet d’accéder à Internet à partir d’un poste du réseau privé.
La RFC 1918, “Address Allocation for Private Internets”, a réduit la demande d’adresses IP en réservant les adresses suivantes pour utilisation dans les réseaux Internet privés :
Classe A : 10.0.0.0.0/8 (10.0.0.0.0-10.255.255.255.255)
Classe B : 172.16.0.0.0/12 (172.16.0.0.0-172.31.255.255)
Classe C : 192.168.0.0.0/16 (192.168.0.0.0-192.168.255.255)
Si vous voulez effectuer l’adressage d’un intranet non public, ces adresses privées sont normalement utilisées à la place des adresses publiques uniques au monde (i.e. sur Internet).
Cela vous offre une flexibilité dans la conception de votre adressage. Toute organisation peut profiter pleinement d’une adresse réseau de classe A complète (10.0.0.0.0/8).
La transmission du trafic vers l’Internet public nécessite une conversion en une adresse publique à l’aide de la technique NAT (Network Address Translation).
Mais en surchargeant une adresse Internet-routable avec de nombreuses adresses privées, une entreprise n’a besoin que d’une poignée d’adresses publiques.
Supposons qu’on vous donne l’adresse réseau 192.168.1.0 avec le masque de sous-réseau par défaut 255.255.255.0.
L’adresse réseau et le masque de sous-réseau peuvent être écrits comme 192.168.1.0.0/24. Le /24 représente le masque de sous-réseau dans une notation plus courte et signifie que les 24 premiers bits sont des bits réseau.
UN SuperNetwork ou supernet est un protocole Internet (IP) qui est formée, à des fins de routage, de la combinaison de deux ou plusieurs réseaux (ou sous - réseaux ) dans un réseau plus grand. Le nouveau préfixe de routage pour le réseau combiné représente les réseaux constitutifs dans une seule table de routage entrée. Procédé de formation d’un supernet est appelé supernetting, agrégation préfixe, l’agrégation de la route, ou un résumé de l’itinéraire.
Prenons en considération l’adresse IP suivante 172.128.10.5 et son masque de sous-réseau suivant 255.255.255.192
Adresse IP | 172.128.10.5 |
---|---|
Masque de sous-réseau | 255.255.255.192 |
A. On convertit l’adresse IP en binaire
\(2^7\) | \(2^6\) | \(2^5\) | \(2^4\) | \(2^3\) | \(2^2\) | \(2^1\) | \(2^0\) |
---|---|---|---|---|---|---|---|
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
Adresse IP en binaire :
Adresse IP en décimal | 172.128.10.5 |
---|---|
Adresse IP en binaire | 1010 1100. 1000 0000. 0000 1010. 0000 0101 |
B. On convertit le masque de sous-réseau en binaire
\(2^7\) | \(2^6\) | \(2^5\) | \(2^4\) | \(2^3\) | \(2^2\) | \(2^1\) | \(2^0\) |
---|---|---|---|---|---|---|---|
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
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 |
Masque de sous-réseau en décimal | 255.255.192.5 |
---|---|
Masque de sous-réseau en binaire | 1111 1111. 1111 1111. 1100 0000. 0000 0000 |
C. Méthode du ET logique
Adresse IP en binaire | 1010 1100. 1000 0000. 0000 1010. 0000 0101 |
---|---|
Masque de sous-réseau en binaire | 1111 1111. 1111 1111. 1100 0000. 0000 0000 |
Résultat | 1010 1100. 1000 0000. 0000 0000. 0000 0000 |
Ce qui donne en binaire : 172.128.0.0
Pour déterminer le nombre d’adresses utilisables sur notre réseau, il faut prendre notre masque de sous-réseau.
Masque de sous-réseau en décimal | 255.255.192.5 |
---|---|
Masque de sous-réseau en binaire | 1111 1111. 1111 1111. 1100 0000. 0000 0000 |
Le plus grand nombre c’est 11 1111 1111 1111 qui vaut 16 383
\(2^{13}\) | \(2^{12}\) | \(2^{11}\) | \(2^{10}\) | \(2^{9}\) | \(2^{8}\) | \(2^{7}\) | \(2^{6}\) | \(2^{5}\) | \(2^{4}\) | \(2^{3}\) | \(2^{2}\) | \(2^{1}\) | \(2^{0}\) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
\(2^{13}\) + \(2^{12}\) + \(2^{11}\) + \(2^{10}\) + \(2^{9}\) + \(2^{8}\) + \(2^{7}\) + \(2^{6}\) + \(2^{5}\) + \(2^{4}\) + \(2^{3}\) + \(2^{2}\) + \(2^{1}\) + \(2^{0}\) = \(8192\) + \(4096\) + \(2048\) + \(1024\) + \(512\) + \(256\) + \(128\) + \(64\) + \(32\) + \(16\) + \(8\) + \(4\) + \(2\) + \(1\)
Donc on peut coder \(16383\) - \(0\) + \(1\) = \(16 384\) - \(2\) (les 2 adresses non utilisables : l’adresse du réseau et l’adresse du broadcast)
Adresse du réseau en décimal | 172.128.0.0 |
---|---|
Résultat | 1010 1100. 1000 0000. 0000 0000. 0000 0000 |
Ces derniers chiffres au lieu qui soit égale à zéro on les passe à \(1\) 1010 1100. 1000 0000. 0011 1111. 1111 1111
Puis on converti cette adresse en décimale
Adresse du broadcast réseau en binaire | 1010 1100. 1000 0000. 0011 1111. 1111 1111 |
---|---|
Adresse du broadcast réseau en décimale | 172. 128. 63. 255 |
et cet octet 0011 1111 ça donne :
\(2^{5}\) + \(2^{4}\) + \(2^{3}\) + \(2^{2}\) + \(2^{1}\) + \(2^{0}\) = \(32\) + \(16\) + \(8\) + \(4\) + \(2\) + \(1\) = \(63\)
Plage d’adresse adressable :
Adresse du réseau en décimal | 172.128.0.0 |
---|---|
Adresse du réseau en binaire | 1010 1100. 1000 0000. 0000 0000. 0000 0000 |
Adresse du réseau en binaire + 1 à la fin | 1010 1100. 1000 0000. 0000 0000. 0000 0001 |
Adresse du réseau en décimal + 1 à la fin | 172.128.0.1 |
Adresse du broadcast réseau en décimale | 172. 128. 63. 255 |
---|---|
Adresse du broadcast réseau en binaire | 1010 1100. 1000 0000. 0011 1111. 1111 1111 |
Adresse du broadcast réseau en binaire -1 à la fin | 1010 1100. 1000 0000. 0011 1111. 1111 1111 |
Adresse du broadcast réseau en décimale -1 à la fin | 172. 128. 63. 254 |
La plage adressable est donc les adresses entre 172.128.0.1 et 172. 128. 63. 254
Une adresse IP identifie à la fois une machine et le réseau sur lequel elle est connectée. Pour distinguer la partie de l’adresse qui correspond au réseau de celle qui correspond à la machine, nous aurons besoin du masque de sous-réseau.
La partie réseau est 192.168.0 (sur 3 octets, en bleu), la partie machine étant 1 (1 octet, en jaune)
Sous-réseautage en quatre étapes
\(S = 2^{n - 1}\)
\(S\) est le nombre de sous-réseaux désirés \(n\) est le nombre de bits devant être masqués
Masquer signifie le mettre à \(1\) pour les besoins du subnetting - emprunter des bits de la partie hôte pour créer des sous-réseaux.
Exemple de subnetting:
Considérons le réseau 40.0.0.0 Nous voulons le diviser en 20 sous-réseaux. Déterminons le nombre de bits à masquer pour obtenir un masque de sous-réseau personnalisé, qui devra être appliqué à tous les hôtes.
\(2^{4 - 1} = 15 < 20 < 2^{5 - 1} = 31\)
On a suffisamment de réseaux en masquant 5 bits. Mais attention, quand vous avez trop d’adresses IP par sous-réseau, vous devriez empêcher l’assignation des adresses inutilisées. C’est une question de sécurité, pour empêcher qu’un intrus puisse s’octroyer une adresse IP libre.
On ne peut pas mélanger les \(1\) et les \(0\), tous les \(1\) doivent être à gauche, et les \(0\) à droite. Cela veut dire le masquage se fait de la gauche vers la droite.
\(s\) = subnet ; \(h\) = host
Masque de sous-réseau à créer | ssssssss | ssssshhh | hhhhhhhh | hhhhhhhh | hhhhhhhh |
---|---|---|---|---|---|
… traduction | ssssssss | ssssshhh | hhhhhhhh | hhhhhhhh | hhhhhhhh |
… conversion en Bit | 1111 1111 | 1111 1000 | 0000 0000 | 0000 0000 | 0000 0000 |
Maintenant, définir les limites de chaque sous-réseau, sinon ça ne va pas être très utile –> nous en avons 31.
Pour calculer les plages, il faut retrancher le nombre calculé du nouveau masque de sous-réseau à \(256\) (\(=255 -0 +1\))
Ce nombre est \(248\), \(256 - 248\) = \(8\). Donc nos sous-réseaux seront séparés par un intervalle de \(8\).
La dernière adresse dans un réseau est réservée pour la diffusion dite de broadcast.
Ordinal | Adresse du sous-réseau | Première adresse IP d’hôte | Dernière adresse IP d’hôte |
---|---|---|---|
1er | 40.0.0.0 | 40.0.0.1 | 40.7.255.254 |
2ème | 40.8.0.0 | 40.8.0.1 | 40.15.255.254 |
3ème | 40.16.0.0 | 40.16.0.1 | 40.23.255.254 |
4ème | 40.24.0.0 | 40.24.0.1 | 40.31.255.254 |
5ème | 40.32.0.0 | 40.32.0.1 | 40.39.255.254 |
… | … | … | … |
31ème | 40.240.0.0 | 40.240.0.1 | 40.247.255.254 |
\(S = 2^n - 2\)
\(S\) correspond au nombre d’hôtes désiré par sous-réseau
\(2^{10} - 2 = 1022 < 1800 < 2^{11} - 2 = 2046\)
\(n\) vaut donc \(11\)
\(11\) bits doivent être libres pour les hôtes
Ce qui signifie que 11 bits doivent valoir 0. Comme il y a 32 bits par masque, pour connaître le nombre de bits devant valoir 1, on fait \(32 - 11 = 21\).
Notre nouveau masque doit donc comporter \(21\) bits allumés : 11111111 . 11111111 . 11111000 . 00000000.
Ce qui nous donne en décimal 255.255.248.0.
L’intervalle entre chaque sous-réseau est de \(256 - 248 = 8\)
Ordinal | Adresse du sous-réseau | Première adresse IP d’hôte | Dernière adresse IP d’hôte |
---|---|---|---|
1er | 158.37.0.0 | 158.37.0.1 | 158.37.7.254 |
2ème | 158.37.8.0 | 158.37.8.1 | 158.37.15.254 |
3ème | 158.37.16.0 | 158.37.16.1 | 158.37.23.254 |
… | … | … | … |
2046ème | 158.37.240.0 | 158.37.240.1 | 158.37.247.254 |
Étant donné le préfixe 192.168.1.0/24, quelle devrait être la longueur du masque de sous-réseau autorisant jusqu’à 9 sous-réseaux?
Le /24 représente le masque de sous-réseau dans une notation plus courte et signifie que les 24 premiers bits sont des bits réseau. Il y a donc que 8 bits pour la partie réseau.
Afin de créer \(9\) sous-réseaux, nous devons étendre la longueur du masque de 4 bits, ce qui permet d’utiliser jusqu’à \(2^4 = 16\) sous-réseaux.
Pourquoi 4 bits ? \(2^3 = 8\) < 9 < \(2^3 = 16\)
Donc, le résultat est: 192.168.1.0/28 (soit 192.168.1.0 et 255.255.255.240).
Ecrire l’adresse IP 222.1.1.20 avec le masque 255.255.255.192 en notation CIDR ?
192 = 11000000 en binaire, ce qui signifie que 2 bits de cet octet sont utilisés pour le Subnetting. Donc 24 + 2 = 26
222.1.1.20/26
Si vous voulez créer des sous-réseaux (en particulier des sous-réseaux flexibles), il ne suffit pas de simplement attacher le même suffixe à l’adresse IP.
192.168.200.5/30 et 192.168.200.9/30 n’appartiennent pas au même réseau
Adresse IP | 192 | 168 | 200 |
---|---|---|---|
Adresse IP (en binaire) | 11000000 | 10101000 | 11001000 |
Signification masque /30 | 11111111 | 11111111 | 11111111 |
Méthode de AND-ing | 11000000 | 10101000 | 11001000 |
Partie réseau | 192 | 168 | 200 |
Tandis que…
Adresse IP | 192 | 168 | 200 |
---|---|---|---|
Adresse IP (en binaire) | 11000000 | 10101000 | 11001000 |
Signification masque /30 | 11111111 | 11111111 | 11111111 |
Méthode de AND-ing | 11000000 | 10101000 | 11011100 |
Partie réseau | 192 | 168 | 200 |
Les deux adresses ne sont donc pas dans le même réseau. Elles l’auraient été si la deuxième adresse avait été 192.168.200.200.6/30
Supposons qu’une entreprise possède trois sites et trois réseaux et leurs routeurs correspondants. Il serait logique, également dans le sens de la table de routage, d’en faire un supernet.
Les trois réseaux ont les adresses 192.168.43.0, 192.168.44.0 et 192.168.45.0 (les masques de sous-réseau possibles à côté des adresses IP des réseaux sont pertinents dans ce contexte).
Nous les comparons d’abord en notation binaire et n’utilisons que les chiffres que les trois adresses ont en commun, de gauche à droite : à partir de la première différence, tous les autres chiffres sont mis à zéro.
Adresse IP 1 (en décimal) | 192 | 168 | 43 | 0 |
---|---|---|---|---|
Adresse IP 1 (en binaire) | 1100 0000 | 1010 1000 | 0010 1011 | 0000 0000 |
Adresse IP 2 (en décimal) | 192 | 168 | 44 | 0 |
Adresse IP 2 (en binaire) | 1100 0000 | 1010 1000 | 0010 1100 | 0000 0000 |
Adresse IP 3 (en décimal) | 192 | 168 | 45 | 0 |
Adresse IP 3 (en binaire) | 1100 0000 | 1010 1000 | 0010 1101 | 0000 0000 |
Supernetting | 1100 0000 | 1010 1000 | 0010 1000 | 0000 0000 |
Supernet | 192 | 168 | 40 | 0 |
L’adresse réseau du supernet est donc 192.168.40.0. Pour déterminer le masque de sous-réseau correspondant qui appartient à ce réseau, vous comptez les emplacements (bits) qui ont conduit à la nouvelle adresse IP. Dans notre exemple, ce sont 21 bits : 192.168.40.0/21.
https://coursreseaux.com/adressage-ipv4-prive-public-classes-sous-reseautage-vlsm/
Le surnetting est une technique qui consiste a créer une « agrégation » de plusieurs réseaux d’une classe donnée afin d’obtenir un nombre plus importants d’adresses disponibles.
Supposons que nous avons une adresse de Classe C - ce qui veut dire - avec les caractéristiques suivantes:
Nb bits du « netid » | Nb bits du « hostid » | Masque | nb d’hôtes |
---|---|---|---|
24 | 8 | 255.255.255.0 | 254 |
Supposons qu’on souhaite obtenir un réseau contenant plus d’adresses que ne peut nous en fournir une classe C (\(400\) adresses par exemple) - ce qui est impossible car \(254 < 400\)
On serait alors obligé de prendre directement une adresse dans une classe B. Or, une classe B nous propose :
\(2^{16} - 2 = 65534\) réseaux disponibles
\(2^{16} - 2 = 65534\) adresses disponibles (\(32\) bits - \(16\) bits de réseaux = \(16\) bits d’hosts)
Soit un gâchis de \(65534 – 400 = 65134\) adresses
Devant ce constat, une 2ème solution s’impose : créer un sur-réseau de classe C Nous allons donc utiliser une partie des bits réservés au « netid » pour les dédier au « hostid » - on crée une classe entre la classe C et B
On souhaite créer un réseau ayant les caractéristiques suivantes :
A - Quelle est la puissance de 2 dont le résultat est supérieur et le plus proche de 400 ? \(2^8 = 256 < 400 < 2^9 = 512\)
B - Combien de bits minimum seront-ils donc nécessaires pour numéroter 400 ces postes ? \(9\) bits
C - Quel sera donc le masque de sur-réseaux ? 255.255.254.0
D - Résultats
Décimal | |
---|---|
Masque | 255.255.254.0 |
1ère adresse | 195.170.206.1 |
Dernière adresse | 195.170.207.254 |
Nombre total d’adresses | 510 |
http://maurise-softawre1.e-monsite.com/medias/files/exo-adressageip1-corrige.pdf
https://inetdoc.net/pdf/adressage.ipv4.pdf
https://www.apprendre-en-ligne.net/crypto/images/bases.html
http://maurise-softawre1.e-monsite.com/medias/files/exo-adressageip1-corrige.pdf
https://www.ionos.fr/digitalguide/serveur/know-how/cidr/
https://steph.developpez.com/tutoriels/reseau/subnet_supernet/
https://www.howtoforge.com/how-to-create-a-virtual-private-cloud-vpc-in-aws/
https://waytolearnx.com/2019/05/exercices-corriges-adressage-ip-partie-2.html
https://tutorialsdojo.com/amazon-vpc/
http://blog.brianz.bz/post/dark-art-of-vpc-networking/
https://medium.com/@mda590/aws-routing-101-67879d23014d
https://openclassrooms.com/fr/courses/1561696-les-reseaux-de-zero/3607286-ladressage-cidr