Come si calcolano il prefisso, la rete, la sottorete e i numeri host?


97

Esempio:

IP: 128.42.5.4

In binario: 10000000 00101010 00000101 00000100

Sottorete: 255.255.248.0

Come è possibile determinare il prefisso, la rete, la sottorete e i numeri host?

Risposte:


165

Calcolo della lunghezza della maschera di rete (detto anche prefisso):

Converti la rappresentazione decimale puntata della maschera di rete in binario. Quindi, contare il numero di 1 bit contigui, iniziando dal bit più significativo nel primo ottetto (cioè il lato sinistro del numero binario).

255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           -----------------------------------
                           I counted twenty-one 1s             -------> /21

Il prefisso di 128.42.5.4 con una maschera di rete 255.255.248.0 è / 21.

Calcolo dell'indirizzo di rete:

L'indirizzo di rete è l'AND logico dei rispettivi bit nella rappresentazione binaria dell'indirizzo IP e della maschera di rete. Allineare i bit in entrambi gli indirizzi ed eseguire un AND logico su ciascuna coppia dei rispettivi bit. Quindi riconvertire i singoli ottetti del risultato in decimali.

Tabella logica e verità:

AND logico

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

Come puoi vedere, l'indirizzo di rete di 128.42.5.4/21 è 128.42.0.0

Calcolo dell'indirizzo di trasmissione:

L'indirizzo di trasmissione converte tutti i bit host in 1s ...

Ricorda che il nostro indirizzo IP in decimale è:

128.42.5.4      in binary: 10000000 00101010 00000101 00000100

La maschera di rete è:

255.255.248.0   in binary: 11111111 11111111 11111000 00000000

Questo significa che i nostri bit host sono gli ultimi 11 bit dell'indirizzo IP, perché troviamo la maschera host invertendo la maschera di rete:

Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh

Per calcolare l'indirizzo di trasmissione, imponiamo che tutti i bit host siano 1s:

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

Calcolo delle sottoreti:

Non hai fornito informazioni sufficienti per calcolare le sottoreti per questa rete; come regola generale si creano subnet riallocando alcuni bit dell'host come bit di rete per ciascuna sottorete. Molte volte non esiste un modo giusto per subnet un blocco ... a seconda dei vincoli, potrebbero esserci diversi modi validi per subnet un blocco di indirizzi.

Supponiamo che suddivideremo 128.42.0.0/21 in 4 sottoreti che devono contenere almeno 100 host ciascuna ...

sottoreti

In questo esempio, sappiamo che è necessario almeno un prefisso / 25 per contenere 100 host; Ho scelto un / 24 perché cade su un limite di ottetti. Si noti che l'indirizzo di rete per ciascuna sottorete prende in prestito i bit host dal blocco di rete principale.

Individuazione della lunghezza della maschera di sottorete o della maschera di rete richieste:

Come facevo a sapere che ho bisogno di almeno una lunghezza maschera di 25 per 100 host? Calcola il prefisso eseguendo il backup del numero di bit host necessari per contenere 100 host. Uno ha bisogno di 7 bit host per contenere 100 host. Ufficialmente questo viene calcolato con:

Bit host = Registro 2 (Numero di host) = Registro 2 (100) = 6.643

Poiché gli indirizzi IPv4 sono larghi 32 bit e stiamo usando i bit host (ovvero i bit meno significativi), sottrarre semplicemente 7 da 32 per calcolare il prefisso della sottorete minima per ciascuna sottorete ... 32 - 7 = 25.

Il modo pigro di suddividere 128.42.0.0/21 in quattro sottoreti uguali:

Dal momento che vogliamo solo quattro subnet dell'intero blocco 128.42.0.0/21, potremmo utilizzare le subnet / 23. Ho scelto / 23 perché abbiamo bisogno di 4 sottoreti ... ovvero due bit aggiuntivi aggiunti alla maschera di rete.

Questa è una risposta altrettanto valida al vincolo, usando / 23 subnet di 128.42.0.0/21 ...

sottorete, seconda opzione

Calcolo del numero host:

Questo è quello che abbiamo già fatto sopra ... riutilizza la maschera host dal lavoro che abbiamo fatto quando abbiamo calcolato l'indirizzo di trasmissione di 128.42.5.4/21 ... Questa volta userò 1s invece di h, perché abbiamo bisogno per eseguire nuovamente un AND logico sull'indirizzo di rete.

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

Calcolo del numero massimo possibile di host in una sottorete:

Per trovare il numero massimo di host, guarda il numero di bit binari nel numero host sopra. Il modo più semplice per farlo è sottrarre la lunghezza della maschera di rete da 32 (numero di bit in un indirizzo IPv4). Questo ti dà il numero di bit host nell'indirizzo. A quel punto...

Numero massimo di host = 2 ** (32 - netmask_length) - 2

Il motivo per cui sottraggiamo 2 sopra è perché i numeri host tutti e zero sono riservati. Il numero host di tutti zeri è il numero di rete; il numero host tutti è l'indirizzo di trasmissione.

Utilizzando la sottorete di esempio di 128.42.0.0/21 sopra, il numero di host è ...

Numero massimo di host = 2 ** (32 - 21) - 2 = 2048 - 2 = 2046

Individuazione della maschera di rete massima (maschera di host minima) che contiene due indirizzi IP:

Supponiamo che qualcuno ci dia due indirizzi IP e si aspetti che troveremo la maschera di rete più lunga che contenga entrambi; per esempio, se avessimo:

  • 128.42.5.17
  • 128.42.5.67

La cosa più semplice da fare è convertire entrambi in binario e cercare la stringa più lunga di bit di rete dal lato sinistro dell'indirizzo.

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

In questo caso la maschera di rete massima (maschera di host minima) sarebbe / 25

NOTA: se provi a partire dal lato destro, non farti ingannare solo perché trovi una colonna di bit corrispondente; potrebbero esserci bit senza eguali oltre quei bit corrispondenti. Onestamente, la cosa più sicura da fare è iniziare dal lato sinistro.


15

La risposta sopra colpisce perfettamente l'unghia sulla testa. Tuttavia, quando ho iniziato, mi ci sono voluti alcuni esempi diversi da un paio di fonti perché arrivasse davvero a casa. Pertanto, se sei interessato ad altri esempi, ho scritto alcuni post sul blog sull'argomento - http://www.oznetnerd.com/category/subnetting/

Amministratori, se questo post è considerato spam, non esitate a eliminarlo.

Modifica: Come suggerito da YLearn, proverò a prendere le parti pertinenti dalla Parte 1 della mia serie, senza incollare l'intera voce qui.

Usiamo 195.70.16.159/30 come esempio.

Dato che è un / 30, sappiamo che la porzione host sarà nel quarto ottetto. Convertiamolo in binario:

128 64 32 16  8  4 2 1
SN  SN SN SN SN SN H H
 1   0  0  1  1  1 1 1

Ora per scoprire l'indirizzo di rete tutto ciò che facciamo è aggiungere insieme i bit SN che hanno un 1 sotto di essi. (128 + 16 + 8 + 4 = 156).

Quando aggiungi questo 156 ai primi tre ottetti dell'indirizzo, ci resta l' indirizzo di rete 195.70.16.156.

Ora, poiché sappiamo che il primo indirizzo utilizzabile è sempre l'indirizzo di rete più uno, tutto ciò che dobbiamo fare è eseguire il seguente calcolo: (156 + 1 = 157).

Questo ci dà un primo indirizzo utilizzabile del 195.70.16.157.

Ora saltiamo per un momento l'ultimo indirizzo utilizzabile e troviamo l'indirizzo di trasmissione. Per scoprire di cosa si tratta, tutto ciò che dobbiamo fare è aggiungere tutti i bit H insieme (indipendentemente dal fatto che siano 1 o 0) e quindi aggiungere questo numero all'indirizzo di rete. (2 + 1 + 156 = 159).

Questo ci dà un indirizzo di trasmissione di 195.70.16.159.

E infine, elaboriamo l'ultimo indirizzo utilizzabile. Questo processo è simile alla ricerca del primo indirizzo utilizzabile, tuttavia, invece di aggiungerne uno all'indirizzo di rete, sottraggiamo effettivamente uno dall'indirizzo di trasmissione. (159-1 = 158).

Questo ci dà un ultimo indirizzo utilizzabile del 195.70.16.158.

E lì ce l'abbiamo! La nostra temaplte è completa. Per un facile riferimento, eccolo di nuovo:

  • Indirizzo di rete: 195.70.16.156
  • Primo indirizzo utilizzabile: 195.70.16.157
  • Ultimo indirizzo utilizzabile: 195.70.16.158
  • Indirizzo di trasmissione: 195.70.16.159

Come scorciatoia, puoi anche usare questa formula. Funziona su sottoreti di qualsiasi dimensione:

  • Primo indirizzo utilizzabile = Indirizzo di rete + 1
  • Indirizzo di trasmissione = Indirizzo di rete successivo - 1
  • Ultimo indirizzo utilizzabile = Indirizzo di trasmissione - 1

4
Minuscolo (quasi insignificante) avvertimento: la formula dell'ultimo indirizzo utilizzabile in basso funziona per tutte le sottoreti tranne un / 31 ... vedi RFC 3021 . È un'eccezione piccola ma rilevante se qualcuno ha cercato di utilizzare il tuo algoritmo nel codice.
Mike Pennington,

11

Non voglio togliere nulla dall'ottima risposta di Mike Pennington , che ho promosso incessantemente, ma continuo a vedere domande che non sono direttamente affrontate dalla sua risposta, e ho creato qualcosa che era originariamente basato sulla risposta di Mike, ma ho ulteriori informazioni per rispondere a domande che sono sorte nel tempo. Sfortunatamente, è troppo grande e ho dovuto dividerlo in due risposte.


Parte 1 di 2


Matematica IPv4

Dato un indirizzo IPv4 e la maschera di rete IPv4 (la maschera di rete può anche essere derivata da una lunghezza della maschera di rete o una maschera host), è possibile determinare molte informazioni su una rete IPv4: Indirizzo di rete, Indirizzo di trasmissione di rete, Indirizzi di host totali, Totale utilizzabile Indirizzi host, primo indirizzo host utilizzabile e ultimo indirizzo host utilizzabile.

Non posso sottolineare abbastanza che devi fare matematica IPv4 in binario. Penso che ogni ingegnere di rete (o aspirante ingegnere di rete) abbia provato a trovare un modo per fare tutto in decimale, come sono sicuro che *. Il problema è che 10 (decimale) non è una potenza di 2 (binario), quindi decimale e binario non si convertono naturalmente tra loro nel modo in cui l'esadecimale (base 16) si converte naturalmente da e verso binario perché 16 è una potenza di 2 .

Sembra che l'uso della notazione decimale puntata per IPv4 sia stato un errore iniziale che non può ora essere corretto, ma IPv6 ha adottato l'uso dell'esadecimale fin dall'inizio, ed è facile convertire tra esadecimale e binario.

Se non si dispone di un calcolatore IP (probabilmente non consentito negli esami di classe di formazione in rete o nei test di certificazione), è utile creare un grafico dei valori dei bit in un ottetto. Poiché questo è binario, ogni valore di bit è 2 volte lo stesso valore della cifra nella cifra successiva meno significativa. Ogni cifra è la base numerica per lo stesso valore della cifra nella cifra successiva meno significativa. Ciò vale anche per qualsiasi altra base numerica, incluso il decimale (base 10), in cui ogni valore di cifra è 10 volte il valore dello stesso valore di cifra nella successiva posizione numerica meno significativa. Per cifre binarie (bit):

---------------------------------------------------------
| Bit # |   7 |   6 |   5 |   4 |   3 |   2 |   1 |   0 |
---------------------------------------------------------
| Value | 128 |  64 |  32 |  16 |   8 |   4 |   2 |   1 |
---------------------------------------------------------

Dove decimale è tutto sulla potenza di 10, binario è tutto sulla potenza di 2. Nota che per ogni numero di bit nella tabella sopra, il valore corrispondente è 2 alla potenza del numero di bit.

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

Dovrai anche ricordare le tue Tabelle della verità da scuola (in matematica binaria, 0 è falso e 1 è vero):

-----------------------------------------
| 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  |
-----------------------------------------

* Se esegui la matematica IPv4 per molti anni, potresti arrivare al punto in cui puoi eseguire conversioni binarie / decimali nella tua testa e puoi quindi essere in grado di fare la matematica IPv4 in decimale. Anche se riesco a farlo nella mia testa, ricontrollerò sempre con un calcolatore IP, o convertirò in binario, eseguirò la matematica e riconvertirò in decimale, prima di effettuare una modifica in una rete di produzione.


Indirizzo IPv4

La notazione decimale puntata IPv4, ad esempio 198.51.100.223, è semplicemente per rendere più semplice per gli umani la lettura di un indirizzo IPv4. Le quattro sezioni separate, chiamate ottetti, non hanno alcun significato per IPv4. Non commettere l'errore comune di pensare che gli ottetti abbiano un significato speciale. Un indirizzo IPv4 è in realtà un numero binario a 32 bit, ed è così che i dispositivi di rete vedono e usano un indirizzo IPv4.

Il nostro indirizzo IPv4 di esempio 198.51.100.223è in realtà 11000110001100110110010011011111un dispositivo in rete, quindi puoi vedere che la rappresentazione decimale puntata rende davvero più facile per l'uomo. Ogni ottetto è composto da otto bit dell'indirizzo a 32 bit (da cui il termine comunemente usato, "ottetto"), quindi ci sono quattro ottetti ( 32 address bits / 8 bits per octet = 4 octets). Il nostro esempio di indirizzo binario a 32 bit è diviso in quattro ottetti, quindi ciascun ottetto binario viene convertito in un numero decimale *:

Binary address: 11000110001100110110010011011111
                ---------------------------------------------
Binary octets:  | 11000110 | 00110011 | 01100100 | 11011111 |
Decimal octets: |      198 |       51 |      100 |      223 |
                ---------------------------------------------
Dotted-decimal: 198.51.100.223

Poiché ogni ottetto ha una lunghezza di otto bit, ciascun ottetto avrà un valore compreso tra 0e 255(qualsiasi valore maggiore di 255non è valido). Il motivo è che 2^8 = 256: 2(la base numerica binaria) alla potenza di 8(otto bit per ottetto) è uguale 256, il numero di valori diversi che possono essere espressi da un ottetto a otto bit. Ricorda che il primo valore è 0, quindi il 256valore th sarà uno in meno del numero totale di valori che possono essere espressi ( 256 – 1 = 255).

Per eseguire correttamente la matematica IPv4, è necessario farlo in binario, altrimenti si commettono errori che possono causare problemi e frustrazione. Ciò significa che è necessario convertire la notazione decimale punteggiata in binario prima di provare a manipolarla:

Dotted-decimal: 198.51.100.223
                ---------------------------------------------
Decimal octets: |      198 |       51 |      100 |      223 |
Binary octets:  | 11000110 | 00110011 | 01100100 | 11011111 |
                ---------------------------------------------
Binary address: 11000110001100110110010011011111

* Gli zeri iniziali in un indirizzo IPv4 decimale puntato possono essere interpretati da alcune applicazioni e linguaggi di programmazione come ottali (base 8) anziché decimali (base 10), causando errori e gli zeri iniziali dovrebbero essere evitati per la rappresentazione IPv4 decimale punteggiata, ma gli zero iniziali sono necessari per gli ottetti dell'indirizzo IPv4 binario perché rappresentano le posizioni dei bit nell'intero indirizzo, e tralasciando una posizione dei bit si accorcia l'indirizzo e si cambia il valore binario.


Maschera di rete IPv4

Una maschera di rete IPv4 viene utilizzata per dividere un indirizzo IPv4 in due parti: la parte di rete e la parte host. La divisione può essere in qualsiasi numero di bit, quindi potrebbe rientrare in un ottetto, non in un limite di ottetto, come molte persone credono erroneamente che lo faccia sempre. Una maschera di rete IPv4 ha le stesse dimensioni di un indirizzo IPv4 (32 bit) ed è espressa in notazione decimale puntata nello stesso modo in cui esprimereste un indirizzo IPv4 in notazione decimale puntata (quattro ottetti a otto bit, separati da un periodo). Ad esempio 255.255.248.0,.

Una maschera di rete IPv4 è costituita da un numero di 1bit consecutivi (che rappresentano la parte di rete di un indirizzo), seguita da un numero di 0bit (che rappresenta la parte host dell'indirizzo). Il numero totale di 1bit e il numero totale di 0bit si sommano a 32, il numero di bit in un indirizzo IPv4 o maschera di rete. Per la nostra maschera di rete di esempio:

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   |
                ------------------------------------------------

Come puoi vedere, la divisione tra la rete e le porzioni host dell'indirizzo IPv4 usando questa maschera particolare rientra in un ottetto, non in un limite di ottetti.

Una maschera di rete IPv4 è spesso rappresentata dal numero di 1bit consecutivi nella maschera. Questa è in vario modo chiamata lunghezza della maschera di rete o lunghezza del prefisso ed è rappresentata come /seguita dal numero di 1bit consecutivi nella maschera di rete. Per il nostro esempio, viene conteggiato il numero di 1bit consecutivi 21, che può essere rappresentato come /21.

Data una lunghezza della maschera, è possibile calcolare la rappresentazione decimale puntata della maschera. Basta inserire il numero di 1bit per la lunghezza della maschera e aggiungere abbastanza 0bit alla fine ai 32bit totali . Converti il ​​numero binario risultante nella rappresentazione decimale puntata:

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'esempio può essere rappresentato tradizionalmente come 198.51.100.223, con una maschera di rete 255.255.248.0, oppure può essere rappresentato come il CIDR (Classless Inter-Domain Routing) più moderno 198.51.100.223/21.


Indirizzo di rete IPv4

Un indirizzo di rete IPv4 è un indirizzo IPv4 con tutti i bit host impostati su 0. L'indirizzo di rete IPv4 può essere calcolato per bit ANDdei rispettivi bit nella rappresentazione binaria dell'indirizzo IPv4 e della maschera di rete IPv4. Allinea i bit in entrambi gli indirizzi ed esegui un bit ANDper bit su ciascuna coppia dei rispettivi bit, quindi converti i singoli ottetti del risultato in decimali.

Per il nostro esempio di indirizzo IPv4 198.51.100.223e maschera di rete 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

Come puoi vedere, l'indirizzo di rete di 198.51.100.223/21è 198.51.96.0. Si noti che non è possibile dipendere dagli ottetti per dirti quale parte dell'indirizzo è la rete e quale parte dell'indirizzo è per gli host.

È possibile utilizzare questo metodo per determinare se due indirizzi si trovano sulla stessa rete o su reti diverse *. Se, ad esempio, vuoi vedere se il tuo 198.51.100.223/21indirizzo si trova sulla stessa rete IPv4 con un host assegnato 198.51.102.57all'indirizzo, determina il tuo indirizzo di rete IPv4 (come sopra). Successivamente, determina l'indirizzo di rete IPv4 dell'host in questione, utilizzando la tua maschera di rete IPv4 (gli host sulla stessa rete usano la stessa maschera di rete e potresti non avere la maschera, solo l'indirizzo, dell'host di destinazione):

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

Confrontare l'indirizzo di rete IPv4 risultante con l'indirizzo di rete IPv4 originale e notare che gli indirizzi di rete sono uguali, quindi gli indirizzi host si trovano sulla stessa rete.

Ora vediamo se ti trovi sulla stessa rete 74.125.69.100dell'indirizzo 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

Confronta l'indirizzo di rete IPv4 risultante con l'indirizzo di rete IPv4 originale e nota che gli indirizzi di rete sono diversi, quindi gli indirizzi host si trovano su reti diverse.


* Questo è il metodo utilizzato da un host di origine per determinare se è un host di destinazione sulla stessa rete dell'host di origine.


Maschera host IPv4

Un valore utile, spesso trascurato, utile nell'indirizzamento IPv4 è la maschera host IPv4. Una maschera host IPv4 è semplicemente l'inverso della maschera di rete IPv4. È possibile creare una maschera host binaria da una maschera di rete binaria o una maschera di rete binaria da una maschera host binaria, semplicemente invertendo la 1s e la 0s della maschera iniziale:

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

È possibile creare matematicamente una maschera host dalla maschera di rete o la maschera di rete dalla maschera host sottraendo la maschera iniziale dalla maschera più lunga ( /32o maschera di tutti).

Questo può essere fatto in binario:

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

Questo può essere fatto anche in decimale (un ottetto tutto compreso 255), ma assicurati di convertirlo in binario prima di provare effettivamente a usarlo per la manipolazione dell'indirizzo:

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

Indirizzo di trasmissione di rete IPv4

Un indirizzo di trasmissione di rete IPv4 è l'indirizzo di rete IPv4 con tutti i bit host impostati su 1. Esistono diversi modi per calcolare l'indirizzo di trasmissione della rete IPv4.

Per il nostro esempio indirizzo IPv4 198.51.100.223e maschera di rete 255.255.248.0.

È possibile eseguire un bit ORper bit con l'indirizzo IPv4 o l'indirizzo di rete con la maschera host:

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

È possibile semplicemente aggiungere il valore della maschera host IPv4 al valore dell'indirizzo di rete 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

Questo è anche qualcosa che puoi fare in decimale:

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

Indirizzi host di rete IPv4 totali

Il numero totale di indirizzi host IPv4 per una rete è 2la potenza del numero di bit host, che è 32meno il numero di bit di rete. Per il nostro esempio di /21rete (maschera di 255.255.248.0rete), ci sono 11bit host ( 32 address bits – 21 network bits = 11 host bits). Ciò significa che ci sono 2048indirizzi host totali in una /21rete IPv4 ( 2^11 = 2048).


Indirizzi host di rete IPv4 totali utilizzabili

Ad eccezione delle /31reti (maschera di rete 255.255.255.254) e /32(maschera di rete 255.255.255.255), il numero di indirizzi host utilizzabili su una rete IPv4 è il numero totale di indirizzi host di rete meno 2(poiché la rete IPv4 e gli indirizzi broadcast sono inutilizzabili per gli indirizzi host sulla rete, l'utente devono sottrarli dal numero di indirizzi host utilizzabili). Per il nostro esempio di rete /21( 255.255.248.0), ci sono 2046indirizzi host utilizzabili ( 2^11 - 2 = 2046).


Primo indirizzo host di rete IPv4 utilizzabile

Ad eccezione delle /31reti (maschera di rete 255.255.255.254) e /32(maschera di rete 255.255.255.255), il primo indirizzo host di rete IPv4 utilizzabile è l'indirizzo di rete IPv4 plus 1(l'indirizzo di rete IPv4 non è utilizzabile per un indirizzo host di rete). Per la nostra rete di esempio di 198.51.96.0/21, il primo indirizzo host di rete utilizzabile è 198.51.96.1( 198.51.96.0 + 1 = 198.51.96.1). Basta impostare il bit di ordine basso dell'indirizzo binario di rete IPv4 su 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

Ultimo indirizzo host di rete IPv4 utilizzabile

Ad eccezione delle /31reti (maschera di rete 255.255.255.254) e /32(maschera di rete 255.255.255.255), l'ultimo indirizzo host di rete IPv4 utilizzabile è l'indirizzo di trasmissione di rete IPv4 meno 1(l'indirizzo di trasmissione di rete IPv4 non è utilizzabile per un indirizzo host di rete). Per la nostra rete di esempio di 198.61.96.0/21, l'ultimo indirizzo host di rete utilizzabile è 198.51.103.254( 198.51.103.255 - 1 = 198.51.103.254). Basta impostare il bit di ordine basso dell'indirizzo binario di trasmissione di rete IPv4 su 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

Mettere insieme tutti gli indirizzi di rete IPv4

Per il nostro esempio di indirizzo di rete IPv4 198.51.100.223e maschera 255.255.248.0(o 198.51.100.223/21), possiamo calcolare molte informazioni di rete:

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

* Gli esami di classe di formazione in rete e i test di certificazione ti chiederanno di essere in grado di calcolarli rapidamente per una rete IPv4, dati un indirizzo host e una maschera (o una lunghezza della maschera). Puoi utilizzare i suggerimenti di seguito per un rapido controllo delle tue risposte:

  • Indirizzo di rete (suggerimento: un numero pari)
  • Primo indirizzo host utilizzabile (suggerimento: indirizzo di rete più 1, un numero dispari)
  • Ultimo indirizzo host utilizzabile (suggerimento: indirizzo broadcast meno 1, un numero pari)
  • Indirizzo di trasmissione (suggerimento: indirizzo di rete più maschera host, un numero dispari)

I suggerimenti di cui sopra non si applicano alle /31reti (maschera di rete 255.255.255.254) o /32(maschera di rete 255.255.255.255).

Dato il tempo sufficiente per l'esame e un problema con più metodi per arrivare a una risposta, è necessario utilizzare più metodi per ricontrollare la risposta.


Continua nella prossima risposta ...


9

Continua dalla risposta precedente ...


Parte 2 di 2


Selezione di un indirizzo gateway di rete (router) IPv4

Un gateway è un host sulla rete che sa come inoltrare i pacchetti ad altre reti e può essere assegnato a qualsiasi indirizzo host di rete utilizzabile. Alcune persone assegnano casualmente gli indirizzi gateway a qualsiasi indirizzo host di rete utilizzabile, alcune assegnano sempre il primo indirizzo host di rete utilizzabile a un gateway e alcune assegnano sempre l'ultimo indirizzo host di rete utilizzabile a un gateway. In realtà non importa quale indirizzo di rete host utilizzabile assegni a un gateway, ma dovresti cercare di essere coerente.


Reti IPv4 /31(maschera di rete 255.255.255.254)

Inizialmente, le /31reti (maschera di rete 255.255.255.254) erano inutilizzabili perché esiste un solo bit host, che fornisce due indirizzi host di rete totali, ma il numero di indirizzi host di rete utilizzabili è il numero totale di indirizzi host di rete meno 2( 2 total host addresses - 2 = 0 usable host addresses).

I collegamenti da punto a punto richiedono solo due indirizzi host (uno per ciascuna estremità del collegamento). Il modo tradizionale di assegnare le reti IPv4 richiedeva l'uso di /30reti (maschera di rete 255.255.255.252) per i collegamenti punto-punto, ma ciò spreca metà degli indirizzi host di rete perché una /30rete ha quattro indirizzi host di rete totali, ma solo due sono indirizzi host di rete utilizzabili ( 2^2 – 2 = 2).

Con la carenza di indirizzi IPv4 critici, è stato creato uno standard per consentire l'uso di /31reti per collegamenti punto-punto. Ciò ha senso perché non è necessario trasmettere su tali reti: tutti i pacchetti inviati da un host sulla rete sono destinati all'unico altro host sulla rete, trasmettendo efficacemente. Su una /31rete, l'indirizzo di rete è il primo indirizzo host utilizzabile e l'indirizzo di trasmissione è l'ultimo indirizzo host utilizzabile.

Sfortunatamente, non tutti i fornitori (in particolare Microsoft) supportano lo standard per l'utilizzo delle /31reti su collegamenti punto-punto e molto spesso vedrai collegamenti punto-punto che utilizzano /30reti.


Reti IPv4 /32(maschera di rete 255.255.255.255)

Una /32rete (maschera di rete 255.255.255.255) è sia una rete senza indirizzi host, sia un indirizzo host stesso. C'è un solo indirizzo nella rete, e questo è l'indirizzo di rete. Poiché non ci sono altri host sulla rete, il traffico deve essere instradato da e verso l'indirizzo di rete.

Questi indirizzi vengono spesso utilizzati su interfacce di rete virtuali definite all'interno di un dispositivo in grado di instradare i pacchetti tra le sue interfacce virtuali e fisiche. Un esempio di ciò è la creazione di un'interfaccia virtuale in un dispositivo di rete da utilizzare come origine o destinazione per il dispositivo stesso. Un'interfaccia virtuale non può cadere a causa di un problema fisico, ad es. Cavo scollegato, e se il dispositivo ha più percorsi al suo interno, altri dispositivi possono comunque comunicare con il dispositivo utilizzando l'indirizzo dell'interfaccia virtuale quando un'interfaccia fisica del dispositivo non è utilizzabile per qualche motivo .


Sottoreti di reti IPv4

La sottorete di una rete sta creando più reti più lunghe da un indirizzo di rete e una maschera. L'idea di base è di prendere in prestito bit di alto ordine dalla porzione host della rete originale. Supponiamo di voler creare 14 sottoreti di dimensioni uguali dalla nostra 198.51.96.0/21rete originale . Dato che stai prendendo in prestito bit di alto ordine dalla porzione host della rete originale, otterrai un numero che è una potenza di 2, ma 14non è una potenza di 2, quindi devi ottenere la prossima potenza superiore di 2, che sembra essere 16( 16 = 2^4). La potenza di 2, in questo caso 4, è il numero di bit host di ordine elevato necessari per prendere in prestito il numero di sottoreti da creare. Puoi anche usare una formula matematica per determinare il numero di bit richiesti:Log2(X subnets) = Y borrowed bits, arrotondato per eccesso al valore intero successivo:

Log2(14 subnets) = 3.807354922, rounded up = 4 borrowed bits

Per il nostro esempio di necessità di 14 sottoreti di dimensioni uguali della 198.51.96.0/21rete originale , iniziando con tutti 0s * per la prima sottorete, aggiungere 1alla parte della sottorete per ottenere la sottorete successiva:

           ----------------------------------------------
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
           ----------------------------------------------

* Esiste un mito persistente che per le sottoreti, come per gli indirizzi host, le sottoreti tutto-zero e tutto-uno non possono essere utilizzate, ma questo mito è stato esplicitamente dissipato molti anni fa da uno standard. Sfortunatamente, questo mito si estende ad alcune classi di istruzione di rete e la risposta corretta per quelle classi (errate) sarebbe quella di usare le sottoreti dalla 2a alla 15a.


È possibile eseguire la sottorete di una rete in sottoreti di varie dimensioni (ogni rete IPv4 è una sottorete dell'indirizzo di 0.0.0.0/0rete), come nel nostro esempio sopra, in cui la sottorete non utilizzata è una /24sottorete, ma ciò richiede un'attenta pianificazione in modo che le sottoreti risultanti abbiano inizio il bit corretto.

Ad esempio, supponiamo che abbiamo bisogno sia di /26una /27subnet sia della nostra 198.51.96.0/21rete. Esistono due modi per farlo: iniziare con la /26sottorete o iniziare con la /27sottorete.

A partire dalla /26sottorete:

Original: | 110001100011001101100 | 00000000000    | /21
Subnet 1: | 110001100011001101100 | 00000 | 000000 | /26

Aggiungi 1alla porzione di sottorete per ottenere la posizione iniziale della sottorete successiva:

Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26

Quindi estendi la seconda sottorete a /27:

Subnet 2: | 110001100011001101100 | 000010 | 00000 | /27

Si noti che in realtà stiamo eseguendo la /26subnet della seconda sottorete in una /27sottorete, che funziona bene perché 27è più grande di 26.

A partire dalla /27sottorete:

Original: | 110001100011001101100 | 00000000000    | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27

Aggiungi 1alla porzione di sottorete per ottenere la posizione iniziale della sottorete successiva:

Subnet 2: | 110001100011001101100 | 000001 | 00000 | /27

Notare che non sono rimasti abbastanza bit nella porzione host (cinque bit host) per supportare una /26rete, che richiede sei bit host ( 32 address bits – 26 network bits = 6 host bits). Se lo utilizziamo come posizione iniziale per la /26sottorete, in realtà si sovrapporranno alle /26reti precedenti e successive . Dobbiamo lasciare un divario delle dimensioni di una /27rete per la posizione iniziale della /26rete:

Original: | 110001100011001101100 | 00000000000     | /21
Subnet 1: | 110001100011001101100 | 000000 |  00000 | /27
Unused:   | 110001100011001101100 | 000001 |  00000 | /27
Subnet 2: | 110001100011001101100 | 00001  | 000000 | /26

Una /26sottorete deve sempre iniziare su un /26confine: ogni secondo /27limite di sottorete, ogni quarto /28limite, ogni ottavo /29limite, ecc. Questa regola è per qualsiasi dimensione di sottorete: una sottorete deve iniziare su un limite di una sottorete più lunga che è uguale alla 2potenza della dimensione della sottorete più lunga meno la dimensione della sottorete. Ad esempio, una /23sottorete deve iniziare su ogni quarta /25rete ( 2^(25 - 23) = 2^2 = 4).

Cercare di configurare un dispositivo con un indirizzo di rete che inizia con un limite di bit errato porterà a problemi strani, difficili da risolvere, oppure il dispositivo genererà un errore relativo alla sovrapposizione delle reti. Alcune persone provano a farlo con il punto decimale e questo può portare a errori. Ad esempio, gli 198.51.96.0/27indirizzi degli host di rete sono 198.51.96.0passati 198.51.96.31. Se lo sai e provi a utilizzare la 198.51.96.32/26rete, ti imbatterai in problemi perché quella rete si avvia sul limite di bit errato e si sovrappone alla /27rete (verificare utilizzando un bit ANDa bit con gli indirizzi e le maschere di rete). È ovvio in binario, ma non è così evidente in decimale puntato. Puoi imparare che le /26reti devono iniziare su un multiplo di decimale64 limite, ma vederlo in binario può dirti con certezza se hai commesso un errore o meno.


Dimensionamento sottorete basato sul numero di host

Domande d'esame comuni ti daranno una rete e ti chiederanno di creare diverse sottoreti di varie dimensioni in base al numero di host per ciascuna sottorete. Se possibile, è necessario chiarire se il numero di host si basa sul numero totale di indirizzi host sulla rete o se si basa sul numero di host utilizzabili sulla rete. (Ad esempio, se la domanda richiede una sottorete con 256o 255host, una /24rete fornirà 256indirizzi host totali, ma solo 254indirizzi host utilizzabili. Tale domanda può essere una domanda trabocchetto e la risposta corretta dipenderà dal fatto che il domanda indica gli indirizzi host totali o gli indirizzi host utilizzabili.)

Domanda di esempio:

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

Come abbiamo visto nella sezione Reti secondarie IPv4, il modo più semplice per farlo è ordinare prima i dipartimenti dal numero più grande a quello più piccolo di host perché non avremo bisogno di gestire le lacune della rete:

Department 4: 1000 hosts
Department 1:  500 hosts
Department 3:  200 hosts
Department 2:  100 hosts

Puoi arrotondare ciascuno alla potenza successiva successiva di 2 per ottenere il numero di indirizzi host totali richiesti per ciascuna sottorete, quindi derivare il numero di bit host richiesti dall'esponente della potenza di 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

È inoltre possibile modificare la formula precedente per trovare i bit numerici richiesti per un determinato numero di sottoreti di dimensioni uguali per determinare il numero di bit host richiesti per ciascuna sottorete:, Log2(X hosts) = Y host bitsarrotondato per eccesso al valore intero successivo:

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

Una volta ottenuto il numero di bit host richiesti per ciascuna sottorete, quindi eseguire la matematica binaria per ottenere la sottorete specifica per ciascun dipartimento. Ricorda di aggiungere 1a una sottorete per ottenere l'indirizzo iniziale della sottorete successiva:

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

Trovare una sottorete particolare

È possibile che venga richiesto di fornire le informazioni di rete per una particolare sottorete di una determinata rete. Ad esempio, è possibile che venga richiesto di fornire le informazioni di rete per la 23a /26sottorete della 198.51.96.0/21rete. Dato che hai bisogno della 23a sottorete, puoi convertire 22(ricordati che 0è la prima sottorete, quindi la 23a sottorete sarebbe 22*) in binario: Decimale 22= Binario 10110. Utilizzare il numero binario convertito nella parte della sottorete dell'indirizzo:

Original:  | 110001100011001101100 |    00000000000 | = 198.51.96.0/21
Subnet 23: | 110001100011001101100 | 10110 | 000000 | = 198.51.101.128/26

Dopo aver identificato il 23 ° indirizzo di rete 198.51.101.128/26, è possibile calcolare le altre informazioni di rete (come descritto nelle sezioni precedenti):

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

* Esiste un mito persistente che per le sottoreti, come per gli indirizzi host, le sottoreti tutto-zero e tutto-uno non possono essere utilizzate, ma questo mito è stato esplicitamente dissipato molti anni fa da uno standard. Sfortunatamente, questo mito si estende ad alcune classi di istruzione di rete e la risposta corretta per quelle classi (errate) sarebbe quella di utilizzare la 24a sottorete ( 23decimale, 10111binaria) nel nostro esempio di sottoreti di uguale dimensione, piuttosto che la 23a ( 22decimale, 10110binario) sottorete.


Trovare un host di rete particolare

È possibile che ti venga chiesto di trovare l'indirizzo host per un determinato host di una determinata rete. Ad esempio, è possibile che venga richiesto di fornire l'indirizzo host per il 923 ° host della 198.51.96.0/21rete. Poiché è necessario l'host 923, è possibile convertire 923in binario: Decimale 923= Binario 1110011011. Aggiungi il numero binario convertito all'indirizzo di rete:

Binary network: | 110001100011001101100 | 00000000000 |
Binary 923:     | 000000000000000000000 | 01110011011 | +
                  -----------------------------------
Host address:   | 110001100011001101100 | 01110011011 | = 198.51.99.155

Rete comune più grande per due host *

È possibile che ti vengano dati due (o più) indirizzi host diversi e ti venga chiesto di creare la rete più grande (il numero più piccolo di host) che contiene entrambi gli indirizzi host. Ad esempio, trova la più grande rete comune di 198.51.100.223e 198.51.101.76.

Innanzitutto, converti gli indirizzi decimali tratteggiati in binario:

198.51.100.223 = 11000110001100110110010011011111
198.51.101.76  = 11000110001100110110010101001100

Quindi, partendo dal bit di ordine più alto (più a sinistra), confronta gli indirizzi binari in ogni posizione di bit fino a quando i bit nella stessa posizione non corrispondono:

198.51.100.223 = | 11000110001100110110010 | 011011111 |
198.51.101.76  = | 11000110001100110110010 | 101001100 |

Contare il numero di bit corrispondenti, 23in questo caso, per ottenere la lunghezza della maschera. È quindi possibile prendere entrambi gli indirizzi ed eseguire un bit ANDper bit con la maschera di rete per ottenere la rete comune. In questo modo su entrambi gli indirizzi dovrebbe risultare nella stessa rete e, in caso contrario, si è verificato un errore di conteggio o si è persa una posizione di bit senza pari.

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

Si noti che i due indirizzi di rete corrispondono. Ciò significa che la più grande rete comune per i due indirizzi host è 198.51.100.0/23(notazione CIDR) o (tradizionale) 198.51.100.0con una maschera di 255.255.254.0.


* Potresti vedere questa chiamata la rete comune più piccola (o qualche variante, ad es. Rete minima o maschera). La rete più piccola in realtà è 0.0.0.0/0( 0bit di rete) ed è la rete comune per tutti gli indirizzi IPv4, quindi è la rete comune più piccola tra tutti gli indirizzi IPv4. La confusione sorge perché molte persone osservano la parte host dell'indirizzo e vedono la sua dimensione come la dimensione della rete, piuttosto che la dimensione della parte della rete dell'indirizzo.


Indirizzamento pubblico vs. privato

IPv4, di per sé, non ha il concetto né la distinzione tra indirizzamento pubblico e privato. L'indirizzamento privato IPv4 è stato scelto arbitrariamente e gli ISP, di comune accordo, non inoltreranno pacchetti su Internet pubblico utilizzando indirizzi nello spazio degli indirizzi privati, ma i dispositivi di rete e gli host non hanno idea se un indirizzo sia pubblico o privato.

Esistono tre intervalli di indirizzi definiti come indirizzi privati ​​IPv4:

  1. 10.0.0.0/8
  2. 172.16.0.0/12
  3. 192.168.0.0/16

Indirizzo di rete di classe

Inizialmente, gli indirizzi IPv4 erano divisi in classi di rete. L'indirizzamento di classe è stato deprecato decenni fa e le reti moderne si basano sul CIDR (Classless Inter-Domain Routing), ma, sfortunatamente, molte classi di istruzione di rete ed esami di certificazione insistono nel testare le tue conoscenze di indirizzamento di classe. Si prega di imparare e di essere a proprio agio con tutti i precedenti calcoli IPv4 in questo documento prima di conoscere l'indirizzamento di classe.

Le classi di indirizzi IPv4 sono tutte basate sui primi bit dell'indirizzo:

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
  • Le reti di classe A hanno una maschera di rete predefinita di 255.0.0.0( /8) e una maschera host predefinita di 0.255.255.255, che fornisce gli 16,777,216indirizzi host totali per rete.
  • Le reti di classe B hanno una maschera di rete predefinita di 255.255.0.0( /16) e una maschera host predefinita di 0.0.255.255, che fornisce gli 65,536indirizzi host totali per rete.
  • Le reti di classe C hanno una maschera di rete predefinita di 255.255.255.0( /24) e una maschera host predefinita di 0.0.0.255, che fornisce gli 256indirizzi host totali per rete.
  • Gli indirizzi di classe D vengono utilizzati per il multicast, in cui ciascun indirizzo viene utilizzato singolarmente per rappresentare un gruppo di host che si abbonano a un indirizzo multicast. Ciò significa che gli indirizzi di classe D normalmente non hanno il concetto di maschera di rete.
  • Gli indirizzi di classe E sono riservati e non possono essere utilizzati per nulla. C'è un'eccezione a questo, e quello è l'indirizzo di trasmissione limitata 255.255.255.255, che è un indirizzo individuale che ogni host su una rete tratterà come proprio. Ciò significa che tutto ciò che viene inviato 255.255.255.255verrà ricevuto ed elaborato da ogni host sulla rete.

Poiché ogni classe ha una dimensione di rete predefinita, alcune domande assumono la maschera predefinita per un determinato indirizzo, quindi tutti i calcoli devono essere effettuati in base alla maschera di rete predefinita. Per il nostro indirizzo di esempio, 198.51.100.223:

Binary: 11000110 00110011 01100100 11011111

Si noti che i primi tre bit di indirizzo sono 110, nel senso che si tratta di un indirizzo di Classe C e in assenza di qualsiasi lunghezza di maschera o maschera, si presume che la maschera di rete sia 255.255.255.0( /24), rendendo l'indirizzo di rete 198.51.100.0.


* Non commettere l'errore comune di pensare che la maschera di rete imponga la classe della rete, è il contrario. Ad esempio, molte persone considerano qualsiasi /24rete come una rete di Classe C, ma ciò non è neppure vero da remoto. Dato, ad esempio, una 10.11.12.0/24rete, molte persone chiamano erroneamente una rete di classe C a causa della maschera di rete, anche se il primo bit dell'indirizzo è 0, rendendolo una rete di classe A, sebbene con una maschera di rete più lunga di quella predefinita Maschera di rete di classe A, nel senso che è una sottorete di una rete di classe A, non una rete di classe C.


6

(Nel tentativo di mantenere tutte le risposte della maschera di rete in un posto, dopo le altre risposte eccellenti, ho aggiunto questo su un metodo visivo.)

Dimensionamento sottorete basato sul numero di host

Questo è per la domanda comune "Come posso tagliare una data dimensione della rete in n pezzi consentendo x 1 host nella rete 1, x 2 host nella rete 2, ecc ...?" può assolutamente essere risolto lavorando attraverso i metodi descritti nelle altre eccellenti risposte.

Tuttavia, alcune persone potrebbero preferire un metodo più visivo e alcuni suggerimenti generali.

Metodo visivo "Glasscutter"

Il modo in cui insegno spesso a comprendere visivamente questo è con il seguente metodo:

Prima immagina una ghigliottina di carta come questa:

ghigliottina di carta scorrevole

( Immagine da Wikipedia di Nathan CC BY-SA 3.0)

Le proprietà di questo tipo di taglierina sono che taglia solo linee rette, taglia sempre tutta la carta e taglia perpendicolarmente da un lato. La nostra ghigliottina in particolare è pignola: taglierà solo la carta a metà e non possiamo tagliare a meno di 1 cm dal bordo.

  • Quanti indirizzi sono disponibili in totale per il blocco di partenza?
  • Supponiamo che dividendo a / 22 abbia 1024 indirizzi
  • Prendi un pezzo di carta con tanti centimetri quadrati (e rapporto quadrato o 2x1)
  • Quindi ottengo un pezzo di 32 cm per 32 cm che ha 1024 cm quadrati
  • Ripetutamente
    1. Scegli un pezzo (se ce n'è più di uno)
    2. Tagliarlo a metà (nei limiti: solo tagli rettangolari, a metà, niente al di sotto di 1 cm)
  • Spesso ci sono diversi tagli che puoi fare e devi fare una scelta
  • Per ottenere n reti, è necessario eseguire n-1 tagli
  • A volte finisci con pezzi extra (a seconda di come vuoi distribuire i "rifiuti")

Ecco un'illustrazione del processo. Vedete che esiste un solo tipo di taglio possibile al taglio 1 e al taglio 2, ma al taglio 3 facciamo una scelta: tagliare il pezzo piccolo (rosso) o il pezzo grande (blu), dando due diverse possibilità.

il mio disegno

È quello che viene spesso chiamato il problema della ghigliottina , che ho appreso come il problema del "tagliatore di vetro", dato che la lastra di vetro deve davvero essere tagliata dappertutto, e questo specifico potrebbe essere chiamato "tagliatore di vetri binario" poiché taglia sempre a metà.

Quando in realtà lo faccio nella vita reale, faccio mentalmente i trucioli mentre guardo la griglia in questo modo. Ricordo che / 26 deve iniziare su 0, .64, 128 o .192; Potrei sapere che la settima linea affittata necessita del settimo / 30 nel primo trimestre, ma non ricordo che è .216.

Ovviamente la griglia può essere utilizzata anche per rappresentare il terzo ottetto e ogni quadrato rappresenta un / 24. Ora dice che un / 18 inizia su .0, .64, .128 o .192.

inserisci qui la descrizione dell'immagine

Suggerimenti tecnici generali

La procedura generale è:

  • arrotondare ogni dimensione richiesta nel blocco più piccolo che è abbastanza grande
  • assicurati di seguire le regole globali (spesso "massimizza l'indirizzamento disponibile", a volte è "consenti doppio per la crescita" o "semplifica il routing")
  • allocare le sottoreti agli indirizzi INIZIANDO CON IL PIÙ GRANDE e scendendo al più piccolo ( questa è la parte che di solito dimenticano di dirti )
  • seguire eventuali regole specifiche (le domande del test spesso hanno regole extra, a volte abrasive come "Nessun indirizzo di rete può contenere un 7")
  • controlla che ci sia spazio per tutti gli indirizzi impliciti (trasmissioni, router)
  • se una rete è piccola (/ 30, / 31 o / 32) presta particolare attenzione in quanto vi sono alcuni casi limite per le reti con 4, 2 e 1 host e i dettagli dipendono dall'esatto problema che stai risolvendo

5

Esempio:

IP: 128.42.5.4

In binario: 10000000 00101010 00000101 00000100

Sottorete: 255.255.248.0

Come è possibile determinare il prefisso, la rete, la sottorete e i numeri host?

      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......
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.