Corsi di Reti di Calcolatori (Docente Luca Becchetti)



Documenti analoghi
Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00

Chat. Si ha un server in ascolto sulla porta Quando un client richiede la connessione, il server risponde con: Connessione accettata.

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRVWUHDP

Parte II: Reti di calcolatori Lezione 12

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Reti di Telecomunicazione Lezione 8

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

appunti delle lezioni Architetture client/server: applicazioni client

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

Parte II: Reti di calcolatori Lezione 10

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

appunti delle lezioni Architetture client/server: applicazioni server

Introduzione alle Reti Telematiche

Corso di Reti di Calcolatori L-A

Socket & RMI Ingegneria del Software - San Pietro

Reti di Telecomunicazione Lezione 6

Applicazioni web. Parte 5 Socket

Soluzioni verifica parte 4

Programmare con le Socket

Internetworking TCP/IP: esercizi

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server

Esercizi su: Ritardi di trasferimento Commutazione Sorgenti di Traffico

Programmare con le Socket TCP

Principi fondamentali

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Martedì 22 Febbraio 2005, ore 15.00

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Dal protocollo IP ai livelli superiori

Il protocollo TCP. Obiettivo. Procedura

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Informatica per la comunicazione" - lezione 8 -

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

DA SA Type Data (IP, ARP, etc.) Padding FCS

Lo scenario: la definizione di Internet

Corso di Reti di Calcolatori

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Corso di Reti di Calcolatori. Datagrammi

9 Febbraio 2015 Modulo 2

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Programmare con le Socket TCP in java. 2: Application Layer 1

Reti di Telecomunicazione Lezione 7

Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon

ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Transmission Control Protocol

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ-DYD 6RFNHWGLWLSRGDWDJUDP

HTTP adaptation layer per generico protocollo di scambio dati

Architettura Client-Server

Applicazioni distribuite

Esercizio 2. Client e server comunicano attraverso socket TCP

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

I canali di comunicazione

Esercizio 1. Traccia di soluzione

Introduzione (parte III)

Protocolli applicativi: FTP

Connessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_ Stefano Millozzi

Cenni di programmazione distribuita in C++ Mauro Piccolo

Elementi sull uso dei firewall

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Configurazione client di posta elettronica per il nuovo servizio . Parametri per la Configurazione dei client di posta elettronica

PROVA FINALE Ingegneria del software

Manuale per la configurazione di un account di PEC in Mozilla.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

ESERCIZI DI COMUNICAZIONE

Elementi di Informatica e Programmazione

Programmazione dei socket con TCP #2

Corso di Informatica Modulo T3 B2 - Database in rete

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Manuale per l utilizzo dell applicazione Client per il controllo remoto di apparecchiature da laboratorio

Servizi orientati alla connessione

Progettare un Firewall

Parte II: Reti di calcolatori Lezione 13

Reti di Calcolatori:


Automazione Industriale (scheduling+mms) scheduling+mms.

File, Modifica, Visualizza, Strumenti, Messaggio

Gestione della Connessione in TCP

Datagrammi. NOTA: MulticastSocket estende DatagramSocket

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Reti e Internet: introduzione

RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO 1.2. ATTIVAZIONE DELLA RICEZIONE DEL FILE CON L INPS

Capitolo 1 - parte 1. Corso Reti ed Applicazioni Mauro Campanella

Come condividere l accesso internet tramite chiavetta HSPDA di 3 (o altro operatore) con un Ipod Touch via WIFI

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Multithreading. Multithreading/2

Architetture e applicazioni web

Elementi di Informatica e Programmazione

Reti di Calcolatori

2.1 Configurare il Firewall di Windows

Applicazioni web. Parte 10 Socket. Alberto Ferrari

Transcript:

Corsi di Reti di Calcolatori (Docente Luca Becchetti) NOT : le soluzioni proposte sono volutamente sintetiche. Lo studente dovrebbe fare uno sforzo per risolvere i quesiti in modo autonomo, espandendo dove necessario le risposte sintetiche proposte dal docente 1. Si supponga che un host fisicamente connesso a un segmento Ethernet trasmetta un messaggio HTTP di richiesta verso un server Web. Si dica quanti header contiene il pacchetto che viene trasmesso fisicamente sulla rete cui l host è connesso. Sol.: 4 (HTTP, TCP, IP e Ethernet) 2. Si consideri la rete in figura, nella quale si hanno Q link, tutti della stessa capacità R bps. Si studi il trasferimento di un messaggio di ML bit da B ad. Si facciano le seguenti assunzioni: 1. Il file è frammentato in pacchetti di L bit ciascuno e la dimensione degli header inseriti è trascurabile 2. I ritardi in coda sono trascurabili (bassa congestione) 3. Il ritardo di propagazione è trascurabile 4. Il ritardo di elaborazione è trascurabile B Q link Q link Si determini l espressione del tempo Q di link trasmissione del file in funzione di Q, R, M e B. Si determini il ritardo nel Q link caso in cui ML = 10 Mbyte, L = 10 Kbyte, R = 8 Mbps. Sol.: B inizia la trasmissione dell ultimo pacchetto verso al tempo t 1 =(M- 1)L/R. partire da questo istante, il pacchetto in questione impiega un tempo t 2 =QL/R per giungere a destinatione. Dunque il tempo di trasferimento complessivo è t 1 +t 2 =(M+Q-1)L/R. 3. Si consideri l esercizio del punto 1 con le seguenti modifiche: 1. Q = 2

2. La segmentazione non è più trascurabile e la dimensione dell header è H = 40 bit. Tutte le altre ipotesi rimangono valide. Si calcoli il tempo necessario per trasferire il file da B ad nel caso i) di assenza di segmentazione e ii) in presenza di segmentazione, con le precisazioni di cui sopra. Sol.: il calcolo nel caso di assenza di segmentazione è ovvio. Nel caso di segmentazione, si procede come nell esercizio 1, con la differenza che in questo caso la dimensione di ogni pacchetto è L+H. 4. Descrivere cosa succede a livello applicativo da quando si digita www.google.it nell apposita finestra del browser e poi si dà invio a quando la pagina HTML di base è ricevuta dal browser. 5. Si supponga che tra e B sia presente un canale avente banda costante e pari a 50Kbps in ciascuna direzione. Si supponga che B sia un Web Server e che richieda una pagina Web costituita da: 1. Una pagina HTML base avente dimensione 5 Kbyte 2. 10 immagini JPEG aventi dimensioni 50 Kbit ciascuna. Si supponga che instaurare una connessione da verso B richieda l invio di 2 pacchetti TCP di 50 byte ciascuno (SYN e SYNCK) e che tale sia anche la dimensione dei pacchetti HTTP di richiesta. Si calcoli il tempo necessario a scaricare la pagina Web: 1. Con connessioni non persistenti 2. Con connessioni persistenti e pipelining Si assumano assenza di congestione e ritardi elaborazione e propagazione trascurabili Sol.: l instaurazione della connessione richiede complessivamente 16 ms (il tempo per trasmettere, in successione, due pacchetti 50x8 bit su un canale da 50 Kbps). Servono poi 8 ms per inviare la richiesta della pagina HTML base e 0.8 secondi per riceverla (40 Kbit/50 Kbps). Nel caso di connessioni non persistenti bisogna ripetere i calcoli per l apertura di una nuova connessione, la richiesta di un immagine e il suo trasferimento. Nel caso 2 invece, dopo aver scaricato la pagina base, invia 10 richieste, una di seguito all altra. Si osservi che l ultima richiesta da arriva al Web server B dopo 80 ms. tale istante, B sta ancora scaricando la prima immagine verso (scaricare un immagine richiede 1 s = 50 Kbit/50 Kbps). La conseguenza di tale osservazione è che dopo aver ricevuto la richiesta per la prima immagine, B inizia a scaricare le immagini in sequenza, senza interruzione. Ciò significa che l ultimo bit dell ultima immagine giunge ad 10.008 secondi dopo che ha inviato la richiesta per la prima immagine. Complessivamente, nel caso di connessioni persistenti e pipelining servono 16ms(instaurazione connessione)+8ms+0.8s (richiesta e ricezione pagina HTML base)+10.008s(richiesta e ricezione immagini JPEG) = 10.832s.

6. Si stimi il tempo necessario a scaricare una pagina Web che contiene, oltre al file.html base, 2 riferimenti ad altrettanti oggetti, assumendo connessioni non persistenti e un RTT (Round Trip Time) di 1 secondo. Si motivi la risposta, mostrando il diagramma temporale della comunicazione tra client e server, illustrando gli aspetti rilevanti del protocollo e le assunzioni considerati ai fini del calcolo. Sol.: Si assumono per semplicità pacchetti della stessa dimensione, tali che che la spedizione dal client al server (o viceversa) impieghi 0.5 RTT = 0.5 secondi. Poiché si usano connessioni non persistenti servono 2 RTT per ciascun oggetto richiesto. Si hanno 3 oggetti (pagina HTML base più 2 oggetti), per un totale di 6 RTT = 3 secondi. 5. La comunicazione di controllo SMTP è in banda o fuori banda? Perché? 6. lice invia un messaggio di posta elettronica a Bob. e B sono i mail server di lice e Bob. Bob legge la posta elettronica usando il protocollo POP3. Descrivere cosa accade dal momento in cui, dopo aver composto il messaggio, lice preme Send a quello in cui Bob legge il messaggio. 7. Si consideri la rete in figura e si supponga che il link verso il router abbia capacità 1Mbps. Si supponga che su sia presente un applicazione P che debba trasferire un file di dimensioni molto grandi verso una machina remota. Si supponga che la trasmissione da parte dello strato di trasporto avvenga alla massima velocità possibile e che il 10% dei bit trasmessi corrisponda a ritrasmissioni. Qual è il throughput di P? Internet Sol.: il throughput dell applicazione P è il ritmo al quale P riesce a trasferire bit utili (ossia dati originali) verso lo strato di trasporto. Poiché il file si assume molto grande e la trasmissione avviene alla massima velocità possibile abbiamo un ritmo di trasmissione di 1 Mbps da parte dello strato di trasporto. Di questi, soltanto 900 Kbps corrispondono a dati originali, mentre 100 Kbps sono ritrasmissioni. Dunque 900 kbps è il ritmo con il quale lo strato di trasporto è in grado di accettare dati originali da P. 8. Si consideri la rete in figura:

Internet B Si assuma che sia che B eseguano la stessa applicazione per trasferire file di dimensioni molto grandi verso una machina remota. Si supponga che la trasmissione da parte dello strato di trasporto di entrambi avvenga alla massima velocità possibile e che il 10% dei bit trasmessi corrispondano a ritrasmissioni. Se e B ottengono ciascuno metà della banda disponibile, per quale valore del throughput di ciascuno il link è saturo? 9. Si supponga di realizzare un protocollo per il trasferimento di file che usi UDP anziché TCP. Ciascun file viene eventualmente segmentato e ciascun segmento è inviato a destinazione indipendentemente in un segmento UDP. Si consideri il trasferimento di un file di dimensione 1 Mbyte e si assuma una MSS di 1 Kbyte. Si determini la probabilità che il file venga ricevuto correttamente a destinazione, assumendo che ciascun segmento UDP abbia probabilità p = 10-3 di andare perso, indipendentemente dagli altri segmenti. Si assuma che non vi siano errori. Sol.: nelle condizioni descritte il file è ricevuto correttamente a destinazione se e solo se tutti i segmenti nei quali è frammentato raggiugono la destinazione. Ogni segmento raggiunge la destinazione con probabilità 1 p, indipendentemente da tutti gli altri. Si hanno 1000 segmenti = 1Mbyte/MSS. La probabilità che tutti i segmenti raggiungano la destinazione (e quindi che il file giunga correttamente a destinazione) è dunque (1-p) 1000 = (1-1/1000) 1000 ~ 1/e ~ 0.67. 10. (ssegnato il 19/7/2005) Descrivere l'architettura di un server multithreaded di prenotazione: il server è in ascolto sulla porta X. d ogni richiesta di connessione il server crea un nuovo thread per la gestione della transazione con il nuovo client. Il thread apre due stream che leggono e scrivono stringhe da e verso il client allo scopo di ricevere le richieste dell'utente e inviare le relative risposte. Descrivere l architettura del server, in particolare gli aspetti di networking e di sistema, comprese la gestione dei thread e la

creazione e chiusura degli stream. Trascurare gli altri aspetti. Non occorre descrivere il client. Sol.: la soluzione di questo esercizio è tipica: si tratta di scrivere gli elementi fondamentali del server, trascurando gli aspetti che non siano di networking. Una possible implementazione è la seguente: public class PrenServer extends Thread { Socket clientsocket; public PrenServer(String str, Socket client) { super(str); clientsocket = client; } public static void main(string[] args) throws IOException { ServerSocket serversocket = null; try { serversocket = new ServerSocket(X); System.out.println("Server is coming up..."); } /* End try */ catch (IOException e) { System.err.println("Could not listen on port: X."); System.exit(1); } /* End catch */ while (true) { Socket clientsocket = null; try { clientsocket = serversocket.accept(); } /* End try */ catch (IOException e) { System.err.println("ccept failed."); System.exit(1); } /* End catch */ new PrenServer("PServer", clientsocket).start(); } /* End while */ } /* End metodo main() */ public void run() { try { PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));; while (/* Client non ha finito */) { /* Gestione transazione */ } /* End while */ out.close();

} in.close(); clientsocket.close(); } /* End try */ catch (IOException e) {} } /* End metodo run() */