Laurea in
INFORMATICA
INTERNET e RETI di CALCOLATORI A.A. 2021/2022 Capitolo 4 – Instradamento e Algoritmi di instradamento
Fausto Marcantoni fausto.marcantoni@unicam.it
Reti di elaboratori
L'utilizzo dei contenuti della lezione sono riservati alla fruizione personale degli studenti iscritti ai corsi dell’Università di Camerino. Sono vietate la diffusione intera o parziale di video o immagini della lezione, nonché la modifica dei contenuti senza il consenso, espresso per iscritto, del titolare o dei titolari dei diritti d'autore e di immagine.
The contents of this lesson are subject to copyright and intended only for personal use by students enrolled in courses offered by the University of Camerino. For this reason, any partial or total reproduction, adaptation, modification and/or transformation of the contents of this lesson, by any means, without the prior written authorization of the copyright owner, is strictly prohibited.
Dichiarazione di copyright
Copyright notice
1
Fausto Marcantoni
Fausto Marcantoni
Che cosa fa il livello di rete?
Capitolo 4d – Instradamento e Algoritmi di instradamento
Il ruolo dello strato di rete è quello di trasportare pacchetti da un host che spedisce ad uno che riceve
Funzioni:
Determinazione del percorso (algoritmi di routing)
Inoltro
Chiamata di set-up
3
Reti di elaboratori
Routing e Forwarding (1/3)
I termini “instradamento” (routing) e “inoltro”
(forwarding) sono spesso usati (erroneamente) in modo intercambiabile:
“Instradamento” fa riferimento al processo globale, che copre l’intera rete, e determina i percorsi da
estremo a estremo che i datagrammi IPseguiranno dalla sorgente alla destinazione
“Inoltro” fa riferimento all’azione eseguita localmente nel router per il trasferimento di un datagramma
dall’interfaccia di un link di ingresso all’opportuna interfaccia di un link di uscita.
3
Fausto Marcantoni
Fausto Marcantoni
Routing e Forwarding (2/3)
Routing
Determina le destinazioni raggiungibili da ogni nodo
Calcola il percorso migliore
Inserisce le informazioni locali in ogni nodo
Forwarding
Inoltra i pacchetti “nodo per nodo” utilizzando le informazioni locali
E’ indipendente su ogni nodo
Non è ha conoscenza della rete (globalmente)
Forwarding e routing
Ambedue necessari per l’operatività di una rete
Routing: può essere “manuale” (demandato all’amministratore) o
“dinamico”
Capitolo 4d – Instradamento e Algoritmi di instradamento 5
Reti di elaboratori
Routing e Forwarding (3/3)
routing e forwarding dipendono fortemente dalla forwarding table (o tabella di inoltro) 5
Fausto Marcantoni
Fausto Marcantoni
Principi di instradamento (1/2)
protocollo di instradamento
: per trasferire i datagrammi dall’host sorgente all’host di destinazione, lo strato di rete deve determinare il percorso (path) o rotta (route) che i datagrammi devono seguire Un host è “direttamente” attaccato a un router, il
cosiddetto router di default (o default Gateway detto anche router di primo rilancio, o first-hop router)
Il problema di instradare un pacchetto dall’host sorgente all’host destinazione si riduce al problema di instradare il pacchetto dal router sorgente (il gateway) al router destinazione
Capitolo 4d – Instradamento e Algoritmi di instradamento 7
Reti di elaboratori
Principi di instradamento (2/2)
Il nucleo di ciascun protocollo di instradamento è un algoritmo (l’algoritmo di instradamento) che determina il percorso da seguire per ciascuno datagramma
Dato un gruppo di router, con i link che li collegano, un algoritmo di instradamento trova un “buon/migliore” percorso dalla sorgente alla destinazione
Tipicamente, un “buon” percorso è quello che ha il
“minimo costo”
7
Fausto Marcantoni
Fausto Marcantoni
Teoria dei grafi
Capitolo 4d – Instradamento e Algoritmi di instradamento 9
Per formulare i problemi di instradamento si utilizza la teoria dei grafi Un grafo G=(N,E) è un insieme N di nodi e un insieme E (edge) di archi Per ogni arco (x,y) tra i nodi x e y denotiamo c(x,y) il suo costo Se la coppia (x,y) non appartiene ad E c(x,y)=∞
Grafi non orientati-bidirezionali c(x,y)=c(y,x) y è adiacente o vicino (neighbor) a x se (x,y)∈E
Reti di elaboratori
Astrazione grafica
Il problema di trovare il costo minimo richiede:
il primo link sul percorso collegato alla sorgente
l’ultimo link sul percorso collegato alla destinazione
per ogni i>0 di N i link i e i-1-mo collegati allo stesso nodo sul percorso
per il percorso di minor costo, la somma dei costi dei link sul percorso è la minima tra quelle di tutti i percorsi possibili fra sorgente e
destinazione 9
Fausto Marcantoni
Fausto Marcantoni
Astrazione grafica
Capitolo 4d – Instradamento e Algoritmi di instradamento
Il problema di trovare il costo minimo richiede:
In un grafo G=(N,E) il percorso è una sequenza di nodi (x1, x2, x3, …, xn)
Il costo di un percorso e la somma di tutti i singoli costi
c(x1, x2)+c(x2, x3)+c(x3, x4)+…+c(xn-1, xn)
percorso minimo – least-cost path
Percorso minimo tra u e w (u,x,y,w)
11
Reti di elaboratori
Routing Algorithms: Tassonomie (1/4)
algoritmi di instradamento statici
Tabelle manuali
I paths cambiano raramente
algoritmi di instradamento dinamici
modificano i percorsi di instradamento non appena varia il carico di traffico in rete o la topologia
Un algoritmo dinamico può funzionare sia periodicamente sia come risposta diretta alle variazioni di topologia o dei costi dei link Mentre gli algoritmi dinamici sono più reattivi alle variazioni nella rete, essi sono anche più suscettibili a problemi come routing loop (percorsi ciclici) e oscillazioni nei percorsi.
Negli altri, se cade un link cade un instradamento verso determinati percorsi
11
Fausto Marcantoni
Fausto Marcantoni
Routing Algorithms: Tassonomie (2/4)
algoritmi sensibili al carico
I costi dei link variano dinamicamente per riflettere lo stato attuale di congestione del link in questione
Se a un link attualmente in congestione viene associato un alto costo, un algoritmo di instradamento tenderà a scegliere percorsi che evitano quel link in congestione
algoritmi insensibili al carico
Quelli di Internet oggi
Il costo di un link tipicamente non riflette il suo attuale (o recente) livello di congestione
RIP OSPF e BGP ne sono alcuni esempi
Capitolo 4d – Instradamento e Algoritmi di instradamento 13
Reti di elaboratori
Routing Algorithms: Tassonomie (3/4)
Algoritmi di instradamento globali
Calcola il percorso di minor costo fra una sorgente e una destinazione usando conoscenze sulla rete complete (globali)
L’algoritmo prende come input la connettività fra tutti i nodi e tutti i costi dei link
L’algoritmo ottiene in qualche modo queste informazioni prima di eseguire effettivamente il calcolo (flooding)
Il calcolo del percorso può essere eseguito in un posto (un algoritmo di instradamento globale centralizzato) o replicato in più siti
Si chiamano algoritmi link state (basati sullo stato dei link), poiché l’algoritmo deve essere a conoscenza del costo di ciascun link nella rete
13
Fausto Marcantoni
Fausto Marcantoni
Routing Algorithms: Tassonomie (4/4)
Algoritmi di instradamento decentralizzati
Il calcolo del percorso di minor costo è eseguito in modo iterativo e distribuito
Nessun nodo ha informazioni complete sul costo di tutti i link della rete. Ciascun nodo comincia con la sola conoscenza del costo dei link a esso direttamente collegati
Attraverso un processo interattivo di calcolo e scambio di
informazioni con i nodi a esso vicini un nodo calcola gradualmente il percorso di minor costoverso una destinazione o un gruppo di destinazioni
Si chiamano algoritmi distance vector (vettore delle distanze)
Quello che si conosce è solo:
il nodo vicino a cui si deve inviare un pacchetto allo scopo di raggiungere una data destinazione lungo il percorso di minor costo
il costo del percorso da se stesso alla destinazione
Capitolo 4d – Instradamento e Algoritmi di instradamento 15
Reti di elaboratori
Principio del Distance Vector
1) Io conosco la destinazione E a
costo 0
2) Io conosco A,0 ed E,1 arrivata dalla
porta A1
2) Io conosco F,0 ed E,1 arrivata dalla
porta F1 3) Io conosco la
destinazione A a costo 0 ed E a
costo 1
3) Io conosco la destinazione F a costo 0 ed E a
costo 1 4. Io conosco le destinazioni C,0, A,1 (arrivata dalla porta C1), F,1 (arrivata dalla porta C2), ed E,2 (arrivata dalle porte C1 e C2 allo stesso costo)
15
Fausto Marcantoni
Fausto Marcantoni
Distance Vector in pillole
esiste una certa serie di destinazioni raggiungibili
queste destinazioni si possono raggiungere, in una certa direzione, attraverso un certo nodo X (quello da cui è arrivato l'annuncio)
il costo di raggiungimento in questa direzione è ricavabile sommando, al costo riportato nell'annuncio, il costo di
attraversamento del link tra il nodo in esame e il nodo adiacente X
se, infine, ogni nodo annuncerà non solo le adiacenze, ma anche il costo per il raggiungimento delle stesse, ognuno sarà in grado di ricavare, dalla topologia, il percorso migliore verso ogni destinazione
Capitolo 4d – Instradamento e Algoritmi di instradamento
ogni nodo comunica, solamente ai propri vicini, tutte le informazioni della rete in suo possesso
17
Reti di elaboratori
Distance Vector - vantaggi e svantaggi
Vantaggi:
• semplice da implementare;
• non richiede grandi capacità elaborative e memoria occupata sul router
Svantaggi:
• possono innescarsi dei loop a causa di particolari variazioni della topologia;
• Lenta convergenza (arrivo ad uno stato stabile);
• vedono la rete dalla prospettiva dei vicini. E’ quindi difficile capirne e prevederne il comportamento su reti grandi. Nessun nodo ha una mappa della rete;
• Metrica basata sui salti e non sulla banda;
• Il hop-count-limit limita la dimensione della rete: il numero di hop ammesso dovrà essere inferiore all’hop-count-limit.
• Inviano l’intera tabella di routing per cui ho un alto consumo di banda
17
Fausto Marcantoni
Fausto Marcantoni
Principio del Link State
Capitolo 4d – Instradamento e Algoritmi di instradamento
1.Io nodo E, conosco i link E- A ed E-F 2.Io nodo A, conosco i link A- E ed A-C
3.Io nodo F, conosco i link F- C ed F-E
19
Reti di elaboratori
Link State in pillole
Ogni nodo comunicherà lo stato delle sue adiacenze (che avrà imparato attraverso un meccanismo a parte) a tutti i nodi della rete attraverso un qualche meccanismo di “broadcast”
Ogni nodo della rete sarà quindi in grado di ricostruire la topologia nell'intorno del nodoche ha inviato il messaggio
Se il procedimento verrà ripetuto da tutti gli altri nodi, ogni nodo riceverà queste informazioni topologiche e, facendone l'unione, sarà in grado di ricostruire l'intera topologia della rete
Se, infine, ogni nodo annuncerà non solo le adiacenze, ma anche il costoper il raggiungimento delle stesse, ognuno sarà in grado di ricavare, dalla topologia, il percorso migliore verso ogni destinazione
ogni nodo comunica, a tutti i nodi della rete, solamente le informazioni dei link adiacenti in suo possesso
19
Fausto Marcantoni
Fausto Marcantoni
Link State - vantaggi e svantaggi
Capitolo 4d – Instradamento e Algoritmi di instradamento 21
Vantaggi:
• Le informazioni vengono inviate in maniera non periodica ma al variare della topologia (triggered updates) quindi pochi aggiornamenti.
• Usa lo Shortest Path per la determinazione del cammino minimo;
• visione totale della rete (registrata nelle “topology table”);
• convergenza veloce;
• non suscettibili di routing loops;
• consumano poca banda.
Svantaggi:
• Complessi da configurare;
• Richiede molta memoria e grandi capacità elaborative
• richiedono una struttura gerarchica che suddivida in aree più piccole e gestibili la rete riducendo la dimensione della “topology table”;
Reti di elaboratori
Link state
condizione iniziale:
Ogni router monitora e mantiene aggiornato lo stato dei suoi link incidenti
passo 1:
• ogni router invia in broadcast lo stato dei propri link
Scopo: fornire ad ogni router della rete una vista dell'intero grafo che rappresenta la topologia della rete
necessario meccanismo di flooding affidabile passo 2
• ogni router calcola i cammini minimi tra esso stesso e tutti gli altri nodi della rete
• tutti utilizzano lo stesso algoritmo per calcolare i cammini minimi
Problema principale: scalabilità 21
Fausto Marcantoni
Fausto Marcantoni
Link state
Capitolo 4d – Instradamento e Algoritmi di instradamento 23
Ogni router monitora e mantiene aggiornato lo stato dei suoi link incidenti
• implementata mediante un semplice HELLO PROTOCOL
ogni nodo invia un HELLO PACKETlungo tutti i suoi link, periodicamente
se si riceve il pacchetto dal vicino si presume che sia vivo e che il link non sia guasto
possibili perdite di pacchetti: l'assenza di uno (o di un piccolo numero) di pacchetti può non essere significativa
• frequenza di invio dei pacchetti
Invio di pacchetti con regolarità in modo che il numero atteso dei pacchetti in un intervallo di tempo sia
approssimativamente sempre uguale
HELLO INTERVAL: tempo che intercorre tra l'invio di due pacchetti consecutivi
Reti di elaboratori
Link state - simulazione
R4 R1
R6
R7 R3 R5
R2
ogni router invia in broadcast lo stato dei propri link, con lo scopo di fornire ad ogni router della rete una vista dell'intero grafo che rappresenta la topologia della rete
23
Fausto Marcantoni
Fausto Marcantoni
Link state - simulazione
Capitolo 4d – Instradamento e Algoritmi di instradamento 25
R4 R1
R6
R7 R3 R5
R2 ogni router mantiene il suo “link state” (LS)
una lista di tutti i link diretti verso i vicini e del loro costo
R1-R2 R1-R4 R1-R5
Reti di elaboratori
Link state - simulazione
R4 R1
R6
R7 R3 R5
R2
una lista di tutti i link diretti verso i vicini e del loro costo
invia in broadcast lo stato dei propri link, con lo scopo di fornire ad ogni router della rete una vista dell'intero grafo che rappresenta la topologia della rete
R1-R2 R1-R4 R1-R5
R1-R2 R1-R4 R1-R5 R1-R2
R1-R4 R1-R5
25
Fausto Marcantoni
Fausto Marcantoni
Link state - simulazione
Capitolo 4d – Instradamento e Algoritmi di instradamento 27
R4 R1
R6
R7 R3 R5
R2
alla ricezione di un nuovo messaggio LS, un router lo propaga a sua volta a tutti i suoi vicini, a parte quello da cui ha ricevuto il messaggio.
R1-R2 R1-R4 R1-R5
R1-R2 R1-R4 R1-R5 R1-R2
R1-R4 R1-R5
R1-R2 R1-R4 R1-R5
R1-R2 R1-R4 R1-R5
R1-R2 R1-R4 R1-R5
R1-R2 R1-R4 R1-R5
R1-R2 R1-R4 R1-R5
Reti di elaboratori
Link state - simulazione
R4 R1
R6
R7 R3 R5
R2
una lista di tutti i link diretti verso i vicini e del loro costo
invia in broadcast lo stato dei propri link, con lo scopo di fornire ad ogni router della rete una vista dell'intero grafo che rappresenta la topologia della rete
R1-R2 R1-R4 R1-R5
R1-R2 R1-R4 R1-R5 R1-R2
R1-R4 R1-R5
R2-R3 R2-R5 R2-R1
R5-R1 R5-R2 R5-R4 R5-R1
R5-R2 R5-R4
R5-R1 R5-R2 R5-R4
R4-R1 R4-R5 R4-R6
R3-R2 R£-R7 R7-R3
R7-R6
27
Fausto Marcantoni
Fausto Marcantoni
Link state - simulazione
Capitolo 4d – Instradamento e Algoritmi di instradamento 29
R4 R1
R6
R7 R3 R5
R2
alla fine, tutti i router possono costruire un grafo della intera rete
R1-R2 R1-R4 R1-R5 R7-R3 R7-R6 R2-R3 R2-R5 R2-R1
…….
R1-R2 R1-R4 R1-R5 R7-R3 R7-R6 R2-R3 R2-R5 R2-R1
…….
R1-R2 R1-R4 R1-R5 R7-R3 R7-R6 R2-R3 R2-R5 R2-R1
…….
R1-R2 R1-R4 R1-R5 R7-R3 R7-R6 R2-R3 R2-R5 R2-R1
…….
Reti di elaboratori
Link state - simulazione
R4 R1
R6
R7 R3 R5
R2
alla fine, tutti i router possono costruire un grafo della intera rete
R4 R1
R 6 R 7 R 3 R 5
R 2 R4
R1
R 6 R 7 R 3
R 5 R 2
R4 R1
R6 R7 R3
R5 R2
R4 R1
R 6 R 7 R 3 R 5 R 2
R4 R1
R 6 R 7 R 3
R 5 R 2
R4 R1
R 6 R 7 R 3 R 5 R 2
R4 R1
R 6 R 7 R 3 R 5 R 2
29
Fausto Marcantoni
Fausto Marcantoni
Link state
Capitolo 4d – Instradamento e Algoritmi di instradamento 31
dopo che i router hanno ricostruito lo stato globale dell'intera rete si possono applicare al grafo risultante un qualsiasi algoritmo per il calcolo dei cammini minimi
SSSP: single source shortest path
interessa trovare i cammini minimi dal router a tutti gli altri router della rete.
Algoritmi SSSP, Shortest Path algorithms
Dijkstra: pesi sugli archi strettamente positivi
Bellman-Ford: può gestire anche pesi negativi Link state utilizza l'algoritmo di Dijkstra’s shortest path tree (SPT)
Reti di elaboratori
11
7 8
4 4
8
1 2
R7
R0 R8
R1
7
9
6 10 2
14
R6 R5
R2 R3
R4 Calcola uno shortest path first tree
31
Fausto Marcantoni
Fausto Marcantoni Capitolo 4d – Instradamento e Algoritmi di instradamento 33 11
7 8
4 4
8
1 2
R7
R0 R8
R1
7
9
6 10 2
14
R6 R5
R2 R3
R4
8 4
R7 R0
R1
8 4
8
R7 R0
R1 R2
7 8
4
8
1 R7
R0 R8
R1
R6 R2
Reti di elaboratori
11
7 8
4 4
8
1 2
R7
R0 R8
R1
7
9
6 10 2
14
R6 R5
R2 R3
R4
7 8
4
8
1 R7
R0 R8
R1
R6 R2
8 4
8
1 2
R7
R0 R8
R1
6
R6 R5
R2
33
Fausto Marcantoni
Fausto Marcantoni Capitolo 4d – Instradamento e Algoritmi di instradamento 35 11
7 8
4 4
8
1 2
R7
R0 R8
R1
7
9
6 10 2
14
R6 R5
R2 R3
R4
8 4
8
1 2
R7
R0 R8
R1
6
R6 R5
R2
8 4
8
1 2
R7
R0 R8
R1
7
10 2
R6 R5
R2 R3
R4
Reti di elaboratori
8 4
8
1 2
R7
R0 R8
R1
7
10 2
R6 R5
R2 R3
R4 0 14
4 12 19
21
9 11 8
soluzione finale appare come un albero di cammini minimi dalla sorgente (R0) a tutti gli altri nodi
35
Fausto Marcantoni
Fausto Marcantoni
dei link
Capitolo 4d – Instradamento e Algoritmi di instradamento
Passo N B C D E F
1 AD 2,A 4,D 2,D inf
0 A 2,A 5,A 1,A inf inf
Percorsi di minor costo da A a tutte le destinazioni
2 ADE 2,A 3,E 4,E
3 ADEB 3,E 4,E
4 ADEBC 4,E
5 ADEBCF
Destinazione Verso Costo
F D 4
C D 3
B 2
E D 2
D 1
Tabella d’instradamento di A
37
Reti di elaboratori
Dijkstra's Shortest Path
http://optlab-server.sce.carleton.ca/POAnimations2007/DijkstrasAlgo.html http://computer.howstuffworks.com/routing-algorithm3.htm
https://www.cs.usfca.edu/~galles/visualization/Dijkstra.html
Dijkstra's Shortest Path Calculator
https://it.wikipedia.org/wiki/Algoritmo_di_Dijkstra https://www.youtube.com/watch?v=SeQomfq19P8
37
Fausto Marcantoni
Fausto Marcantoni
Confronto Ls e DV : complessità
LS
Il numero complessivo di nodi dove cercare in tutte le iterazioni e n(n+1)/2 O(n2)
Quando cambia un costo di un link deve essere inviato a tutti i nodi
Potenzialmente soffre di oscillazioni
DV
Può convergere lentamente in funzione dei costi dei link
Soffre del problema del conteggio infinito
Quando cambia un costo del link si propagherà il risultato solo se esso si tradurrà in una variazione del percorso di minor costo per uno dei nodi collegati a quel link.
Capitolo 4d – Instradamento e Algoritmi di instradamento 39
Reti di elaboratori
Implementazione del flooding
ogni router invia informazione su tutti i suoi link di uscita
anche il prossimo router invia informazioni su tutte le porte di uscita o eccetto che al router da cui ha ricevuto l'informazione
o necessità di ricordare i messaggi precedenti, e sopprimere i duplicati!
39
Fausto Marcantoni
Fausto Marcantoni
Implementazione del flooding
Capitolo 4d – Instradamento e Algoritmi di instradamento 41
Flooding affidabile:
assicurare che tutti i nodi ricevano le notifiche di link-state
assicurare che tutti i nodi usino gli aggiornamenti più recenti Difficoltà
perdita di pacchetti
arrivi fuori ordine Soluzioni
o acknowledgments e ritrasmisssioni o numeri di sequenza
Reti di elaboratori
Implementazione del flooding
Cambio nella topologia
fallimento di link oppure di nodi
recovery di link oppure di nodi Cambi di configurazione
cambi nel costo dei link
costi possono essere dinamici: frequenti i cambi Periodicamente
refresh delle notifiche link-state
ogni (ad esempio) 30 minuti, correzioni di possibili dati corrotti Quando inizia il flooding
41
Fausto Marcantoni
Fausto Marcantoni
Virtualizzazione di una rete con GNS3
Capitolo 4d – Instradamento e Algoritmi di instradamento 43
Virtualizzazione di una rete con GNS3
Routing protocol: RIP
Reti di elaboratori
Configure NAT Internet
PC1> ip dhcp
DDORA IP 192.168.122.205/24 GW 192.168.122.1 PC1>
PC1> show ip
NAME : PC1[1]
IP/MASK : 192.168.122.205/24 GATEWAY : 192.168.122.1 DNS : 192.168.122.1 DHCP SERVER : 192.168.122.1 DHCP LEASE : 2912, 3600/1800/3150 MAC : 00:50:79:66:68:00 LPORT : 20004
RHOST:PORT : 127.0.0.1:20005 MTU : 1500
PC1>
43
Fausto Marcantoni
Fausto Marcantoni
Change ip NAT internet
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.45
root@gns3vm:~# root@gns3vm:~# cd /var/lib/libvirt/dnsmasq/
root@gns3vm:/var/lib/libvirt/dnsmasq# ls -al total 16
drwxr-xr-x 2 root root 4096 Nov 22 11:32 . drwxr-xr-x 7 root root 4096 Nov 22 10:29 ..
-rw-r--r-- 1 root root 0 Nov 22 11:21 default.addnhosts -rw--- 1 root root 619 Nov 22 11:21 default.conf -rw-r--r-- 1 root root 0 Nov 22 11:21 default.hostsfile -rw-r--r-- 1 root root 183 Nov 22 11:32 virbr0.status root@gns3vm:/var/lib/libvirt/dnsmasq#
root@gns3vm:/var/lib/libvirt/dnsmasq# cat default.conf
##WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
##OVERWRITTEN AND LOST. Changes to this configuration should be made using:
## virsh net-edit default
## or other application using the libvirt API.
##
## dnsmasq conf file created by libvirt strict-order
user=libvirt-dnsmasq
pid-file=/run/libvirt/network/default.pid except-interface=lo
bind-dynamic interface=virbr0
dhcp-range=192.168.122.2,192.168.122.254,255.255.255.0 dhcp-no-override
dhcp-authoritative dhcp-lease-max=253
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/default.hostsfile addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts root@gns3vm:/var/lib/libvirt/dnsmasq#
Reti di elaboratori
Topologia 45
Fausto Marcantoni
Fausto Marcantoni Capitolo 4d – Instradamento e Algoritmi di instradamento 3.47 https://www.cisco.com/c/dam/global/it_it/solutions/small-business/pdf/net_found/2600_ds.pdf
Cisco 2600 Series Modular Access Router Family
Reti di elaboratori
Config slots R1 - R2 - R3 47
Fausto Marcantoni
Fausto Marcantoni
basic command
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.49
R1# show running-config / sh run R1# conf t
R1(config)# interface eth 0/0
R1(config-int)# ip address 192.168.x.y 255.255.255.0 R1(config-int)# no shutdown
R1(config-int)#exit R1(config)#exit R1#
R1# show ip interface brief / sh ip int bri R1# write memory / wr mem
Overwrite the previous NVRAM configuration?[confirm] Y/N R1#
Reti di elaboratori
configure interface R1 - eth0/0 dhcp clinet
interface Ethernet0/0 ip address dhcp ip nat outside
ip virtual-reassembly half-duplex
!
interface Ethernet1/0
ip address 10.3.1.1 255.255.255.0 ip nat inside
ip virtual-reassembly half-duplex
NAT outside
NAT inside 49
Fausto Marcantoni
Fausto Marcantoni
configure interface R1 - eth0/0 static IP
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.51
interface Ethernet0/0
ip address 192.168.122.2 255.255.255.0 ip nat outside
ip virtual-reassembly half-duplex
!
interface Ethernet1/0
ip address 10.3.1.1 255.255.255.0 ip nat inside
ip virtual-reassembly half-duplex
NAT outside
NAT inside
Reti di elaboratori
configure interface R1 - dhcp / static
interface Ethernet0/0
ip address dhcp
ip nat outside
ip virtual-reassembly half-duplex
!
interface Ethernet1/0
ip address 10.3.1.1 255.255.255.0
ip nat inside
ip virtual-reassembly half-duplex
NAT outside
NAT inside 51
Fausto Marcantoni
Fausto Marcantoni
enable nat inside/outside
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.53
interface Ethernet0/0 ip address dhcp
ip nat outside
ip virtual-reassembly half-duplex
!
interface Ethernet1/0
ip address 10.3.1.1 255.255.255.0
ip nat inside
ip virtual-reassembly half-duplex
NAT outside
NAT inside
Reti di elaboratori
enable nat inside/outside
ip nat inside source list 1 interface Ethernet0/0 overload
!
access-list 1 permit any
ip nat pool Net192 192.168.122.100 192.168.122.200 prefix-lenght 24
! definisce il NAT pool chiamato prova-pool con un range di indirizzi pubblici da utilizzare x internet
ip nat inside source list 1 pool Net192 [overload]
!indica che ogni pacchetto ricevuto sulla inside interface e ammesso dalla acl-1 avrà una corrispondenza tra l'indirizzo privato "source" e un indirizzo pubblico "out" del NAT pool "Net192". La keyword "overload" abilita il NAT ad associare più indirizzi privati su un singolo ip pubblico del pool, in questo caso il router mantiene una ulteriore informazione dai protocolli di livello superiore (per esempio, i numeri di porta TCP o UDP) per tradurre dall’indirizzo globale il corretto indirizzo locale.
show ip nat translations
53
Fausto Marcantoni
Fausto Marcantoni
verify ip configuration
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.55
R1#show ip interface brief
Interface IP-Address OK? Method Status Protocol
Ethernet0/0 192.168.122.35 YES DHCP up up Ethernet1/0 10.3.1.1 YES NVRAM up up NVI0 unassigned YES unset administratively down down R1#
show interface show interface 0/0 show ip interface
Reti di elaboratori
configure interface R2
interface Ethernet0/0
ip address 10.3.1.2 255.255.255.0 half-duplex
!
interface Ethernet1/0
ip address 10.2.1.1 255.255.255.0 half-duplex
!
interface Ethernet1/1
ip address 10.1.1.1 255.255.255.0 half-duplex
!
interface Ethernet1/2
ip address 10.4.1.1 255.255.255.0 half-duplex
55
Fausto Marcantoni
Fausto Marcantoni
configure DHCP Server R2 (1/2)
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.57
ip dhcp pool Aule
network 10.2.1.0 255.255.255.0 default-router 10.2.1.1
dns-server 8.8.8.8 lease 30
class Aule
address range 10.2.1.100 10.2.1.200
!
ip dhcp pool Laboratorio
network 10.1.1.0 255.255.255.0 default-router 10.1.1.1
dns-server 8.8.8.8 lease 30
class Laboratorio
address range 10.1.1.150 10.1.1.250
Reti di elaboratori
configure DHCP Server R2 (1/2)
ip dhcp class Aule
!
ip dhcp class Laboratorio
show ip dhcp binding
show ip dhcp server statistics
ip dhcp ip dhcp -x ip dhcp -r 57
Fausto Marcantoni
Fausto Marcantoni
configure interface R3
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.59
interface Ethernet0/0
ip address 10.4.1.2 255.255.255.0 half-duplex
!
interface Ethernet1/0
ip address 10.5.1.1 255.255.255.0 half-duplex
!
interface Ethernet1/1
ip address 10.6.1.1 255.255.255.0 ip helper-address 10.5.1.2
half-duplex
Reti di elaboratori
configure dhcp relay interface R3
interface Ethernet1/1
ip address 10.6.1.1 255.255.255.0
ip helper-address 10.5.1.2
half-duplex
Command Description
ip helper-address a.b.c.d This command is executed in interface configuration mode to enable a Layer 3 interface to receive BOOTP DHCP Request and forward them to a specified DHCP server.
59
Fausto Marcantoni
Fausto Marcantoni
Install dhcp server e http server
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.61
sudo yum install httpd sudo yum install dhcpd sudo systemctl enable dhcpd sudo systemctl enable httpd sudo systemctl start httpd sudo systemctl stop httpd sudo systemctl status httpd sudo systemctl start dhcpd sudo systemctl stop dhcpd sudo systemctl status dhcpd
Reti di elaboratori
configure DHCPD server on Centos 7
subnet 10.5.1.0 netmask 255.255.255.0 { range 10.5.1.100 10.5.1.200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.5.1.255;
option routers 10.5.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
}
subnet 10.6.1.0 netmask 255.255.255.0 { range 10.6.1.100 10.6.1.200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.6.1.255;
option routers 10.6.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
}
configure DHCPD server on Centos 7 61
Fausto Marcantoni
Fausto Marcantoni
enable routing RIP on R1
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.63
router rip version 2
network 10.0.0.0 network 192.168.122.0
default-information originate
!
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 192.168.122.1
!
ip default-gateway 192.168.122.1
Reti di elaboratori
enable routing RIP on R1
router rip version 2
network 10.0.0.0 network 192.168.122.0
default-information originate
!
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 192.168.122.1
!
Per propagare una default route, l'edge router deve essere configurato con:
●Una default static route utilizzando il comando ip route 0.0.0.0 0.0.0.0 {ip-address | exit-intf}
●Il comando default-information originate nella modalità di configurazione del router. Ciò indica all'edge router di essere la fonte delle informazioni sulla default route e di diffondere la default static route negli updates del routing
63
Fausto Marcantoni
Fausto Marcantoni
enable routing RIP on R2 - R3
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.65
router rip version 2
network 10.0.0.0
Reti di elaboratori
verify routing on R1
R1#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route
Gateway of last resort is 192.168.122.1 to network 0.0.0.0
C 192.168.122.0/24 is directly connected, Ethernet0/0 10.0.0.0/24 is subnetted, 6 subnets
C 10.3.1.0 is directly connected, Ethernet1/0
R 10.2.1.0 [120/1] via 10.3.1.2, 00:00:20, Ethernet1/0 R 10.1.1.0 [120/1] via 10.3.1.2, 00:00:20, Ethernet1/0 R 10.6.1.0 [120/2] via 10.3.1.2, 00:00:20, Ethernet1/0 R 10.5.1.0 [120/2] via 10.3.1.2, 00:00:20, Ethernet1/0 R 10.4.1.0 [120/1] via 10.3.1.2, 00:00:20, Ethernet1/0 S* 0.0.0.0/0 [1/0] via 192.168.122.1
R1#
65
Fausto Marcantoni
Fausto Marcantoni
verify routing on R2
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.67
R2#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route
Gateway of last resort is 10.3.1.1 to network 0.0.0.0
R 192.168.122.0/24 [120/1] via 10.3.1.1, 00:00:03, Ethernet0/0 10.0.0.0/24 is subnetted, 6 subnets
C 10.3.1.0 is directly connected, Ethernet0/0 C 10.2.1.0 is directly connected, Ethernet1/0 C 10.1.1.0 is directly connected, Ethernet1/1
R 10.6.1.0 [120/1] via 10.4.1.2, 00:00:00, Ethernet1/2 R 10.5.1.0 [120/1] via 10.4.1.2, 00:00:00, Ethernet1/2 C 10.4.1.0 is directly connected, Ethernet1/2
R* 0.0.0.0/0 [120/1] via 10.3.1.1, 00:00:03, Ethernet0/0 R2#
Reti di elaboratori
verify routing on R3
R3#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route
Gateway of last resort is 10.4.1.1 to network 0.0.0.0
R 192.168.122.0/24 [120/2] via 10.4.1.1, 00:00:17, Ethernet0/0 10.0.0.0/24 is subnetted, 6 subnets
R 10.3.1.0 [120/1] via 10.4.1.1, 00:00:17, Ethernet0/0 R 10.2.1.0 [120/1] via 10.4.1.1, 00:00:17, Ethernet0/0 R 10.1.1.0 [120/1] via 10.4.1.1, 00:00:17, Ethernet0/0 C 10.6.1.0 is directly connected, Ethernet1/1
C 10.5.1.0 is directly connected, Ethernet1/0 C 10.4.1.0 is directly connected, Ethernet0/0 R* 0.0.0.0/0 [120/2] via 10.4.1.1, 00:00:19, Ethernet0/0 R3#
67
Fausto Marcantoni
Fausto Marcantoni
troubleshooting
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.69
troubleshooting
Etimologia: ← voce ingl.; propr. ‘caccia (shooting) ai guasti (trouble)’.
(inform.) analisi sistematica del funzionamento di un sistema hardware o software, alla ricerca di eventuali guasti o errori
Reti di elaboratori
Cisco Discovery Protocol (CDP)
show cdp neighbors
Cisco Discovery Protocol (CDP) is a Link-Layer Cisco proprietary protocol that allows Cisco devices to communicate regardless of IP connectivity. It is used primarily to communicate protocol addresses and device capabilities. CDP sends frames that contain Type Length Values (TLVs), which are different properties of the port and/or connection.
R2#sh cdp nei R2#sh cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater
Device ID Local Intrfce Holdtme Capability Platform Port ID R3 Eth 1/2 156 R S I 2610 Eth 0/0 R1 Eth 0/0 151 R S I 2610 Eth 1/0 R2#
69
Fausto Marcantoni
Fausto Marcantoni
Configurazioni
Capitolo 4d – Instradamento e Algoritmi di instradamento 3.71
R1_i1_startup-config.cfg
R2_i2_startup-config.cfg
R3_i3_startup-config.cfg
71