Salta al contenuto
Note per Studenti Esercizio - tabelle di inoltro e instradamento dei router A e B

Esercizio - tabelle di inoltro e instradamento dei router A e B

In questa pagina 6

Testo. Si consideri la rete in figura. Definire le tabelle di inoltro (forwarding) e di instradamento (routing) dei router AA e BB.

Dalla figura. Cinque reti /24/24: 131.175.21.0131.175.21.0, 131.175.16.0131.175.16.0, 131.175.75.0131.175.75.0, 131.175.15.0131.175.15.0, 131.175.70.0131.175.70.0. Il router AA ha tre interfacce: sulla rete 131.175.21.0131.175.21.0 ha l'indirizzo x.x.x.52x.x.x.52; sulla rete 131.175.16.0131.175.16.0 ha x.x.x.254x.x.x.254; sulla rete 131.175.75.0131.175.75.0 ha x.x.x.254x.x.x.254. Il router BB ha tre interfacce: sulla rete 131.175.16.0131.175.16.0 ha x.x.x.33x.x.x.33; sulla rete 131.175.15.0131.175.15.0 ha x.x.x.254x.x.x.254; sulla rete 131.175.70.0131.175.70.0 ha x.x.x.254x.x.x.254. Sulla rete 131.175.21.0131.175.21.0 c'è anche un router verso Internet, con indirizzo x.x.x.254x.x.x.254 (x.x.xx.x.x sta per la parte di rete: 131.175.21131.175.21).

Teoria usata: 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 → (interfacce e tabella di instradamento, rotta di default), 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 →.

Come si ragiona

Le quattro lettere x.x.x.hostx.x.x.\text{host} sono i primi tre byte della rete a cui l'interfaccia appartiene: l'indirizzo completo si ottiene scrivendo il NetID della rete davanti all'ultimo byte. Poi:

  • la tabella di inoltro (configurazione delle interfacce) elenca, per ogni interfaccia, indirizzo e maschera (255.255.255.0255.255.255.0 per i /24/24): serve all'inoltro diretto, cioè verso le reti collegate al router;
  • la tabella di instradamento elenca le reti non collegate e il prossimo salto: serve all'inoltro indiretto. Una rete lontana si raggiunge attraverso il router vicino che sta sulla rete in comune.

Reti collegate a AA: 131.175.21.0131.175.21.0, 131.175.16.0131.175.16.0, 131.175.75.0131.175.75.0. A BB: 131.175.16.0131.175.16.0, 131.175.15.0131.175.15.0, 131.175.70.0131.175.70.0. La rete in comune (131.175.16.0131.175.16.0) è il collegamento tra i due router.

Router AA

Interfacce.

interfaccia (rete) indirizzo maschera
verso la rete 131.175.21.0131.175.21.0 131.175.21.52131.175.21.52 255.255.255.0255.255.255.0
verso la rete 131.175.16.0131.175.16.0 131.175.16.254131.175.16.254 255.255.255.0255.255.255.0
verso la rete 131.175.75.0131.175.75.0 131.175.75.254131.175.75.254 255.255.255.0255.255.255.0

Tabella di instradamento. AA non è collegato alle reti 131.175.15.0131.175.15.0 e 131.175.70.0131.175.70.0: sono dietro BB, che sulla rete in comune ha indirizzo 131.175.16.33131.175.16.33. Il resto di Internet si raggiunge dal router sulla rete 131.175.21.0131.175.21.0 (indirizzo 131.175.21.254131.175.21.254): rotta di default.

rete maschera prossimo salto
131.175.15.0131.175.15.0 255.255.255.0255.255.255.0 131.175.16.33131.175.16.33
131.175.70.0131.175.70.0 255.255.255.0255.255.255.0 131.175.16.33131.175.16.33
0.0.0.00.0.0.0 0.0.0.00.0.0.0 131.175.21.254131.175.21.254

Router BB

Interfacce.

interfaccia (rete) indirizzo maschera
verso la rete 131.175.16.0131.175.16.0 131.175.16.33131.175.16.33 255.255.255.0255.255.255.0
verso la rete 131.175.70.0131.175.70.0 131.175.70.254131.175.70.254 255.255.255.0255.255.255.0
verso la rete 131.175.15.0131.175.15.0 131.175.15.254131.175.15.254 255.255.255.0255.255.255.0

Tabella di instradamento. BB non è collegato a 131.175.21.0131.175.21.0 e 131.175.75.0131.175.75.0, dietro AA (indirizzo 131.175.16.254131.175.16.254 sulla rete in comune). Verso Internet l'unica strada passa da AA, quindi anche la rotta di default punta ad AA.

rete maschera prossimo salto
131.175.21.0131.175.21.0 255.255.255.0255.255.255.0 131.175.16.254131.175.16.254
131.175.75.0131.175.75.0 255.255.255.0255.255.255.0 131.175.16.254131.175.16.254
0.0.0.00.0.0.0 0.0.0.00.0.0.0 131.175.16.254131.175.16.254

Osservazione. In BB le tre righe hanno lo stesso prossimo salto: le prime due sono contenute nella default e si potrebbero eliminare (tabella a una sola riga); nella soluzione ufficiale restano esplicite per chiarezza. In AA no: le righe verso BB hanno un prossimo salto diverso da quello della default.

Perché il prossimo salto è quello. Il prossimo salto deve essere un indirizzo sulla stessa rete di una propria interfaccia, altrimenti il router non saprebbe a quale MAC consegnare il frame (Protocollo ARPUn host ha tre «nomi»: nome DNS, indirizzo IP (rete) e indirizzo MAC (collegamento). Per spedire un datagramma IP in un frame serve il MAC del prossimo nodo, che si ottiene da quel nodo con ARP: richiesta in broadcast (MAC destinazione FF:FF:FF:FF:FF:FF, contiene IP e MAC del mittente e l'IP cercato) e risposta unicast con il MAC richiesto, memorizzata nella cache ARP. ARP risolve sempre il prossimo salto (host di destinazione o router), non la destinazione finale. Un broadcast non esce dalla sottorete: il proxy ARP del router risponde con il proprio MAC.Protocollo ARP →). Per AA: 131.175.16.33 AND 255.255.255.0=131.175.16.0131.175.16.33\ \text{AND}\ 255.255.255.0=131.175.16.0, che è la rete della sua interfaccia 131.175.16.254131.175.16.254 (non 131.175.75.0131.175.75.0 né 131.175.21.0131.175.21.0): è quindi l'interfaccia di uscita. Lo stesso vale per 131.175.21.254131.175.21.254 (rete 131.175.21.0131.175.21.0) e per BB verso 131.175.16.254131.175.16.254 (rete 131.175.16.0131.175.16.0). In questa rete le tabelle si possono compilare a mano (instradamento statico); in una rete più grande le riempie un protocollo come RIP o OSPF (Protocolli di instradamento - RIP, OSPF e BGPIn Internet l'instradamento non si può fare con un solo protocollo, per scalabilità (tabelle troppo grandi) e per autonomia amministrativa: ogni ISP è un sistema autonomo (AS) con il proprio algoritmo. All'interno di un AS si usano i protocolli IGP: RIP (distance vector, numero di salti, massimo 15, aggiornamenti ogni circa 30 s, su UDP porta 520) e OSPF (link state con Dijkstra, aree collegate all'area 0, cinque tipi di LSA, messaggi direttamente in IP). Tra AS si usa BGP4 (path vector, su TCP porta 179, eBGP tra AS e iBGP dentro l'AS, scelta del percorso per politica: preferenza locale, AS-PATH più corto, origine; i cicli si evitano scartando i cammini che contengono già il proprio AS; quattro messaggi: Open, Keepalive, Notification, Update).Protocolli di instradamento - RIP, OSPF e BGP →).

Verifica (esempi di inoltro)

  • AA riceve un pacchetto per 131.175.15.5131.175.15.5: nessuna interfaccia ha la rete 131.175.15.0131.175.15.0; la tabella ha la riga /24/24 che combacia; prossimo salto 131.175.16.33131.175.16.33, che sta nella rete dell'interfaccia 131.175.16.254131.175.16.254: esce da lì.
  • AA riceve un pacchetto per un indirizzo esterno (per esempio 8.8.8.88.8.8.8): solo la default combacia; prossimo salto 131.175.21.254131.175.21.254 sulla rete 131.175.21.0131.175.21.0.
  • BB riceve un pacchetto per 131.175.75.7131.175.75.7: riga 131.175.75.0/24→131.175.16.254131.175.75.0/24\to131.175.16.254, uscita sull'interfaccia 131.175.16.33131.175.16.33.

Confronto con la soluzione ufficiale

Coincide: tabella di AA con 131.175.15.0131.175.15.0 e 131.175.70.0131.175.70.0 verso 131.175.16.33131.175.16.33 e default 131.175.21.254131.175.21.254; tabella di BB con 131.175.21.0131.175.21.0, 131.175.75.0131.175.75.0 e default tutti verso 131.175.16.254131.175.16.254. Le interfacce ufficiali sono chiamate AA, BB, CC in ciascun router; qui sono nominate per la rete a cui sono collegate. Verificato con Python.

Errori comuni

  • Mettere come prossimo salto un indirizzo di una propria interfaccia invece di quello del router vicino.
  • Inserire nella tabella di instradamento le reti collegate direttamente (vanno nella configurazione delle interfacce).
  • Dimenticare la rotta di default verso Internet in uno dei due router.

Versione ripasso

Dati. Reti /24/24: 131.175.21.0131.175.21.0, .16.0.16.0, .75.0.75.0, .15.0.15.0, .70.0.70.0. AA ha 131.175.21.52131.175.21.52, .16.254.16.254, .75.254.75.254; BB ha 131.175.16.33131.175.16.33, .15.254.15.254, .70.254.70.254; il router verso Internet è 131.175.21.254131.175.21.254. Rete in comune: 131.175.16.0131.175.16.0.

Regola (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 →, 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 →): le interfacce (maschera 255.255.255.0255.255.255.0) danno l'inoltro diretto; la tabella di instradamento ha solo le reti non collegate, con prossimo salto il router vicino sulla rete in comune.

router rete prossimo salto
AA 131.175.15.0/24131.175.15.0/24 131.175.16.33131.175.16.33
AA 131.175.70.0/24131.175.70.0/24 131.175.16.33131.175.16.33
AA default 0.0.0.0/00.0.0.0/0 131.175.21.254131.175.21.254
BB 131.175.21.0/24131.175.21.0/24 131.175.16.254131.175.16.254
BB 131.175.75.0/24131.175.75.0/24 131.175.16.254131.175.16.254
BB default 0.0.0.0/00.0.0.0/0 131.175.16.254131.175.16.254

In BB le prime due righe hanno lo stesso prossimo salto della default e si potrebbero eliminare; in AA no, perché il loro prossimo salto è diverso.

Errori: prossimo salto uguale a una propria interfaccia; reti dirette in tabella; default dimenticata.

Lezioni in cui compare

Teoria collegata