Comment mettre deux sous-réseaux côte à côte?

10

J'utilise cette calculatrice http://www.subnet-calculator.com/cidr.php , et j'essaie de comprendre comment mettre deux sous-réseaux différents l'un à côté de l'autre.

Par exemple, je veux avoir un sous-réseau / 27 à partir de 1.0.0.1, à côté de / 25, donc je pensais que ce sous-réseau / 25 commencerait à 1.0.0.32, car c'est un en dehors du sous-réseau / 27. Cependant, lorsque j'essaie de le faire, la calculatrice dit que la plage de / 25 serait 1.0.0.1-1.0.0.127, ne commençant pas à 0,32.

S'agit-il d'une limitation de la calculatrice ou comment placez-vous les sous-réseaux les uns à côté des autres?

EDIT : Je suppose que ma question est quels sous-réseaux peuvent aller les uns à côté des autres? Qu'est-ce qui détermine cela?

instipode
la source
Vous ne pouvez pas avoir un / 25 à partir de 1.0.0.32, si c'est ce que vous demandez. N'oubliez pas que les sous-réseaux ne sont pas des plages arbitraires, ils sont simplement un moyen de distinguer le numéro d'hôte du numéro de réseau.
BatchyX
Je suppose que ma question est quels sous-réseaux peuvent aller les uns à côté des autres? Existe-t-il un document ou une référence sur lequel aller où?
instipod
2
Je vous suggère de lire sur les masques de bit, puis vous comprendrez ce qu'est un masque de sous-réseau.
BatchyX

Réponses:

7

Vous devez distinguer l' adresse de début du sous-réseau et la taille du sous-réseau . Le nombre derrière la barre oblique est la taille (en 32 bits x). Vous pouvez donc avoir deux sous-réseaux sur 27 comme celui-ci

10.0.0.1/27  == 10.0.0.1  -> 10.0.0.30
10.0.0.33/27 == 10.0.0.33 -> 10.0.0.62

mais un sous-réseau / 27 et un / 25 de la même manière signifierait commencer le / 25 à une adresse ultérieure

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

car le sous-réseau / 25 "a besoin" de plus d'espace. Vous ne pouvez pas démarrer le sous-réseau / 25 à une adresse arbitraire, uniquement aux limites correctes:

10.0.0.1/25   == 10.0.0.1   -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

mais notez que

10.0.0.33/25   == 10.0.0.1   -> 10.0.0.126

parce que 10.0.0.33/25c'est juste une autre façon de dire 10.0.0.1/25ou 10.0.0.0/25.

Vous pouvez également décider de "remplir" l'espace entre vous / 27 et votre / 25 sous-réseau avec plus / 27 sous-réseaux:

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.33/27  == 10.0.0.33  -> 10.0.0.62
10.0.0.65/27  == 10.0.0.65  -> 10.0.0.94
10.0.0.97/27  == 10.0.0.97  -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

ou avec un autre / 27 et un / 26:

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.33/27  == 10.0.0.33  -> 10.0.0.62
10.0.0.65/26  == 10.0.0.65  -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254
Stefan Seidel
la source
1
Les sous-réseaux incluent l'adresse réseau et l'adresse de diffusion ... vous n'avez pas d'adresse IP inutilisée entre les sous-réseaux contigus. Et essayer d'expliquer pourquoi certains sous-réseaux peuvent être combinés en un masque plus court sans mathématiques binaires est complètement trompeur.
cpt_fink
4

Les préfixes / sous-réseaux utilisent une logique binaire. Les sous-réseaux sont déterminés par les bits fixes et les bits utilisables pour les adresses. Le nombre de bits fixes est la longueur du préfixe ou le masque de sous-réseau. Quelques exemples IPv4:

Prefix:           10.0.0.0/8
Prefix length:    8
Subnet mask:      255.0.0.0
Prefix bits:      00001010 00000000 00000000 00000000 = 10.0.0.0
Subnet mask bits: 11111111 00000000 00000000 00000000 = 255.0.0.0

Un 1dans les bits du masque de sous-réseau indique que le bit correspondant est fixe et un 0indique que vous pouvez utiliser ce bit. La longueur du préfixe est le nombre de bits défini sur 1et le masque de sous-réseau est ce nombre binaire écrit comme une adresse IPv4.

Donc, dans cet exemple, vous pouvez utiliser:

First address in the prefix: 00001010 00000000 00000000 00000000 = 10.0.0.0
Last address in the prefix:  00001010 11111111 11111111 11111111 = 10.255.255.255

Un autre exemple avec une longueur de préfixe différente:

Prefix:           10.0.0.0/10
Prefix length:    10
Subnet mask:      255.192.0.0
Prefix bits:      00001010 00000000 00000000 00000000 = 10.0.0.0
Subnet mask bits: 11111111 11000000 00000000 00000000 = 255.192.0.0

Dans cet exemple, vous pouvez utiliser moins d'adresses:

First address in the prefix: 00001010 00000000 00000000 00000000 = 10.0.0.0
Last address in the prefix:  00001010 00111111 11111111 11111111 = 10.63.255.255

Comme vous pouvez le voir, le sous-réseau est déterminé par la valeur et le nombre de bits fixes. En utilisant votre exemple, 1.0.0.32/25vous obtenez:

Prefix:           1.0.0.32/25
Prefix length:    25
Subnet mask:      255.255.255.128
Prefix bits:      00000001 00000000 00000000 00100000 = 10.0.0.32
Subnet mask bits: 11111111 11111111 11111111 10000000 = 255.255.255.128

First address in the prefix: 00000001 00000000 00000000 00000000 = 1.0.0.0
Last address in the prefix:  00000001 00000000 00000000 01111111 = 1.0.0.127

La valeur 32 est au milieu des bits flexibles. Lorsque vous regardez les /25préfixes, vous obtenez:

Prefix length:      25
Subnet mask bits:   11111111 11111111 11111111 10000000

1st /25 in 1.0.0.0: 00000001 00000000 00000000 00000000 = 1.0.0.0/25
2nd /25 in 1.0.0.0: 00000001 00000000 00000000 10000000 = 1.0.0.128/25
3rd /25 in 1.0.0.0: 00000001 00000000 00000001 00000000 = 1.0.1.0/25
4th /25 in 1.0.0.0: 00000001 00000000 00000001 10000000 = 1.0.1.128/25
5th /25 in 1.0.0.0: 00000001 00000000 00000010 00000000 = 1.0.2.0/25
Etc.

Lorsque vous regardez les /27préfixes, vous obtenez:

Prefix length:      27
Subnet mask bits:   11111111 11111111 11111111 11100000

1st /25 in 1.0.0.0: 00000001 00000000 00000000 00000000 = 1.0.0.0/27
2nd /25 in 1.0.0.0: 00000001 00000000 00000000 00100000 = 1.0.0.32/27
3rd /25 in 1.0.0.0: 00000001 00000000 00000000 01000000 = 1.0.0.64/27
4th /25 in 1.0.0.0: 00000001 00000000 00000000 01100000 = 1.0.0.96/27
5th /25 in 1.0.0.0: 00000001 00000000 00000000 10000000 = 1.0.0.128/27
Etc.

Dans un sous-réseau IPv4, la première adresse (tous les bits flexibles 0) est réservée et appelée l'adresse réseau. La dernière adresse (tous les bits flexibles 1) est l'adresse de diffusion du sous-réseau. Vous ne pouvez pas les utiliser pour les interfaces réseau sur les appareils.

Si vous souhaitez placer plusieurs sous-réseaux les uns à côté des autres, vous devez vous assurer qu'ils ne se chevauchent pas. Lorsque vous n'avez pas beaucoup d'espace d'adressage comme avec IPv4, rendre tous les sous-réseaux adaptés peut être un processus très difficile, et le garder gérable lors de la modification du plan d'adressage est encore plus difficile. C'est pourquoi IPv6 est si agréable à travailler: beaucoup d'espace d'adressage et un sous-réseau est généralement un /64(il est possible d'utiliser différentes longueurs de préfixe mais cela casse certaines choses comme la configuration automatique).

Si vous êtes intéressé par les plans d'adressage IPv6, jetez un œil au document `` Préparer un plan d'adressage IPv6 '' que j'ai écrit il y a quelques années pour SURFnet (le réseau national néerlandais de recherche et d'éducation). Le fonctionnement du sous-réseau dans IPv6 est exactement le même que pour IPv4, sauf que les nombres sont beaucoup plus grands et écrits en hexadécimal (ce qui correspond beaucoup mieux aux bits que la notation décimale utilisée pour IPv4!). Les longueurs de préfixe, ayant des bits fixes et flexibles, fonctionnent toutes exactement de la même manière. Un petit exemple:

Prefix:           2001:0db8:0000:0000:0000:0000:0000:0000/64
Prefix length:    64
Subnet mask:      not really used anymore in IPv6, but it would have been:
                  ffff:ffff:ffff:ffff:0000:0000:0000:0000
Prefix bits:      0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
Subnet mask bits: 1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000

First address in the prefix:
                  0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
Last address in the prefix:
                  0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff

So from 2001:0db8:0000:0000:0000:0000:0000:0000
     to 2001:0db8:0000:0000:ffff:ffff:ffff:ffff

PS: Je n'ai pas utilisé la notation recommandée / canonique ici exprès. Habituellement, vous compressez les zéros dans l'adresse et écrivez 2001:0db8:0000:0000:0000:0000:0000:0000comme 2001:db8::, 2001:0db8:0000:0000:0000:0000:0000:0001est écrit comme 2001:db8::1, etc.

Sander Steffann
la source
1
  • Pour a / 24, le dernier octet (généralement réservé) pour le réseau est 0,0 et seulement 0,0. 1 subnet

  • Pour un / 25, il peut alors être soit 0,0 soit 0,128. 2 subnets

  • Pour un / 26, il peut être de 0,0, 0,64, 0,128 ou 0,192. 4 subnets

  • Pour un / 27, il peut être de 0,0, 0,32, 0,64, 0,96, 0,128, 0,160, 0,192 ou 0,224. 8 subnets

  • pour a / 28, .0, .16, .32, .48, .64, .80, .96, .112, .128, .144, .160, .176, .192, .208, .224, ou .240. 16 subnets

  • pour a / 29, .0, .8, .16, .24, .32, .40, .48, .56, .64, .72, .80, .88, .96, .104, .112, .120, .128, .136, .144, .152, .160, .168, .176, .184, .192, .200, .208, .216, .224, .232, .240, ou. 248 32 subnets

  • Le préfixe / 30 se trouve généralement sur les interfaces point à point. 64 subnets

  • Le préfixe / 31 n'est pas couramment trouvé dans la nature, car il n'a pas d'hôtes communément adressables, car il ne couvre que 2 numéros de réseau, le "réseau" et la "diffusion" sans espace pour une adresse IP hôte. 128 subnets(tous les nombres pairs entre 0 et 254)

  • Le préfixe / 32 est utilisé pour spécifier une route pour un seul hôte. Il s'agit de l'itinéraire le plus spécifique et s'il est présent, il doit avoir la priorité de routage sur toutes les autres entrées de table de routage qui ne sont pas également des / 32. A / 32 n'a ni adresse de «réseau» ni adresse de «diffusion». 256 subnets (0 et 255 peuvent ne pas fonctionner sur certaines implémentations)

Nevin Williams
la source
0

Une façon simple de le comprendre:

Dans IPv4:

Imaginez une ligne de 256 * 256 * 256 * 256 (ou 2 ^ 32) adresses IP possibles.

[] [] [] [] .................. [] [] []
       256*256*256*256 total IP adresses

Celui-ci a le masque de sous-réseau 0.0.0.0 (ou 0000 0000 0000 0000 0000 0000 0000 0000 en binaire)
Tous les bits qui ne sont pas masqués peuvent être utilisés pour donner une adresse IP dans ce réseau.

Les adresses possibles dans ce réseau unique sont:

0000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK, ne masque rien ici ...)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) à
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

L'ensemble de ce réseau commence à IP 0.0.0.0 et va jusqu'à IP 255.255.255.255

Chaque bit d'un masque de sous-réseau divisera la ligne en 2 parties égales.

Le premier bit d'un masque de sous-réseau le divisera en 2 parties égales, chacune avec 128 * 256 * 256 * 256 (ou 2 ^ 31) adresses IP:

[] [] [] .......... [] [] []  |  [] [] ........... [] []
128*256*256*256 IP Adresses       128*256*256*256 IP Adr

Celui-ci a le masque de sous-réseau 128.0.0.0 (ou 1000 0000 0000 0000 0000 0000 0000 0000 en binaire)
Tous les bits qui ne sont pas masqués peuvent être utilisés pour donner une adresse IP dans ce réseau.

Vous pouvez donc avoir 2 sous-réseaux, et pour chaque sous-réseau, vous avez 31 bits d'adresses IP disponibles.

Pour le premier sous-réseau (celui où, derrière le masque de réseau, est «0»)

1000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) à
0111 1111 1111 1111 1111 1111 1111 1111 (IP 127.255.255.255)

et pour le 2ème sous-réseau (celui où, derrière le masque de réseau, est "1")

1000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

1000 0000 0000 0000 0000 0000 0000 0000 (IP 128.0.0.0) à
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

Le bit supplémentaire suivant dans le masque de sous-réseau divise les deux côtés en 2 parties égales de 2 ^ 30 adresses IP chacune

Etc...

Donc, si vous essayez d'affecter, par exemple, un sous-réseau de / 3, cela signifie que vous avez passé 3 itérations à se diviser, pour aboutir à 2 ^ 3 = 8 sous-réseaux. Chaque sous-réseau ne peut être que l'une des 8 subdivisions de toute la gamme de machines. Ils ne peuvent pas se chevaucher. Chacun commençant après l'ancien.

[] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... []
32*256*256*256 or 2^30 IP Adresses each.

Cela a un masque de sous-réseau 0.0.0.0

Donc, pour le premier sous-réseau (celui où, derrière le masque de réseau, se trouve «000»)

1110 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) à
0001 1111 1111 1111 1111 1111 1111 1111 (IP 31.255.255.255)

et pour le 2ème sous-réseau (celui où, derrière le masque de réseau, est '001')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

0010 0000 0000 0000 0000 0000 0000 0000 (IP 32.0.0.0) à
0011 1111 1111 1111 1111 1111 1111 1111 (IP 63.255.255.255)

...

et pour le 7e sous-réseau (celui où, derrière le masque de réseau, est '110')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1100 0000 0000 0000 0000 0000 0000 0000 (IP 192.0.0.0) à
1101 1111 1111 1111 1111 1111 1111 1111 (IP 223.255.255.255)

et pour le 8e sous-réseau (celui où, derrière le masque de réseau, se trouve «111»)

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1110 0000 0000 0000 0000 0000 0000 0000 (IP 224.0.0.0) à
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

SI vous continuez à ajouter des bits au masque de réseau, vous continuez à diviser: Un sous-réseau de / 32 singularise une seule machine.

Mais rappelez-vous que vous ne pouvez pas vraiment avoir que des machines:

pour faire fonctionner les choses, une partie de la plage du sous-réseau est réservée:

pour chaque sous-réseau, le "0 bit à la valeur 1" et "tous les bits à la valeur 1" sont généralement réservés à la diffusion, vous n'avez donc généralement que nb_of_possible_adresses_in_the_subnet-2 adresses IP disponibles dans un sous-réseau pour les interfaces réelles de la machine. Et il vaut mieux être l'interface d'une passerelle qui a une autre interface dans d'autres réseaux, vous permettant de l'utiliser comme une passerelle pour atteindre ces autres réseaux (et tout, via les passerelles de ces autres réseaux)

Olivier Dulac
la source
difficile à représenter proprement ... Et j'espère que la confusion entre la "ligne de 2 ^ 32 adresses IP" et la représentation 32 bits utilisée partout ailleurs n'est pas plus déroutante que d'aider ...
Olivier Dulac