Stefano Leonardi Tel.: 06 49918341 Email: [email protected] URL: www.dis.uniroma1.it/~leon/didattic a/reti/ Ricevimento: Venerdì, ore 9-11, Dip. Informatica e Sistemistica, via Salaria 113 II piano, stanza 227 Testo adottato: James F. Kurose, Keith W. Ross. Internet e reti. McGraw-Hill. Edizione originale: Computer Networking. Addison Wesley Testi consigliati: A. Tanenbaum. Computer Networks. Prentice-Hall P. Niemeyer, J. Knudsen. Learning JAVA. O’ REILLY Stevens, TCP/IP illustrated 1: Introduction 1 Parte I: Introduzione Obiettivi: Avere una visione di insieme del contesto I dettagli più avanti nel corso approccio: descrittivo Uso di Internet come esempio Rassegna prima lezione: cosa è Internet cosa è un protocollo? network edge network core Rete di accesso, mezzi fisici prestazioni: loss (perdita), delay (ritardo) strati di un protocollo (protocol layers) , modelli di servizio backbone, NAP, ISP 1: Introduction 2 Cosa è Internet: hardware \ milioni di dispositivi collegati: hosts, endsystems PC, workstation, server Palmari, telefoni router server mobile local ISP eseguono appl. di rete mezzi trasmissivi workstation regional ISP fibra, rame, radio, satellite router: inviano pacchetti (packets) di dati attraverso la rete company network 1: Introduction 3 Cosa è Internet Internet: “rete di reti” Struttura parzialmente gerarchica Segmenti pubblici e intranet private router server workstation mobile local ISP protocolli: regolano la comunicazione tra sistemi regional ISP e.g., TCP, IP, HTTP, FTP, PPP Standard Internet RFC: Request for comments IETF: Internet Engineering Task Force http://www.ietf.org company network 1: Introduction 4 Cosa è un protocollo? protocolli umani: “che ora è ?” “Ho una domanda” … invio di specifici messaggi … in corrispondenza ai quali vengono prese opportune azioni … anche altri eventi protocolli di rete: macchine tutte le comunicazioni in Internet governate da protocolli i protocolli definiscono il formato, l’ordine di invio e di ricezione dei messaggi tra i dispositivi e le azioni prese quando si riceve un messaggio 1: Introduction 6 Cosa è un protocollo (cont.)? due esempi : richiesta di connessione TCP ciao ciao risposta di connessione TCP sai l’ora? get (prendi) http://era.dis.uniroma1.it/~impianti/programma 2:00 <file> tempo 1: Introduction 7 Caratteristiche della rete fisica Struttura Network edge: applicazioni e host Network core: router rete di reti Rete di accesso Mezzo fisico: caratteristiche dei link di comunicazione 1: Introduction 8 Network edge: end system (hosts): eseguono applicazioni es., WWW, email “edge of network” modello client/server client host requests, receives service from server e.g., WWW client (browser)/ server; email client/server modello peer-to-peer : interazione simmetrica tra host es.: teleconferenza, Gnutella 1: Introduction 9 Network edge: servizio orientato alla connessione Obiettivo: trasferire dati tra end system. handshaking: scambio di informazione di controllo prima della comunicazione Hello, hello ( protocollo umano) viene creato uno “stato” nei due host che comunicano TCP - Transmission Control Protocol Servizio orientato alla connessione in Internet Servizio TCP [RFC 793] trasferimento affidabile (reliable) e in ordine di flussi di byte perdita: conferma (acknowledgement) e ritrasmissioni controllo di flusso (flow control): il sender non “inonda” il receiver Controllo della congestione (congestion control): Si diminuisce il ritmo (rate) di trasmissione se la rete è congestionata 1: Introduction 10 Network edge: servizio connectionless Obiettivo: trasferimento dati tra host Lo stesso di prima! UDP - User Datagram Protocol [RFC 768]: il servizio connectionless di Internet trasferimento dati non affidabile no controllo di flusso no controllo della congestione App’ni che usano TCP: HTTP (WWW), FTP (file transfer), Telnet (remote login), SMTP (email) App’ni che usano UDP: streaming audio/video teleconferenza, telefonia su Internet 1: Introduction 11 Network Core Rete di router interconnessi Questione fondamentale : come avviene il trasferimento dei dati? circuit switching: circuito dedicato per ogni connessione: rete telefonica packet-switching: i dati sono trasferiti a “blocchi”, non viene preallocato un circuito 1: Introduction 12 Network Core: Circuit Switching Pre-allocazione di risorse end-to-end per “chiamata” Banda dei link, capacità degli switch Risorse dedicate : nessuna condivisione Prestazioni garantite per ogni connessione Ogni chiamata richiede una fase di instaurazione 1: Introduction 13 Network Core: Circuit Switching Le risorse di rete non sono condivise divisione della banda in “pezzi” divisione di frequenza divisione di tempo la risorsa non usata (idle) dalla chiamata a cui è allocata è sprecata 1: Introduction 14 Network Core: Packet Switching ogni messaggio è diviso in pacchetti (packets) i pacchetti di piu’ utenti condividono le risorse ogni pacchetto usa tutta la banda le risorse sono usate quando servono contesa per le risorse: congestione: possibilità di eccedere la capacità; i pacchetti sono in coda store and forward (memorizza e inoltra) : i pacchetti si muovono un salto alla volta Attraversa un link 2. Aspetta il turno al prossimo link Trasmissione in ordine di arrivo 1. 1: Introduction 15 Network Core: Packet Switching 10 Mbs Ethernet A B multiplexing statistico C 1.5 Mbs Coda di pacchetti in attesa sul link di uscita D 45 Mbs E 1: Introduction 16 Network Core: Packet Switching Esempio Messaggio di 7.5 Mbit Suddivisione in 5000 pacchetti da 1.5 Kbit Capacità dei link: 1.5 Mbps Tempi di processamento nei router trascurabili Esercizio: calcolare tempo di trasferimento se il messaggio non fosse diviso Attenzione: 1 Mbit=1000 Kbit !! 1: Introduction 17 Packet switching versus circuit switching Packet switching permette a più utenti di usare la rete! Link da 1 Mbit/s Per ogni utente: 100Kbps se “attivo” attivo 10% del tempo circuit-switching: Max. 10 utenti attivi N utenti link da 1 Mbps packet switching: con 35 utenti, Prob > 10 utenti attivi < .004 1: Introduction 18 Packet switching versus circuit switching Ottimo per dati a raffica (bursty) Condivisione di risorse Nessuna instaurazione di chiamata MA: Possibilità di congestione: ritardo e perdita di pacchetti Servono protocolli per il trasporto affidabile e per gestire la congestione Come ottenere un comportamento di tipo circuit switched? Problema aperto (cap. 6) 1: Introduction 19 Packet-switched networks: instradamento (routing) Obiettivo: trasferire i pacchetti da sorgente a destinazione seguendo un cammino nella rete Molti algoritmi di selezione dei cammini (cap. 4) Reti a datagramma (datagram networks): Prossimo salto (hop) determinato dall’indirizzo di destinazione Il percorso può mutare nel corso della sessione analogia: servizio postale Reti a circuito virtuale (virtual circuit networks): Ogni pacchetto contiene un identificatore che detetmina il prossimo salto Il cammino è fissato una volta per tutte in fase di instaurazione I router attraversati mantengono informazione su ogni chiamata Attenzione: circuito virtuale e circuit switching sono cose diverse!! 1: Introduction 20 Reti di accesso Utenze domestiche Reti di istituzioni (università, aziende) Reti mobili Aspetti importanti: banda (bit al secondo) della rete di accesso Condivisa o dedicata? 1: Introduction 21 Residential access: point to point access Modem Fino a 56Kbps, accesso diretto al router (conversione D/A – A/D) ISDN: integrated services digital network: 128Kbps fino al router (digitale) ADSL: asymmetric digital subscriber line Capacità maggiori 1: Introduction 22 Istituzioni: reti locali Rete locale (LAN) che connette end system a edge router Ethernet: Cavo condiviso che connette sistemi terminali a un router 10 Mbs, 100Mbps, Gigabit Ethernet 1: Introduction 23 Reti di accesso wireless Connettono sistemi terminali a un router mediante un mezzo condiviso wireless LAN: Collegamento radio al posto del cavo es., Lucent Wavelan 10 Mbps router Punto di accesso Accesso wireless su aree più vaste Es. CDPD (Cellular Digital Packet Data): accesso wireless a router di ISP attraverso una rete cellulare Terminali mobili 1: Introduction 24 Ritardo di trasferimento nelle reti a pacchetto Quattro sorgenti di ritardo ad ogni salto 1. Processamento al nodo: 2. Attesa in coda Trasmissione A Correzione di errore sui bit calcolo link di uscita Attesa per la trasmissione Dipende dalla congestione nel router Propagazione B Elaborazione nel nodo Accodamento 1: Introduction 25 Ritardo di trasferimento nelle reti a pacchetto (2) 3. Ritardo di trasmissione R= banda sul link (bps) L=lunghezza pacchetto (bit) Tempo per trasmettere pacchetto sul link = L/R Trasmissione A 4. Ritardo di propagazione: d = lunghezza link fisico s = vel. propagazione nel mezzo (~2x108 m/sec) Ritardo di propagazione nel mezzo = d/s Attenzione: 3 e 4 sono quantità diverse! Propagazione B Elaborazione nel nodo Accodamaento 1: Introduction 26 Ritardo di coda nelle reti a pacchetto (3) R=banda del link (bps) L=lungh. pacchetto (bit) a=frequenza (rate) di arrivo dei pacchetti (packets/sec) Intensità del traffico = La/R La/R ~ 0: ritardo medio di coda piccolo La/R -> 1: ritardo medio di coda grande La/R > 1: più pacchetti di quanti possano essere smaltiti, il tempo di attesa in coda tende a divenire infinito! (in realtà perdita) 1: Introduction 27