Esercizio - indirizzamento di LAN A e LAN B e tabella di router 1
In questa pagina 5
Testo. Rete in figura. LAN A () contiene e , collegati con uno switch a . LAN B () contiene , collegato a . I router sono collegati così: -, -, -; è collegato a , che sta in Internet.
- Assegnare indirizzi IP e maschere a tutti i dispositivi da configurare, con queste regole: maschera più lunga possibile; gli indirizzi di LAN A vanno presi dal blocco ; quelli di LAN B dal blocco ; indirizzi privati quando possibile (senza NAT/NAPT o proxy).
- Scrivere la tabella di instradamento di (rete di destinazione, maschera, prossimo salto o interfaccia) con queste regole: il numero di righe deve essere minimo; tutto il traffico da LAN A a LAN B deve passare per .
- Dividere il blocco di LAN B in due sottoblocchi, di cui uno deve contenere almeno host. Definire un piano di indirizzamento per questa sottorete: indirizzo di rete, maschera, broadcast diretto e massimo numero di host.
Teoria usata: Subnetting e supernettingIl subnetting divide un blocco di indirizzi in sottoblocchi più piccoli allungando la maschera ($n_{\text{sub}}=n_{\text{rete}}+s$, con $2^s$ sottoreti); il supernetting (aggregazione CIDR) fa l'opposto, accorciando il prefisso per unire blocchi contigui in uno più grande. Regole di progetto: ogni sottorete ha un numero di indirizzi potenza di 2 ($M=2^k\ge$ host richiesti $+2$), prefisso $n=32-k$, indirizzo iniziale multiplo di $M$; si assegnano prima le sottoreti più grandi. Per aggregare $2^j$ blocchi di prefisso $n$ servono blocchi contigui il cui primo indirizzo sia multiplo della dimensione dell'aggregato, e il nuovo prefisso è $n-j$.Subnetting e supernetting →, Instradamento e inoltroL'inoltro (forwarding) mette il pacchetto sulla strada verso la destinazione, un salto alla volta (hop by hop). Se la destinazione è nella stessa rete del mittente l'inoltro è diretto (si usa l'ARP per il MAC del destinatario), altrimenti è indiretto: il pacchetto va al router successivo (next hop) indicato dalla tabella di instradamento, o al default gateway. Con le netmask: l'inoltro è diretto attraverso l'interfaccia $x$ se $\text{IP(dst)}\ \text{AND}\ \text{NM}(x)=\text{IP}(x)\ \text{AND}\ \text{NM}(x)$; altrimenti si scorre la tabella dalla maschera più lunga (longest prefix match) e si usa il primo match. La riga con rete $0.0.0.0$ e maschera $0.0.0.0$ (default route) corrisponde sempre. L'aggregazione di rotte (route aggregation) riduce la tabella, e nell'inoltro con etichette (MPLS) la tabella si consulta per indice.Instradamento e inoltro → (rotta di default, rotte minime), NAT e indirizzi privatiUna rete privata (intranet) usa il protocollo TCP/IP con indirizzi privati ($10.0.0.0/8$, $172.16.0.0/12$, $192.168.0.0/16$), riutilizzabili da intranet diverse ma da non instradare in Internet: i router di bordo scartano i pacchetti con indirizzi privati. Per accedere a Internet servono un proxy applicativo (uno per applicazione) o il NAT (Network Address Translation): un router che traduce indirizzi privati in indirizzi pubblici di un pool, con una tabella NAT e un'associazione dinamica per sessione. Il NAT tradizionale è outbound: Basic NAT traduce solo l'IP (uno a uno, quindi servono tanti indirizzi pubblici quante le sessioni contemporanee), NAPT traduce anche la porta ([IP privato, porta] $\to$ [IP pubblico, porta del NAT]) e permette a molte sessioni di condividere un solo IP pubblico. Il Twice NAT permette sessioni anche dall'esterno, con un DNS interno e associazioni statiche.NAT e indirizzi privati →.
Punto 1: indirizzi
Regola della "maschera più lunga". Per ogni rete si sceglie il blocco più piccolo che contiene i nodi da configurare più i due indirizzi riservati (rete e broadcast).
- LAN A. I nodi sono , e l'interfaccia di verso lo switch (lo switch è un dispositivo di livello 2, non ha indirizzo IP): nodi, indirizzi, (), maschera (: bit di host, ; l'ultimo byte è , Livello di rete e indirizzamento IPIl livello di rete (network layer) porta i datagrammi da host a host attraverso i router: incapsula (framing), sceglie il percorso (routing) e sposta il pacchetto da un ingresso a un'uscita del router (forwarding); in Internet lascia ai livelli superiori controllo d'errore, di flusso e di congestione. Un indirizzo IPv4 è di 32 bit, diviso in prefisso (rete, $n$ bit) e suffisso (host, $32-n$ bit). L'indirizzamento a classi (A, B, C, D, E) è obsoleto; oggi si usa quello senza classi (CIDR): data una notazione $a.b.c.d/n$ si ricavano $N=2^{32-n}$ indirizzi, indirizzo di rete (suffisso tutto 0) e di broadcast (suffisso tutto 1), oppure con la netmask: rete $=$ indirizzo AND maschera, broadcast $=$ indirizzo OR (NOT maschera).Livello di rete e indirizzamento IP →). Dal blocco si prende (indirizzi –; rete, broadcast, host): , , (lato LAN) .
- LAN B. I nodi sono e l'interfaccia di : nodi, indirizzi, . Dal blocco si prende : , (lato LAN B) (broadcast ).
- Collegamenti tra router. Sono reti con due soli nodi: . Non devono essere raggiungibili da Internet, quindi si usano indirizzi privati: - su (, ); - su (, ). Il collegamento - si configura allo stesso modo (per esempio ): non compare nelle risposte ufficiali.
| dispositivo | interfaccia | indirizzo/maschera |
|---|---|---|
| Host 1 | LAN A | |
| Host 2 | LAN A | |
| router 1 | LAN A (verso switch) | |
| router 1 | verso router 2 | |
| router 1 | verso router 3 | |
| router 2 | verso router 1 | |
| router 2 | LAN B | |
| router 3 | verso router 1 | |
| Host 3 | LAN B |
Gateway degli host: e usano ; usa .
Punto 2: tabella di
Le reti a cui è direttamente collegato (LAN A, , ) si raggiungono con l'inoltro diretto, descritto dalla configurazione delle interfacce. Le destinazioni lontane sono due: LAN B e Internet.
- Traffico verso LAN B: per il vincolo deve passare per : riga .
- Traffico verso Internet: si raggiunge anch'esso tramite (collegato a ): rotta di default .
Le due righe hanno lo stesso prossimo salto: la riga per LAN B è contenuta nella rotta di default (la default ha maschera , quindi l'AND dà sempre e corrisponde a qualunque destinazione: Instradamento e inoltroL'inoltro (forwarding) mette il pacchetto sulla strada verso la destinazione, un salto alla volta (hop by hop). Se la destinazione è nella stessa rete del mittente l'inoltro è diretto (si usa l'ARP per il MAC del destinatario), altrimenti è indiretto: il pacchetto va al router successivo (next hop) indicato dalla tabella di instradamento, o al default gateway. Con le netmask: l'inoltro è diretto attraverso l'interfaccia $x$ se $\text{IP(dst)}\ \text{AND}\ \text{NM}(x)=\text{IP}(x)\ \text{AND}\ \text{NM}(x)$; altrimenti si scorre la tabella dalla maschera più lunga (longest prefix match) e si usa il primo match. La riga con rete $0.0.0.0$ e maschera $0.0.0.0$ (default route) corrisponde sempre. L'aggregazione di rotte (route aggregation) riduce la tabella, e nell'inoltro con etichette (MPLS) la tabella si consulta per indice.Instradamento e inoltro →) e sarebbe ridondante (nella figura ufficiale è cancellata). Con la regola del minimo numero di righe resta:
| indirizzo di rete | maschera | prossimo salto |
|---|---|---|
| () | diretto | |
| () |
Il vincolo "via " è rispettato proprio dal fatto che non esiste una riga più specifica che mandi verso : con la longest prefix match qualunque indirizzo di LAN B cade nella sola riga che lo contiene, la default, che punta a . (Le righe delle reti collegate direttamente a stanno nella configurazione delle interfacce.)
Punto 3: un sottoblocco da almeno host in LAN B
: la potenza di successiva è ( non basta; , Esponenziale e logaritmoLa funzione esponenziale a^x (base positiva diversa da 1) e la sua inversa, il logaritmo in base a, con grafici e proprietà.Esponenziale e logaritmo →). Servono bit di host, quindi prefisso , maschera . Il blocco ha indirizzi ( lascia bit di host): contiene blocchi .
Il primo è (il terzo byte è multiplo di , la dimensione in terzi byte di un ): maschera , broadcast (), host, ✓.
Per l'altro sottoblocco (non richiesto dettagliatamente) resta libero l'intervallo –, che si può descrivere con , e . Se invece si intende dividere il in due metà, i due blocchi sono e ( host ciascuno), e il sopra è contenuto nel primo.
Confronto con la soluzione ufficiale
Coincidono: , , , lato LAN B , collegamenti - e -; tabella di con diretta e default (riga di LAN B cancellata); blocco con broadcast . Discrepanza: nella figura ufficiale l'interfaccia di verso lo switch è scritta , mentre gli host sono : nella stessa rete tutti devono avere la stessa maschera e "maschera più lunga" porta a , quindi qui si usa . Verificato con Python.
Errori comuni
- Dare a un'interfaccia di una maschera diversa da quella degli host della stessa rete.
- Contare lo switch tra i nodi da indirizzare.
- Lasciare nella tabella la riga per LAN B: ha lo stesso prossimo salto della default e va eliminata per minimizzare le righe.
- Dimensionare il blocco senza i due indirizzi riservati (, non ).
Versione ripasso
Dati. LAN A (Host 1, Host 2, switch, router 1); LAN B (Host 3, router 2); router 1-2, 1-3, 2-3; router 3 verso Internet. Maschera più lunga, indirizzi privati dove possibile, tabella di router 1 minima con AB via router 3.
Punto 1. Blocco più piccolo che contiene i nodi più i due riservati (Subnetting e supernettingIl subnetting divide un blocco di indirizzi in sottoblocchi più piccoli allungando la maschera ($n_{\text{sub}}=n_{\text{rete}}+s$, con $2^s$ sottoreti); il supernetting (aggregazione CIDR) fa l'opposto, accorciando il prefisso per unire blocchi contigui in uno più grande. Regole di progetto: ogni sottorete ha un numero di indirizzi potenza di 2 ($M=2^k\ge$ host richiesti $+2$), prefisso $n=32-k$, indirizzo iniziale multiplo di $M$; si assegnano prima le sottoreti più grandi. Per aggregare $2^j$ blocchi di prefisso $n$ servono blocchi contigui il cui primo indirizzo sia multiplo della dimensione dell'aggregato, e il nuovo prefisso è $n-j$.Subnetting e supernetting →, NAT e indirizzi privatiUna rete privata (intranet) usa il protocollo TCP/IP con indirizzi privati ($10.0.0.0/8$, $172.16.0.0/12$, $192.168.0.0/16$), riutilizzabili da intranet diverse ma da non instradare in Internet: i router di bordo scartano i pacchetti con indirizzi privati. Per accedere a Internet servono un proxy applicativo (uno per applicazione) o il NAT (Network Address Translation): un router che traduce indirizzi privati in indirizzi pubblici di un pool, con una tabella NAT e un'associazione dinamica per sessione. Il NAT tradizionale è outbound: Basic NAT traduce solo l'IP (uno a uno, quindi servono tanti indirizzi pubblici quante le sessioni contemporanee), NAPT traduce anche la porta ([IP privato, porta] $\to$ [IP pubblico, porta del NAT]) e permette a molte sessioni di condividere un solo IP pubblico. Il Twice NAT permette sessioni anche dall'esterno, con un DNS interno e associazioni statiche.NAT e indirizzi privati →); lo switch non ha IP.
| rete | nodi | blocco | assegnazione |
|---|---|---|---|
| LAN A | Host 1 , Host 2 , router 1 (gateway) | ||
| LAN B | Host 3 , router 2 (gateway) | ||
| R1-R2 | R1 , R2 | ||
| R1-R3 | R1 , R3 |
R2-R3 analogo (per esempio ).
Punto 2 (Instradamento e inoltroL'inoltro (forwarding) mette il pacchetto sulla strada verso la destinazione, un salto alla volta (hop by hop). Se la destinazione è nella stessa rete del mittente l'inoltro è diretto (si usa l'ARP per il MAC del destinatario), altrimenti è indiretto: il pacchetto va al router successivo (next hop) indicato dalla tabella di instradamento, o al default gateway. Con le netmask: l'inoltro è diretto attraverso l'interfaccia $x$ se $\text{IP(dst)}\ \text{AND}\ \text{NM}(x)=\text{IP}(x)\ \text{AND}\ \text{NM}(x)$; altrimenti si scorre la tabella dalla maschera più lunga (longest prefix match) e si usa il primo match. La riga con rete $0.0.0.0$ e maschera $0.0.0.0$ (default route) corrisponde sempre. L'aggregazione di rotte (route aggregation) riduce la tabella, e nell'inoltro con etichette (MPLS) la tabella si consulta per indice.Instradamento e inoltro →). Tabella di router 1: diretto; (router 3). La riga ha lo stesso prossimo salto della default: ridondante, si elimina. Il vincolo "via router 3" vale perché nessuna riga più specifica manda verso router 2.
Punto 3. ( non basta): bit di host, , . Il contiene blocchi . Primo: , broadcast (), host. Due metà del : e ( host).
Nota. Il testo ufficiale scrive router 1 verso lo switch come , ma gli host sono : la maschera di una rete è unica, quindi .
Errori: maschere diverse nella stessa LAN; contare lo switch; tenere la riga per LAN B; dimensionare senza i due riservati (, non ).