Risposte:
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.
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à:
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
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
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 ...
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.
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.
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 ...
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
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
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:
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.
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:
Come scorciatoia, puoi anche usare questa formula. Funziona su sottoreti di qualsiasi dimensione:
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.
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.
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à 11000110001100110110010011011111
un 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 0
e 255
(qualsiasi valore maggiore di 255
non è 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 256
valore 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.
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 1
bit consecutivi (che rappresentano la parte di rete di un indirizzo), seguita da un numero di 0
bit (che rappresenta la parte host dell'indirizzo). Il numero totale di 1
bit e il numero totale di 0
bit 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 1
bit consecutivi nella maschera. Questa è in vario modo chiamata lunghezza della maschera di rete o lunghezza del prefisso ed è rappresentata come /
seguita dal numero di 1
bit consecutivi nella maschera di rete. Per il nostro esempio, viene conteggiato il numero di 1
bit 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 1
bit per la lunghezza della maschera e aggiungere abbastanza 0
bit alla fine ai 32
bit 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
.
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 AND
dei 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 AND
per 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.223
e 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/21
indirizzo si trova sulla stessa rete IPv4 con un host assegnato 198.51.102.57
all'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.100
dell'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.
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 1
s e la 0
s 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 ( /32
o 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
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.223
e maschera di rete 255.255.248.0
.
È possibile eseguire un bit OR
per 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
Il numero totale di indirizzi host IPv4 per una rete è 2
la potenza del numero di bit host, che è 32
meno il numero di bit di rete. Per il nostro esempio di /21
rete (maschera di 255.255.248.0
rete), ci sono 11
bit host ( 32 address bits – 21 network bits = 11 host bits
). Ciò significa che ci sono 2048
indirizzi host totali in una /21
rete IPv4 ( 2^11 = 2048
).
Ad eccezione delle /31
reti (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 2046
indirizzi host utilizzabili ( 2^11 - 2 = 2046
).
Ad eccezione delle /31
reti (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
Ad eccezione delle /31
reti (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
Per il nostro esempio di indirizzo di rete IPv4 198.51.100.223
e 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:
I suggerimenti di cui sopra non si applicano alle /31
reti (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 ...
Continua dalla risposta precedente ...
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.
/31
(maschera di rete 255.255.255.254
)Inizialmente, le /31
reti (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 /30
reti (maschera di rete 255.255.255.252
) per i collegamenti punto-punto, ma ciò spreca metà degli indirizzi host di rete perché una /30
rete 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 /31
reti 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 /31
rete, 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 /31
reti su collegamenti punto-punto e molto spesso vedrai collegamenti punto-punto che utilizzano /30
reti.
/32
(maschera di rete 255.255.255.255
)Una /32
rete (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 .
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/21
rete 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 14
non è 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/21
rete originale , iniziando con tutti 0
s * per la prima sottorete, aggiungere 1
alla 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/0
rete), come nel nostro esempio sopra, in cui la sottorete non utilizzata è una /24
sottorete, 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 /26
una /27
subnet sia della nostra 198.51.96.0/21
rete. Esistono due modi per farlo: iniziare con la /26
sottorete o iniziare con la /27
sottorete.
A partire dalla /26
sottorete:
Original: | 110001100011001101100 | 00000000000 | /21
Subnet 1: | 110001100011001101100 | 00000 | 000000 | /26
Aggiungi 1
alla 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 /26
subnet della seconda sottorete in una /27
sottorete, che funziona bene perché 27
è più grande di 26
.
A partire dalla /27
sottorete:
Original: | 110001100011001101100 | 00000000000 | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27
Aggiungi 1
alla 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 /26
rete, che richiede sei bit host ( 32 address bits – 26 network bits = 6 host bits
). Se lo utilizziamo come posizione iniziale per la /26
sottorete, in realtà si sovrapporranno alle /26
reti precedenti e successive . Dobbiamo lasciare un divario delle dimensioni di una /27
rete per la posizione iniziale della /26
rete:
Original: | 110001100011001101100 | 00000000000 | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27
Unused: | 110001100011001101100 | 000001 | 00000 | /27
Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26
Una /26
sottorete deve sempre iniziare su un /26
confine: ogni secondo /27
limite di sottorete, ogni quarto /28
limite, ogni ottavo /29
limite, ecc. Questa regola è per qualsiasi dimensione di sottorete: una sottorete deve iniziare su un limite di una sottorete più lunga che è uguale alla 2
potenza della dimensione della sottorete più lunga meno la dimensione della sottorete. Ad esempio, una /23
sottorete deve iniziare su ogni quarta /25
rete ( 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/27
indirizzi degli host di rete sono 198.51.96.0
passati 198.51.96.31
. Se lo sai e provi a utilizzare la 198.51.96.32/26
rete, ti imbatterai in problemi perché quella rete si avvia sul limite di bit errato e si sovrappone alla /27
rete (verificare utilizzando un bit AND
a bit con gli indirizzi e le maschere di rete). È ovvio in binario, ma non è così evidente in decimale puntato. Puoi imparare che le /26
reti devono iniziare su un multiplo di decimale64
limite, ma vederlo in binario può dirti con certezza se hai commesso un errore o meno.
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 256
o 255
host, una /24
rete fornirà 256
indirizzi host totali, ma solo 254
indirizzi 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 bits
arrotondato 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 1
a 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
È 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 /26
sottorete della 198.51.96.0/21
rete. 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 ( 23
decimale, 10111
binaria) nel nostro esempio di sottoreti di uguale dimensione, piuttosto che la 23a ( 22
decimale, 10110
binario) sottorete.
È 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/21
rete. Poiché è necessario l'host 923, è possibile convertire 923
in 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
È 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.223
e 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, 23
in questo caso, per ottenere la lunghezza della maschera. È quindi possibile prendere entrambi gli indirizzi ed eseguire un bit AND
per 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.0
con 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
( 0
bit 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.
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:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
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
255.0.0.0
( /8
) e una maschera host predefinita di 0.255.255.255
, che fornisce gli 16,777,216
indirizzi host totali per rete.255.255.0.0
( /16
) e una maschera host predefinita di 0.0.255.255
, che fornisce gli 65,536
indirizzi host totali per rete.255.255.255.0
( /24
) e una maschera host predefinita di 0.0.0.255
, che fornisce gli 256
indirizzi host totali per rete.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.255
verrà 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 /24
rete come una rete di Classe C, ma ciò non è neppure vero da remoto. Dato, ad esempio, una 10.11.12.0/24
rete, 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.
(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:
( 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.
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à.
È 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.
Suggerimenti tecnici generali
La procedura generale è:
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......