Simulazione di una rete con routing RIP in Cisco Packet Tracer

Transcript

Simulazione di una rete con routing RIP in Cisco Packet Tracer
Scuola Politecnica e delle Scienze di Base
Corso di Laurea in Ingegneria Informatica
Elaborato finale in Reti di Calcolatori
Simulazione di una rete con routing RIP in
Cisco Packet Tracer
Anno Accademico 2014/2015
Candidato:
Giovanni De Martino
matr. N46 001396
Indice
Simulazione di una rete con routing RIP in Cisco Packet Tracer ........................................................I
Indice ............................................................................................................................................... II
Introduzione ..................................................................................................................................... 3
Capitolo 1: Cisco Packet Tracer....................................................................................................... 5
1.1 Interfaccia, un primo sguardo ............................................................................................ 6
1.2 Un semplice scenario ......................................................................................................... 7
1.2.1 Configurazione Router ............................................................................................... 7
1.2.2 Configurazione PC ................................................................................................... 10
Capitolo 2: Routing Dinamico ....................................................................................................... 12
2.1 Distance Vector ............................................................................................................... 13
2.1.1 Algoritmo ................................................................................................................. 13
2.1.2 Instradamento ciclico e inversione avvelenata ......................................................... 14
2.2 Il protocollo RIP .............................................................................................................. 15
2.2.1 Funzionamento ......................................................................................................... 15
2.2.2 Versioni .................................................................................................................... 15
2.2.3 Svantaggi .................................................................................................................. 16
Capitolo 3: Rete con protocollo RIP .............................................................................................. 17
3.1 Configurazione delle macchine ....................................................................................... 17
3.1.1 PC N ......................................................................................................................... 17
3.1.2 Router 1 .................................................................................................................... 18
3.1.3 Router 2 .................................................................................................................... 18
3.1.4 Router 3 .................................................................................................................... 19
3.1.5 Router 4 .................................................................................................................... 20
3.2 Tabelle di routing ............................................................................................................. 21
3.3 Test di funzionamento ..................................................................................................... 22
3.3.1 Ping........................................................................................................................... 22
3.3.2 Traceroute ................................................................................................................. 23
3.4 Comportamento in caso di Link Fail ............................................................................... 26
3.4.1 Tabelle di routing ..................................................................................................... 26
3.4.2 Test di funzionamento .............................................................................................. 27
Conclusioni .................................................................................................................................... 29
Bibliografia .................................................................................................................................... 30
Introduzione
“Una rete di calcolatori, in informatica e telecomunicazioni, è un sistema o un
particolare tipo di rete di telecomunicazioni che permette lo scambio o condivisione di
dati informativi e risorse (hardware e/o software) tra diversi calcolatori”. Se prima, per
conversare, inviare lettere e quant’altro, c’era bisogno di un corriere e bisognava aspettare
giorni affinché il “pacchetto” arrivasse a destinazione, ora, con l’avvento delle reti di
calcolatori (Internet per prima), tutto questo può avvenire in pochi secondi. Si può quindi
facilmente capire quanto sia importante il ruolo delle reti nella vita di tutti i giorni: basti
pensare all’infinità di informazioni e dati di vario genere che ogni giorno attraversano
intere nazioni. Questo sviluppo, non solo ha portato ad un incremento della produttività e
quindi ad un aumento del guadagno delle imprese, ma ha anche migliorato lo stile di vita
di un semplice utente: per esempio, con l’utilizzo di internet, una persona può effettuare
una ricerca approfondita senza doversi recare per forza in una grande biblioteca, può
effettuare degli acquisti in negozi virtuali senza doverli fisicamente visitare e può inviare
e-mail ad amici e colleghi in pochissimi passi.
Ovviamente una rete di calcolatori non è una cosa di facile realizzazione, bisogna
installare e configurare molti componenti, far riferimento a molti strumenti e protocolli
che migliorano il servizio, ma che al contempo diventano sempre più complessi. Prima di
effettuare un’installazione, c’è quindi spesso bisogno di una simulazione, ovvero “della
creazione di un modello della realtà che consenta di valutare e prevedere lo svolgersi
3
dinamico di una serie di eventi o processi susseguenti all'imposizione di certe condizioni
da parte dell'analista”. La simulazione, effettuata utilizzando degli strumenti più o meno
complessi, consente di analizzare le prestazioni, determinare le criticità del sistema,
confrontare più sistemi tra loro, progettare sistemi “ipotetici” e ottimizzare sistemi
preesistenti. Argomento della mia tesi è proprio la simulazione di una rete che utilizza il
protocollo RIP effettuata utilizzando il programma Cisco Packet Tracer.
Nel primo capitolo presenterò il programma di simulazione Cisco Packet Tracer
effettuando una breve introduzione e mostrando un esempio di configurazione di una
piccola rete.
Nel secondo capitolo invece introdurrò brevemente il routing dinamico (illustrando le
principali differenze con il routing statico) e in particolare il protocollo RIP con vantaggi,
svantaggi e principali problematiche.
Nel terzo capitolo effettuerò l’analisi di una ipotetica rete non troppo complessa per
mostrare il semplice funzionamento del protocollo adottato, prestazioni e capacità di
reazione a fronte di guasti e/o cambiamenti della rete.
4
Capitolo 1: Cisco Packet Tracer
Cisco Packet Tracer è un software usato per scopi didattici al fine di simulare apparati di
rete CISCO. E’ un software molto potente in quanto consente:
 di creare topologie di rete composte da apparati proprietari di Cisco o
semplicemente apparati generici;
 di emulare la CLI (command line interface) e parte delle funzioni del sistema
operativo Cisco IOS;
 di configurare gli apparati di rete mediante una semplice interfaccia grafica oppure
mediante command line e di verificarne il corretto funzionamento analizzando
particolari scenari di traffico;
 di ispezionare a run-time lo stato di ciascun apparecchio e il formato di ogni
pacchetto inviato e/o ricevuto sulla rete realizzata in ambiente simulato.
Come si evince dal nome, il programma è stato sviluppato e reso disponibile da Cisco,
azienda leader mondiale. “Oltre 30000 dipendenti e un mercato di circa 140 miliardi di
dollari: sono questi i dati che indicavano il valore di Cisco nell’ottobre 2006, una società
che domina il mercato dei router e non solo. Nel corso degli anni, l’azienda si è allargata
vendendo prodotti e servizi di sicurezza, wireless e Voice over IP. Un vero e proprio
colosso”.
5
1.1 Interfaccia, un primo sguardo
L’interfaccia è molto intuitiva, come si può notare dall’immagine in alto, il software è
dotato di una Menu Bar e di una Main Tool Bar che consentono di effettuare le consuete
operazioni di apertura/salvataggio di progetti, di gestire le molteplici opzioni, di cambiare
la view, di configurare le estensioni disponibili. Ovviamente è presente anche un Help
completo per aiutare l’utente alle prime armi. Nella parte centrale troviamo un Workspace
in cui rappresentare la rete sia da un punto di vista logico, sia da un punto di vista fisico
(Logical/Physical Workspace Bar). L’inserimento delle apparecchiature e dei
collegamenti tra esse avviene tramite drag and drop selezionandole dai due riquadri in
basso a sinistra: nel primo si sceglie la tipologia di dispositivo (Device-Type Selection
Box), nel secondo invece si sceglie il dispositivo specifico (Device-Specific Selection
Box). Infine ci sono gli strumenti per l’analisi a tempo d’esecuzione di una topologia
creata (Realtime/Simulation Bar).
6
1.2 Un semplice scenario
Per capire in pochi passi il funzionamento, realizziamo una semplice rete composta da
due end devices e da un router. Il programma consente di definire tutte le interfacce di
rete che si desidera, di assegnare i parametri di rete e di impostare le informazioni di
routing.
Ho collegato il PC0 e il PC1 al Router0, rispettivamente sulla FastEthernet0/0 e
FastEthernet0/1 tramite un cavo cross-over (Copper Cross-Over). Come possiamo notare
dalla presenza dei pallini rossi, le connessioni non sono funzionanti in quanto non sono
ancora stati configurati i parametri di rete (un’altra causa di malfunzionamento potrebbe
essere, per esempio, l’errata scelta del cavo da utilizzare per le connessioni).
1.2.1
Configurazione Router
Cliccando su Router0 si apre una finestra in cui si possono configurare tutti i parametri
del router. Questo è rappresentato fisicamente tramite un’immagine (è possibile effettuare
uno Zoom In e Zoom Out) a cui sono già collegate due interfacce FastEthernet (che
rappresentano i collegamenti effettuati in precedenza nel Workspace). Si può accendere e
spegnere il router semplicemente cliccando sul bottone posto sul lato destro oppure
aggiungere nuovi moduli trascinandoli dalla parte sinistra e inserendoli all’interno dello
slot desiderato.
7
Cliccando in alto su CLI entriamo nella finestra di comando del router in cui è presente la
System Configuration Dialog (insieme ad altre informazioni). Il router risulta acceso e ci
chiede se vogliamo continuare con la configurazione; ci sono due strade da seguire:
possiamo dire “no” e dare i comandi a mano oppure, cliccando su Config, possiamo
utilizzare una semplice interfaccia grafica. Poiché siamo alle prime armi scegliamo la
seconda strada.
Iniziamo la configurazione modificando il Display Name e l’Hostname in Napoli; adesso
possiamo notare una delle caratteristiche che rende Packet Tracer un ottimo strumento di
simulazione per studenti: ciò che viene effettuato tramite l’interfaccia grafica viene
immediatamente tradotto in uno o più comandi nella CLI e questo fa si che
l’apprendimento del linguaggio di configurazione degli apparati Cisco diventi molto
semplice.
Assegniamo ora un indirizzo IP ad entrambe le interfacce del router Napoli e portiamole
sullo stato ON:
8
 FastEthernet0/0  IP Address = 192.168.0.1 - Subnet Mask = 255.255.255.0
 FastEthernet0/1  IP Address = 172.16.0.1 - Subnet Mask = 255.255.0.0
(Da notare Equivalent IOS Commands in cui vengono mostrati i comandi eseguiti).
9
Possiamo controllare la configurazione delle interfacce semplicemente inserendo il
comando Napoli# show ip interface brief. Il risultato è il seguente:
Una volta configurate e attivate le interfacce del router le connessioni passano dallo stato
DOWN allo stato UP (i cerchietti agli estremi delle connessioni sono diventati verdi).
1.2.2
Configurazione PC
Passaggio successivo è la configurazione dei due PC dell’esempio. Cliccando su PC0 (per
PC1 la procedura è equivalente) si apre una finestra dove il pc è rappresentato fisicamente
da un’immagine (è possibile effettuare uno Zoom In e Zoom Out) e dove è possibile
aggiungere moduli (così come nella finestra del router prima descritto).
Cliccando su Config si possono gestire manualmente le impostazioni del pc in maniera
molto efficace, cliccando invece su Desktop, Packet Tracer ci mostra un’interfaccia
interattiva che consente in maniera semplice di impostare i parametri di rete, di passare al
Command Prompt e molto altro ancora. Clicchiamo quindi su Desktop e poi su IP
Configuration, scegliamo una configurazione Static (e non tramite DHCP) e impostiamo i
seguenti parametri:
10
 PC0  IP Address = 192.168.0.2 – Subnet Mask = 255.255.255.0 – Default
Gateway = 192.168.0.1;
 PC1  IP Address = 172.16.0.2 – Subnet Mask = 255.255.255.0 – Default
Gateway = 172.16.0.1;
Una volta terminata la configurazione sia del router sia dei pc, si passa alla fase di test:
uno dei modi per verificare il corretto funzionamento della rete è quello di utilizzare il
semplice programma Ping. “Ping (Packet Internet Grouper) è un'utility di
amministrazione per reti di computer usata per misurare il tempo, espresso in
millisecondi, impiegato da uno o più pacchetti ICMP a raggiungere un dispositivo di rete
(attraverso una qualsiasi rete informatica basata su IP) e a ritornare indietro all'origine.
È prettamente utilizzato per verificare la presenza e la raggiungibilità di un altro
computer connesso in rete e per misurare le latenze di trasmissione di rete”.
Proviamo per esempio a “pingare” da PC0 a PC1. Apriamo la finestra di configurazione
del PC1 (cliccando su di esso) e clicchiamo prima su Desktop e successivamente su
Command Prompt. A questo punto utilizziamo il seguente comando per effettuare il test:
“ping 192.168.0.2”. Il risultato è il seguente:
Come possiamo vedere sono stati inviati 4 pacchetti, ma solo 3 hanno ricevuto risposta da
PC0: il collegamento è attivo e funzionante (nonostante il 25% di pacchetti persi).
11
Capitolo 2: Routing Dinamico
Dopo aver creato il semplice esperimento del capitolo precedente, il nostro scopo è quello
di aggirare il suo principale difetto: il routing statico.
Le tabelle compilate “a mano” (solitamente dall’amministratore della rete) consentono di
ottenere una certa semplicità ma al contempo presentano limitazioni e problemi. Il routing
statico infatti può essere utilizzato solo in piccole reti (sarebbe troppo complicato e
oneroso compilare a mano le tabelle di centinaia di router con migliaia di rotte possibili) e
non garantisce alcuna affidabilità nel caso di modifiche nella topologia della rete: la
caduta di un solo collegamento potrebbe portare al malfunzionamento dell’intera rete.
Infatti le rotte che presentano collegamenti “down” non vengono rimpiazzate
automaticamente da rotte alternative, ma bisogna attendere la riconfigurazione della rete
da parte dell’amministratore che ovviamente non potrà mai essere tempestiva. Ciò rende
preferibile l’uso di differenti protocolli che implementano un routing dinamico: i router
della rete collaborano tra loro, inviandosi informazioni sulla loro posizione, in modo tale
da avere una tabella sempre aggiornata e rotte efficienti per indirizzare i pacchetti (anche
a valle di malfunzionamenti).
Esamineremo nel dettaglio un tipo di routing definito Distance Vector.
12
2.1 Distance Vector
Un algoritmo a vettore distanza (DV, distance-vector) è iterativo, asincrono e distribuito:
iterativo nel senso che l’algoritmo è operativo fino a quando non c’è scambio di
informazioni tra vicini, distribuito nel senso che ogni nodo non conosce l’intera
topologia di rete ma riceve solo informazioni parziali che elabora, restituendo poi un
risultato, asincrono nel senso che non richiede che tutti i nodi operino con la stessa
tempistica degli altri. Fondamentale per l’esecuzione dell’algoritmo è la formula di
Bellman-Ford:
dx(y) = minv{ c(x,v) + dv(y) }
dove minv riguarda tutti i vicini di x, e dx(y) è il costo del percorso a costo minimo dal
nodo x al nodo y. La formula considera il fatto che per arrivare da un nodo origine A ad
un nodo destinazione B non bisogna per forza scegliere come next hop il nodo X che
presenta costo minimo.
2.1.1
Algoritmo
Con l’algoritmo DV, ogni nodo x deve conservare solo le seguenti informazioni:
 il costo c(x,v) da x a v, per ogni vicino v;
 il vettore distanza di x così definito, Dx = [Dx(y) : y in N], contenente la stima presso
x del costo verso tutte le destinazioni y in N;
 il vettore distanza di ogni suo vicino, ovvero Dv = [Dv(y) : y in N], per ogni vicino v
di x;
L’algoritmo eseguito da ciascun nodo x è il seguente:
Inizializzazione:
per tutte le destinazioni y in N:
Dx(y) = c(x,y) /*se y non è adiacente, allora c(x,y) =  */
per ciascun vicino w:
Dw(y) =  per tutte le destinazioni y in N;
per ciascun vicino w:
invia il vettore distanza Dx = [Dx(y) : y in N];
13
ciclo
attendi (finché vedi cambiare il costo di un collegamento verso qualche vicino w o finché
ricevi un vettore distanza da qualche vicino w)
per ogni y in N:
Dx(y) = minv{ c(x,v) + Dv(y) }
Se Dx(y) è cambiato per qualche destinazione y
Invia il vettore distanza Dx = { Dx(y) : y in N } a tutti i vicini;
continua
Come possiamo vedere dall’algoritmo, ogni nodo aggiorna il proprio DV solo se è
cambiato il costo di un collegamento diretto con qualche vicino oppure se ha ricevuto un
DV aggiornato da uno di questi. Quindi, qualora ci fosse un guasto in uno o più
collegamenti tra i router, l’algoritmo riprenderà la sua esecuzione aggiornando
automaticamente le tabelle d’instradamento dei router con una velocità che è fortemente
dipendente dalla topologia di rete (ricordo che questo è uno dei vantaggi del routing
dinamico rispetto al routing statico).
2.1.2
Instradamento ciclico e inversione avvelenata
Questo tipo di algoritmo presenta però un problema chiamato instradamento ciclico: per
esempio dati tre router x, y, z, con x collegato a y, y collegato a z, z collegato a x, al fine
di giungere a x (dopo la modifica del costo di qualche link), y fa passare il percorso per z
e z lo fa passare per y. I router ad ogni iterazione modificheranno il proprio DV e la
propria tabella di routing fino a giungere in uno stato di quiete. Il numero di iterazioni
però può essere molto elevato in reti complesse, e per questo motivo il problema appena
descritto viene anche chiamato conteggio all’infinito.
Un modo per risolvere questo problema è aggiungere l’inversione avvelenata (poisoned
reverse). “L’idea è semplice: se z instrada tramite y per giungere alla destinazione x,
allora z avvertirà y che la sua distanza verso x è infinita, anche se in realtà non è così, e
continuerà a dire questa piccola bugia finché instrada verso x passando per y. Dato che y
14
crede che z non abbia un percorso verso x, non tenterà mai d’instradare verso x passando
per z, per tutto il tempo in cui z continua a instradare verso x passando per y”.
L’inversione avvelenata riesce a risolvere solo in parte il problema: qualora ci fossero
instradamenti ciclici tra router non adiacenti, questi non verrebbero rilevati dalla tecnica
dell’inversione avvelenata.
2.2 Il protocollo RIP
Il protocollo RIP (Routing Information Protocol) è stato uno dei protocolli più usati in
internet e che ancora oggi è ampiamente utilizzato (anche se viene generalmente sostituito
da protocolli di routing Link State come OSPF-Open Shortest Path First).
RIP è un protocollo a vettore distanza che utilizza il conteggio degli hop (hop count
rappresenta il numero dei nodi attraversati dal pacchetto per arrivare dal nodo origine al
nodo destinazione) per stabilire il costo di ogni percorso: è come se ogni collegamento
avesse costo unitario.
2.2.1
Funzionamento
Il massimo numero di hop consentiti è 15. Ogni router invia il proprio DV ai suoi vicini
ogni 30 secondi e conserva in memoria una tabella d’instradamento che contiene, per ogni
nodo destinazione, il nodo successivo e il numero di hop per arrivare a destinazione.
Inoltre, nel caso in cui non ci sia nessun invio di vettori distanza per 180 secondi da parte
di un vicino, questo verrà considerato automaticamente irraggiungibile e il router
diffonderà questa informazione a tutti i suoi vicini ancora raggiungibili.
Il protocollo RIP è implementato nel livello applicativo e scambia informazioni
utilizzando UDP come protocollo di trasporto (porta riservata 520). Il fatto di lavorare a
livello applicativo (essendo un protocollo di rete) è dipeso da una più facile
implementazione: di fatto l’utente non è conscio di ciò che sta facendo il protocollo.
2.2.2
Versioni
Esistono diverse versioni del protocollo:

RIPv1: usa il routing "classful". Gli aggiornamenti delle tabelle di routing non
15
contengono la maschera di sottorete rendendo impossibile la creazione di
sottoreti di dimensione diversa all'interno della stessa rete. Non viene supportata
nessuna forma di autenticazione, lasciando RIPv1 vulnerabile ad attacchi.

RIPv2: include il trasporto delle informazioni sulla maschera di sottorete,
supportando così il Classless Inter Domain Routing, CIDR. Per garantire la
sicurezza degli aggiornamenti sono disponibili 2 metodi: autenticazione
semplice con testo in chiaro e Md5 (un algoritmo crittografico di Hashing). Per
mantenere la compatibilità all'indietro il limite di hop count rimane 15.

2.2.3
RIPng: una estensione del protocollo originale RIPv1 per supportare IPv6.
Svantaggi
Sebbene sia di facile implementazione, il protocollo RIP presenta i seguenti problemi:

Può essere usato solo per piccole reti in quanto il numero massimo di hop è 15.

Genera una gran quantità di traffico poiché invia informazioni ogni 30 secondi
(anche quando non sarebbe necessario).

Si verifica spesso il problema definito “conteggio all’infinito”, descritto nel
paragrafo precedente.
16
Capitolo 3: Rete con protocollo RIP
In questo capitolo creerò una rete con 4 PC (end point) e 4 router, collegati come
mostrato in figura, utilizzando il protocollo RIP versione 2.
3.1 Configurazione delle macchine
Per la configurazione dei PC utilizzerò l’interfaccia “IP Configuration” (che si trova nella
finestra Desktop), per la configurazione dei router utilizzerò (diversamente dal primo
capitolo) la CLI (Command Line Interface).
3.1.1
PC N
Il PC N è collegato al RouterN tramite cavo Cross-Over sull’interfaccia FastEthernet0/0 e
lo configuriamo (staticamente) con i seguenti parametri:

IP Address: 192.168.N.2

Subnet Mask: 255.255.255.0
17

Default Gateway: 192.168.N.1
Dove N assume valore 1, 2, 3, 4 a seconda del PC considerato.
3.1.2
Router 1
Al Router1 è stato aggiunto il modulo WIC-2T che comprende le interfacce Serial0/0/0 e
Serial0/0/1 (l’operazione di aggiunta dei moduli deve avvenire a router spento).
Il Router1 è collegato al PC1 tramite cavo Cross-Over sull’interfaccia FastEthernet0/0, al
Router2 tramite cavo Seriale sull’interfaccia Serial0/0/0, al Router4 tramite cavo Seriale
sull’interfaccia Serial0/0/1.
Entro nella CLI e scrivo i seguenti comandi per configurare adeguatamente le interfacce
del router e per impostare il protocollo RIP come protocollo di routing dinamico:
3.1.3
Router 2
Al Router2 è stato aggiunto il modulo WIC-2T che comprende le interfacce Serial0/0/0 e
Serial0/0/1 (l’operazione di aggiunta dei moduli deve avvenire a router spento).
Il Router2 è collegato al PC2 tramite cavo Cross-Over sull’interfaccia FastEthernet0/0, al
Router1 tramite cavo Seriale sull’interfaccia Serial0/0/0, al Router4 tramite cavo Seriale
18
sull’interfaccia Serial0/0/1.
Entro nella CLI e scrivo i seguenti comandi per configurare adeguatamente le interfacce
del router e per impostare il protocollo RIP come protocollo di routing dinamico:
3.1.4
Router 3
Al Router3 è stato aggiunto il modulo WIC-2T che comprende le interfacce Serial0/0/0 e
Serial0/0/1 (l’operazione di aggiunta dei moduli deve avvenire a router spento).
Il Router3 è collegato al PC3 tramite cavo Cross-Over sull’interfaccia FastEthernet0/0, al
Router4 tramite cavo Seriale sull’interfaccia Serial0/0/0.
Entro nella CLI e scrivo i seguenti comandi per configurare adeguatamente le interfacce
del router e per impostare il protocollo RIP come protocollo di routing dinamico:
19
3.1.5
Router 4
Il Router4 è un router generico a cui sono state aggiunte 3 interfacce seriali e una
FastEthernet (l’operazione di aggiunta dei moduli deve avvenire a router spento).
Il Router4 è collegato al PC4 tramite cavo Cross-Over sull’interfaccia FastEthernet9/0, al
Router1 tramite cavo Seriale sull’interfaccia Serial6/0, al Router2 tramite cavo Seriale
sull’interfaccia Serial7/0, al Router3 tramite cavo Seriale sull’interfaccia Serial8/0.
Entro nella CLI e scrivo i seguenti comandi per configurare adeguatamente le interfacce
del router e per impostare il protocollo RIP come protocollo di routing dinamico:
20
3.2 Tabelle di routing
Prima di impostare RIPv2 come protocollo di routing, possiamo notare che i router non
conoscono le rotte verso ogni sottorete della topologia, infatti nelle tabelle di
instradamento sono presenti solo le reti direttamente connesse (C - connected) al router in
questione (comando utilizzato “show ip route”).
21
Nella figura precedente ho preso in esempio la Routing Table del Router1.
Dopo aver configurato il protocollo RIP in tutti i router della rete e aver atteso che
l’algoritmo Distance Vector sia arrivato in uno stato di “quiete”, possiamo vedere come la
tabella d’instradamento del Router1 (e anche quella degli altri router) sia cambiata: sono
state aggiunte le rotte per arrivare alle restanti sottoreti della topologia.
Le nuove rotte sono di tipo R (RIP) e contengono informazioni sulla rete di destinazione,
sulla porta in cui instradare il pacchetto per raggiungere quella destinazione, l’indirizzo ip
del Next Hop e il numero di hop necessari per arrivare a destinazione. Per esempio, se il
Router1 dovesse instradare un pacchetto verso il PC3 (ip address 192.168.3.2), dovrebbe
inviarlo dalla porta Serial0/0/1 verso l’interfaccia con indirizzo ip 200.100.50.6, il numero
di hop necessari per arrivare a destinazione in questo caso è 2.
3.3 Test di funzionamento
Per verificare il corretto funzionamento della rete appena creata e configurata, possiamo
utilizzare i due comandi “ping” e “tracert” seguiti dall’indirizzo IP di destinazione.
3.3.1
Ping
Come mostrato nel capitolo 1, ci spostiamo nel Command Prompt del PC1 e proviamo a
“pingare” tutti i PC della rete (ovvero le interfacce con indirizzo IP 192.168.2.2,
192.168.3.2, 192.168.4.2). I risultati sono i seguenti:
22
Come possiamo vedere dai risultati il collegamento tra il PC1 e i restanti PC è
perfettamente funzionante al meno (in questo preciso esempio) del 25% di pacchetti persi.
Per brevità eviterò di mostrare i test effettuati sui rimanenti end-devices che risultano
essere correttamente collegati e configurati.
3.3.2
Traceroute
Ora non ci resta che controllare se effettivamente i pacchetti seguono il percorso a costo
minimo: possiamo effettuare questo test utilizzando il comando “tracert” ovvero
traceroute. “Traceroute è un’applicazione che invia un pacchetto al destinatario di cui si
23
vuole ricavare il percorso di traceroute con il campo TTL impostato ad 1. Il primo router
che lo riceverà, constatando che il campo TTL ha raggiunto lo 0, invierà un errore al
mittente (ICMP Time Exceeded). L'applicazione memorizzerà l'indirizzo IP del primo
router, quindi invierà un nuovo pacchetto con TTL impostato a 2. L'operazione verrà
ripetuta finché il pacchetto non sarà arrivato al destinatario, che invierà un ICMP Echo
Reply. Alla fine l'applicazione avrà ottenuto la lista degli indirizzi IP dei router su cui
hanno transitato i pacchetti.”
Sempre dal Command Prompt del PC1 proviamo a richiedere la traceroute verso tutti i PC
della rete. I risultati sono i seguenti:
Per esempio vediamo che il pacchetto verso il PC3 (192.168.3.2) passa prima attraverso il
Router1 poi attraverso il Router4 e infine attraverso il Router3 per giungere correttamente
al PC3. I router della rete instradano effettivamente i pacchetti sul percorso a costo
minimo (nel nostro caso il percorso a costo minimo è anche il più breve).
24
Possiamo effettuare la stessa operazione di controllo utilizzando l’interfaccia di
simulazione fornitaci dal programma Cisco Packet Tracer.
Per prima cosa bisogna uscire dalla modalità Realtime e bisogna passare alla modalià
Simulation (in basso a destra nel Workspace).
Nel pannello di simulazione, poiché siamo interessati solo agli eventi ICMP, clicchiamo
su Edit Filters e scegliamo ICMP.
Premiamo il tasto “P”, operazione che ci permettere di aggiungere un Simple PDU, e
clicchiamo prima sul PC1 (sorgente) e successivamente sul PC3 (destinazione). La scelta
non è casuale e serve per replicare l’esempio fatto precedentemente con l’istruzione a
linea di comando “tracert”.
Premendo il bottone “Auto Capture / Play” partirà un’animazione (regolabile in velocità)
dell’invio del pacchetto e successiva risposta.
Sempre nel Simulation Panel vengono mostrate in successione tutte le fasi
dell’operazione appena effettuata.
25
L’immagine ci conferma quanto visto in precedenza: il pacchetto passa attraverso il
Router1, Router4, Router3 per giungere infine al PC3. Ovviamente, poiché si tratta di un
Ping, il pacchetto effettuerà anche il percorso a ritroso (tutta l’operazione è avvenuta in
0,008 secondi).
3.4 Comportamento in caso di Link Fail
Proviamo adesso a esaminare il comportamento della rete in caso di malfunzionamento di
una sottorete: eliminiamo il collegamento che sussiste tra il Router1 e il Router4 (il link
fail potrebbe dipendere dalla rottura del cavo che collega i due router o dalla
disabilitazione di una delle interfacce di rete).
3.4.1
Tabelle di routing
Con la caduta del collegamento tra il Router1 e il Router4, grazie al protocollo di routing
dinamico, notiamo un auto-aggiornamento delle tabelle di instradamento.
Nello specifico sono cambiate quella del Router1 e Router4:
26
Ci accorgiamo in particolar modo che dal Router1 il costo per giungere alla rete
192.168.3.0 è passato da 2 a 3. (Ma anche che dal Router4 il costo per giungere alla rete
192.168.1.0 è passato da 1 a 2).
3.4.2
Test di funzionamento
Proviamo nuovamente a “pingare” dal PC1 il PC3.
Quattro pacchetti inviati e quattro pacchetti ricevuti senza errori.
27
Dopo esserci assicurati che la rete continua a funzionare correttamente, proviamo a
vedere qual è il “nuovo percorso” intrapreso dal pacchetto utilizzando il comando
“tracert”.
Il percorso che il pacchetto segue per arrivare al PC3 (192.168.3.2) è cambiato rispetto a
prima: si è passati da questa rotta “PC1 – Router1 – Router4 – Router3 – PC3” a
quest’altra “PC1 – Router1 – Router2 – Router4 – Router3 – PC3”.
Se proviamo a inviare un pacchetto, utilizzando l’interfaccia di simulazione del software
(così come fatto in precedenza), otteniamo il seguente risultato.
Possiamo quindi confermare quanto detto in precedenza. Le mappe “auto-aggiornanti”
hanno permesso di inviare lo stesso il pacchetto anche in presenza di malfunzionamenti,
dovendo “pagare” solo un hop in più rispetto alla topologia precedente al “guasto”.
28
Conclusioni
Siamo riusciti in maniera semplice e veloce a comprendere il protocollo RIP. Il principale
vantaggio di questo protocollo è la semplicità, ma al tempo stesso presenta forti
limitazioni, per esempio può essere usato solo per piccole reti (ricordiamo infatti che il
numero massimo di hop consentiti è 15). RIP, sebbene sia ancora molto diffuso, è spesso
sostituito da protocolli di rete di tipo Link State che possiedono convergenza e scalabilità
qualitativamente migliori.
Cisco Packet Tracer è un software completo, adatto a tutti gli studenti intenzionati a
migliorare le proprie conoscenze, ma anche a professionisti che necessitano di effettuare
le opportune simulazioni. Il software mi ha consentito di mettere in pratica tutti gli aspetti
teorici studiati nel corso dello sviluppo di questo elaborato.
29
Bibliografia
[1] James F. Kurose, Keith W. Ross, “Reti di calcolatori e Internet, Un approccio topdown”, Mondadori, 2008.
[2] Cisco Packet Tracer - Scenario 1,
https://www.youtube.com/watch?v=0-0u4_apHjM, 17-04-2015.
[3] Cisco Packet Tracer RIP v2,
https://www.youtube.com/watch?v=sZDSWozZPsM&feature=youtu.be, 13-04-2015.
[4] RFC 1058 – Routing Information Protocol, Giugno 1988.
[5] RFC 2453 – RIP Versione 2, Novembre 1998.
30