Exemple:
IP: 128.42.5.4
En binaire: 10000000 00101010 00000101 00000100
Sous-réseau: 255.255.248.0
Comment pouvez-vous déterminer le préfixe, le réseau, le sous-réseau et les numéros d’hôte?
Exemple:
IP: 128.42.5.4
En binaire: 10000000 00101010 00000101 00000100
Sous-réseau: 255.255.248.0
Comment pouvez-vous déterminer le préfixe, le réseau, le sous-réseau et les numéros d’hôte?
Réponses:
Convertissez la représentation décimale en pointillé du masque de réseau en binaire. Ensuite, comptez le nombre de bits 1 contigus, en commençant par le bit le plus significatif du premier octet (c'est-à-dire le côté gauche du nombre binaire).
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
-----------------------------------
I counted twenty-one 1s -------> /21
Le préfixe de 128.42.5.4 avec un masque de réseau 255.255.248.0 est / 21.
L'adresse réseau est le ET logique des bits respectifs dans la représentation binaire de l'adresse IP et du masque de réseau. Alignez les bits des deux adresses et effectuez un ET logique sur chaque paire de bits respectifs. Convertissez ensuite les octets individuels du résultat en décimal.
Table logique ET vérité:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
----------------------------------- [Logical AND]
10000000 00101010 00000000 00000000 ------> 128.42.0.0
Comme vous pouvez le constater, l’adresse réseau de 128.42.5.4/21 est 128.42.0.0.
L'adresse de diffusion convertit tous les bits de l'hôte en 1s ...
Rappelez-vous que notre adresse IP en décimal est:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Le masque de réseau est:
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
Cela signifie que nos bits d'hôte sont les 11 derniers bits de l'adresse IP, car nous trouvons le masque de l'hôte en inversant le masque de réseau:
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
Pour calculer l'adresse de diffusion, nous forçons tous les bits de l'hôte à être 1:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
----------------------------------- [Force host bits]
10000000 00101010 00000111 11111111 ----> 128.42.7.255
Vous n'avez pas fourni suffisamment d'informations pour calculer les sous-réseaux de ce réseau. En règle générale, vous construisez des sous-réseaux en réaffectant certains des bits de l'hôte en tant que bits de réseau pour chaque sous-réseau. Plusieurs fois, il n’existe pas de bonne façon de sous-réseau d’un bloc ... En fonction de vos contraintes, il peut exister plusieurs moyens valables de sous-réseau d’un bloc d’adresses.
Supposons que nous séparerons 128.42.0.0/21 en 4 sous-réseaux devant contenir chacun au moins 100 hôtes ...
Dans cet exemple, nous savons qu’il vous faut au moins un préfixe / 25 pour contenir 100 hôtes; J'ai choisi un / 24 car il tombe sur une limite d'octet. Notez que l’adresse réseau de chaque sous-réseau emprunte des bits d’hôte au bloc réseau parent.
Comment ai-je su qu'il me faut au moins 25 longueurs de masque pour 100 hôtes? Calculez le préfixe en sauvegardant le nombre de bits d’hôte requis pour contenir 100 hôtes. Il faut 7 bits d’hôte pour contenir 100 hôtes. Officiellement, cela est calculé avec:
Bits de l'hôte = journal 2 (nombre d'hôtes) = journal 2 (100) = 6,643
Comme les adresses IPv4 ont une largeur de 32 bits et que nous utilisons les bits de l'hôte (c'est-à-dire les bits les moins significatifs), il suffit de soustraire 7 à 32 pour calculer le préfixe de sous-réseau minimal pour chaque sous-réseau ... 32 - 7 = 25.
Comme nous ne voulons que quatre sous-réseaux de l'ensemble du bloc 128.42.0.0/21, nous pourrions utiliser / 23 sous-réseaux. J'ai choisi / 23 car nous avons besoin de 4 sous-réseaux ... c'est-à-dire de deux bits supplémentaires ajoutés au masque de réseau.
C'est une réponse tout aussi valable à la contrainte, en utilisant / 23 sous-réseaux de 128.42.0.0/21 ...
C’est ce que nous avons déjà fait ci-dessus ... il suffit de réutiliser le masque d’hôte du travail que nous avons effectué lorsque nous avons calculé l’adresse de diffusion 128.42.5.4/21 ... Cette fois, je vais utiliser des 1 à la place de h
, car nous avons besoin de effectuer à nouveau un ET logique sur l'adresse réseau.
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000111 11111111
----------------------------------- [Logical AND]
00000000 00000000 00000101 00000100 -----> 0.0.5.4
Pour trouver le nombre maximum d'hôtes, regardez le nombre de bits binaires dans le nombre d'hôtes ci-dessus. Le moyen le plus simple consiste à soustraire la longueur du masque de réseau de 32 (nombre de bits dans une adresse IPv4). Cela vous donne le nombre de bits de l'hôte dans l'adresse. À ce moment...
Nombre maximum d'hôtes = 2 ** (32 - netmask_length) - 2
La raison pour laquelle nous soustrayons 2 ci-dessus est que les numéros d'hôte tous les un et tous les zéros sont réservés. Le numéro d'hôte composé uniquement de zéros est le numéro de réseau. le numéro d'hôte tous-un est l'adresse de diffusion.
En utilisant l'exemple de sous-réseau de 128.42.0.0/21 ci-dessus, le nombre d'hôtes est ...
Nombre maximum d'hôtes = 2 ** (32 - 21) - 2 = 2048 - 2 = 2046
Supposons que quelqu'un nous donne deux adresses IP et attend de nous que nous trouvions le masque de réseau le plus long qui les contient. par exemple, si nous avions:
Le plus simple est de convertir les deux en binaire et de rechercher la chaîne de bits réseau la plus longue du côté gauche de l'adresse.
128.42.5.17 in binary: 10000000 00101010 00000101 00010001
128.42.5.67 in binary: 10000000 00101010 00000101 01000011
^ ^ ^
| | |
+--------- Network ---------+Host-+
(All bits are the same) Bits
Dans ce cas, le masque de réseau maximum (masque d’hôte minimum) serait de / 25
NOTE: Si vous essayez de commencer par le côté droit, ne vous laissez pas avoir, juste parce que vous trouvez une colonne de bits correspondante; il pourrait y avoir des bits non appariés au-delà de ces bits correspondants. Honnêtement, la chose la plus sûre à faire est de commencer par le côté gauche.
La réponse ci-dessus frappe parfaitement le clou. Cependant, lorsque j'ai débuté, il m'a fallu quelques exemples différents provenant de plusieurs sources pour que cela soit réellement réussi. Par conséquent, si vous êtes intéressé par d'autres exemples, j'ai écrit quelques articles de blog sur le sujet - http://www.oznetnerd.com/category/subnetting/
Admins, si ce message est considéré comme du spam, n'hésitez pas à le supprimer.
Edit: Selon la suggestion de YLearn, je vais essayer de saisir les parties pertinentes de la première partie de ma série, sans coller l’entrée entière ici.
Prenons 195.70.16.159/30 comme exemple.
Comme il s'agit d'un / 30, nous savons que la partie hôte sera dans le quatrième octet. Convertissons cela en binaire:
128 64 32 16 8 4 2 1
SN SN SN SN SN SN H H
1 0 0 1 1 1 1 1
Maintenant, pour trouver l’adresse réseau, nous n’ajoutons que les bits SN qui ont un 1 en dessous. (128 + 16 + 8 + 4 = 156).
Lorsque vous ajoutez ce numéro 156 aux trois premiers octets de l'adresse, l'adresse réseau 195.70.16.156 nous reste.
Maintenant que nous savons que la première adresse utilisable est toujours l’adresse réseau plus une, il suffit d’effectuer le calcul suivant: (156 + 1 = 157).
Cela nous donne une première adresse utilisable de 195.70.16.157.
Maintenant passons un instant à la dernière adresse utilisable et trouvons l’adresse de diffusion. Pour savoir ce que c'est, il suffit d'ajouter tous les H bits ensemble (qu'ils soient 1 ou 0), puis d'ajouter ce numéro à l'adresse de réseau. (2 + 1 + 156 = 159).
Cela nous donne une adresse de diffusion de 195.70.16.159.
Et enfin, travaillons sur la dernière adresse utilisable. Ce processus est similaire à la recherche de la première adresse utilisable. Cependant, au lieu d’en ajouter une à l’adresse réseau, nous en soustrayons une de l’adresse de diffusion. (159 - 1 = 158).
Cela nous donne une dernière adresse utilisable de 195.70.16.158.
Et là nous l'avons! Notre temaplte est complet. Pour référence facile, la voici à nouveau:
En tant que raccourci, vous pouvez également utiliser cette formule. Cela fonctionne sur des sous-réseaux de n'importe quelle taille:
Je ne veux rien enlever à l'excellente réponse de Mike Pennington , que j'ai promue sans relâche, mais je continue à voir des questions qui ne sont pas directement abordées dans sa réponse, et j'ai créé quelque chose qui était à l'origine basé sur la réponse de Mike, mais j'ai plus d'informations pour répondre aux questions qui se sont posées au fil du temps. Malheureusement, il est trop volumineux et j'ai dû le diviser en deux réponses.
Étant donné une adresse IPv4 et le masque de réseau IPv4 (le masque de réseau peut également être dérivé d'une longueur de masque de réseau ou d'un masque d'hôte), vous pouvez déterminer un grand nombre d'informations sur un réseau IPv4: adresse réseau, adresse de diffusion réseau, adresses hôte totales, total utilisable Adresses d’hôte, première adresse d’hôte utilisable et dernière adresse d’hôte utilisable.
Je ne saurais trop insister sur le fait que vous devez faire le calcul IPv4 en binaire. Je pense que chaque ingénieur réseau (ou ingénieur réseau potentiel) a essayé de trouver un moyen de faire tout cela en décimal, comme je suis sûr que vous le ferez *. Le problème est que 10 (décimal) n’est pas une puissance de 2 (binaire), de sorte que décimal et binaire ne se convertissent pas naturellement entre eux de la même manière que l’hexadécimal (base 16) se convertit naturellement en binaire, car 16 est une puissance de 2. .
Il semble que l’utilisation de la notation décimale à point pour IPv4 ait été une erreur prématurée qui ne peut pas être corrigée à présent, mais IPv6 a adopté dès le début l’utilisation de l’hexadécimal, et il est facile de convertir entre hexadécimal et binaire.
Si vous ne possédez pas de calculatrice IP (probablement pas autorisé dans les examens de classe d'éducation réseau ou les tests de certification), il est utile de créer un graphique des valeurs des bits dans un octet. Comme il s'agit de données binaires, chaque valeur de bit correspond à 2 fois la même valeur de chiffre dans le prochain chiffre moins significatif. Chaque chiffre correspond à la base numérique multipliée par le même chiffre dans le prochain chiffre le moins significatif. Ceci est également vrai pour toute autre base de nombres, y compris le nombre décimal (base 10), où chaque valeur de chiffre correspond à 10 fois la valeur du même chiffre dans la prochaine position de nombre moins significative. Pour les chiffres binaires (bits):
---------------------------------------------------------
| Bit # | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---------------------------------------------------------
| Value | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---------------------------------------------------------
Lorsque décimale concerne les puissances de 10, binaire, les puissances de 2. Notez que pour chaque nombre de bits dans le tableau ci-dessus, la valeur correspondante est égale à 2 de la puissance du nombre de bits.
For our example IPv4 dotted-decimal address of 198.51.100.223:
1st octet: 198 = 128 + 64 + 0 + 0 + 0 + 4 + 2 + 0 = 11000110
2nd octet: 51 = 0 + 0 + 32 + 16 + 0 + 0 + 2 + 1 = 00110011
3rd octet: 100 = 0 + 64 + 32 + 0 + 0 + 4 + 0 + 0 = 01100100
4th octet: 223 = 128 + 64 + 0 + 16 + 8 + 4 + 2 + 1 = 11011111
For our example IPv4 binary address of 11000110001100110110010011011111:
1st octet: 11000110 = 128 + 64 + 0 + 0 + 0 + 4 + 2 + 0 = 198
2nd octet: 00110011 = 0 + 0 + 32 + 16 + 0 + 0 + 2 + 1 = 51
3rd octet: 01100100 = 0 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 100
4th octet: 11011111 = 128 + 64 + 0 + 16 + 8 + 4 + 2 + 1 = 223
Vous devrez également vous souvenir de vos tables de vérité de l’école (en mathématiques binaires, 0 est faux et 1 est vrai):
-----------------------------------------
| False AND False = False | 0 AND 0 = 0 |
-----------------------------------------
| False AND True = False | 0 AND 1 = 0 |
-----------------------------------------
| True AND False = False | 1 AND 0 = 0 |
-----------------------------------------
| True AND True = True | 1 AND 1 = 1 |
-----------------------------------------
-----------------------------------------
| False OR False = False | 0 OR 0 = 0 |
-----------------------------------------
| False OR True = True | 0 OR 1 = 1 |
-----------------------------------------
| True OR False = True | 1 OR 0 = 1 |
-----------------------------------------
| True OR True = True | 1 OR 1 = 1 |
-----------------------------------------
* Si vous effectuez des calculs IPv4 pendant de nombreuses années, vous pouvez arriver au point où vous pouvez effectuer des conversions binaires / décimales dans votre tête. Vous pouvez ensuite avoir l'impression de pouvoir effectuer des calculs IPv4 en valeurs décimales. Même si je peux le faire dans ma tête, je revérifierai toujours avec une calculatrice IP, ou convertirai en binaire, effectuerai le calcul et reconvertirai en décimal avant de passer à un changement dans un réseau de production.
La notation décimale pointée IPv4, par exemple 198.51.100.223
, est simplement destinée à faciliter la lecture d’une adresse IPv4 par les humains. Les quatre sections distinctes, appelées octets, n’ont aucune signification pour IPv4. Ne commettez pas l’erreur commune de penser que les octets ont une signification particulière. Une adresse IPv4 est en réalité un nombre binaire sur 32 bits. C'est ainsi que les périphériques réseau voient et utilisent une adresse IPv4.
Notre exemple d'adresse IPv4 198.51.100.223
est en fait 11000110001100110110010011011111
destiné à un périphérique du réseau. Vous pouvez donc voir que la représentation décimale en pointillé facilite réellement la tâche des humains. Chaque octet correspond à huit bits de l’adresse à 32 bits (d’où le terme couramment utilisé, «octet»), ce qui donne quatre octets ( 32 address bits / 8 bits per octet = 4 octets
). Notre exemple d'adresse binaire 32 bits est séparé en quatre octets, puis chaque octet binaire est converti en un nombre décimal *:
Binary address: 11000110001100110110010011011111
---------------------------------------------
Binary octets: | 11000110 | 00110011 | 01100100 | 11011111 |
Decimal octets: | 198 | 51 | 100 | 223 |
---------------------------------------------
Dotted-decimal: 198.51.100.223
Comme chaque octet a une longueur de huit bits, chaque octet aura une valeur comprise entre 0
et 255
(toute valeur supérieure à 255
est invalide). La raison en est que 2^8 = 256
: 2
(la base du nombre binaire) à la puissance de 8
(huit bits par octet) est égal à 256
, le nombre de valeurs différentes pouvant être exprimées par un octet de huit bits. Rappelez-vous que la première valeur est 0
, de sorte que la 256
valeur th sera inférieure de 1 au nombre total de valeurs pouvant être exprimées ( 256 – 1 = 255
).
Pour effectuer correctement le calcul IPv4, vous devez le faire en binaire, sinon vous ferez des erreurs qui vous causeront des problèmes et de la frustration. Cela signifie que vous devez convertir la notation décimale séparée par des points en binaire avant d'essayer de la manipuler:
Dotted-decimal: 198.51.100.223
---------------------------------------------
Decimal octets: | 198 | 51 | 100 | 223 |
Binary octets: | 11000110 | 00110011 | 01100100 | 11011111 |
---------------------------------------------
Binary address: 11000110001100110110010011011111
* Les zéros non significatifs d'une adresse IPv4 en points décimaux peuvent être interprétés par certaines applications et langages de programmation comme des valeurs octales (base 8) plutôt que décimales (base 10), ce qui entraîne des erreurs et les zéros non significatifs doivent être évités pour la représentation IPv4 en points décimaux, mais les zéros au début sont nécessaires pour les octets d'adresse IPv4 binaires car ils représentent des positions de bits dans l'adresse complète et le fait de laisser une position de bits réduira l'adresse et modifiera la valeur binaire.
Un masque de réseau IPv4 est utilisé pour diviser une adresse IPv4 en deux parties: la partie réseau et la partie hôte. La division peut être à n’importe quel nombre de bits, elle peut donc être comprise dans un octet, et non dans une limite d’octets, comme beaucoup de personnes le supposent à tort. Un masque de réseau IPv4 a la même taille qu’une adresse IPv4 (32 bits) et s’exprime en notation décimale pointée de la même manière que l’exprimerait une adresse IPv4 en notation décimale pointée (quatre octets de huit bits, séparés par un période). Par exemple, 255.255.248.0
.
Un masque de réseau IPv4 se compose d’un nombre de 1
bits consécutifs (représentant la partie réseau d’une adresse), suivi d’un nombre de 0
bits (représentant la partie hôte de l’adresse). Le nombre total de 1
bits et le nombre total de 0
bits s'ajoutent au 32
nombre de bits d'une adresse IPv4 ou d'un masque de réseau. Pour notre exemple de masque de réseau:
Dotted-decimal: 255.255.248.0
------------------------------------------------
Decimal octets: | 255 | 255 | 248 | 0 |
Binary octets: | 11111111 | 11111111 | 11111 | 000 | 00000000 |
------------------------------------------------
| 21 Network bits | 11 Host bits |
------------------------------------------------
Comme vous pouvez le constater, la division entre les parties réseau et hôte de l'adresse IPv4 à l'aide de ce masque particulier se situe dans un octet et non dans une limite d'octet.
Un masque de réseau IPv4 est souvent représenté par le nombre de 1
bits consécutifs qu'il contient. On appelle cela la longueur de masque de réseau ou la longueur de préfixe. Elle est représentée par un /
nombre de 1
bits consécutifs dans le masque de réseau. Pour notre exemple, compter le nombre de 1
bits consécutifs 21
, ce qui peut être représenté par /21
.
Pour une longueur de masque, vous pouvez calculer la représentation décimale en pointillé du masque. Notez simplement le nombre de 1
bits pour la longueur du masque et ajoutez suffisamment de 0
bits à la fin pour obtenir le nombre total de 32
bits. Convertissez le nombre binaire obtenu en représentation décimale à points:
Mask length: /21
------------------------------------------------
| 21 Network bits | 11 Host bits |
------------------------------------------------
Binary octets: | 11111111 | 11111111 | 11111 | 000 | 00000000 |
Decimal octets: | 255 | 255 | 248 | 0 |
------------------------------------------------
Dotted-decimal: 255.255.248.0
L'exemple peut être représenté de manière traditionnelle 198.51.100.223
avec un masque de réseau 255.255.248.0
ou comme le CIDR (routage interdomaine) plus moderne 198.51.100.223/21
.
Une adresse réseau IPv4 est une adresse IPv4 avec tous les bits de l'hôte définis sur 0
. L'adresse réseau IPv4 peut être calculée par un bit AND
des bits respectifs dans la représentation binaire de l'adresse IPv4 et du masque de réseau IPv4. Alignez les bits des deux adresses et effectuez une opération binaire AND
sur chaque paire de bits respectifs, puis convertissez les octets individuels du résultat en décimal.
Pour notre exemple d'adresse IPv4 198.51.100.223
et de masque de réseau 255.255.248.0
:
Decimal address: 198.51.100.223/21
Binary address octets: 11000110 00110011 01100100 11011111
Binary mask octets: 11111111 11111111 11111000 00000000 AND
-----------------------------------
Binary network octets: 11000110 00110011 01100000 00000000
Decimal network octets: 198 51 96 0
Dotted-decimal network: 198.51.96.0
Comme vous pouvez le constater, l’adresse réseau de 198.51.100.223/21
is est 198.51.96.0
. Notez que vous ne pouvez pas compter sur les octets pour vous indiquer quelle partie de l'adresse est le réseau et quelle partie de l'adresse est destinée aux hôtes.
Vous pouvez utiliser cette méthode pour déterminer si deux adresses se trouvent sur le même réseau ou sur des réseaux différents *. Si, par exemple, vous voulez voir si votre 198.51.100.223/21
adresse est sur le même réseau IPv4 avec un hôte auquel l' 198.51.102.57
adresse a été attribuée , déterminez votre adresse réseau IPv4 (comme ci-dessus). Ensuite, déterminez l’adresse réseau IPv4 de l’hôte en question à l’aide de votre masque de réseau IPv4 (les hôtes d’un même réseau utilisent le même masque de réseau et vous n’avez peut-être pas le masque, mais uniquement l’adresse de l’hôte de destination):
Decimal address: 198.51.102.57/21
Binary address octets: 11000110 00110011 01100110 00111001
Binary mask octets: 11111111 11111111 11111000 00000000 AND
-----------------------------------
Binary network octets: 11000110 00110011 01100000 00000000
Decimal network octets: 198 51 96 0
Dotted-decimal network: 198.51.96.0
Comparez l'adresse réseau IPv4 obtenue à l'adresse réseau IPv4 d'origine et notez que les adresses réseau sont égales. Les adresses des hôtes sont donc sur le même réseau.
Voyons maintenant si vous êtes sur le même réseau que l' 74.125.69.100
adresse Google:
Decimal address: 74.125.69.100/21
Binary address octets: 01001010 01111101 01000101 01100100
Binary mask octets: 11111111 11111111 11111000 00000000 AND
-----------------------------------
Binary network octets: 01001010 01111101 01000000 00000000
Decimal network octets: 74 125 64 0
Dotted-decimal network: 74.125.64.0
Comparez l'adresse réseau IPv4 obtenue à l'adresse réseau IPv4 d'origine et notez que les adresses réseau sont différentes. Les adresses des hôtes se trouvent donc sur des réseaux différents.
* Il s'agit de la méthode utilisée par un hôte source pour déterminer s'il s'agit d'un hôte de destination situé sur le même réseau que l'hôte source.
Une valeur utile, souvent négligée, utile dans l'adressage IPv4 est le masque d'hôte IPv4. Un masque d'hôte IPv4 est simplement l'inverse du masque de réseau IPv4. Vous pouvez créer un masque d'hôte binaire à partir d'un masque de réseau binaire ou un masque de réseau binaire à partir d'un masque d'hôte binaire, simplement en inversant les 1
s et 0
s du masque de départ:
Dotted-decimal network mask: 255.255.248.0
Decimal network mask octets: 255 255 248 0
Binary network mask octets: 11111111 11111111 11111000 00000000 invert
-----------------------------------
Binary host mask octets: 00000000 00000000 00000111 11111111
Decimal host mask octets: 0 0 7 255
Dotted-decimal host mask: 0.0.7.255
Il est possible de créer mathématiquement un masque hôte à partir du masque de réseau ou le masque de réseau à partir du masque hôte en soustrayant le masque de départ du masque le plus long ( /32
ou du masque tout-un).
Cela peut être fait en binaire:
Binary all-ones mask octets: 11111111 11111111 11111111 11111111
Binary network mask octets: 11111111 11111111 11111000 00000000 -
-----------------------------------
Binary host mask octets: 00000000 00000000 00000111 11111111
Decimal host mask octets: 0 0 7 255
Dotted-decimal host mask: 0.0.7.255
Cela peut aussi être fait en décimal (un octet composé d'un seul 255
), mais assurez-vous de le convertir en binaire avant d'essayer de l'utiliser pour la manipulation d'adresse:
Decimal all-ones mask octets: 255 255 255 255
Decimal network mask octets: 255 255 248 0 -
---------------
Decimal host mask octets: 0 0 7 255
Dotted-decimal host mask: 0.0.7.255
Une adresse de diffusion réseau IPv4 est l'adresse réseau IPv4 avec tous les bits de l'hôte définis sur 1
. Il existe plusieurs façons de calculer l'adresse de diffusion réseau IPv4.
Pour notre exemple, adresse IPv4 198.51.100.223
et masque de réseau 255.255.248.0
.
Vous pouvez effectuer un bitwise OR
avec l'adresse IPv4 ou l'adresse réseau avec le masque d'hôte:
Decimal address octets: 198 51 100 223
Binary address octets: 11000110 00110011 01100100 11011111
Binary host mask octets: 00000000 00000000 00000111 11111111 OR
-----------------------------------
Binary broadcast octets: 11000110 00110011 01100111 11111111
Decimal broadcast octets: 198 51 103 255
Dotted-decimal broadcast: 198.51.103.255
Vous pouvez simplement ajouter la valeur du masque d’hôte IPv4 à la valeur de l’adresse réseau IPv4:
Binary network octets: 11000110 00110011 01100000 00000000
Binary host mask octets: 00000000 00000000 00000111 11111111 +
-----------------------------------
Binary broadcast octets: 11000110 00110011 01100111 11111111
Decimal broadcast octets: 198 51 103 255
Dotted-decimal broadcast: 198.51.103.255
C'est aussi quelque chose que vous pouvez faire en décimal:
Decimal network octets: 198 51 96 0
Decimal host mask octets: 0 0 7 255 +
---------------
Decimal broadcast octets: 198 51 103 255
Dotted-decimal broadcast: 198.51.103.255
Le nombre total d'adresses IPv4 pour un réseau correspond 2
à la puissance du nombre de bits de l'hôte, ce qui correspond 32
au nombre de bits du réseau. Pour notre exemple de /21
réseau (masque de réseau 255.255.248.0
), il existe 11
des bits d’hôte ( 32 address bits – 21 network bits = 11 host bits
). Cela signifie qu'il y a 2048
des adresses d'hôte totales dans un /21
réseau IPv4 ( 2^11 = 2048
).
À l'exception des /31
réseaux (masque de réseau 255.255.255.254
) et /32
(masque de réseau 255.255.255.255
), le nombre d'adresses hôtes utilisables sur un réseau IPv4 est égal au nombre total d'adresses hôtes du réseau moins 2
(car les adresses réseau et de diffusion IPv4 sont inutilisables pour les adresses hôte du réseau, doivent les soustraire du nombre d’adresses hôtes utilisables). Pour notre exemple de réseau /21
( 255.255.248.0
), il existe 2046
des adresses hôtes utilisables ( 2^11 - 2 = 2046
).
À l'exception des /31
réseaux (masque de réseau 255.255.255.254
) et /32
(masque de réseau 255.255.255.255
), la première adresse d'hôte réseau IPv4 utilisable est l'adresse réseau IPv4 plus 1
(l'adresse de réseau IPv4 n'est pas utilisable pour une adresse d'hôte réseau). Pour notre exemple de réseau de 198.51.96.0/21
, la première adresse d’hôte réseau utilisable est 198.51.96.1
( 198.51.96.0 + 1 = 198.51.96.1
). Définissez simplement le bit de poids faible de l'adresse réseau binaire IPv4 sur 1
:
Decimal network octets: 198 51 96 0
Binary network octets: 11000110 00110011 01100000 00000000
-----------------------------------
Binary address octets: 11000110 00110011 01100000 00000001
Decimal address octets: 198 51 96 1
Dotted-decimal address: 198.51.96.1
À l'exception des /31
réseaux (masque de réseau 255.255.255.254
) et /32
(masque de réseau 255.255.255.255
), la dernière adresse d'hôte réseau IPv4 utilisable est l'adresse de diffusion réseau IPv4 moins 1
(l'adresse de diffusion réseau IPv4 n'est pas utilisable pour une adresse d'hôte réseau). Pour notre exemple de réseau de 198.61.96.0/21
, la dernière adresse d’hôte réseau utilisable est 198.51.103.254
( 198.51.103.255 - 1 = 198.51.103.254
). Définissez simplement le bit de poids faible de l'adresse de diffusion réseau binaire IPv4 sur 0
:
Decimal broadcast octets: 198 51 103 255
Binary broadcast octets: 11000110 00110011 01100111 11111111
-----------------------------------
Binary address octets: 11000110 00110011 01100111 11111110
Decimal address octets: 198 51 103 254
Dotted-decimal address: 198.51.103.254
Pour notre exemple d'adresse réseau IPv4 198.51.100.223
et de masque 255.255.248.0
(ou 198.51.100.223/21
), nous pouvons calculer beaucoup d'informations réseau:
Host address: 198.51.100.223
Network mask: 255.255.248.0
Network mask length: 21
Host mask: 0.0.7.255
Host mask length: 11
*Network address: 198.51.96.0
*First usable network host address: 198.51.100.1
*Last usable network host address: 198.51.103.254
*Network Broadcast address: 198.51.103.255
Total network host addresses: 2048
Usable network host addresses: 2046
* Les examens en classe et les tests de certification en réseau vous demanderont de pouvoir les calculer rapidement pour un réseau IPv4, en fonction de l'adresse et du masque (ou de la longueur du masque). Vous pouvez utiliser les astuces ci-dessous pour une vérification rapide de vos réponses:
Les conseils ci-dessus ne s'appliquent pas aux /31
réseaux (masque de réseau 255.255.255.254
) ou /32
(masque de réseau 255.255.255.255
).
Si vous avez suffisamment de temps pour votre examen et si vous rencontrez un problème faisant appel à plusieurs méthodes, vous devez utiliser plusieurs méthodes pour vérifier la réponse.
Suite dans la réponse suivante ...
Suite de la réponse précédente ...
Une passerelle est un hôte du réseau qui sait comment transférer des paquets vers d'autres réseaux, et toute adresse d'hôte réseau utilisable peut lui être affectée. Certaines personnes attribuent simplement des adresses de passerelle à une adresse d’hôte réseau utilisable, certaines attribuent toujours la première adresse d’hôte réseau utilisable à une passerelle et certaines personnes affectent toujours la dernière adresse d’hôte réseau utilisable à une passerelle. L'adresse de réseau hôte utilisable que vous affectez à une passerelle importe peu, mais vous devez essayer d'être cohérent.
/31
(masque de réseau 255.255.255.254
)À l'origine, les /31
réseaux (masque de réseau 255.255.255.254
) étaient inutilisables car il n'y a qu'un seul bit d'hôte, ce qui vous donne deux adresses d'hôte réseau au total, mais le nombre d'adresses d'hôte réseau utilisables est le nombre total d'adresses d'hôte réseau moins 2
( 2 total host addresses - 2 = 0 usable host addresses
).
Les liens point à point ne nécessitent que deux adresses d’hôte (une pour chaque extrémité du lien). La méthode traditionnelle d’attribution de réseaux IPv4 nécessitait l’utilisation de /30
réseaux (masque de réseau 255.255.255.252
) pour les liaisons point à point, mais cela gaspillait la moitié des adresses d’hôte réseau car un /30
réseau avait quatre adresses d’hôte réseau au total, mais deux seulement étaient utilisables. ( 2^2 – 2 = 2
)
En raison de la pénurie d’adresses IPv4, une norme a été créée pour permettre l’utilisation de /31
réseaux pour des liaisons point à point. Cela a du sens car il n’est pas nécessaire de diffuser sur de tels réseaux: tous les paquets envoyés par un hôte du réseau sont destinés au seul autre hôte du réseau, à savoir, effectivement. Sur un /31
réseau, l'adresse réseau est la première adresse hôte utilisable et l'adresse de diffusion est la dernière adresse hôte utilisable.
Malheureusement, tous les fournisseurs (Microsoft en particulier) ne prennent pas en charge la norme d'utilisation de /31
réseaux sur des liaisons point à point, et vous verrez le plus souvent des liens point à point utilisant des /30
réseaux.
/32
(masque de réseau 255.255.255.255
)Un /32
réseau (masque de réseau 255.255.255.255
) est à la fois un réseau sans adresse hôte et une adresse hôte, elle-même. Il n'y a qu'une seule adresse sur le réseau, c'est l'adresse du réseau. Comme il n'y a pas d'autres hôtes sur le réseau, le trafic doit être routé vers et depuis l'adresse réseau.
Ces adresses sont souvent utilisées sur des interfaces réseau virtuelles définies à l'intérieur d'un périphérique pouvant acheminer des paquets entre ses interfaces virtuelles et physiques. Un exemple de cela est de créer une interface virtuelle dans un périphérique réseau à utiliser comme source ou destination pour le périphérique lui-même. Une interface virtuelle ne peut pas être abandonnée à cause d'un problème physique, par exemple un câble débranché et si le périphérique comporte plusieurs chemins, d'autres périphériques peuvent toujours communiquer avec le périphérique à l'aide de l'adresse de l'interface virtuelle lorsqu'une interface physique du périphérique est inutilisable pour une raison quelconque. .
La mise en sous-réseau d’un réseau crée plusieurs réseaux plus longs à partir d’une adresse réseau et d’un masque. L'idée de base est que vous empruntez des bits de poids fort de la partie hôte du réseau d'origine. Supposons que vous souhaitiez créer 14 sous-réseaux de taille égale à partir de notre 198.51.96.0/21
réseau d' origine . Puisque vous empruntez des bits de poids fort à la partie hôte du réseau d'origine, vous obtiendrez un nombre qui est une puissance de 2
, mais 14
n'est pas une puissance de 2
, vous devez donc obtenir la puissance immédiatement supérieure de 2
, qui se trouve être 16
( 16 = 2^4
). La puissance de 2
, dans ce cas 4
, correspond au nombre de bits d’hôte d’ordre élevé nécessaires à l’emprunt pour que le nombre de sous-réseaux soit créé. Vous pouvez également utiliser une formule mathématique pour déterminer le nombre de bits requis:Log2(X subnets) = Y borrowed bits
, arrondi à la valeur entière suivante:
Log2(14 subnets) = 3.807354922, rounded up = 4 borrowed bits
Pour notre exemple de besoin de 14 sous-réseaux de taille égale sur le 198.51.96.0/21
réseau d' origine , en commençant par 0
s * pour le premier sous-réseau, ajoutez-le 1
à la partie sous-réseau pour obtenir le prochain sous-réseau:
----------------------------------------------
Original: | 21 network bits | 11 host bits |
----------------------------------------------
Network: | 110001100011001101100 | 0000 | 0000000 | = 198.51.96.0/21
Subnet 1: | 110001100011001101100 | 0000 | 0000000 | = 198.51.96.0/25
Subnet 2: | 110001100011001101100 | 0001 | 0000000 | = 198.51.96.128/25
Subnet 3: | 110001100011001101100 | 0010 | 0000000 | = 198.51.97.0/25
Subnet 4: | 110001100011001101100 | 0011 | 0000000 | = 198.51.97.128/25
Subnet 5: | 110001100011001101100 | 0100 | 0000000 | = 198.51.97.128/25
Subnet 6: | 110001100011001101100 | 0101 | 0000000 | = 198.51.98.128/25
Subnet 7: | 110001100011001101100 | 0110 | 0000000 | = 198.51.99.0/25
Subnet 8: | 110001100011001101100 | 0111 | 0000000 | = 198.51.99.128/25
Subnet 9: | 110001100011001101100 | 1000 | 0000000 | = 198.51.100.0/25
Subnet 10: | 110001100011001101100 | 1001 | 0000000 | = 198.51.100.128/25
Subnet 11: | 110001100011001101100 | 1010 | 0000000 | = 198.51.101.0/25
Subnet 12: | 110001100011001101100 | 1011 | 0000000 | = 198.51.101.128/25
Subnet 13: | 110001100011001101100 | 1100 | 0000000 | = 198.51.102.0/25
Subnet 14: | 110001100011001101100 | 1101 | 0000000 | = 198.51.102.128/25
----------------------------------------------
Subnetted: | 25 network bits | 7 host bits |
----------------------------------------------
----------------------------------------------
Unused: | 110001100011001101100 | 111 | 00000000 | = 198.51.103.0/24
----------------------------------------------
* Il existe un mythe persistant selon lequel les sous-réseaux tout-zéros et tout-un ne peuvent pas être utilisés pour les sous-réseaux, comme pour les adresses d'hôte, mais ce mythe a été explicitement dissipé il y a de nombreuses années par une norme. Malheureusement, ce mythe s’applique à certaines classes d’éducation de réseau et la bonne solution pour ces classes (incorrectes) serait d’utiliser les 2ème à 15ème sous-réseaux.
Il est possible de sous-réseau d'un réseau en sous-réseaux de tailles variées (chaque réseau IPv4 est un sous-réseau de l' 0.0.0.0/0
adresse réseau), comme dans l'exemple ci-dessus, où le sous-réseau inutilisé est un /24
sous - réseau, mais cela nécessite une planification minutieuse pour que les sous-réseaux résultants démarrent le bit correct.
Par exemple, supposons que nous ayons besoin d’ /26
un /27
sous - réseau et d’un sous - réseau de notre 198.51.96.0/21
réseau. Il existe deux façons de procéder: commencer par le /26
sous - réseau ou par le /27
sous - réseau.
En commençant par le /26
sous - réseau:
Original: | 110001100011001101100 | 00000000000 | /21
Subnet 1: | 110001100011001101100 | 00000 | 000000 | /26
Ajoutez 1
à la partie sous-réseau pour obtenir la position de départ du prochain sous-réseau:
Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26
Ensuite, étendez le deuxième sous-réseau à /27
:
Subnet 2: | 110001100011001101100 | 000010 | 00000 | /27
Notez que nous sommes en train de sous-réseaux du deuxième /26
sous-réseau dans un /27
sous - réseau, et cela fonctionne bien car 27
est plus grand que 26
.
En commençant par le /27
sous - réseau:
Original: | 110001100011001101100 | 00000000000 | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27
Ajoutez 1
à la partie sous-réseau pour obtenir la position de départ du prochain sous-réseau:
Subnet 2: | 110001100011001101100 | 000001 | 00000 | /27
Notez qu'il ne reste pas assez de bits dans la partie hôte (cinq bits d'hôte) pour prendre en charge un /26
réseau nécessitant six bits d'hôte ( 32 address bits – 26 network bits = 6 host bits
). Si nous utilisons cela comme position de départ pour le /26
sous - réseau, nous chevaucherons les /26
réseaux précédents et suivants . Nous devons laisser un espace de la taille d’un /27
réseau pour la position de départ du /26
réseau:
Original: | 110001100011001101100 | 00000000000 | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27
Unused: | 110001100011001101100 | 000001 | 00000 | /27
Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26
Un /26
sous-réseau doit toujours commencer sur une /26
limite: toutes les deuxièmes /27
limites de sous-réseau, toutes les quatre /28
limites, toutes les huitièmes /29
limites, etc. Cette règle s'applique à toute taille de sous-réseau: un sous-réseau doit commencer sur une limite d'un sous-réseau plus long, égale 2
à la puissance. de la taille de sous-réseau la plus longue moins la taille de sous-réseau. Par exemple, un /23
sous - réseau doit démarrer sur tous les 4 /25
réseaux ( 2^(25 - 23) = 2^2 = 4
).
Tenter de configurer un périphérique avec une adresse réseau qui commence sur une mauvaise limite de bits entraînera des problèmes étranges et difficiles à résoudre, ou le périphérique générera une erreur concernant le chevauchement des réseaux. Certaines personnes essaient de le faire avec une décimale en pointillés, ce qui peut entraîner des erreurs. Par exemple, les 198.51.96.0/27
adresses des hôtes du réseau sont 198.51.96.0
complètes 198.51.96.31
. Si vous le savez et essayez d'utiliser le 198.51.96.32/26
réseau, vous rencontrerez des problèmes car ce réseau démarre sur une mauvaise limite de bits et chevauche le /27
réseau (vérifiez en utilisant un bit AND
avec les adresses et les masques du réseau). C'est évident en binaire, mais ce n'est pas si évident en pointillé-décimal. Vous pouvez apprendre que les /26
réseaux doivent commencer sur un multiple de décimal64
limite, mais le voir en binaire peut vous dire avec certitude si vous avez commis une erreur ou non.
Les questions d'examen courantes vous donneront un réseau et vous demanderont de créer plusieurs sous-réseaux de tailles différentes en fonction du nombre d'hôtes pour chaque sous-réseau. Si vous le pouvez, vous devez préciser si le nombre d'hôtes est basé sur le nombre total d'adresses d'hôtes sur le réseau ou sur le nombre d'hôtes utilisables sur le réseau. (Par exemple, si la question demande un sous-réseau avec 256
ou des 255
hôtes, un /24
réseau vous donnera le 256
total des adresses d’hôte, mais uniquement 254
des adresses d’hôte utilisables. Une telle question peut être une question piège, et la réponse correcte dépend du fait que le question signifie le total des adresses d’hôte ou des adresses d’hôte utilisables.)
Exemple de question:
Given the 198.51.96.0/21 network, subnet it for the following departments:
Department 1: 500 hosts
Department 2: 100 hosts
Department 3: 200 hosts
Department 4: 1000 hosts
Comme nous l'avons vu dans la section Sous-réseau IPv4 sur les réseaux, le moyen le plus simple de procéder consiste à trier les départements en fonction du nombre d'hôtes le plus élevé au nombre le plus petit car nous n'aurons pas besoin de gérer les lacunes du réseau:
Department 4: 1000 hosts
Department 1: 500 hosts
Department 3: 200 hosts
Department 2: 100 hosts
Vous pouvez arrondir chaque puissance à la puissance élevée suivante de 2 pour obtenir le nombre d'adresses total requises pour chaque sous-réseau, puis déduire le nombre de bits d'hôte requis de l'exposant de la puissance de 2
:
Department 4: 1024 total host addresses = 2^10 = 10 host bits
Department 1: 512 total host addresses = 2^9 = 9 host bits
Department 3: 256 total host addresses = 2^8 = 8 host bits
Department 2: 128 total host addresses = 2^7 = 7 host bits
Vous pouvez également modifier la formule précédente pour rechercher le nombre de bits requis pour un nombre particulier de sous-réseaux de taille égale afin de déterminer le nombre de bits d'hôte requis pour chaque sous-réseau:, Log2(X hosts) = Y host bits
arrondi à la valeur entière suivante:
Department 4: Log2(1000 hosts) = 9.96578428466209, rounded up = 10 host bits
Department 1: Log2( 500 hosts) = 8.96578428466209, rounded up = 9 host bits
Department 3: Log2( 200 hosts) = 7.64385618977472, rounded up = 8 host bits
Department 2: Log2( 100 hosts) = 6.64385618977473, rounded up = 7 host bits
Une fois que vous avez le nombre de bits d’hôte requis pour chaque sous-réseau, effectuez le calcul mathématique pour obtenir le sous-réseau spécifique à chaque service. N'oubliez pas d'ajouter 1
à un sous-réseau pour obtenir l'adresse de départ du prochain sous-réseau:
Original: | 110001100011001101100 | 00000000000 | = 198.51.96.0/21
Department 4: | 110001100011001101100 | 0 | 0000000000 | = 198.51.96.0/22
Department 1: | 110001100011001101100 | 10 | 000000000 | = 198.51.100.0/23
Department 3: | 110001100011001101100 | 110 | 00000000 | = 198.51.102.0/24
Department 2: | 110001100011001101100 | 1110 | 0000000 | = 198.51.103.0/25
Unused: | 110001100011001101100 | 1111 | 0000000 | = 198.51.103.128/25
Il peut vous être demandé de fournir les informations réseau d'un sous-réseau particulier d'un réseau donné. Par exemple, il peut vous être demandé de fournir les informations réseau du 23e /26
sous- 198.51.96.0/21
réseau du réseau. Puisque vous avez besoin du 23e sous-réseau, vous pouvez convertir 22
(rappelez 0
- vous, c'est le premier sous-réseau, donc le 23e sous-réseau serait 22
*) en binaire: Décimal 22
= Binaire 10110
. Utilisez le nombre binaire converti dans la partie sous-réseau de l'adresse:
Original: | 110001100011001101100 | 00000000000 | = 198.51.96.0/21
Subnet 23: | 110001100011001101100 | 10110 | 000000 | = 198.51.101.128/26
Une fois que vous avez identifié la 23ème adresse réseau 198.51.101.128/26
, vous pouvez calculer les autres informations réseau (comme décrit dans les sections précédentes):
Network address: 198.51.101.128
Network mask length: 26
Network mask: 255.255.255.192
Host mask length: 6
Host mask: 0.0.0.63
First usable network host address: 198.51.101.1
Last usable network host address: 198.51.101.62
Broadcast address: 198.51.101.63
Total network host addresses: 64
Usable network host addresses: 62
* Il existe un mythe persistant selon lequel les sous-réseaux tout-zéros et tout-un ne peuvent pas être utilisés pour les sous-réseaux, comme pour les adresses d'hôte, mais ce mythe a été explicitement dissipé il y a de nombreuses années par une norme. Malheureusement, ce mythe s’applique à certaines classes d’éducation de réseau et la bonne solution pour ces classes (incorrectes) consiste à utiliser le 24e sous-réseau ( 23
décimal, 10111
binaire) dans notre exemple de sous-réseaux de taille égale, plutôt que le 23e ( 22
décimal, 10110
binaire) sous-réseau.
Vous pouvez être invité à rechercher l'adresse d'un hôte particulier d'un réseau donné. Par exemple, vous pouvez être invité à donner l'adresse de l'hôte pour le 923e hôte du 198.51.96.0/21
réseau. Comme vous avez besoin de l'hôte 923rd, vous pouvez convertir 923
en binaire: Decimal 923
= Binary 1110011011
. Ajoutez le nombre binaire converti à l'adresse réseau:
Binary network: | 110001100011001101100 | 00000000000 |
Binary 923: | 000000000000000000000 | 01110011011 | +
-----------------------------------
Host address: | 110001100011001101100 | 01110011011 | = 198.51.99.155
Il se peut que vous receviez deux (ou plus) adresses d’hôte différentes et qu’on vous demande de définir le plus grand réseau (le plus petit nombre d’hôtes) contenant les deux adresses d’hôte. Par exemple, recherchez le plus grand réseau commun de 198.51.100.223
et 198.51.101.76
.
Commencez par convertir les adresses décimales en points en fichiers binaires:
198.51.100.223 = 11000110001100110110010011011111
198.51.101.76 = 11000110001100110110010101001100
Ensuite, à partir du bit de poids fort (à l'extrême gauche), comparez les adresses binaires à chaque position de bit jusqu'à ce que les bits situés à la même position ne correspondent pas:
198.51.100.223 = | 11000110001100110110010 | 011011111 |
198.51.101.76 = | 11000110001100110110010 | 101001100 |
Comptez le nombre de bits correspondants, 23
dans ce cas, pour obtenir la longueur du masque. Vous pouvez ensuite prendre l'une ou l'autre adresse et effectuer une opération AND
au niveau des bits avec le masque de réseau pour obtenir le réseau commun. Faire cela sur les deux adresses devrait résulter dans le même réseau, et si ce n'est pas le cas, alors vous avez mal calculé, ou vous avez manqué une position de bit sans correspondance.
198.51.100.223 = 11000110001100110110010011011111
/23 mask length = 11111111111111111111111000000000 AND
--------------------------------
Binary network: 11000110001100110110010000000000 = 198.51.100.0/23
198.51.101.76 = 11000110001100110110010111011111
/23 mask length = 11111111111111111111111000000000 AND
--------------------------------
Binary network: 11000110001100110110010000000000 = 198.51.100.0/23
Notez que les deux adresses réseau correspondent. Cela signifie que le plus grand réseau commun pour les deux adresses d’hôte est 198.51.100.0/23
(notation CIDR) ou (traditionnel) 198.51.100.0
avec un masque de 255.255.254.0
.
* Vous pouvez voir ceci appelé le plus petit réseau commun (ou une variante, par exemple un réseau minimum ou un masque). Le réseau le plus petit est en réalité 0.0.0.0/0
( 0
bits de réseau) et constitue le réseau commun à toutes les adresses IPv4. Il s'agit donc du plus petit réseau commun entre toutes les adresses IPv4. La confusion survient parce que de nombreuses personnes examinent la partie hôte de l'adresse et considèrent sa taille comme étant la taille du réseau, plutôt que la taille de la partie réseau de l'adresse.
IPv4, en soi, n'a pas la notion d'adressage public et privé, ni la distinction entre. L’adressage privé IPv4 a été choisi de manière arbitraire et les FAI, par convention, ne transmettront pas les paquets sur l’Internet public en utilisant des adresses dans l’espace adresse privée, mais les périphériques réseau et les hôtes n’ont aucune idée si une adresse est publique ou privée.
Il existe trois plages d'adresses définies dans l'adressage privé IPv4:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
À l'origine, les adresses IPv4 étaient divisées en classes de réseau. L'adressage par classe était obsolète depuis des décennies et la mise en réseau moderne est basée sur le routage interdomaine sans classe (CIDR). Malheureusement, de nombreux cours de formation en réseau et examens de certification insistent sur le fait de tester vos connaissances en matière d'adressage par classe. Veuillez vous familiariser avec les mathématiques IPv4 précédentes de ce document et vous familiariser avec celles-ci avant de vous familiariser avec l'adressage en classe.
Les classes d'adresses IPv4 sont toutes basées sur les premiers bits de l'adresse:
Class Address Starts With Address Range Default Size*
A First one bit = 0 0.0.0.0 to 127.255.255.255 /8
B First two bits = 10 128.0.0.0 to 191.255.255.255 /16
C First three bits = 110 192.0.0.0 to 223.255.255.255 /24
D First four bits = 1110 224.0.0.0 to 239.255.255.255 N/A
E First four bits = 1111 240.0.0.0 to 255.255.255.255 N/A
255.0.0.0
( /8
) et un masque d’hôte par défaut de 0.255.255.255
, vous donnant le 16,777,216
total des adresses d’hôte par réseau.255.255.0.0
( /16
) et un masque d’hôte par défaut de 0.0.255.255
, vous donnant le 65,536
total des adresses d’hôte par réseau.255.255.255.0
( /24
) et un masque d’hôte par défaut de 0.0.0.255
, vous donnant le 256
total des adresses d’hôte par réseau.255.255.255.255
, qui est une adresse individuelle que chaque hôte d’un réseau considérera comme la sienne. Cela signifie que tout ce qui 255.255.255.255
sera envoyé sera reçu et traité par tous les hôtes du réseau.Étant donné que chaque classe a une taille de réseau par défaut, certaines questions supposent le masque par défaut pour une adresse donnée; par conséquent, tous les calculs doivent être effectués en fonction du masque de réseau par défaut. Pour notre exemple d'adresse 198.51.100.223
:
Binary: 11000110 00110011 01100100 11011111
Notez que les trois premiers bits d’adresse sont 110
, c’est-à-dire qu’il s’agit d’une adresse de classe C, et qu’en dehors de tout masque ou de toute longueur de masque, le masque de réseau est supposé être 255.255.255.0
( /24
), ce qui en fait l’adresse de réseau 198.51.100.0
.
* Ne commettez pas l'erreur commune de penser que le masque de réseau dicte la classe de réseau, c'est l'inverse. Par exemple, beaucoup de gens considèrent n'importe quel /24
réseau comme un réseau de classe C, mais ce n'est même pas vrai à distance. Par exemple, étant donné qu'il s'agit d'un 10.11.12.0/24
réseau, de nombreuses personnes l'appellent à tort en raison d'un masque de réseau, même si le premier bit de l'adresse 0
est un réseau de classe A, même si son masque de réseau est plus long que celui par défaut. Masque de réseau de classe A, ce qui signifie qu’il s’agit d’un sous-réseau d’un réseau de classe A et non d’un réseau de classe C.
(Pour essayer de conserver toutes les réponses au masque de réseau à un endroit, après les autres excellentes réponses, j'ai ajouté celui-ci à propos d'une méthode visuelle.)
Dimensionnement du sous-réseau basé sur le nombre d'hôtes
Ceci est pour la question commune « Comment puis-je couper une taille de réseau donné en n morceaux permettant x 1 hôtes dans le réseau 1, x 2 hôtes dans le réseau 2, etc ...? » peut absolument être résolu en suivant les méthodes décrites dans les autres excellentes réponses.
Cependant, certaines personnes pourraient souhaiter une méthode plus visuelle et des astuces générales.
Méthode visuelle "Glasscutter"
J'enseigne souvent une compréhension visuelle de ceci avec la méthode suivante:
Imaginons d’abord une guillotine en papier comme celle-ci:
( Image de Wikipedia par Nathan CC BY-SA 3.0)
Les propriétés de ce type de massicot sont qu’il ne coupe que des lignes droites, qu’il coupe toujours à travers le papier et qu’il coupe perpendiculairement à un côté. Notre guillotine est difficile: elle ne coupera que le papier en deux et nous ne pouvons pas couper à moins de 1 cm du bord.
Voici une illustration du processus. Vous voyez qu’il n’ya qu’un seul type de coupe possible entre la coupe 1 et la coupe 2, mais pour la coupe 3, nous faisons un choix: couper le petit morceau (rouge) ou le gros morceau (bleu), ce qui donne deux possibilités différentes.
C’est ce que l’on appelle souvent le problème de la guillotine, problème que j’ai appris en tant que «coupeur de verre», car le verre à vitre doit vraiment être coupé à fond. Ce problème pourrait être appelé «coupeur de verre binaire» car il est toujours coupé en moitiés.
Quand je le fais réellement dans la vie réelle, je réduis mentalement le voile en regardant une grille comme celle-ci. Je me souviens que / 26 doit commencer par 0, .64, 128 ou .192; Je sais peut-être que la septième ligne louée a besoin de la septième / 30 dans le quart supérieur, mais je ne me souviendrai pas que c’est 0,216.
La grille peut évidemment être utilisée pour représenter le troisième octet également, et chaque carré représente a / 24. Maintenant, on dit que a / 18 commence par .0, .64, .128 ou .192.
Conseils techniques généraux
La procédure générale est la suivante:
Exemple:
IP: 128.42.5.4
En binaire: 10000000 00101010 00000101 00000100
Sous-réseau: 255.255.248.0
Comment pouvez-vous déterminer le préfixe, le réseau, le sous-réseau et les numéros d’hôte?
32768 16384 8192 4096 2048 1024 512 256 ----> Binary
128 192 224 240 248 252 254 255 ----> Sunet Mask
/17 /18 /19 /20 /21 /22 /23 /24 ----> CIDR
32766 16382 8190 3094 2046 1022 510 254 ----> Host
128 64 32 16 8 4 2 1 ----> Binary
128 192 224 240 248 252 254 255 ----> Sunet Mask
/25 /26 /27 /28 /29 /30 /31 /32 ----> CIDR
126 62 30 14 6 2 * - ----> Host
128 64 32 16 8 4 2 1
10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001
Example
Network=192.168.1.0 /24;
Network Address with Subnet mask = 192.168.1.0 subnet 255.255.255.0
Ip address range 192.168.1.0----192.168.1.255
Fist available ip address 192.168.1.1;
Last available ip address 192.168.1.254;
Broadcast address = 192.168.1.255;
254 Host
Network=192.168.1.0 /25;
Network Address with Subnet mask = 192.168.1.0 subnet 255.255.255.128
Ip address range 192.168.1.0----192.168.1.128
Fist available ip address 192.168.1.1;
Last available ip address 192.168.1.126;
Broadcast address = 192.168.1.127;
126 Hosts
When the CIDR increased ex. /24. /25. the network will divided by the
binary number.
/25 increase network 0-128| 128- 256 | you will have 2 Networks
/26 increase network 0-64 | 64 - 128 | 128-192 | 192-256 you will have 4 Networks
.
.
.
/32......