Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento...

28
POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione - reti Marco Mellia, Paolo Giaccone E-mail: {mellia,giaccone}@tlc.polito.it 25 ottobre 2005 1

Transcript of Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento...

Page 1: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

POLITECNICO di TORINO

Dipartimento di Elettronica

Dispense corsi

Laboratorio di Protocolli

Laboratorio di Telecomunicazione - reti

Marco Mellia, Paolo Giaccone

E-mail: {mellia,giaccone}@tlc.polito.it

25 ottobre 2005

1

Page 2: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

Indice

1 Introduzione 4

1.1 Materiale richiesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Argomenti del corso 5

2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1 Scopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Materiale utile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Configurazione software e hardware degli host: analisi a livello utente 6

3.1 Scopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2 Documentazione disponibile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.3 Descrizione dell’esercitazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.3.1 Configurazione di una rete . . . . . . . . . . . . . . . . . . . . . . . . . 63.3.2 Verifica connettivita a livello rete . . . . . . . . . . . . . . . . . . . . . 73.3.3 Verifica modalita di funzionamento consegna diretta . . . . . . . . . . 73.3.4 Protocollo ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3.5 Configurazioni di indirizzamento atipiche e sbagliate . . . . . . . . . . 9

4 Configurazione software e hardware degli host: analisi a livello rete 10

4.1 Scopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.2 Documentazione disponibile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3 Descrizione dell’esercitazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.3.1 Analisi di base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3.2 Consegna diretta e risoluzione di indirizzi: il protocollo ARP . . . . . 12

4.4 Cattura e analisi di protocolli di livello trasporto/applicazione . . . . . . . . . 134.4.1 Protocollo TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134.4.2 Analisi del comando nmap . . . . . . . . . . . . . . . . . . . . . . . . . 16

5 Misure di prestazioni 17

5.1 Scopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.2 Analisi del comando nttcp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.3 Impatto delle topologie e degli apparati di livello 2 sulle prestazioni. . . . . . 18

5.3.1 Controllo di congestione . . . . . . . . . . . . . . . . . . . . . . . . . . 19

6 Configurazione rete mediante routing statico 20

6.1 Scopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.2 Documentazione disponibile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.3 Configurazione instradamento statico intra-isola . . . . . . . . . . . . . . . . . 21

6.3.1 ICMP-redirect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216.4 Configurazione instradamento statico inter-isola . . . . . . . . . . . . . . . . . 22

6.4.1 Topologia a stella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226.4.2 Scoperta della topologia . . . . . . . . . . . . . . . . . . . . . . . . . . 236.4.3 Prestazioni con rete carica . . . . . . . . . . . . . . . . . . . . . . . . . 236.4.4 Prestazioni per traffico uniforme . . . . . . . . . . . . . . . . . . . . . 236.4.5 Prestazioni per traffico sbilanciato . . . . . . . . . . . . . . . . . . . . 236.4.6 Riconfigurazione in caso di guasto. . . . . . . . . . . . . . . . . . . . . 24

2

Page 3: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

6.4.7 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246.5 Topologia ad anello con routing distanza minima . . . . . . . . . . . . . . . . 24

6.5.1 Configurazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246.6 Topologia ad anello con routing unidirezionale . . . . . . . . . . . . . . . . . . 256.7 Analisi di protocolli a livello geografico . . . . . . . . . . . . . . . . . . . . . . 25

6.7.1 Analisi del comando traceroute . . . . . . . . . . . . . . . . . . . . . . 256.7.2 Analisi del comando ping “Record route” . . . . . . . . . . . . . . . . 256.7.3 Analisi del protocollo DNS . . . . . . . . . . . . . . . . . . . . . . . . 256.7.4 Analisi del protocollo HTTP . . . . . . . . . . . . . . . . . . . . . . . 26

7 Protocolli di routing dinamico 27

7.1 Scopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277.2 Configurazione di base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277.3 Il protocollo RIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277.4 Il protocollo OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3

Page 4: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

1 Introduzione

Questa vuole essere una raccolta di esercitazioni da svolgere durante il corso di Laboratoriodi Protocolli o dell’equivalente parte nel corso di Laboratorio di Telecomunicazioni. Verran-no proposte diverse esercitazioni da svolgere in laboratorio, che verranno di volta in voltaproposte dal docente. Il corso presenta contenuti fortemente sperimentali, e permette aglistudenti di applicare le nozioni apprese nei corsi precedenti riguardanti il funzionamento dellereti locali (LAN) e dei protocolli della rete Internet.

Per semplicita , il corso viene diviso in sei laboratori. Ciascuna esperienza puo richiederediverse ore, per cui non c’e nessuna corrispondenza tra la divisione dei laboratori e le settimanedi corso.

Per lo svolgimento del corso, gli studenti hanno a dispozione un laboratorio attrezzatocon diversi apparati di rete, quali hub, switch, cavi, router etc. Sono inoltre a disposizionedei Personal Computer dotati di sistema operativo Linux, i quali verranno di volta in voltaconfigurati come host e/o router.

Esiste tutta una serie di documentazione on line, e online all’indirizzo http://www.tlc-networks.polito.it/mellia/corsi/. Essa raccoglie una serie di documenti che possono essere utilidurante lo svolgimento del laboratorio. In parte, essa e stata prodotta appositamente; inparte invece e frutto di lavoro di altri, raccolto e messo a disposizione degli studenti.

1.1 Materiale richiesto

Per lo svolgimento del corso, ogni gruppo ha a disposizione:

• Personal Computer dotati di due o piu interfacce Ethernet e dotato di Sistema OperativoLinux.

• cavi UTP, connettori RJ45 e pinze crimpatrici

• 1 hub e 1 switch a 4/5 porte

4

Page 5: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

2 Argomenti del corso

2.1 Introduzione

2.1.1 Scopo

Verra introdotto il corso, nonche verranno richiamati i concetti di base che devono essere aconoscenza degli studenti. In particolare, verranno richiamati le problematiche di indirizza-mento del protocollo IP, i concetti di classi di indirizzo e subnet masks. Verranno richiamatii meccanismi di consegna diretta e indiretta dei pacchetti su reti locali.

Infine, verra introdotto il sistema operativo Linux, includendo una descrizione dei princi-pali comandi utente (man, ls, more, mv, cp, rm, mkdir, rmdir, chmod, ps, kill, mtools, nedit,...). Verranno spiegati i meccanismi di configurazione di rete propri del sistema operativo,includendo quindi i comandi ifconfig, route, arp, etc.

2.1.2 Materiale utile

• Dispense corso di reti su IP

http://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/dispe internet.pdf

• Slides corso di reti su IP (ripasso)

http://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/ip icmp routing.pdf

• Tutorial in italiano sull’uso base di Linux

http://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/appunti linux.html

5

Page 6: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

3 Configurazione software e hardware degli host: analisi alivello utente

3.1 Scopo

Lo scopo di questa esperienza e capire i meccanismi di configurazione di host e router IP,provando a creare delle reti locali. Verranno connessi tramite hub/switch i PC a disposizione,e verra controllato il corretto funzionamento delle reti create. Il tempo atteso richiesto e circa10 ore.

3.2 Documentazione disponibile

• Manuali dei comandi ifconfig, ping, traceroute, netstat, arp, route

http://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/ifconfig.html http://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/ping.html http://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/traceroute.htmlhttp://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/netstat.html http://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/arp.html

• Tutorial sulla crimpatura di un cavo di rete UTP RJ45

http://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/cat5cable.htm

3.3 Descrizione dell’esercitazione

Nota: In questa esercitazione non e consentito l’uso di analizzatore di protocolli di rete.

3.3.1 Configurazione di una rete

Ogni gruppo deve disporre di cavi UTP, il cui funzionamento deve essere testato tramitel’apposito tester. In ogni isola, si connettano, mediante hub, i terminali a disposizione tramitel’hub.

1. Si disegni la topologia corrispondente sia a livello fisico che a livello logico.

2. Si disabilitino entrambe le interfacce con i comandi:

ifconfig eth0 down

ifconfig eth1 down

ifconfig eth2 down (per gli host dotati di 3 schede di rete)

Si crei una rete con al massimo 128 hosts, utilizzando indirizzi privati IP di classe B.Per configurare l’indirizzo IP IP ADDRESS (nel formato decimale X.X.X.X) e la subnetmask NET MASK (nel formato decimale X.X.X.X) si utilizzi il comando

ifconfig eth0 IP_ADDRESS netmask NET_MASK

ifconfig eth0 up

3. Verificare la configurazione delle interfacce con il comando

6

Page 7: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

ifconfig -a

Quante interfacce sono presenti? Come sono configurate? Gli indirizzi dell’host, di retee di bradcast sono corretti?

4. Verificare l’aggiornamento delle tabelle di routing tramite il comando

route

Che host risultano raggiungili secondo le tabelle di routing? Provare a configurare unainterfaccia aggiuntiva. Come variano le tabelle di routing?

3.3.2 Verifica connettivita a livello rete

Verificare la connettivita da un host verso un’altro (e viceversa) con indirizzo IP IP ADDRESSmediante il comando

ping IP_ADDRESS

Si indichi con una targhetta il nome della interfaccia eth0. Suggerimento: nel caso in cui nonfunzionasse il comando ping, provare a connettere la seconda interfaccia Ethernet e riprovare.

1. In che modo il Sistema Operativo associa i nomi logici alle interfacce?

2. Eseguendo il comando di ping, si riceve il seguente output:

PING web01.polito.it (130.192.73.1) from 130.192.9.142 : X(Y) bytes of data.

Z bytes from 130.192.73.1: icmp_seq=0 ttl=253 time=3.3 ms

quale e il significato preciso dei valori X,Y e Z ?

3.3.3 Verifica modalita di funzionamento consegna diretta

1. Si determini l’indirizzo MAC di TUTTE le schede di rete disponibili sull’host.

2. Si determini sperimentalmente il massimo range di indirizzi IP raggiungibili da un host,usando il comando ping.

Si ponga la netmask a 255.255.0.0 su tutti gli host. Supponendo di non conoscere lanetmask (e quindi la dimensione della sottorete a cui si e connessi), come E’ possibiledeterminare il nuovo massimo range di indirizzi IP raggiungibile da un host.

3. Cosa succede se si mandano pacchetti ICMP verso l’indirizzo di rete?

4. Cosa succede se si mandano pacchetti ICMP verso l’indirizzo broadcast?

5. Si determini la dimensione effettiva della MTU mediante il comando ping con l’opzioneDON’T FRAGMENT, facendo diversi tentativi con dimensioni del pacchetto differenti. Ilcomando da usare e

ping -M do -s DIM_PACCHETTO IP_ADDRESS

7

Page 8: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

6. Si sostituisca solo per questo punto dell’esercitazione l’hub con lo switch e si verifichila connettivita . E’ cambiato qualcosa nel comportamento e nella configurazione deglihost?

7. Il comando netstat fornisce delle informazioni ridondanti rispetto a quelle di ifconfig.Quali sono?

8. Spiegare brevemente tutte le opzioni di ifconfig, ping, route e netstat utilizzatefinora.

9. Descrivere la configurazione corrente del proprio host, commentando tutti i campi divostra conoscenza dell’output dei comandi route, ifconfig e netstat.

3.3.4 Protocollo ARP

Ricordando che tutti gli host appartengono alla stessa sottorete IP, i terminali scambianotra loro delle PDU mediante il meccanismo di consegna diretta. Questo prevede che l’hostsorgente crei una PDU di livello rete contenente come indirizzo di destinazione quello delterminare che si vuole contattare. Per poter trasmettere tale PDU, l’host sorgente devecreareuna PDU Ethernet contenente come SDU la PDU IP. Come indirizzo MAC, l’host dovrainserire quello del terminale remoto. Per poter conoscere tale indirizzo, l’host dovra associareall’indirizzo IP (noto) della destinazione con l’indirizzo MAC (non noto) della stessa. Perfare questo si usa il protocollo ARP Address Resolution Protocol. Una volta effettuatal’associazione, il terminale mantiene tali informazioni in tabelle, dette tabelle di ARP. Percapire il funzionamento di tali meccanismi, si eseguano di seguenti punti.

1. Si configuri la rete come nel punto Sec. ??. Dopo aver eseguito in ping tra tutte lestazioni, si consultino le tabelle di ARP mediante il comando

arp

Spiegare il significato dell’output del comando.

2. Si individui, sia nel caso di ARP-request che di ARP-reply, quali sono gli host cheaggiornano le tabelle di ARP, spiegando la metodologia adottata. Ci potrebbero esseresoluzioni alternative? Quali sono i vantaggi e svantaggi di tali soluzioni, se esistono?

3. Si provi a contattare un host inesistente appartenente alla propria sottorete e verificareil contenuto delle ARP tables.

4. Si provi a contattare un host inesistente non appartenente alla propria sottorete everificare il contenuto delle ARP tables.

5. Verificare la durata delle entry nella tabella di ARP. Suggerimento: cancellare la tabella,e far creare due entry, una per un host raggiungibile, e una per un host non raggiungibile.Cronometrare usando il comando date.

8

Page 9: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

3.3.5 Configurazioni di indirizzamento atipiche e sbagliate

1. Si configurino due host in modo che un host veda l’altro come appartenente alla medes-ima sottorete ma non viceversa. Verificare la connettivita tra i due host.

Si configuri l’host A con indirizzo 10.0.0.1/24 e l’host B con l’indirizzo 10.0.0.255/23.Si verifichi la connettivita reciproca tra i due host. Cosa succede? Che indirizzo usa Aper B? Che indirizzo usa B per A?

2. Cosa succede se due host hanno lo stesso indirizzo IP? Verificare attentamente laconnettivita da un terzo host verso l’indirizzo comune consultando le tabelle ARP.

9

Page 10: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

4 Configurazione software e hardware degli host: analisi alivello rete

4.1 Scopo

Lo scopo di questa seconda esercitazione e ripetere alcune esperienze svolte durante l’eserci-tazione precedente, osservando le PDU che vengono generate a seguito dei comandi utente.Grazie all’uso di analizzatori di protocollo software, o sniffer, si potranno osserverare le se-quenze di PDU scambiate dagli host al seguito di comandi utente. Grazie alla possibilita delleschede Ethernet di attivare la modalita promiscua, E’ possibile da una stazione osservare tuttele PDU che vengono ricevute dal livello fisico dal terminale, indipendentemente se destinateal terminale stesso o meno a livello collegamento. Questo permette quindi di osservare lasequenza di PDU che vengono trasmesse/ricevute sulla LAN.

Nota: per motivi di sicurezza, per poter attivare la cattura di pacchetti in modalitapromiscua, e necessario avere i privilegi di amministratore di sistema (root in UNIX). E’necessario ricordare che l’abuso nell’uso di sniffer puo violare il diritto alla riservatezza deidati e pertanto e perseguibile legalmente. Pertanto si consiglia di non usare queste capacitain reti operative di cui non si hanno le autorizzazioni per l’uso di tali mezzi.

4.2 Documentazione disponibile

• Ethereal home page

http://www.ethereal.com

• RFC sourcebook

http://www.networksorcery.com/enp/

• Manuali dei comandi route, nmap

http://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/route.html http://www.telematica.polito.it/mellia/corsi/05-06/Laboratorio/doc/nmap.html

4.3 Descrizione dell’esercitazione

Il tempo atteso richiesto e circa 20 ore.

4.3.1 Analisi di base.

Lo scopo di questa prima parte della esercitazione e prendere confidenza con Ethereal, ilprogramma di cattura PDU. Lo sniffer viene lanciato mediante il comando

ethereal &

(il carattere & permette di eseguire in comando che lo precede in background, ovvero restituen-do immediatamente il controllo all’interprete dei comandi (shell),senza aspettare la fine del-l’esecuzione del comando stesso.

Dal menu Capture, si avvii la cattura sull’interfaccia appropriata (eth0 o eth1). Da un host,si lanci il comando ping verso un altro host della propria sottorete. Dopo alcuni secondi, siclicchi su STOP per fermare l’operazione di cattura. Sulla finestra principale del programma,

10

Page 11: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

comparira la lista completa dei pacchetti catturati. Cliccando su ciscuno di essi, sara possibileverificare il contenuto a livello di frame Ethernet, pacchetto IP, ICMP, o qualunque altro tipodi protocollo riconosciuto dal programma di cattura.

Si faccia ora il ping da un host agli altri due dell’isola contemporaneamente, usando duefinestre con interpreti dei comandi.

Per poter distingure i pacchetti trasmessi da un terminale o dall’altro, e possibile usaredei filtri. Esistono due tipi di filtri in Ethereal:

• filtri di cattura

• filtri di visualizzazione.

I filtri di cattura vengono attivati direttamente durante la cattura delle PDU. Se la PDUappena ricevuta non passa il filtro di cattura, questa verra scartata e non verra mostrata. Lasintassi dei filtri di cattura e specificata dalla libreria libpcap. Essa e di fatto uno standardper programmi di cattura, che pertanto permettono tutti di specificare dei filtri di catturasecondo la stessa sintassi. Per una descrizione dei filtri di cattura possibili, fare riferimentoal manuale di tcpdump.

I filtri di visualizzazione permettono di mostrare solo le PDU gia catturate che soddisfano ilfiltro impostato. La sintassi dei filtri di visualizzazione e diversa da quella dei filtri di cattura,in quanto propria di Ethereal. Una descrizione dei filtri di visualizzazione e disponibile sulmanuale di Ethereal. Inoltre risulta molto utile usare i filtri di visualizzazione per evidenziarePDU particolari, per esempio usando colori diversi.

1. Si descrivano i filtri in cattura per selezionare solo i pacchetti che coinvolgono due host.

2. Si descrivano i filtri in visualizzazione per selezionare solo i pacchetti che coinvolgonodue host.

3. Si descrivano i filtri per colorare di colore differente i pacchetti ICMP Echo request eICMP Echo reply.

4. Mediante i risultati riportati dallo sniffer, si disegni l’incapsulamento a livello collega-mento (Ethernet), rete (IP) e controllo (ICMP), specificando le dimensioni dell’headere payload di ciascuno.

5. Eseguendo il comando di ping, si riceve il seguente output:

PING web01.polito.it (130.192.73.1) from 130.192.9.142 : X(Y) bytes of data.

Z bytes from 130.192.73.1: icmp_seq=0 ttl=253 time=3.3 ms

quale e il significato preciso dei valori X,Y e Z? Rispetto a quanto identificato senzal’uso dell’analizzatore di protocolli, cosa e stato possibile identificare in aggiunta?

6. Verificare il tipo di protocollo di livello collegamento (IEEE 802.3 o Ethernet II) vieneusato per comunicare tra i diversi host.

11

Page 12: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

4.3.2 Consegna diretta e risoluzione di indirizzi: il protocollo ARP

Verificare che le tabelle di ARP siano vuote mediante il comando

arp

Eseguire un ping, mentre si e attivata la cattura su un altro terminale.

1. Descrivere lo scambio di messaggi che avvengono mediante un diagramma spazio-tempo.Eseguire la prova per almeno 70 secondi.

Per i pacchetti ARP-request e ARP-reply, quali sono gli indirizzi MAC di destinazione?

2. Si utilizzi una dimensione dei pacchetti di ICMP pari a 1,10,100,5000 bytes. Si disegnil’incapsulamento a livello Ethernet, IP e ICMP, visualizzando tutte le informazionirelative all’incapsulamento.

Si osservino tutti i campi che variano nelle PDU Ethernet, IP e ICMP, al variare deiseguenti fattori: messaggi ICMP ECHO REQUEST/REPLY, numero di tentativo diping, dimensione del pacchetto di ping (1,10,100,5000)

3. Nel caso la dimensione del pacchetto ping sia impostato a 1, vengono indicate tutte leinformazioni che normalmente vengono esposte con il ping di default? Perche?

4. Si descriva come avviene la frammentazione a livello IP nel caso in cui si dia il comando:

ping -s 5000

5. Se si perde connettivita tra due host a causa dell’interruzione del cavo, durante un ping,cosa succede?

6. Se si perde connettivita a causa di un guasto tra due host a causa del cambiamentotemporaneo di indirizzo dell’interfaccia, durante un ping, cosa succede? Se il guastodura meno di 5 secondi? Piu di 5 secondi? Oltre 60 secondi?

7. Come viene calcolato il Round Trip Time (RTT) mediante il comando ping? Mostrareun caso in cui il RTT del primo pacchetto ICMP del ping sia chiaramente superiore aquello calcolato tramite i successivi pacchetti e spiegarne il motivo.

8. E’ possile calcolare la velocita del collegamento tra due host appartenenti ad una stessasubnet usando il comando ping?

Suggerimento: considerare un modello di trasmissione delle PDU in cui siano presentiil tempo di trasmissione, il tempo di propagazione, il tempo di elaborazione. Quali diquesti e legato alla capacita del canale? Come variano al variare della dimensione dellaPDU? Cosa succede se si supera la MTU con conseguente frammentazione di PDU alivello IP? Disegnare un diagramma che riporti sulle ordinate i diversi valori di RTTottenuti rispetto a diversi valori di dimensione di PDU. Si faccia variare la dimensionedella PDU fino al valore massimo possibile.

12

Page 13: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

9. E’possibile identificare un host che, avendo attivato la cattura di pacchetti con un pro-gramma di PDU, ha la scheda ethernet in modalita promiscua? Suggerimento: essendoin modalita promiscua, la scheda di rete non applica alcun filtro a livello ethernet.Cosa succede se si imposta manualmente un indirizzo MAC errato evitando di usare ilprotocolla ARP?

10. Ripetere il punto Sec. 3.3.5 della esercitazione precedente, mostrando lo scambio deipacchetti coinvolti.

4.4 Cattura e analisi di protocolli di livello trasporto/applicazione

4.4.1 Protocollo TCP

Lo scopo di questa parte della esercitazione e analizzare protocolli di livello trasporto, edin particolare TCP. Tale protocollo offre un servizio affidabile, offre un servizio orientatoalla connessione di tipo full-duplex, effettua controllo di flusso, controllo di errore, controllodi congestione. Di seguito sono proposte diverse esercitazioni che evidenziano i meccanismiimplementati da TCP per realizzare le funzioni di sopra.

A Analisi servizio echo.

Il servizio echo e un semplicissimo servizio di livello applicativo che replica tutti i carat-teri che vengono ricevuti. Esso opera, se abilitato, sulla porta 7. Per attivarlo, usare ilcomando

telnet <host> echo

Il comando telnet esegue sulla macchina locale un programma di terminale remoto, chetenta di aprire una connessione verso l’host host. Se presente il secondo parametroindica la porta del servizio a cui si intende collegarsi. Se non diversamente specificato,il comando aprira una connessione verso la porta 23 assegnata al servizio telnet di ter-minale remoto. Nell’esempio di sopra, viene invece specificato di aprire una connessioneverso la porta legata al servizio echo, che il sistema operativo traduce nella well-knownport 7. Questo avviene tramite la consultazione del file di configurazione presente in/etc/services. Suggerimento: provare a visualizzare tale file e a riconoscere alcuni servizie rispettive well-known port.

1. Spiegare analizzando una traccia il funzionamento del servizio echo. Identificare lefasi di apertura della connessione tramite il Three-way handshake, di scambio dati,e di chiusura della connessione stessa.

2. Come avviene la selezione dei numeri di sequenza? Come avviene la selezione delleporte? Commentare brevemente il significato dei campi di della PCI del protocolloIP e del protocollo TCP. E’ possibile multiplare piu sessioni contemporaneamente?Perche?

3. Come/quando avviene la trasmissione dei caratteri digitati verso il server? Diseg-nare la distribuzione della dimensione del payload TCP, calcolandone la media edistinguendo la direzione della comunicazione.

13

Page 14: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

4. Verificare cosa avviene nel caso in cui la sessione viene interrotta dall’utente, oppureil servizio diventa non piu accessibile. Per interrompere la connessione occorreavvisare il programma telnet tramite la pressione dei tasti CTRL+]. In questomodo il programma telnet non inviera piu i caratteri digitati usando la connessioneTCP verso il server, e sara possibile uscire dal programma stesso usando il comandoquit.

Per disabilitare il servizio, occorre fare riferimento alla configurazione del processoxinetd che controlla quali servizi sono attivi sull’host. Per modificare la configu-razione dello stesso, occorre agire sui file di configurazione in /etc/xinetd.d/nomeservizio.Una volta modificate le configurazioni, istruire il processo a rileggere le stessetramite il comando

killall -HUP xinetd

5. Come vengono generati e trasmessi gli ACK di TCP? Valutare il numero di seg-menti confermati da ACK, distinguendo tra le due direzioni.

6. Come vengono gestiti i numeri di sequenza? Visualizzare e commentare il graficotemporale dei numeri di sequenza, della lunghezza dei segmenti trasmessi e dellefinestre in ricezione.

B Analisi servizio chargen

Il servizio chargen e un semplice servizio il cui scopo e trasmettere una sequenza infinitadi caratteri. Quando viene contattato il server, esso inizia a trasmettere verso il clientuna sequenza di caratteri, scartando qualunque dato venga trasmesso dal client.

1. Spiegare con una traccia il funzionamento del servizio chargen.

2. Disegnare la distribuzione della dimensione del payload TCP, calcolandone la mediae distinguendo la direzione della comunicazione.

3. E’ possibile multiplare piu sessioni contemporaneamente? Perche?

4. Verificare cosa avviene nel caso in cui: i)la sessione viene interrotta dall’utente, ii)il servizio diventa non piu accessibile.

5. Valutare il numero di segmenti confermati da ack, distringuendo tra le due di-rezioni.

6. Visualizzare e commentare il grafico temporale dei numeri di sequenza, della lunghez-za dei segmenti trasmessi e delle finestre in ricezione nei casi precedentementeelencati.

7. Nel caso si interrompa la sorgente tramite la pressione dei tasti CTRL+] e lasi faccia riprendere premendo il tasto Enter, visualizzare e commentare il graficotemporale dei numeri di sequenza, della lunghezza dei segmenti trasmessi e dellefinestre in ricezione. Quale tipo di controllo ha imposto il ricevitore al trasmetti-tore? Come/quando il trasmettitore ha ripreso a trasmettere caratteri? Identficarei due meccanismi adottati da TCP in questo caso e commentare sulla necessita diadottarli entrambi. Cosa potrebbe succedere se venisse usato solo uno dei duemeccanismi?

C Analisi protocollo telnet

14

Page 15: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

1. Avviare lo sniffer e connettersi da un host ad un altro mediante il comando

telnet <host>

2. Eseguire il comando cat /etc/services e terminare la connessione.

3. Spiegare, durante la fase di negoziazione delle opzioni, quali opzioni vengono ne-goziate e chi vince la negoziazione. Suggerimento: attivare la modalita di debugdella fase di option processing. Come vengono suddivise le opzioni a livello dipayload TCP?

4. Disegnare il diagramma spazio-temporale dei pacchetti scambiati.

5. Disegnare la distribuzione della dimensione del payload TCP, calcolandone mediae varianza e distinguendo: i) la direzione della comunicazione, ii) le fasi di optionnegoziation, login e user commands.

6. Spiegare la metodologia da utilizzare per catturare username e password in unasessione telnet che coivolge due altri host. Quali filtri possono essere impostatiin ethereal per catturare il minimo numero di pacchetti per automatizzare taleprocesso?

7. Verificare cosa avviene nel caso in cui: i) la sessione viene interrotta dall’utente,ii) il servizio diventa non piu accessibile, iii) il telnet viene fatto su una porta nonutilizzata da alcun servizio.

8. E’ possibile multiplare piu sessioni contemporaneamente? Perche?

9. Come varia il TOS durante le sessioni telnet?

10. Valutare il numero di segmenti confermati da ACK, distringuendo tra le duedirezioni.

11. Visualizzare e commentare il grafico temporale dei numeri di sequenza, della lunghez-za dei segmenti trasmessi e delle finestre in ricezione.

12. Si effettui uno studio quantitativo dell’overhead dovuto all’incapsulamento, nellefasi di option negotiation, login e user commands. Nello specifico, si definiscano lequantita e se ne tracci l’andamento:

overhead =totallenght − payloadlength

totallenght

rendimento =payloadlength

totallenght

13. Quale relazione lega overhead e rendimento? Scendendo ad un ulteriore livellodi dettaglio, si quantifichino (graficamente e/o tabularmente) i contributi por-tati all’overhead dall’incapsulamento nei vari livelli dello stack protocollare (i.e.a quanto ammonta l’overhead Ethernet, IP, TCP, TELNET) nelle differenti fasiprecedentemente elencate.

D Analisi protocollo ftp

1. Si esegua una sessione FTP per scaricare un file da un host remoto.

15

Page 16: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

2. Si descriva con un esempio il funzionamento del protocollo.

3. Disegnare la distribuzione della dimensione del payload TCP, calcolandone la mediae distinguendo la direzione della comunicazione.

4. Cosa avviene se il trasferimento del file viene interrotto?

5. E’ possibile multiplare piu sessioni contemporaneamente? Perche?

6. Visualizzare e commentare il grafico temporale dei numeri di sequenza, della lunghez-za dei segmenti trasmessi e delle finestre in ricezione.

7. Si ripeta l’analisi quantitativa dell’overhead dovuto all’incapsulamento, richiestanel caso di telnet, e si confrontino i due casi. Nel caso di una sessione ftp, quantee quali fasi individuate ? Motivate i vostri commenti relazionandoli ai risultatigrafici e/o tabulari ottenuti.

8. Come cambia il comportamento del protocollo se si usa o meno la modalita passivadi download, dis/attivabile tramite il comando passive una volta completato illogin?

4.4.2 Analisi del comando nmap

Il comando nmap e stato progettato per permettere ad amministratori di sistemi e/o curiosidi effettuare scan di intere reti per determinare quali host siano attivi e quali servizi sianoda essi offerti. nmap supporta un larghissimo numero di metodi di analisi, che si basano siasu UDP che su TCP. Il programma e molto completo e complesso allo stesso tempo. Non escopo di questa parte di esercitazione capire tutti i meccanismi usati. Si consiglia tuttavia dileggere il manuale di nmap per capire come sia possibile abusare del normale funzionamentodei protocolli per scopi diversi. Si ricorda altresı le implicazioni legali di tali abusi.

1. Effettuare lo scan di un servizio attivo e uno inattivo di un host usando il comando

nmap <host> -p 7,199

Analizzare la traccia corrispondente, evidenziando le diverse fasi dello scan.

2. Ripetere la prova, attivando l’opzione host identification tramite l’opzione -O

nmap <host> -p 7,199 -O

Interpretare come il programma riesce a estrarre le informazioni presentate.

3. Effettuare lo scan di i) un host e ii) di una intera rete. Come il programma effettua lascansione delle porte? Rapresentare graficamente la sequenza di porte analizzate.

4. Effettuare lo scan di i) un host usando il protocollo UDP (opzione -sU). Che tipo dirisposte genera l’host analizzato? Come mai la scansione e cosı lenta? Quante volteviene analizzata una porta? Perche? Suggerimento: limitare il range di porte analizzateper accelerare il test.

16

Page 17: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

5 Misure di prestazioni

5.1 Scopo

Lo scopo di questa esercitazione e valutare la differenza di prestazioni tra hub e switch, everificare i meccanismi di controllo di congestione adottati da TCP.

Tramite la creazione di flussi dati scambiati tra i PC di un isola, verranno proposte diverseconfigurazioni, in cui sara possibile osservare gli impatti di diversi fenomeni che possonoverificarsi nelle reti dati, quali per esempio fenomeni di congestione, di collisione, di perditapacchetti etc.

Lo strumento per la misura delle prestazioni adottato e il comando nttcp, evoluzione delcomando ttcp. Esso permette di attivare dei trasmettitori e dei ricevitori a livello applicazioneche trasferiscono predeterminate quantita di dati usano a livello trasporto procotollo TCP oUDP. Il programma misura

il goodput ottenuto durante il trasferimento, ovvero la quantita di dati ricevuti dal rice-vitore per unita di tempo, al netto di overhead e ritrasmissioni. Per eseguire un test, lanciaresu una macchina il comando nttcp con l’opzione server, ovvero eseguire

nttcp -i

Il server restera attivo fino a che non si preme CTRL+C, e attende connessioni sulla porta5037. Sulla macchina client, eseguire il comando

nttcp -T -n <Numero> -l <Lunghezza> IP_ADDR_SERVER

La macchina client a questo punto iniziera un trasferimento di Numero buffer di lunghezzaLunghezza, e al termine mostrera il goodput misurato. Se non specificati, Numero=2048 Bytee Lunghezza=4096 Byte, per un totale di 8MByte di dati. L’output del programma indicadiverse misure, come mostrato sotto. La prima riga corrisponde alle misure effettuate dalterminale locale, mentre la seconda alle stesse ottenute dal terminale remoto.

root@3[~]# nttcp -T 10.0.0.4

Bytes Real s CPU s Real-MBit/s CPU-MBit/s Calls Real-C/s CPU-C/s

l 8388608 0.01 0.01 5655.5591 8389.6567 2048 172593.97 256032.0

r 8388608 0.01 0.01 5500.2757 13421.7728 2049 167937.05 409800.0

5.2 Analisi del comando nttcp

1. Spiegare analizzando una traccia il funzionamento del protocollo usato dal comandonttcp. Identificare le fasi di apertura della connessione tramite il Three-way handshake,di scambio dati, e di chiusura della connessione stessa.

2. Disegnare la distribuzione della dimensione del payload TCP, calcolandone la me-dia e distinguendo la direzione della comunicazione. Valutare il numero di segmenticonfermati da ACK, distringuendo tra le due direzioni.

3. Si effettui un confronto tra il goodput riportato dall’applicazione e quello medio ricav-abile a partire dalle tracce ethereal. Quale definizione di goodput ritenete sia la piuopportuna ?

17

Page 18: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

5.3 Impatto delle topologie e degli apparati di livello 2 sulle prestazioni.

Lo scopo di questa esercitazione e valutare l’impatto degli apparti di rete di livello 2 e deimeccanismi di controllo di congestione adottati dal protocollo TCP. Nel seguito verrannoproposte diverse configurazioni. Per ognuna di esse, ripetere la prova 5 volte e riportare ivalori medi ottenuti.

A - Flusso singolo monodirezionale - HUB

Effettuare un test usando un HUB per interconnettere i calcolatori. Attivare un flussotra l’host A e l’host B. Provare a vedere come cambiano le prestazioni nel caso didownload o di upload (opzioni -r e -t rispettivamente).

Che goodput viene ottenuto se si usa il protocollo TCP?

Che goodput viene ottenuto se si usa il protocollo UDP (opzione -u)?

Ci sono state perdite di collisioni? Perche?

Ci sono state perdite di pacchetti? Perche?

B - Flusso singolo monodirezionale - SWITCH

Sostituire l’HUB con uno switch di livello 2. Attivare un flusso tra l’host A e l’host Be rispondere alle stesse domande di prima. Attenzione: lo switch ha capacita a livellofisico di 100Mbit/s, quindi 10 volte piu veloce. Assicurarsi che la prova abbia quindiuna durata sufficientemente lunga da permettere delle misure accurate.

C - Flusso singolo bidirezionale - HUB

Effettuare un test usando un HUB per interconnettere i calcolatori. Attivare un flussotra l’host A e l’host B e contemporaneamente attivare un flusso tra l’host B e l’hostA. Attenzione: che cosa succede se non si cambiano le porte del server e del clientse si usa il protocollo TCP? E se si usa il protocollo UDP? Assicurarsi che la provasia abbastanza lunga affinche i due flussi siano contemporaneamente attivi. Provare avedere come cambiano le prestazioni nel caso di download o di upload (opzioni -r e -t

rispettivamente).

Che goodput viene ottenuto se si usa il protocollo TCP?

Che goodput viene ottenuto se si usa il protocollo UDP (opzione -u)?

Ci sono state perdite di collisioni? Perche?

Ci sono state perdite di pacchetti? Perche?

D - Flusso singolo bidirezionale - SWITCH

Sostituire l’HUB con uno switch di livello 2. Attivare un flusso tra l’host A e l’host Be contemporaneamente attivare un flusso tra l’host B e l’host A. Rispondere alle stessedomande di prima, confrontando attentamente i risultati ottenuti usando UDP o TCPa livello trasporto.

E - Due flussi monodirezionali verso un unico ricevitore - HUB

Effettuare un test usando un HUB per interconnettere i calcolatori. Attivare un flussotra l’host A e l’host B e contemporaneamente attivare un flusso tra l’host C e l’host

18

Page 19: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

B. Provare a vedere come cambiano le prestazioni nel caso di download o di upload(opzioni -r e -t rispettivamente).

Che goodput viene ottenuto se entrambi i flussi usano usa il protocollo TCP?

Che goodput viene ottenuto se entrambi i flussi usano usa il protocollo UDP?

Che goodput viene ottenuto se un flusso usa il protocollo UDP e l’altro usa il protocolloTCP? Che cosa succede? Ci sono problemi di equita?

Ci sono state perdite di pacchetti? Perche?

F - Due flussi monodirezionali verso un unico ricevitore - SWITCH

Effettuare lo stesso test usando uno switch per interconnettere i calcolatori. Che cosasuccede usando il protocollo UDP? Ci sono state perdite di pacchetti? Che cosa ecambiato rispetto ai casi precedenti?

Che goodput viene ottenuto se un flusso usa il protocollo UDP e l’altro usa il protocolloTCP? Che cosa succede? Ci sono problemi di equita?

G - Due flussi monodirezionali generati da un unico trasmettitore - HUB

Effettuare un test usando un HUB per interconnettere i calcolatori. Attivare un flussotra l’host A e l’host B e contemporaneamente attivare un flusso tra l’host A e l’host C.Che cosa succede adesso?

Che goodput viene ottenuto se un flusso usa il protocollo UDP e l’altro usa il protocolloTCP? Che cosa succede? Ci sono problemi di equita?

H - Due flussi monodirezionali generati da un unico trasmettitore - SWITCH

Effettuare lo stesso test usando uno switch per interconnettere i calcolatori. Che cosasuccede adesso? Ci possono essere delle perdite di pacchetti? Perche?

I - Tre flussi bidirezionali - HUB

Effettuare un test usando un HUB per interconnettere i calcolatori. Attivare un flussotra ogni coppia di calcolatori. Che cosa succede? Quale goodput vi apettate? Sonostate rispettate le vostre previsioni?

Che cosa succede se si usa UDP? Ci possono essere delle perdite di pacchetti o dellecollisioni?

L - Tre flussi bidirezionali - SWITCH

Effettuare lo stesso test usando uno switch per interconnettere i calcolatori. Qualegoodput sara possibile ottenere? Le previsione che avete fatto sono corrette? Che cosasuccede adesso? Ci possono essere delle perdite di pacchetti? Perche?

Riassumere i risultati precedenti in nella tabella 1:

5.3.1 Controllo di congestione

Configurare la proria isola connettendo un PC ad uno switch, a sua volta collegato ad unhub a cui sono collegati gli altri terminali dell’isola. Ripetere le prove ai punti E e G, ove ilricevitore (trasmettitore) sia l’host collegato allo switch. Che cosa succede se si trasmettonoi dati usando il protocollo TCP o UDP? Disegnare la topologia, mostrando il carico offertosui canali e le percentuali di perdite di pacchetti sugli stessi nodi.

19

Page 20: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

Prova Goodput TCP Goodput UDP Collisioni? perdite

A

B

C

D

E

F

G

H

I

L

Tabella 1: Riassunto prestazioni

6 Configurazione rete mediante routing statico

6.1 Scopo

Lo scopo di questa esercitazione e apprendere le conoscenze di base riguardanti la configu-razione del routing IP. Si affronteranno problematiche di routing usando solo configurazionistatiche, ovvero in assenza di protocolli e algoritmi automatici di instradamento.

Verranno proposte configurazioni in cui diverse topologie logiche saranno configurate us-ando la stessa topologia fisica. Sara quindi possibile analizzare l’impatto della topologia sulleprestazioni di rete.

Tra le diverse configurazioni, verranno create situazioni errate in cui saranno presenticonfigurazioni parziali che possono essere corrette tramite messaggi ICMP-redirect e loop diinstradamento. Infine, verra configurata la possibilita di accedere ad Internet tramite unrouter che svolgera anche funzione di Network Address Translation (NAT). L’esercitazionepermettera di completare anche l’analisi dei protocolli, grazie alla possibilita di raggiungereserver reali in rete geografica.

Il tempo atteso richiesto e circa 10 ore. Si noti che per il buon esito dell’esercitazione enecessario un buon coordinamento tra le isole.

Per lo svolgimento di questa esercitazione, occorre configurare i PC a disposizione comeRouter IP. Sara necessario utilizzare piu di una interfaccia per personal computer, in mododa poter creare reti diverse interconnesse a livello rete.

Al fine di abilitare il forwarding di pacchetti a livello IP, occorre configurare il SistemaOperativo tramite il comando

echo 1 > /proc/sys/net/ipv4/ip_forward

Per disabilitare il forwarding, in maniera del tutto simile, usare il comando

echo 0 > /proc/sys/net/ipv4/ip_forward

6.2 Documentazione disponibile

• Manuali dei comandi route, nmap

20

Page 21: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

6.3 Configurazione instradamento statico intra-isola

Sfruttando i tre Personal Computer a disposizione in ogni isola, configurare le interfacce adisposizione in modo da evidenziare gli effetti di configurazioni parziali o errate.

6.3.1 ICMP-redirect

1. Configurazione router errata

Si spieghi la configurazione necessaria per evidenziare l’attivazione di messaggi di ICMP-redirect all’interno della stessa isola. Come fa un router a capire che deve mandare unredirect? Quali condizioni devono essere verificate? Mostrare con un esempio talefenomeno.

2. Creazione anelli con Redirect.

Si descrivano le configurazione dentro l’isola per fare in modo che:

• No ICMP-redirect

La comunicazione tra un qualunque host dell’isola e l’esterno avvenga senza ICMPredirect.

• ICMP-Redirect

La comunicazione tra un qualunque host dell’isola e l’esterno avvenga, se possibile,sempre con ICMP redirect

Spiegare con un esempio come avviene il forwarding di un pacchetto diretto fuori dallaisola, nel caso in cui ci sia ICMP redirect e non, evidenziando lo scambio dei pacchettie specificando gli indirizzi a livello Ethernet e IP. Quali sono i vantaggi e gli svantaggidovuti alla presenza di ICMP redirect?

3. Analisi topologia lineare con due router

• Due Router

Configurare due host dell’isola come router in modo da mostrare eventualmente ildecremento totale del TTL di un pacchetto IP dovuto alla presenza di un anellonell’instradamento. Spiegare la configurazione e mostrare il fenomeno. Se non epossibile osservarlo, spiegarne il motivo.

• Due router e un host.

Configurare due host dell’isola come router in modo da mostrare eventualmente ildecremento totale del TTL di un pacchetto IP dovuto alla presenza di un anellonell’instradamento. Utilizzare un terzo host come generatore di PDU. Spiegare laconfigurazione e mostrare il fenomeno. Se non e possibile osservarlo, spiegarne ilmotivo.

4. Conclusioni

Quando si osserva un fenomeno di ICMP redirect? Spiegare il fenomeno mediante unsemplice diagramma spazio-temporale.

Spiegare il contenuto delle routing tables (minime) nel caso in cui:

21

Page 22: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

• l’host sia isolato

• l’host sia in una LAN isolata

• l’host sia in una LAN connessa ad altre LAN

• l’host sia in una LAN connessa ad Internet.

6.4 Configurazione instradamento statico inter-isola

Lo scopo di questa esercitazione e interconnettere le varie isole per poter accedere alla reteInternet tramite un router/nat.

Si consideri lo schema della rete del laboratorio come rappresentato in Figura 1.

IP: 130.192.71.201/24DNS:130.192.71.39Default gw: 130.192.71.17

Interfaccia X del router:I=1

I=2

I=4

I=5

I=3

X

Rete geografica

6.4.1 Topologia a stella

Si consideri una rete in cui e presente un backbone che interconnette tutte le isole, e un routerdi accesso collegato ad Internet. A livello fisico, tutti i PC saranno collegati ad un unica LANtramite HUB. A livello logico invece, ogni isola e una rete, con indirizzi come da Tabella 1.Un PC dell’isola sara collegato al backbone (logico), rete 10.0.0.0/24. Il router di default peruscire su rete geografica ha interfaccia 10.0.0.1, mentre una seconda interfaccia lo collegheraverso la rete Internet. In figura 1 e mostrata l’interfaccia del router di accesso X, e tutte leisole con la relativa numerazione.

Si configurino il minimo numero di interfacce presenti su un isola, seguendo il piano diindirizzamento indicato in Tabella 2:

• Disegnare la topologia logica e fisica della rete.

22

Page 23: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

Isola Rete privata Interfaccia sul backbone Router accesso

1 192.168.1.0/29 10.0.0.1/24 10.0.0.1/24

2 192.168.2.0/29 10.0.0.2/24 10.0.0.1/24

3 192.168.3.0/29 10.0.0.3/24 10.0.0.1/24

4 192.168.4.0/29 10.0.0.4/24 10.0.0.1/24

5 192.168.5.0/29 10.0.0.5/24 10.0.0.1/24

Tabella 2: Piano di indirizzi

• Descrivere le configurazioni di rete e di routing, sia degli host che dei router convolti, nec-essarie per garantire la connettivita bidirezionale tra le isole e con la rete geograficaInternet.

6.4.2 Scoperta della topologia

Si determinino gli indirizzi di tutti gli host attivi (senza chiedere esplicitamente ai colleghi!)nel laboratorio e si spieghi la metodologia utilizzata. Come riesco a capire quale e il defaultgateway di ciascuna rete?

6.4.3 Prestazioni con rete carica

Si carichi la rete attivando 3 flussi di chargen da un’host di ogni isola (che non sia il defaultgateway) a un host (sempre che non sia il default gateway) delle altre isole (esclusa quella delrouter di accesso).

• Quale script potete utilizzare per agevolare tale compito?

• Ci possono essere delle perdite? Si verifichi lo stato delle perdite e ritrasmissionimediante il comando netstat.

• Utilizzare traceroute per verificare il percorso seguito dai pacchetti. Si mostrino alcuniesempi significativi.

• Come varia il TTL a seconda della destinazione dentro la rete del laboratorio?

6.4.4 Prestazioni per traffico uniforme

Nel caso in cui il traffico sia uniforme secondo la matrice riportata in Tabella 2, dove X ela velocita del flusso, si calcoli approssimativamente il numero medio di router che vengonoattraversati, e si individui il carico sui principali link e router.

6.4.5 Prestazioni per traffico sbilanciato

Nel caso in cui il traffico sia di tipo hot-spot e diretto solo verso Internet, secondo la matricerappresentata in Tabella 4, dove X e la velocita del flusso, si calcoli il numero medio di routerche vengono attraversati, e si individui il carico sui principali link e router.

23

Page 24: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

Da/Verso Internet Isola 2 Isola 3 Isola 4 Isola 5

Internet 0 X X X X

Isola 2 X 0 X X X

Isola 3 X X 0 X X

Isola 4 X X X 0 X

Isola 5 X X X X 0

Tabella 3: Matrice di traffico uniforme

Da/Verso Internet Isola 2 Isola 3 Isola 4 Isola 5

Internet 0 X X X X

Isola 2 X 0 0 0 0

Isola 3 X 0 0 0 0

Isola 4 X 0 0 0 0

Isola 5 X 0 0 0 0

Tabella 4: Matrice di traffico sbilanciato

6.4.6 Riconfigurazione in caso di guasto.

Se il link logico sul backbone del router di accesso ad Internet si guastasse, che riconfigu-razioni sono necessarie per ristabilire la connessione con Internet? Quali riconfigurazioni sononecessarie per ristabilire la connessione con le altre isole?

6.4.7 Conclusioni

Quali sono i vantaggi e svantaggi di questa topologia? In termini di affidabilita ?

6.5 Topologia ad anello con routing distanza minima

Mantenendo il piano di numerazione identico a quello utilizzato per la rete privata in ogniisola nel caso di topologia logica a stella, si configuri (coordinandosi eventualmente con lealtre isole) una topologia logica ad anello, con un routing a distanza minima tra un’isola el’altra.

6.5.1 Configurazione

• Disegnare la topologia logica e fisica della rete.

• Descrivere le configurazioni di rete e di routing, sia degli host che dei router convolti,necessarie garantire per la connettivita tra le isole e con la rete geografica Internet.

• Utilizzare traceroute per verificare il percorso seguito dai pacchetti. Si mostrino alcuniesempi significativi.

• Si ripeta la domanda sulle prestazioni per traffico uniforme.

• Si ripeta la domanda sulle prestazioni per traffico sbilanciato.

24

Page 25: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

• Se uno dei link del router di accesso ad Internet si guastasse, che riconfigurazioni sononecessarie per ristabilire la connessione con Internet? Basta una riconfigurazione localesull’isola che ha perso il link con il router di accesso?

6.6 Topologia ad anello con routing unidirezionale

Si configuri la rete ad anello in modo da forzare un trasferimento sempre in senso orario deipacchetti da un’isola all’altra.

Si ripetano le domande poste nella topologia ad anello con routing a minima distanza, incui l’ultima domanda sia sostituita dalla seguente:

• Se uno dei link del router di accesso ad Internet si rompesse, che riconfigurazioni sononecessarie per ristabilire la connessione con Internet?

• Basta una riconfigurazione locale sull’isola che ha perso il link con il router di accesso?

6.7 Analisi di protocolli a livello geografico

6.7.1 Analisi del comando traceroute

Spiegare l’output del programma traceroute, ad esempio quando si verifica la connettivitacon www.stanford.edu, o 171.64.10.77 o con un altro sito a piacere fuori dall’Europa.

Come funziona il programma nella particolare implementazione fornita? Che protocolliutilizza? Che tipi di messaggio ICMP vengono generati?

Cosa significa * se compare nell’output?L’indirizzo del router ottenuto e pari all’interfaccia di ingresso o di uscita di un router?

Come e possibile saperlo?Spiegare possibili limiti di traceroute nell’identificare il routing verso un host. Perche

traceroute usa il protocollo UDP?Spiegare come varia il valore di source port e di destination port tra i diversi pacchetti

utilizzati per calcolare la route a un host. Perche di tale regole?

6.7.2 Analisi del comando ping “Record route”

Utilizzare l’opzione “Record route” del comando ping per evidenziare il percorso verso www.polito.it,o 130.192.73.1.

Che differenza c’e tra usare ping e traceroute verso la medesima destinazione? Qualisono i vantaggi e gli svantaggi di ciascun protocollo?

Se possibile, individuare tutte le interfacce coinvolte nel routing dei pacchetti dall’hostnel laboratorio fino a www.polito.it e fino a www.stanford.edu (o altro sito a piacerefuori dall’Europa). E’ possibile che due server fisicamente vicini siano raggiunti da percorsicompletamente diversi? Mostrare un esempio.

6.7.3 Analisi del protocollo DNS

Per configurare il servizio DNS occorre editare il file

/etc/hosts

aggiungendo l’indicazione del server DNS che si intende usare. Per esempio

25

Page 26: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

search polito.it

nameserver 130.192.71.39

nameserver 130.192.3.24

nameserver 130.192.3.21

indica tre server, e che il dominio di default se non specificato sara polito.it.Provare a contattare un host interno al Politecnico (ad esempio, www.polito.it) ed uno

esterno (ad esempio, www.stanford.edu e www.google.it, o un altro sito fuori dall’Europa).Verificare lo scambio di messaggi a livello DNS e confrontare con quelli ricavabili mediante ilcomando dig. Ripetere la prova piu volte.

Spiegare la filosofia di politiche di load balancing basate sul DNS: quali siti la utilizzano?

6.7.4 Analisi del protocollo HTTP

Descrivere il protocollo HTTP nel caso in cui ci si connetta ad una pagina web semplice (adesempio, http://www.tlc-networks.polito.it/mellia/corsi/05-06/laboratorio/)

Quante connessioni TCP sono attivate contemporaneamente?Descrivere il protocollo http nel caso in cui ci si connetta ad una pagina web ricca di

contenuti (ad esempio, http://www.repubblica.it )Quante connessioni TCP sono attivate contemporaneamente?

26

Page 27: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

7 Protocolli di routing dinamico

7.1 Scopo

Gli obiettivi di questo laboratorio sono quelli di studiare il funzionamento di protocolli dirouting dinamico, quali RIP e OSPF. Dopo aver appreso le configurazione di base di questiprotocolli, si evidenzieranno le differenze tra di loro, e verranno proposti possibili problemiche si possono verificare negli scenari gestiti da questi protocolli.

7.2 Configurazione di base

Progettare una rete anello con i PC a disposizione nell’isola di lavoro come quella illustratanella Figura 7.1 per il caso di tre PC. Separare le ret anche a livello di topologia fisica.

Rete B Rete C

H3H1

H2

Rete A

1. Scegliere gli indirizzi IP e la maschera di ciascuna rete in modo da minimizzare lo sprecodi indirizzi, immaginando che circa 100 host siano connessi alla rete A, 50 host sullarete B e 30 host sulla rete C.

2. Configurare con Quagga il routing statico necessario per permettere la comunicazionetra tutte le reti; nel caso in cui ci sia piu di un modo per raggiungere una rete, aggiungeretutte le route possibili con la relativa distanza (metrica) misurata in numero di hops.

3. Verificare il raggiungimento di tutti gli indirizzi usando tutte le strade a disposizione(Suggerimento: usare la opzione -I del comando ping per selezionare le interfacce).

4. Iniziare un ping verso una interfaccia che sia raggiunta attraverso un altro router (ovverol’interfaccia da raggiungere non sia in consegna diretta). Togliere il cavo corrispondenteal link dell’anello attraverso il quale sta avvenendo il ping.

(a) Quali problemi compaiono?

(b) Come si puo ristabilire la connettivita?

(c) Quanto tempo avete impiegato per ristabilire la connettivita completa tra gli host?

7.3 Il protocollo RIP

Verra ora introdotto l’uso di protocolli di routing dinamico basati su distance vector. Dopoaver analizzato la parte iniziale di cold start, verra analizzata la gestione dei guasti da partedi questa famiglia di protocolli.

27

Page 28: Dispense corsi Laboratorio di Protocolli Laboratorio di ... · POLITECNICO di TORINO Dipartimento di Elettronica Dispense corsi Laboratorio di Protocolli Laboratorio di Telecomunicazione

1. Nella rete precedente eliminare la configurazione di routing statico e configurare il rout-ing dinamico prima usando il protocollo RIP versione 1 e dopo la versione 2. Catturareil traffico dall’inizio della configurazione fino al momento in cui tutte le interfacce sonoraggiungibili. Nota: RIP versione 1 supporta CIDR?

(a) Come si possono visualizzare questi protocolli con uno sniffer tipo ethereal? De-scrivere il filtro di visualizzazione.

(b) Come vengono fatti gli annunci della tabella di routing in ciascuna versione?

(c) Quali indirizzi IP vengono usati per distribuire le tabelle di routing? Che tipo diindirizzi sono?

(d) Ogni quanto tempo vengono effettuati questi annunci?

(e) Descrivere la struttura di questi messaggi.

2. Configurare soltanto RIP versione 2 e una volta verificato il raggiungimento di tutti gliindirizzi della rete, iniziare un ping verso una interfaccia che sia raggiunta attraversoun altro router (ovvero tramite consegna indiretta). Togliere il cavo corrispondente allink dell’anello attraverso il quale sta avvenendo il ping.

(a) Dopo quanto tempo (in secondi) viene ristabilito il ping?

(b) Che messaggi compaiono nel ping prima che si ristabilisca la connetivita?

(c) Come si possono mappare questi messaggi del ping con gli stati della routing table?

7.4 Il protocollo OSPF

Verranno ora riproposti punti della precedente esercitazione usando protocolli di routingbasati su Link State, quali OSPF.

1. Nella rete precedente eliminare il routing RIP e configurare il routing dinamico usandoil protocollo OSPF.

(a) Come si puo visualizzare questo protocollo con uno sniffer tipo ethereal? Comeviene incapsulato (TCP, UDP, altro)? Descrivere il filtro di visualizzazione.

(b) Come vengono fatti gli annunci dello stato di links? Quali indirizzi IP vengonousati per distribuirli ? Che tipo di indirizzi sono?

(c) Ogni quanto tempo vengono effettuati questi annunci?

(d) Descrivere la struttura di questi messaggi.

2. Si verifichi il raggiungimento di tutti gli indirizzi della rete. Iniziare un ping versouna interfaccia che sia raggiunta attraverso un altro router (ovvero tramite consegnaindiretta). Togliere il cavo corrispondente al link dell’anello attraverso il quale staavvenendo il ping.

(a) Dopo quanto tempo (in secondi) viene ristabilito il ping?

(b) Che messaggi compaiono nel ping prima che si ristabilisca la connetivita? Cosasignificano?

28