Come mettere due sottoreti l'una accanto all'altra?


10

Sto usando questo calcolatore http://www.subnet-calculator.com/cidr.php , e sto cercando di capire come mettere due sottoreti differenti l'uno accanto all'altro.

Ad esempio, voglio avere una sottorete / 27 a partire dalla 1.0.0.1, accanto a una / 25, quindi ho pensato che la sottorete / 25 inizierebbe a 1.0.0.32, poiché quella è esterna alla sottorete / 27. Tuttavia, quando provo a farlo, il calcolatore dice che l'intervallo per / 25 sarebbe 1.0.0.1-1.0.0.127, non a partire da .32.

È una limitazione della calcolatrice o come si mettono le sottoreti una accanto all'altra?

EDIT : suppongo che la mia domanda è: quali sottoreti possono andare una accanto all'altra? Cosa determina questo?


Non puoi avere un / 25 a partire da 1.0.0.32, se è quello che stai chiedendo. Ricorda che le sottoreti non sono intervalli arbitrari, sono semplicemente un modo per distinguere il numero host dal numero di rete.
BatchyX,

Immagino che la mia domanda sia: quali sottoreti possono andare una accanto all'altra? Esiste un documento o un riferimento su cui può andare dove?
Instipod,

2
Ti suggerisco di leggere delle maschere di bit, quindi capirai cos'è una subnet mask.
BatchyX,

Risposte:


7

È necessario distinguere l' indirizzo iniziale della sottorete e la dimensione della sottorete . Il numero dietro la barra è la dimensione (in 32-x bit). Quindi puoi avere due / 27 sottoreti come questa

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

ma una sottorete / 27 e una / 25 allo stesso modo significherebbe iniziare la / 25 in un indirizzo successivo

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

poiché la sottorete / 25 "necessita" di più spazio. Non è possibile avviare la subnet / 25 da un indirizzo arbitrario, solo ai limiti corretti:

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

ma nota che

10.0.0.33/25   == 10.0.0.1   -> 10.0.0.126

perché 10.0.0.33/25è solo un altro modo di dire 10.0.0.1/25o 10.0.0.0/25.

Puoi anche decidere di "riempire" lo spazio tra te / 27 e la tua sottorete / 25 con più / 27 sottoreti:

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

o con un altro / 27 e a / 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

1
Le sottoreti includono l'indirizzo di rete e l'indirizzo di trasmissione ... non hai IP inutilizzati tra sottoreti contigue. E cercare di spiegare perché alcune sottoreti possono essere combinate in una maschera più corta senza la matematica binaria è completamente fuorviante.
cpt_fink

4

I prefissi / sottoreti usano la logica binaria. Le sottoreti sono determinate dai bit fissi e dai bit utilizzabili per gli indirizzi. Il numero di bit fissi è la lunghezza del prefisso o la maschera di sottorete. Alcuni esempi di 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 1bit nella maschera di sottorete indica che il bit corrispondente è fisso e un 0indica che è possibile utilizzare quel bit. La lunghezza del prefisso è il numero di bit impostati su 1e la maschera di sottorete è quel numero binario scritto come indirizzo IPv4.

Quindi in questo esempio puoi usare:

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 altro esempio con una lunghezza del prefisso diversa:

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

In questo esempio puoi usare meno indirizzi:

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

Come puoi vedere, la sottorete è determinata dal valore e dal numero dei bit fissi. Quando usi il tuo esempio 1.0.0.32/25ottieni:

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

Il valore 32 è nel mezzo dei bit flessibili. Quando guardi i /25prefissi ottieni:

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.

Quando guardi i /27prefissi ottieni:

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.

In una sottorete IPv4 il primo indirizzo (bit flessibili tutti 0) è riservato e chiamato indirizzo di rete. L'ultimo indirizzo (bit flessibili tutti 1) è l'indirizzo di trasmissione della sottorete. Non puoi usarli per le interfacce di rete sui dispositivi.

Se vuoi mettere più sottoreti una accanto all'altra, devi assicurarti che non si sovrappongano. Quando non hai molto spazio di indirizzi come con IPv4, rendere tutte le sottoreti adatte può essere un processo molto difficile e mantenerlo gestibile quando si modifica il piano di indirizzamento è ancora più difficile. Questo è il motivo per cui IPv6 è così bello da lavorare: un sacco di spazio per gli indirizzi e una sottorete di solito è un /64(è possibile usare lunghezze di prefisso diverse ma ciò rompe alcune cose come la configurazione automatica).

Se sei interessato ai piani di indirizzamento IPv6, dai un'occhiata al documento "Preparare un piano di indirizzamento IPv6" che ho scritto un paio di anni fa per SURFnet (la rete nazionale olandese di ricerca e istruzione). Il modo in cui funziona la sottorete in IPv6 è esattamente lo stesso di IPv4, tranne che i numeri sono molto più grandi e scritti in esadecimali (che corrisponde molto meglio ai bit rispetto alla notazione decimale usata per IPv4!). Le lunghezze dei prefissi, con bit fissi e flessibili, funzionano tutti esattamente allo stesso modo. Un breve esempio:

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: Non ho usato la notazione raccomandata / canonica qui apposta. Di solito comprimi gli zeri nell'indirizzo e scrivi 2001:0db8:0000:0000:0000:0000:0000:0000come 2001:db8::, 2001:0db8:0000:0000:0000:0000:0000:0001è scritto come 2001:db8::1, ecc.


1
  • Per a / 24, l'ultimo ottetto (di solito riservato) per la rete è .0 e solo .0. 1 subnet

  • Per un / 25, può quindi essere .0 o .128. 2 subnets

  • Per un / 26, può essere 0, .64, .128 o .192. 4 subnets

  • Per un / 27, può essere .0, .32, .64, .96, .128, .160, .192 o .224. 8 subnets

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

  • per 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 o. 248 32 subnets

  • Il prefisso / 30 si trova di solito su interfacce punto-punto. 64 subnets

  • Il prefisso / 31 non si trova comunemente in natura, poiché non ha host comunemente indirizzabili, poiché comprende solo 2 numeri di rete, la "rete" e la "trasmissione" senza spazio per un IP host. 128 subnets(tutti i numeri pari tra 0 e 254)

  • Il prefisso / 32 viene utilizzato per specificare una route per un singolo host. È il percorso più specifico e, se presente, dovrebbe avere la precedenza sul percorso rispetto a tutte le altre voci della tabella di percorso che non sono anche / 32s. A / 32 non ha un "network" né un indirizzo "broadcast". 256 subnets (0 e 255 potrebbero non funzionare su alcune implementazioni)


0

Un modo semplice per capirlo:

In IPv4:

Immagina una linea di 256 * 256 * 256 * 256 (o 2 ^ 32) possibili indirizzi IP.

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

Questo ha una maschera di sottorete 0.0.0.0 (o 0000 0000 0000 0000 0000 0000 0000 0000 in binario)
Tutti i bit che non sono mascherati possono essere usati per fornire un indirizzo IP in quella rete.

I possibili indirizzi in quella singola rete sono:

0000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK, non mascherando nulla qui ...)

Da 0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) a
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

L'intera rete parte da IP 0.0.0.0 e arriva fino a IP 255.255.255.255

Ogni bit in una subnet mask divide la linea in 2 parti uguali.

Il primo bit in una subnet mask lo dividerà in 2 parti uguali, ognuna con indirizzi IP 128 * 256 * 256 * 256 (o 2 ^ 31):

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

Questo ha una maschera di sottorete 128.0.0.0 (o 1000 0000 0000 0000 0000 0000 0000 0000 in binario)
Tutti i bit che non sono mascherati possono essere utilizzati per fornire un indirizzo IP in quella rete.

Quindi puoi avere 2 sottoreti e per ogni sottorete hai 31 bit di indirizzi IP disponibili.

Per la prima sottorete (quella in cui, dietro la maschera di rete, è '0')

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

Da 0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) a
0111 1111 1111 1111 1111 1111 1111 1111 (IP 127.255.255.255)

e per la seconda sottorete (quella in cui, dietro la maschera di rete, è '1')

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

1000 0000 0000 0000 0000 0000 0000 0000 (IP 128,0,0,0) a
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255,255,255,255)

Il successivo bit aggiuntivo nella subnet mask divide entrambi i lati in 2 parti uguali di 2 ^ 30 indirizzi IP ciascuno

E così via...

Quindi, se provi ad assegnare, per esempio, una sottorete di / 3, significa che hai trascorso 3 iterazioni a dividere, finendo con 2 ^ 3 = 8 sottoreti. Ogni sottorete può essere solo una delle 8 suddivisioni dell'intera linea di macchine. Non possono sovrapporsi. Ognuno inizia dopo quello precedente.

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

Questa ha la subnet mask 0.0.0.0

Quindi per la prima sottorete (quella in cui, dietro la maschera di rete, è '000')

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

Da 0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) a
0001 1111 1111 1111 1111 1111 1111 1111 (IP 31.255.255.255)

e per la seconda sottorete (quella in cui, dietro la maschera di rete, è '001')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

Da 0010 0000 0000 0000 0000 0000 0000 0000 (IP 32.0.0.0) a
0011 1111 1111 1111 1111 1111 1111 1111 (IP 63.255.255.255)

...

e per la settima sottorete (quella in cui, dietro la maschera di rete, è '110')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

Da 1100 0000 0000 0000 0000 0000 0000 0000 (IP 192.0.0.0) a
1101 1111 1111 1111 1111 1111 1111 1111 (IP 223.255.255.255)

e per l'ottava sottorete (quella in cui, dietro la maschera di rete, è '111')

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1110 0000 0000 0000 0000 0000 0000 0000 (IP 224.0.0.0) a
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255,255,255,255)

SE continui ad aggiungere bit alla maschera di rete, continui a dividere: Una sottorete di / 32 individua una singola macchina.

Ma ricorda che non puoi davvero avere solo macchine:

per far funzionare le cose, alcuni degli intervalli della sottorete sono riservati:

per ogni sottorete, "0 bit al valore 1" e "tutti i bit al valore 1" sono generalmente riservati per la trasmissione, quindi in genere sono disponibili solo indirizzi IP nb_of_possible_adresses_in_the_subnet-2 in una sottorete per le interfacce macchina effettive. E si dovrebbe essere meglio l'interfaccia di un gateway che ha un'altra interfaccia in altre reti, permettendoti di usarlo come gateway per raggiungere quelle altre reti (e tutto, attraverso i gateway di quelle altre reti)


difficile da rappresentare in modo ordinato ... E spero che la confusione tra la "linea di indirizzi IP 2 ^ 32" e la rappresentazione a 32 bit usata ovunque non sia più confusa che d'aiuto ...
Olivier Dulac
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.