Quels sont les éléments essentiels d'un masque de sous-réseau?

10

À quoi sert un masque de sous-réseau?

Quelle est la sortie ci-dessous transmettant à l'utilisateur?

 Connection-specific DNS Suffix  . :
 IP Address. . . . . . . . . . . . : 192.168.1.2
 Subnet Mask . . . . . . . . . . . : 255.255.255.0
 Default Gateway . . . . . . . . . : 192.168.1.1

Fondamentalement, pourquoi ai-je besoin d'un masque de sous-réseau lorsque j'ai mon adresse IP?

JavaUser
la source
4
EA chez SF a répondu à cette question bien mieux que quiconque que j'aie jamais vu. serverfault.com/questions/49765/how-does-subnetting-work
MDMarra

Réponses:

23

Si vous considérez votre adresse IP comme un numéro de téléphone:

  • le masque de sous-réseau vous indique combien de chiffres font partie de l'indicatif régional
  • les chiffres restants sont votre numéro individuel sous cet indicatif régional
yhw42
la source
6
Bel exemple succinct qui explique le but sans devenir technique.
Mike Christiansen
17

Bref

Votre masque de sous-réseau est utilisé pour définir votre réseau ou sous- réseau local . Vous pouvez accéder à tout dans le même sous-réseau directement, mais tout ce qui ne se trouve pas sur votre sous-réseau nécessite que la demande passe par une passerelle .

Ainsi, pour un utilisateur domestique, votre sous-réseau sera votre réseau domestique - vos ordinateurs et appareils sans fil peuvent tous communiquer directement entre eux. Mais, Internet est en dehors de votre sous-réseau, donc toute communication doit d'abord passer par votre passerelle (généralement un routeur).

Légèrement technique

Un sous-réseau est un masque de bits long de 32 bits (comme évoqué par Manaf Abo.Rous ), normalement écrit en quatre octets de 8 bits. Notez que 255c'est 11111111(8 unités) en binaire.

Le masque signifie essentiellement "seules les adresses IP qui ont les mêmes numéros aux endroits définis par le masque de sous-réseau sont dans mon réseau local" .

Donc, un sous-réseau 255.255.255.0signifie que chaque adresse IP qui correspond aux trois premiers octets est votre réseau local, avec vos numéros donnés, cela correspond à tout 192.168.001.###. Alternativement, un sous-réseau plus large 255.255.0.0constituerait votre réseau local 192.168.###.###.

Plus technique

Les valeurs d'octet ne doivent pas toujours être 255, vous pourriez en avoir 255.255.255.240, soit 28 un et 4 zéro. Cela signifie que les 28 premiers bits d'une autre IP doivent correspondre aux vôtres pour être dans le même sous-ensemble. Un masque de sous-réseau doit toujours être un certain nombre de 1 suivi de seulement des zéros pour faire 32 bits, et c'est pourquoi il peut également être représenté /28(dans ce cas de toute façon) avec la valeur indiquant combien de 1 le masque contient - ce est normalement utilisé dans le contexte de l'IP, comme192.168.1.2/28

Donc, si votre IP est 192.168.1.2avec le masque de sous-réseau 255.255.255.240, votre sous-réseau est la plage IP de 192.168.1.0à 192.168.1.15(bien que la plus basse et la plus élevée ne soient généralement pas utilisées pour les appareils car elles ont des fonctions spéciales). Si votre IP était 192.168.1.53votre réseau serait la plage 192.168.1.48à 192.168.1.63.

Remarquez comment ces deux ensembles contiennent 16 adresses uniques? Le sous-réseau a également défini la taille du sous-réseau car il définit le nombre d'adresses IP disponibles.

Et maintenant, avec Binary

Enfin, pour paraphraser la réponse de Manaf Abo.Rous , regardons le binaire.

Nous allons commencer par utiliser le masque 255.255.255.0, le voici en binaire:

11111111 11111111 11111111 00000000

Donc, étant donné votre IP, vous savez que chaque IP du réseau local correspond aux 24 premières, alors vérifions votre IP ( 192.168.1.2) en binaire:

11000000 10101000 00000001 00000010 

Maintenant, nous regardons seulement où sont les 1 dans le sous-réseau, pour obtenir votre numéro de sous-réseau:

11000000 10101000 00000001 --------

Et maintenant, nous savons que chaque IP de votre réseau local commence par votre numéro de sous-réseau et peut avoir n'importe quoi dans les valeurs manquantes à la fin.

Enfin, regardons un deuxième exemple, en utilisant IP 192.168.1.53et sous-réseau 255.255.255.240:

11111111 11111111 11111111 11110000  [subnet] 
11000000 10101000 00000001 00110101  [IP]
11000000 10101000 00000001 0011----  [subnet number]

Et encore une fois, vos adresses IP locales auraient n'importe quoi dans les quatre dernières valeurs binaires - qui sont 0000, 0001etc. jusqu'à 1111- ou en décimal 0jusqu'à 15- mais rappelez-vous qu'elles auraient 0011devant pour faire un octet complet, donc les IP disponibles sont vraiment 00110000(48 ), 00110001(49) et ainsi de suite jusqu'à 00111111, soit 63.

DMA57361
la source
1
Hmmm, revenez juste pour avoir relu mon article et réalisé qu'il est vraiment douloureusement long. Désolé pour cela, mais je ne suis pas sûr de pouvoir l'explorer sans endommager le contenu ...
DMA57361
Sensationnel. Après avoir vu le post SF franchement excellent auquel MarkM a lié les commentaires sur cette question, ma réponse semble en fait petite en comparaison ... ce qui est inquiétant ...
DMA57361
5

Le masque de sous-réseau est utilisé pour identifier l'IP de votre réseau.

L'application de l' opération logique ET sur votre adresse IP et le masque de sous-réseau produira votre adresse IP réseau.

dans l'exemple ci-dessus

Adresse IP: 11000000 10101000 00000001 00000010 = 192.168.1.2

Masque de sous-réseau: 11111111 11111111 11111111 00000000 = 255.255.255.0

ET Résultat: 11000000 10101000 00000001 00000000 = 192.168.1.0 = Votre adresse réseau

Plus d'infos ici


la source
Belle explication technique: P Pas trop d'informations
Mike Christiansen
+1 c'est la vraie réponse de la façon dont le matériel obtient les informations du réseau
KMC
1

Un masque de sous-réseau est utilisé pour router les paquets IP.

Fondamentalement, vous prenez votre adresse IP de destination, andcelle - ci avec le masque et, si elle correspond à une valeur, vous utilisez cette route.

Par exemple, voici un extrait de ma sortie de netstat -nrv:

Destination      Netmask          Gateway         Interface
192.168.182.0    255.255.255.0    192.168.182.1   192.168.182.1

Cela signifie que toute adresse IP du formulaire 192.168.182.xsera acheminée en fonction de cette règle, car toute adresse de ce format, lorsqu'elle est and-ed avec 255.255.255.0(le masque de réseau) donnera 192.168.182.0(la destination).

De même, une route par défaut serait:

Destination      Netmask          Gateway         Interface
0.0.0.0          0.0.0.0          9.185.149.1     9.185.149.52

puisque toute adresse and-ed avec 0.0.0.0donne 0.0.0.0.

user53528
la source
ce qui est -ed ici
JavaUser
and-ed: cela signifie effectuer un bit à bit et entre deux nombres ( en.wikipedia.org/wiki/Bitwise_operations#AND )
Mike Christiansen
Quelqu'un qui pose des questions sur les masques de sous-réseau risque de devenir confus lorsque vous commencez à parler de routes ...
Mike Christiansen
1
@Java - Passé de l'opération booléenne "et"
MDMarra
1

Le masque de sous-réseau divise l'IP en deux sections, une partie réseau (ou sous-réseau) et une partie hôte. Les commentaires précédents illustrent bien cela.

Tout élément où la partie réseau de l'IP est la même peut communiquer sans avoir à passer "par" un routeur. Bien entendu, la partie hôte de l'IP doit être différente pour chaque appareil.

Si vous aviez 4 ordinateurs avec ces masques IP / sous-réseau définis:

host_11 - 192.168.2.1/255.255.255.0

host_12 - 192.168.2.2/255.255.255.0

gateway - 192.168.2.3/255.255.255.0

host_21 - 192.168.3.5/255.255.255.0

seuls les 3 premiers pouvaient communiquer. Le quatrième ne répondrait pas, car il ne se trouve pas sur le même sous-réseau.

"Passerelle par défaut" est un nom de fantaisie pour un routeur, et il doit être sur le même réseau. Vous avez peut-être vu la sortie ipconfig là où il n'y a pas de passerelle par défaut. Cela signifie pas de routage; c'est-à-dire que la communication ne peut avoir lieu qu'entre IP sur ce réseau.

Fidèle à notre exemple:

host_11 - 192.168.2.1/255.255.255.0; default gateway 192.168.2.3

host_12 - 192.168.2.2/255.255.255.0; default gateway 192.168.2.3

gateway - 192.168.2.3/255.255.255.0

host_21 - 192.168.3.5/255.255.255.0; default gateway 192.168.2.3

Si 192.168.2.1 voulait parler pour dire, 192.168.3.5, il finirait par que 192.168.2.3 capte ce trafic, puis le transmet. (Le routage est en cours de transfert.) 192.168.2.3 aurait besoin d'une deuxième adresse IP définie sur quelque chose comme 192.168.3.1/255.255.255.0. Ensuite, 192.168.3.5 devrait avoir sa passerelle par défaut définie sur quelque chose sur son sous-réseau, ce qui est 192.168.3.1.

Donc, en réalité, cela ressemble vraiment à ceci:

host_11 - 192.168.2.1/255.255.255.0; default gateway 192.168.2.3

host_12 - 192.168.2.2/255.255.255.0; default gateway 192.168.2.3

gateway - first IP 192.168.2.3/255.255.255.0, second IP 192.168.3.1/255.255.255.0

host_21 - 192.168.3.5/255.255.255.0; default gateway 192.168.3.1

Alors maintenant, les réseaux 192.168.2.X et 192.168.3.X peuvent communiquer entre eux. Bien sûr, ils ne peuvent parler à aucun autre réseau ni à Internet. La passerelle aurait besoin d'une troisième adresse IP connectée à un FAI, et devrait avoir cette valeur comme passerelle par défaut. La passerelle récupère ensuite le trafic non-même réseau à partir de 192.168.2.X et 192.168.3.X.

Vous pouvez définir des règles de routage pour les situations où la passerelle ne peut pas tout découvrir par elle-même. Dans cet exemple, nous n'en avons pas vraiment besoin car tous les réseaux sont connectés au routeur. Cependant, dans les situations où vous avez un réseau avec plusieurs routeurs (passerelles par défaut) ou "réseaux derrière les réseaux", des règles de routage doivent être spécifiées. C'est entrer dans des choses avancées. J'espère que cela a été utile.

ultrasawblade
la source