Esistono subnet IP per consentire ai router di scegliere destinazioni appropriate per i pacchetti. È possibile utilizzare le subnet IP per spezzare reti più grandi per motivi logici (firewall, ecc.) O necessità fisiche (domini di trasmissione più piccoli, ecc.).
In poche parole, tuttavia, i router IP utilizzano le sottoreti IP per prendere decisioni di routing. Comprendi come funzionano queste decisioni e puoi capire come pianificare le subnet IP.
Contando fino a 1
Se sei già fluente nella notazione binaria (base 2) puoi saltare questa sezione.
Per quelli di voi che sono rimasti: vergognatevi di non essere fluenti nella notazione binaria!
Sì, potrebbe essere un po 'duro. È davvero molto semplice imparare a contare in binario e imparare scorciatoie per convertire binario in decimale e viceversa. Dovresti davvero sapere come farlo.
Il conteggio in binario è così semplice perché devi solo sapere come contare fino a 1!
Pensa al "contachilometri" di un'auto, tranne per il fatto che a differenza di un contachilometri tradizionale ogni cifra può contare solo fino a 1 da 0. Quando l'auto è fresca dalla fabbrica, il contachilometri indica "00000000".
Quando hai guidato il tuo primo miglio, il contachilometri indica "00000001". Fin qui tutto bene.
Quando hai guidato il tuo secondo miglio la prima cifra del contachilometri torna a "0" (poiché il suo valore massimo è "1") e la seconda cifra del contachilometri si sposta su "1", facendo leggere il contachilometri " 00000010" . Questo sembra il numero 10 in notazione decimale, ma in realtà è 2 (il numero di miglia che hai guidato fino ad ora) in notazione binaria.
Quando hai guidato il terzo miglio, il contachilometri indica "00000011", poiché la prima cifra del contachilometri ruota di nuovo. Il numero "11", in notazione binaria, è uguale al numero decimale 3.
Alla fine, quando hai guidato il tuo quarto miglio entrambe le cifre (che stavano leggendo "1" alla fine del terzo miglio) ritornano alla posizione zero e la terza cifra rotola su alla posizione "1", dandoci " 00000100" . Questa è la rappresentazione binaria del numero decimale 4.
Puoi memorizzare tutto ciò se vuoi, ma devi solo capire come il piccolo contachilometri "rotola" quando il numero che conta aumenta. È esattamente lo stesso di un tradizionale contachilometri decimale, tranne per il fatto che ogni cifra può essere solo "0" o "1" sul nostro "contachilometri binario" fittizio.
Per convertire un numero decimale in binario è possibile far avanzare il contachilometri, tick per tick, contando ad alta voce fino a quando non lo si è rotolato un numero di volte uguale al numero decimale che si desidera convertire in binario. Qualunque cosa venga visualizzata sul contachilometri dopo tutto quel calcolo e rotolamento sarebbe la rappresentazione binaria del numero decimale che hai contato fino a.
Dal momento che capisci come il contachilometri scorre in avanti, capirai anche come rotola all'indietro. Per convertire un numero binario visualizzato sul contachilometri in decimale, è possibile riportare indietro il contachilometri di un segno alla volta, contando ad alta voce fino a quando il contachilometri non legge "00000000". Quando tutto il conteggio e il rotolamento sono terminati, l'ultimo numero che dici ad alta voce sarà la rappresentazione decimale del numero binario con cui ha iniziato il contachilometri.
La conversione di valori tra binari e decimali in questo modo sarebbe molto noiosa. Potresti farlo, ma non sarebbe molto efficiente. È più facile imparare un piccolo algoritmo per farlo più velocemente.
Una rapida nota: ogni cifra in un numero binario è nota come "bit". Questa è "b" da "binario" e "esso" da "cifra". Un bit è una cifra binaria.
La conversione di un numero binario come, ad esempio, "1101011" in decimale è un processo semplice con un piccolo algoritmo a portata di mano.
Inizia contando il numero di bit nel numero binario. In questo caso, ci sono 7. Crea 7 divisioni su un foglio di carta (nella tua mente, in un file di testo, ecc.) E inizia a riempirle da destra a sinistra. Nello slot più a destra, inserisci il numero "1", perché inizieremo sempre con "1". Nello slot successivo a sinistra inserire il doppio del valore nello slot a destra (quindi, "2" in quello successivo, "4" in quello successivo) e continuare fino a quando tutti gli slot sono pieni. (Finirai per memorizzare questi numeri, che sono i poteri di 2, mentre lo fai sempre di più. Sto bene fino a 131.072 nella mia testa ma di solito ho bisogno di una calcolatrice o di un foglio dopo quello).
Quindi, dovresti avere quanto segue sul tuo foglio nelle tue piccole fessure.
64 | 32 | 16 | 8 | 4 | 2 | 1 |
Trascrivi i bit dal numero binario sotto gli slot, in questo modo:
64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 1 0 1 0 1 1
Ora aggiungi alcuni simboli e calcola la risposta al problema:
64 | 32 | 16 | 8 | 4 | 2 | 1 |
x 1 x 1 x 0 x 1 x 0 x 1 x 1
--- --- --- --- --- --- ---
+ + + + + + =
Facendo tutta la matematica, dovresti trovare:
64 | 32 | 16 | 8 | 4 | 2 | 1 |
x 1 x 1 x 0 x 1 x 0 x 1 x 1
--- --- --- --- --- --- ---
64 + 32 + 0 + 8 + 0 + 2 + 1 = 107
Capito. "1101011" in decimale è 107. Sono solo semplici passaggi e facile matematica.
La conversione da decimale a binario è altrettanto semplice ed è lo stesso algoritmo di base, eseguito al contrario.
Supponiamo di voler convertire il numero 218 in binario. Iniziando a destra di un foglio di carta, scrivi il numero "1". A sinistra, raddoppia quel valore (quindi, "2") e continua a muoverti verso la sinistra del foglio raddoppiando l'ultimo valore. Se il numero che si sta per scrivere è maggiore del numero da convertire, interrompere la scrittura. altrimenti, continua a raddoppiare il numero precedente e scrivere. (Convertire un numero elevato, come 34.157.216.092, in binario usando questo algoritmo può essere un po 'noioso ma è certamente possibile.)
Quindi, dovresti avere sul tuo foglio:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Hai smesso di scrivere numeri a 128 perché il raddoppio di 128, che ti darebbe 256, sarebbe grande rispetto al numero da convertire (218).
A partire dal numero più a sinistra, scrivi "218" sopra di esso (128) e chiediti: "218 è maggiore o uguale a 128?" Se la risposta è sì, gratta un "1" sotto "128". Sopra "64", scrivi il risultato di 218 meno 128 (90).
Guardando "64", chiediti: "90 è maggiore o uguale a 64?" Lo è, quindi dovresti scrivere un "1" sotto "64", quindi sottrarre 64 da 90 e scrivere sopra "32" (26).
Quando arrivi a "32", tuttavia, scopri che 32 non è maggiore o uguale a 26. In questo caso, scrivi uno "0" sotto "32", copia il numero (26) da sopra 32 "a sopra" 16 "e poi continua a porsi la stessa domanda con il resto dei numeri.
Quando hai finito, dovresti avere:
218 90 26 26 10 2 2 0
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 1 0 1 1 0 1 0
I numeri in alto sono solo note usate nel calcolo e non significano molto per noi. In fondo, tuttavia, viene visualizzato un numero binario "11011010". Abbastanza sicuro, 218, convertito in binario, è "11011010".
Seguendo queste semplicissime procedure è possibile convertire i binari in decimali e viceversa senza calcolatrice. La matematica è molto semplice e le regole possono essere memorizzate con un po 'di pratica.
Suddivisione degli indirizzi
Pensa al routing IP come alla consegna della pizza.
Quando ti viene chiesto di consegnare una pizza in "123 Main Street", è molto chiaro a te, come essere umano, che vuoi andare nell'edificio numerato "123" sulla strada chiamata "Main Street". È facile sapere che devi andare al blocco di 100 di Main Street perché il numero dell'edificio è compreso tra 100 e 199 e la maggior parte degli isolati sono numerati in centinaia. "Sai" come dividere l'indirizzo.
I router forniscono pacchetti, non pizza. Il loro lavoro è lo stesso di un pizzaiolo: portare il carico (pacchetti) il più vicino possibile alla destinazione. Un router è collegato a due o più sottoreti IP (per essere assolutamente utile). Un router deve esaminare gli indirizzi IP di destinazione dei pacchetti e suddividere tali indirizzi di destinazione nei loro componenti "nome strada" e "numero edificio", proprio come il driver della pizza, per prendere decisioni sulla consegna.
Ogni computer (o "host") su una rete IP è configurato con un indirizzo IP e una subnet mask univoci. Tale indirizzo IP può essere suddiviso in un componente "numero edificio" (come "123" nell'esempio sopra) chiamato "ID host" e un componente "nome strada" (come "Main Street" nell'esempio sopra) chiamato "ID di rete". Per i nostri occhi umani, è facile vedere dove si trovano il numero dell'edificio e il nome della via in "123 Main Street", ma è più difficile vedere quella divisione in "10.13.216.41 con una subnet mask di 255.255.192.0".
I router IP "sanno" come suddividere gli indirizzi IP in queste parti componenti per prendere decisioni di routing. Poiché la comprensione di come i pacchetti IP vengono instradati dipende dalla comprensione di questo processo, dobbiamo anche sapere come suddividere gli indirizzi IP. Fortunatamente, estrarre l'ID host e l'ID di rete da un indirizzo IP e una subnet mask è in realtà abbastanza semplice.
Inizia scrivendo l'indirizzo IP in binario (usa una calcolatrice se non hai ancora imparato a farlo nella tua testa, ma prendi nota di come imparare a farlo-- è davvero molto facile e impressiona il sesso opposto a parti):
10. 13. 216. 41
00001010.00001101.11011000.00101001
Scrivi anche la subnet mask in binario:
255. 255. 192. 0
11111111.11111111.11000000.00000000
Scritti fianco a fianco, puoi vedere che il punto nella maschera di sottorete in cui "stop" di "1" si allinea "a un punto dell'indirizzo IP. Questo è il punto in cui l'ID di rete e l'ID host si dividono. Quindi, in questo caso:
10. 13. 216. 41
00001010.00001101.11011000.00101001 - IP address
11111111.11111111.11000000.00000000 - subnet mask
00001010.00001101.11000000.00000000 - Portion of IP address covered by 1's in subnet mask, remaining bits set to 0
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0
I router utilizzano la subnet mask per "mascherare" i bit coperti da 1 nell'indirizzo IP (sostituendo i bit che non sono "mascherati" con 0) per estrarre l'ID di rete:
10. 13. 192. 0
00001010.00001101.11000000.00000000 - Network ID
Allo stesso modo, usando la subnet mask per "mascherare" i bit coperti da 0 nell'indirizzo IP (sostituendo i bit che non sono "mascherati" con 0 di nuovo) un router può estrarre l'ID host:
0. 0. 24. 41
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0
Per i nostri occhi umani non è facile vedere la "rottura" tra l'ID di rete e l'ID host come lo è tra il "numero di costruzione" e il "nome della via" negli indirizzi fisici durante la consegna della pizza, ma l'effetto finale è il stesso.
Ora che puoi dividere gli indirizzi IP e le maschere di sottorete in ID host e ID di rete, puoi indirizzare l'IP proprio come fa un router.
Più terminologia
Vedrai le subnet mask scritte su Internet e nel resto di questa risposta come (IP / numero). Questa notazione è nota come notazione "Classless Inter-Domain Routing" (CIDR). "255.255.255.0" è composto da 24 bit di 1 all'inizio, ed è più veloce scriverlo come "/ 24" che come "255.255.255.0". Per convertire un numero CIDR (come "/ 16") in una subnet mask decimale puntata, basta scrivere quel numero di 1, dividerlo in gruppi di 8 bit e convertirlo in decimale. (Un "/ 16" è "255.255.0.0", per esempio.)
Ai vecchi tempi, le maschere di sottorete non erano specificate, ma piuttosto venivano derivate guardando alcuni bit dell'indirizzo IP. Un indirizzo IP che inizia con 0 - 127, ad esempio, aveva una subnet mask implicita di 255.0.0.0 (chiamata indirizzo IP di "classe A").
Queste sottorete implicite non vengono utilizzate oggi e non raccomando di conoscerle più a meno che tu non abbia la sfortuna di gestire apparecchiature molto vecchie o vecchi protocolli (come RIPv1) che non supportano l'indirizzamento IP senza classi. Non parlerò più di queste "classi" di indirizzi perché è inapplicabile oggi e può essere fonte di confusione.
Alcuni dispositivi usano una notazione chiamata "maschere jolly". Una "maschera jolly" non è altro che una maschera di sottorete con tutti gli 0 dove ci sarebbero 1 e 1 dove ci sarebbero 0. La "maschera jolly" di a / 26 è:
11111111.11111111.11111111.11000000 - /26 subnet mask
00000000.00000000.00000000.00111111 - /26 "wildcard mask"
In genere vengono visualizzate "maschere jolly" utilizzate per abbinare gli ID host negli elenchi di controllo di accesso o nelle regole del firewall. Non ne discuteremo più qui.
Come funziona un router
Come ho detto prima, i router IP hanno un lavoro simile a quello di un autista di consegna di pizza in quanto devono portare il loro carico (pacchetti) a destinazione. Quando viene presentato con un pacchetto associato all'indirizzo 192.168.10.2, un router IP deve determinare quale delle sue interfacce di rete avvicinerà il pacchetto alla destinazione.
Diciamo che sei un router IP e hai interfacce collegate a te numerate:
- Ethernet0 - 192.168.20.1, maschera di sottorete / 24
- Ethernet1 - 192.168.10.1, maschera di sottorete / 24
Se ricevi un pacchetto da consegnare con un indirizzo di destinazione "192.168.10.2", è abbastanza facile dire (con i tuoi occhi umani) che il pacchetto dovrebbe essere inviato all'interfaccia Ethernet1, perché l'indirizzo dell'interfaccia Ethernet1 corrisponde alla destinazione del pacchetto indirizzo. Tutti i computer collegati all'interfaccia Ethernet1 avranno indirizzi IP che iniziano con "192.168.10.", Poiché l'ID di rete dell'indirizzo IP assegnato all'interfaccia Ethernet1 è "192.168.10.0".
Per un router, questo processo di selezione del percorso viene eseguito creando una tabella di routing e consultando la tabella ogni volta che viene consegnato un pacchetto. Una tabella di routing contiene ID di rete e nomi dell'interfaccia di destinazione. Sai già come ottenere un ID di rete da un indirizzo IP e una subnet mask, quindi sei sulla buona strada per costruire una tabella di routing. Ecco la nostra tabella di routing per questo router:
- ID di rete: 192.168.20.0 (11000000.10101000.00010100.00000000) - Maschera di sottorete a 24 bit - Interfaccia Ethernet0
- ID di rete: 192.168.10.0 (11000000.10101000.00001010.00000000) - Maschera di sottorete a 24 bit - Interfaccia Ethernet1
Per il nostro pacchetto in entrata associato a "192.168.10.2", dobbiamo solo convertire l'indirizzo di quel pacchetto in binario (come umani - il router lo ottiene come binario dal filo per cominciare) e tentare di abbinarlo a ciascun indirizzo nel nostro instradamento tabella (fino al numero di bit nella maschera di sottorete) fino a quando non abbiniamo una voce.
- Destinazione pacchetto in entrata: 11000000.10101000.00001010.00000010
Confrontandolo con le voci nella nostra tabella di routing:
11000000.10101000.00001010.00000010 - Destination address for packet
11000000.10101000.00010100.00000000 - Interface Ethernet0
!!!!!!!!.!!!!!!!!.!!!????!.xxxxxxxx - ! indicates matched digits, ? indicates no match, x indicates not checked (beyond subnet mask)
11000000.10101000.00001010.00000010 - Destination address for packet
11000000.10101000.00001010.00000000 - Interface Ethernet1, 24 bit subnet mask
!!!!!!!!.!!!!!!!!.!!!!!!!!.xxxxxxxx - ! indicates matched digits, ? indicates no match, x indicates not checked (beyond subnet mask)
La voce per Ethernet0 corrisponde perfettamente ai primi 19 bit, ma poi interrompe la corrispondenza. Ciò significa che non è l'interfaccia di destinazione corretta. Si può vedere che l'interfaccia Ethernet1 corrisponde a 24 bit dell'indirizzo di destinazione. Ah ah! Il pacchetto è associato all'interfaccia Ethernet1.
In un router reale, la tabella di routing viene ordinata in modo tale che le maschere di sottorete più lunghe vengano verificate per prime le corrispondenze (ovvero i percorsi più specifici) e numericamente in modo tale che non appena viene trovata una corrispondenza, il pacchetto può essere instradato e non sono necessari ulteriori tentativi di abbinamento (il che significa che 192.168.10.0 sarebbe elencato per primo e 192.168.20.0 non sarebbe mai stato verificato). Qui, lo stiamo semplificando un po '. Strutture e algoritmi di dati elaborati rendono router IP più veloci, ma semplici algoritmi produrranno gli stessi risultati.
Percorsi statici
Fino a questo punto, abbiamo parlato del nostro ipotetico router come di reti direttamente connesse ad esso. Ovviamente non è così che funziona il mondo. Nell'analogia della guida della pizza, a volte l'autista non è autorizzato a entrare nell'edificio oltre alla reception e deve consegnare la pizza a qualcun altro per la consegna al destinatario finale (sospendi l'incredulità e sopporta con me mentre Allungo la mia analogia, per favore).
Cominciamo chiamando il nostro router dagli esempi precedenti "Router A". Conosci già la tabella di routing di RouterA come:
- ID di rete: 192.168.20.0 (11000000.10101000.00010100.00000000) - maschera di sottorete / 24 - Router di interfaccia A-Ethernet0
- ID di rete: 192.168.10.0 (11000000.10101000.00001010.00000000) - maschera di sottorete / 24 - Router di interfaccia A-Ethernet1
Supponiamo che ci sia un altro router, "Router B", con gli indirizzi IP 192.168.10.254/24 e 192.168.30.1/24 assegnati alle sue interfacce Ethernet0 ed Ethernet1. Ha la seguente tabella di routing:
- ID di rete: 192.168.10.0 (11000000.10101000.00001010.00000000) - maschera di sottorete / 24 - Router di interfaccia B-Ethernet0
- ID di rete: 192.168.30.0 (11000000.10101000.00011110.00000000) - subnet mask / 24 - Router di interfaccia B-Ethernet1
Nella bella arte ASCII, la rete si presenta così:
Interface Interface
Ethernet1 Ethernet1
192.168.10.1/24 192.168.30.254/24
__________ V __________ V
| | V | | V
----| ROUTER A |------- /// -------| ROUTER B |----
^ |__________| ^ |__________|
^ ^
Interface Interface
Ethernet0 Ethernet0
192.168.20.1/24 192.168.10.254/24
Si può vedere che il router B sa come "raggiungere" una rete, 192.168.30.0/24, di cui il router A non sa nulla.
Supponiamo che un PC con l'indirizzo IP 192.168.20.13 collegato alla rete connessa all'interfaccia Ethernet0 del router A invii un pacchetto al router A per la consegna. Il nostro ipotetico pacchetto è destinato all'indirizzo IP 192.168.30.46, che è un dispositivo collegato alla rete connessa all'interfaccia Ethernet1 del router B.
Con la tabella di routing mostrata sopra, nessuna voce nella tabella di routing del router A corrisponde alla destinazione 192.168.30.46, quindi il router A restituirà il pacchetto al PC di invio con il messaggio "Rete di destinazione irraggiungibile".
Per rendere il router A "consapevole" dell'esistenza della rete 192.168.30.0/24, aggiungere la seguente voce alla tabella di routing sul router A:
- ID di rete: 192.168.30.0 (11000000.10101000.00011110.00000000) - maschera di sottorete / 24 - Accessibile tramite 192.168.10.254
In questo modo, il router A ha una voce della tabella di routing che corrisponde alla destinazione 192.168.30.46 del nostro pacchetto di esempio. Questa voce della tabella di routing dice effettivamente "Se ottieni un pacchetto associato a 192.168.30.0/24, invialo a 192.168.10.254 perché sa come gestirlo." Questa è l'analoga azione "consegnare la pizza alla reception" che ho citato in precedenza: passare il pacchetto a qualcun altro che sa come avvicinarlo alla sua destinazione.
L'aggiunta di una voce a una tabella di routing "a mano" è nota come aggiunta di una "route statica".
Se il router B desidera consegnare i pacchetti alla rete 255.255.255.0 della maschera di sottorete 192.168.20.0, avrà bisogno anche di una voce nella sua tabella di routing:
- ID di rete: 192.168.20.0 (11000000.10101000.00010100.00000000) - subnet mask / 24 - Accessibile tramite: 192.168.10.1 (indirizzo IP del router A nella rete 192.168.10.0)
Ciò creerebbe un percorso per la consegna tra la rete 192.168.30.0/24 e la rete 192.168.20.0/24 attraverso la rete 192.168.10.0/24 tra questi router.
Volete sempre essere sicuri che i router su entrambi i lati di tale "rete interstiziale" abbiano una voce della tabella di routing per la rete "remota". Se il router B nel nostro esempio non avesse una voce della tabella di routing per la rete "lontana" 192.168.20.0/24 collegata al router A, il nostro ipotetico pacchetto dal PC a 192.168.20.13 arriverebbe al dispositivo di destinazione a 192.168.30.46, ma qualsiasi risposta che 192.168.30.46 ha tentato di rispedire sarebbe restituita dal router B come "Rete di destinazione irraggiungibile". La comunicazione a senso unico non è generalmente auspicabile. Assicurati sempre di pensare al traffico che scorre in entrambe le direzioni quando pensi alla comunicazione nelle reti di computer.
È possibile ottenere un sacco di chilometraggio da percorsi statici. I protocolli di routing dinamico come EIGRP, RIP, ecc., Non sono altro che un modo per i router di scambiarsi informazioni di routing tra loro che, di fatto, potrebbero essere configurati con route statiche. Un grande vantaggio dell'uso dei protocolli di routing dinamico su route statiche, tuttavia, è che i protocolli di routing dinamici possono modificare dinamicamente la tabella di routing in base alle condizioni della rete (utilizzo della larghezza di banda, un'interfaccia "discendente", ecc.) E, come tale, utilizzando una dinamica il protocollo di routing può comportare una configurazione che "instrada" errori o colli di bottiglia nell'infrastruttura di rete. ( Tuttavia, i protocolli di routing dinamico sono in qualche modo fuori dallo scopo di questa risposta.)
Non puoi arrivarci da qui
Nel caso del nostro esempio Router A, cosa succede quando arriva un pacchetto associato a "172.16.31.92"?
Guardando il router Una tabella di routing, né l'interfaccia di destinazione né la route statica corrispondono ai primi 24 bit di 172.18.31.92 (ovvero 10101100.00010000.00011111.01011100, BTW).
Come già sappiamo, il router A restituirebbe il pacchetto al mittente tramite un messaggio "Rete di destinazione non raggiungibile".
Supponiamo che ci sia un altro router (router C) seduto all'indirizzo "192.168.20.254". Il router C ha una connessione a Internet!
Interface Interface Interface
Ethernet1 Ethernet1 Ethernet1
192.168.20.254/24 192.168.10.1/24 192.168.30.254/24
__________ V __________ V __________ V
(( heap o )) | | V | | V | | V
(( internet )) ----| ROUTER C |------- /// -------| ROUTER A |------- /// -------| ROUTER B |----
(( w00t! )) ^ |__________| ^ |__________| ^ |__________|
^ ^ ^
Interface Interface Interface
Ethernet0 Ethernet0 Ethernet0
10.35.1.1/30 192.168.20.1/24 192.168.10.254/24
Sarebbe bello se il router A potesse instradare i pacchetti che non corrispondono a nessuna interfaccia locale fino al router C in modo tale che il router C possa inviarli su Internet. Immettere il percorso "gateway predefinito".
Aggiungi una voce alla fine della nostra tabella di routing in questo modo:
- ID di rete: 0.0.0.0 (00000000.00000000.00000000.00000000) - subnet mask / 0 - Router di destinazione: 192.168.20.254
Quando proviamo a far corrispondere "172.16.31.92" a ciascuna voce della tabella di routing, finiamo per colpire questa nuova voce. All'inizio è un po 'sconcertante. Stiamo cercando di abbinare zero bit dell'indirizzo di destinazione con ... aspetta ... cosa? Zero bit corrispondenti? Quindi non stiamo cercando una partita. Questa voce della tabella di routing dice, in sostanza, "Se arrivi qui, anziché rinunciare alla consegna, invia il pacchetto al router a 192.168.20.254 e lascialo gestire".
192.168.20.254 è una destinazione abbiamo FACCIAMO sappiamo come fornire un pacchetto a. Di fronte a un pacchetto associato a una destinazione per la quale non abbiamo una voce di tabella di routing specifica, questa voce "gateway predefinito" corrisponderà sempre (poiché corrisponde a zero bit dell'indirizzo di destinazione) e ci fornisce un "ultimo ricorso" che possiamo inviare i pacchetti per la consegna. A volte sentirai il gateway predefinito chiamato "gateway dell'ultima risorsa".
Affinché una route gateway predefinita sia efficace, deve fare riferimento a un router raggiungibile utilizzando le altre voci nella tabella di routing. Se si tenta di specificare un gateway predefinito di 192.168.50.254 nel router A, ad esempio, la consegna a tale gateway predefinito non riuscirà. 192.168.50.254 non è un indirizzo che il router A sa come consegnare i pacchetti all'utilizzo di una qualsiasi delle altre rotte nella sua tabella di routing, quindi un tale indirizzo sarebbe inefficace come gateway predefinito. Ciò può essere indicato in modo conciso: il gateway predefinito deve essere impostato su un indirizzo già raggiungibile utilizzando un'altra route nella tabella di routing.
I router reali in genere memorizzano il gateway predefinito come ultima route nella loro tabella di routing in modo che corrisponda ai pacchetti dopo che non sono riusciti a corrispondere a tutte le altre voci nella tabella.
Pianificazione urbana e routing IP
La suddivisione di una sottorete IP in sottoreti IP più piccole è come una pianificazione urbana. Nella pianificazione urbana, la zonizzazione viene utilizzata per adattarsi alle caratteristiche naturali del paesaggio (fiumi, laghi, ecc.), Per influenzare i flussi di traffico tra le diverse parti della città e per separare diversi tipi di uso del suolo (industriale, residenziale, ecc.) . La subnet IP è davvero la stessa.
Esistono tre motivi principali per cui si dovrebbe subnet una rete:
È possibile che si desideri comunicare attraverso diversi mezzi di comunicazione diversi. Se si dispone di una connessione WAN T1 tra due edifici, i router IP potrebbero essere posizionati alle estremità di queste connessioni per facilitare la comunicazione attraverso il T1. Le reti su ciascuna estremità (e possibilmente la rete "interstiziale" sul T1 stesso) sarebbero assegnate a sottoreti IP univoche in modo che i router possano prendere decisioni su quale traffico dovrebbe essere inviato attraverso la linea T1.
In una rete Ethernet, è possibile utilizzare la subnet per limitare la quantità di traffico di trasmissione in una determinata porzione della rete. I protocolli a livello di applicazione utilizzano la capacità di trasmissione di Ethernet per scopi molto utili. Man mano che sempre più host vengono raggruppati nella stessa rete Ethernet, tuttavia, la percentuale di traffico broadcast sul filo (o aereo, in Ethernet wireless) può aumentare fino a creare problemi per la consegna del traffico non broadcast. (Ai vecchi tempi, il traffico di trasmissione poteva sopraffare la CPU degli host costringendoli a esaminare ciascun pacchetto di trasmissione. Oggi è meno probabile.) Il traffico eccessivo su Ethernet commutata può anche presentarsi sotto forma di "allagamento di frame verso destinazioni sconosciute". Questa condizione è causata dal fatto che uno switch Ethernet non è in grado di tenere traccia di tutte le destinazioni sulla rete ed è il motivo per cui le reti Ethernet commutate non possono scalare su un numero infinito di host. L'effetto dell'inondazione di frame verso destinazioni sconosciute è simile all'effetto dell'eccesso di traffico di trasmissione, ai fini della subnet.
Potresti voler "sorvegliare" i tipi di traffico che scorre tra diversi gruppi di host. Forse disponi di dispositivi server di stampa e desideri che solo i computer server di accodamento stampa autorizzati inviino loro lavori. Limitando il traffico a cui è consentito il flusso verso la subnet del dispositivo del server di stampa, gli utenti non possono configurare i propri PC in modo che comunichino direttamente con i dispositivi del server di stampa per bypassare l'account di stampa. È possibile inserire tutti i dispositivi del server di stampa in una sottorete e creare una regola nel router o nel firewall collegato a quella sottorete per controllare l'elenco degli host autorizzati a inviare traffico ai dispositivi del server di stampa. (Sia i router che i firewall possono in genere prendere decisioni su come o se consegnare un pacchetto in base agli indirizzi di origine e destinazione del pacchetto. I firewall sono in genere una sottospecie di router con una personalità ossessiva. Possono essere molto, molto preoccupati per il payload dei pacchetti, mentre i router in genere ignorano i payload e consegnano semplicemente i pacchetti.)
Nella pianificazione di una città, puoi pianificare il modo in cui le strade si intersecano tra loro e puoi utilizzare strade a senso unico, a senso unico e vicoli ciechi per influenzare i flussi di traffico. Potresti volere che Main Street sia lunga 30 isolati, con ogni blocco che può contenere fino a 99 edifici ciascuno. È abbastanza facile pianificare la tua numerazione stradale in modo tale che ogni blocco in Main Street abbia una gamma di numeri di strada che aumentano di 100 per ogni blocco. È molto facile sapere quale dovrebbe essere il "numero iniziale" in ogni blocco successivo.
Nella pianificazione delle sottoreti IP, ti preoccupi di costruire il giusto numero di sottoreti (strade) con il giusto numero di ID host disponibili (numeri di edificio) e di utilizzare i router per connettere le sottoreti tra loro (incroci). Le regole sugli indirizzi di origine e destinazione consentiti specificati nei router possono controllare ulteriormente il flusso del traffico. I firewall possono agire come poliziotti ossessivi.
Ai fini di questa risposta, la costruzione delle nostre sottoreti è la nostra unica grande preoccupazione. Invece di lavorare in decimale, come faresti con la pianificazione urbana, lavori in binario per descrivere i limiti di ciascuna sottorete.
Continua su: Come funziona la subnet IPv4?
(Sì ... abbiamo raggiunto la dimensione massima di una risposta (30000 caratteri).)