Telematica di Base
Reti telematiche 1. I nodi computer vengono fisicamente connessi da cavi 2. I nodi computer condividono un codice di trasmissione di bit 3. Un pacchetto di bit riesce a viaggiare sulla rete via più nodi 4. Una sequenza di pacchetti riesce a raggiungere una destinazione per vie diverse ed ad essere ricostruita 5. Le applicazioni riescono a stabilire delle regole per comunicarsi dati e documenti in forma binaria 15/03/04 2
Reti Telematiche (problemi) L infrastruttura di comunicazione di una rete telematica deve risolvere parecchi problemi: Concorrenza (competizione sulle risorse condivise) la rete è fatta di cavi condivisi, quindi come si risolvono i conflitti di accesso? affidabilità della trasmissione: i messaggi binari riescono a viaggiare su un cavo superando il rumore risoluzione dei nomi (naming e resolving) come fanno due elaboratori a localizzarsi e comunicare? strategie di routing che percorso fa un messaggio sulla rete? strategie di connessione come viene gestita una sequenza di messaggi? 15/03/04 3
Servizi di rete locale I sistemi operativi dei computer in una rete debbono essere in grado di coordinarsi per offrire servizi di rete Ogni utente "possiede" in modo esclusivo un PC, con un file system su disco locale; la rete si usa per condividere dispositivi (es.: dischi, stampanti, fax) I servizi più semplici sono quelli di condivisione dei dispositivi: disco condiviso, stampante di rete, modem/fax di rete, ecc. L esempio più importante di servizio di sistema operativo in rete sono i comandi di base per condividere un file system 15/03/04 4
Comunicazione e protocolli Le reti funzionano perché i produttori di hw e sw si accordano su protocolli di comunicazione validi per tutti: se ogni macchina usa correttamente i protocolli concordati tutto funziona Un insieme di protocolli si chiama architettura di rete; la lista di protocolli usati da un certo sistema, uno per livello, si chiama gerarchia di protocolli 15/03/04 5
Cosa sono i protocolli di comunicazione? Comunicazione tra persone: Che tempo fa? Mi consenta Presentazione formale invio di determinati msg azioni di risposta alla recezione del msg Comunicazione di rete: Scambio di informazioni tra dispositivi computazionali Protocolli regolano il flusso delle comunicazioni Protocollo definisce: Formato Ordine dei msg Azioni di risposta 15/03/04 6
Protocolli: Un esempio Si immaginino due filosofi (processi pari del livello 3), uno dei quali parla Spagnolo e Inglese e l altro che parla Cinese e Francese. Poiché non hanno un linguaggio comune, usano due interpreti (processi pari di livello 2), che a loro volta contattano due segretarie (processi pari di livello 1). Il filosofo 1 desidera comunicare al suo pari la sua simpatia per i conigli. Quindi passa al suo interprete un messaggio in Inglese: I like rabbits 15/03/04 7
Protocolli: un esempio (2) L interprete si è accordato su un linguaggio neutro, l Olandese, e così il messaggio viene tradotto in I k hou von konijnen. La scelta del linguaggio è il protocollo di livello 2 e viene fatta dai processi pari di livello 2. L interprete quindi consegna il messaggio ad una segretaria, che lo trasmette mediante fax (protocollo di livello 1). Quando il messaggio arriva, viene tradotto in Francese e passato al filosofo 2. 15/03/04 8
Protocolli di comunicazione Comunicazione tra persone vs comunicazione di rete Ciao Ciao Che ora è? 2:30 tempo TCP connection req. TCP connection reply. Get http://infouma.di.unipi.it <file> 15/03/04 9
La struttura di Internet Applicazioni e Host Nucleo della rete: router network of networks Collegamenti fisici 15/03/04 10
Internet: Servizi hosts: Applicazioni e servizi di rete e.g., WWW, email Modello client/server Host (client) invia una richiesta di servizio, host (server) fornisce il servizio e.g., WWW client (browser)/ server; email client/server Peer2peer: Interazione è simmetrica e.g.: NAPSTER, GNUTELLA 15/03/04 11
Servizi orientati alla connessione Obiettivo: trasferimento di dati tra host handshaking: fase iniziale di inizializzazione set up dello stato TCP Transmission Control Protocol Servizio orientato alla connessione di Internet TCP [RFC 793] Trasferimento di dati affidabile Ordine della trasmissione Perdita di dati Controllo del flusso: Sender non deve trasmettere troppo velocemente Controllo della congestione: Sender non deve congestionare il traffico di rete 15/03/04 12
Servizi non orientati alla connessione Obiettivo: trasferimento di dati tra host UDP User Datagram Protocol [RFC 768]: 1. Trasferimento non affidabile 2. Non sono previsti meccanismi per il controllo del flusso e della congestione TCP: HTTP (WWW), FTP (file transfer), Telnet (remote login), SMTP (email) UDP: Apps video/audio, teleconferenze, telefonia su Internet 15/03/04 13
Nucleo della rete Ragnatela di router Come avviene il trasferimento dei dati in rete? Commutazione di circuito: circuito dedicato per ogni chiamata (rete telefonica) Commutazione di pacchetto: dati sono inviati in rete scomponendoli in p ezzi 15/03/04 14
Commutazione di circuito Allocazione delle risorse per la gestione della chiamata Banda di trasmissione Risorse dedicate Performance elevata Fase di inizializzazione 15/03/04 15
Commutazione di circuito Banda di trasmissione viene suddivisa in parti FDM: frequency division multiplexing TDM: time division multiplexing 15/03/04 16
Commutazione di pacchetto Dati sono suddivisi in pacchetti (packets) Pacchetti di utenti diversi condividono le risorse di rete Ogni pacchetto trasmesso utilizza tutta la banda di trasmissione Non è necessaria una allocazione iniziale di tutte le risorse Risorse e pacchetti: Risorse non disponibili Congestione: attesa per utilizzare un collegamento Meccanismo di tipo s tore and forward : Trasmissione Attesa della disponibilità del collegamento 15/03/04 17
Commutazione di pacchetto A 10 Mbs Ethernet C B Coda di attesa 1.5 Mbs 45 Mbs D E 15/03/04 18
Valutazione Commutazione di pacchetto permette di avere un maggior numero di utenti Collegamento ad 1 Mbit Utente generico: 100Kbps se at tivo Attivo solo 10% del tempo Commutazione di circuito: 10 utenti N utenti Commutazione di pacchetto: 1 Mbps link 35 utenti, probabilità di avere un numero di utenti attivi maggiore di 10 è minore di.004 15/03/04 19
Ritardi di trasmissione Ritardi nella trasmissione dei pacchetti Nodal processing: Check bit Determinare il collegamento in uscita Attesa in coda Congestione del router A Trasmissione Propagazione B nodal processing Attesa in coda 15/03/04 20
Considerazioni finali Commutazione di pacchetto Condivisione delle risorse Non è necessaria la fase di inizializzazione Congestione: perdita dei pacchetti, ordine di trasmissione Necessità di meccanismi per garantire l affidabilità del trasferimento Cosa succede per le applicazioni video/audio? Ampiezza di banda elevata Problema aperto!! 15/03/04 21
Routing Inviare i pacchetti Reti datagram: L indirizzo di destinazione determina il cammino tra i router Router non hanno informazioni di stato Circuiti virtuali: Ogni pacchetto è caratterizzato di un identificatore (virtual circuit ID) Cammino individuato nella fase di inizializzazione Router con informazioni di stato 15/03/04 22
Come si accede alla rete? 1. Provider (eg tin.it) 2. Company (e.g SERRA) 3. Reti mobili (wireless) 15/03/04 23
Provider Modem 56Kbps con accesso diretto ISDN: intregrated services digital network: 128Kbps ADSL: asymmetric digital subscriber line 1 Mbps home to router 8 Mbps router to home 15/03/04 24
Reti locali Rete locale local area network (LAN) Ethernet: 10 Mbs, 100Mbps, Gigabit Ethernet 15/03/04 25
Wireless Accesso tramite una base LAN wireless: Comunicazioni radio e.g., Lucent Wavelan 10 Mbps, BlueTooth wider area wireless Rete dei cellulari E.g. GPRS, UMTS router base station mobile hosts 15/03/04 26
Protocolli e servizi Reti sono complicate! Numerose entità host router collegamenti fisici diversi applicazioni servizi hardware, software Domanda: Siamo in grado di organizzare e gestire in modo coerente tutte queste entità?. perlomeno in questo corso? 15/03/04 27
Organizziamo un bel viaggio aereo ticket (acquisto) bagaglio (check in) gate (load) take off volo volo ticket (rimostranze) bagaglio (richiesta) gate (unload) landing volo una serie di passi. coerenti 15/03/04 28
Il nostro viaggio ticket (Acquisto) bagaglio (check in) gate (load) takeoff volo Volo ticket (rimostranze) bagaglio (richiesta) gates (unload) landing volo Livelli: ogni livello realizza un servizio Tramite delle azioni Basandosi sui servizi offerti dai livelli inferiori 15/03/04 29
Layered air travel: services Counter to counter delivery of person+bags baggage claim to baggage claim delivery people transfer: loading gate to arrival gate runway to runway delivery of plane airplane routing from source to destination 15/03/04 30
Il nostro viaggio ticket (purchase) ticket (complain) Departing airport baggage (check) gates (load) takeoff airplane routing baggage (claim) gates (unload) landing airplane routing arriving airport Controllori di volo degli spazi aerei airplane routing airplane routing 15/03/04 31
Livelli: Perchè? Stratificazione dei servizi: meccanismo per la gestione della complessità Meccanismo esplicito di strutturazione Modularità: facilita le modifiche Modifica di un servizio è locale 15/03/04 32
Internet protocol stack application: ftp, smtp, http transport: tcp, udp network: routing dei datagrams ip, routing protocols link: trasferimento dei dati ppp, ethernet physical: on the wire application transport network link physical 15/03/04 33
Internet Protocol Stack I nodi computer vengono fisicamente connessi da cavi: questo è il livello dei protocolli fisici, che include anche i dispositivi modem I nodi computer condividono un codice di trasmissione di bit: questo è il livello dei protocolli data link Un pacchetto di bit riesce a viaggiare sulla rete via più nodi: questo è il livello del protocollo rete (es.: IP) Una sequenza di pacchetti riesce a raggiungere una destinazione per vie diverse ed ad essere ricostruita: questo è il livello del protocollo trasporto (es.: TCP) Le applicazioni riescono a stabilire delle regole per comunicarsi dati e documenti in forma binaria: questo è il livello dei protocolli di tipo applicazione (per esempio HTTP, SMTP) 15/03/04 34
Stratificazione a livelli Ogni livello riceve i dati dal livello superiore Crea una nuova struttura dati (header) Invia i dati al livello inferiore source destination Hl H T HN Ht H N H T M M M M Application transport network link physical Application transport network link physical H l H T H t H N H t H n M M M M Message Segment Datagram Frame 15/03/04 35
Stratificazione a livelli Caratteristiche: distribuito Componenti su ogni nodo che realizzano le funzionalità previste Scambio msg application transport network link physical application transport network link physical application transport network link physical network link physical application transport network link physical 15/03/04 36
Internet Protocol Stack Transport Dati dalle Apps Crea il datagram con l indirizzo Invia il datagram Attende il riscontro di ricezione (ack) Trasporto = Ufficio Postale data application transport network link physical application transport network link physical data ack application transport network link physical network link physical data application transport network link physical 15/03/04 37
Layering: physical communication data application transport network link physical application transport network link physical application transport network link physical network link physical data application transport network link physical 15/03/04 38
La proposta ISO host host Application Application Presentation Presentation Session Session Transport Transport Network Network Network Network Data link Data link Data link Data link Physical Physical Physical Physical Routing 15/03/04 39
Internet: network of networks gerarchica national/international backbone providers (NBPs) BBN/GTE, Sprint, AT&T, IBM, UUNet ISP regionali ISP locali NAP regional ISP local ISP NBP B NBP A local ISP regional ISP NAP 15/03/04 40
National Backbone Provider BBN/GTE US backbone network 15/03/04 41
Internet: una visione storica 1961 1972: definizione dei principi delle reti a commutazione di poacchetto 1961: Kleinrock (teoria delle code) 1964: Baran applicazioni militari 1967: ARPAnet Advanced Research Projects Agency 1969: ARPAnet in funzione 1972: ARPAnet : dimostrazione pubblica NCP (Network Control Protocol) protocollo hosthost e mail ARPAnet: 15 nodi 15/03/04 42
Internet 1972 1980: Internetworking 1970: ALOHAnet reti via satellite (Hawaii) 1973: Metcalfe: Ethernet 1974: Cerf e Kahn: interconnecting networks Fine Anni 70: Reti proprietarie: DECnet, SNA, XNA 1979: ARPAnet : 200 nodi Cerf e Kahn s internetworking: minimalism, autonomy no internal changes required to interconnect networks best effort service model stateless routers decentralized control 15/03/04 43
Internet 1980 1990: 1983: definizione dei protocolli TCP/IP 1982: smtp per e mail 1983: DNS 1985: ftp 1988: TCP: controllo della congestione Reti nazionali: Csnet, BITnet, NSFnet, Minitel 100000 di host connessi in rete 15/03/04 44
Internet 1990: WWW 1990: WWW ipertesti [Bush 1945, Nelson 1960] HTML, http: Berners Lee 1994: Mosaic, poi Netscape Fine anni 90: B2C 50 milioni di computer in Internet 100 milioni di utenti backbone 10 Gbps 15/03/04 45