Reti di Calcolatori a.a. 2005/06 Lezione 3 Reti di Calcolatori Andrea Frosini 1 La realtà nel mondo delle reti Esaminiamo due importanti realtà nel mondo delle reti: • OSI Reference Model • Internet Protocol Suite (architettura TCP/IP) Attenzione! Un modello di riferimento non è una architettura di rete: • il modello di riferimento definisce solo numero, relazioni e caratteristiche funzionali dei livelli, NON definisce i protocolli effettivi • l’architettura di rete definisce, livello per livello, i protocolli effettivi Reti di Calcolatori Andrea Frosini 2 Open Systems Interconnection Reference Model L'OSI (Open Systems Interconnection) Reference Model è stato realizzato dalla ISO (International Standard Organization). Ha lo scopo di: - fornire uno standard de iure per la connessione di sistemi aperti, cioè in grado di colloquiare gli uni con gli altri - fornire una base comune per lo sviluppo di standard per l'interconnessione di sistemi - fornire un modello rispetto a cui confrontare le varie architetture Reti di Calcolatori Andrea Frosini 3 OSI: principi del progetto 1. Ogni livello deve avere un diverso livello di astrazione 2. Ogni livello deve avere una funzione ben definita 3. I livelli devono essere isolati quanto più possibile 4. La scelta dei livelli deve: - minimizzare il passaggio delle informazioni fra livelli - evitare troppe funzioni in un livello e troppi livelli Reti di Calcolatori Andrea Frosini 4 I 7 livelli OSI Livello Nome Unità scambiata 7 Application APDU 6 Presentation PPDU 5 Session SPDU 4 Transport TPDU 3 Network paccheto 2 Data link Frame 1 Fisico bit Reti di Calcolatori Andrea Frosini 5 Host1 Lv. 7 Router Application Router Protocollo Application Host2 Application Protocollo Presentation Lv. 6 Presentation Presentation Protocollo Session Lv. 5 Session Lv. 4 Transport Lv. 3 Network Network Network Network Lv. 2 Data Link Data Link Data Link Data Link Lv. 1 Fisico Fisico Fisico Fisico Protocollo Transport protocolli host-router Reti di Calcolatori protocolli router-router Andrea Frosini Session Transport protocolli host-router 6 Flusso di dati nel modello OSI Host1 Router Router Host2 Attenzione: I protocolli dei 4 livelli superiori considerano solo gli host finali I protocolli dei 3 livelli inferiori considerano tutte le coppie di calcolatori coinvolte Reti di Calcolatori Andrea Frosini 7 OSI – Livello Fisico Ha a che fare con la trasmissione di bit "grezzi" su un canale di comunicazione Gli aspetti di progetto sono: - volti a garantire che la comunicazione avvenga in modo corretto (es. se viene inviato un 1, venga ricevuto un 1 e non uno 0) - riguardanti le caratteristiche meccaniche, elettriche e procedurali delle interfacce di rete (componenti che connettono l'elaboratore al mezzo fisico) e le caratteristiche del mezzo fisico Si caratterizzano, tra gli altri: - tensioni scelte per rappresentare 0 ed 1 - durata (in microsecondi) di un bit - trasmissione simultanea in due direzioni oppure no - forma dei connettori Reti di Calcolatori Andrea Frosini 8 OSI – Livello Data Link I Il suo scopo principale è, per quanto possibile, controllare gli errori di trasmissione ed evitare che tali errori, se riconosciuti, siano passati al livello superiore Deve quindi: • raggruppare i bit da inviare in PDU chiamate frame e aggiungere delimitatori al frame (framing) • inviare i frame in sequenza • aspettare un acknowledgment frame (ack) per i frame inviati Lunghezza del frame: dal centinaio al migliaio di byte (1 byte = 8 bit) Reti di Calcolatori Andrea Frosini 9 OSI – Livello Data Link II Il livello deve anche: • gestire gli errori di trasmissione: – errori in ricezione (un frame non viene completato) – perdita di frame (timeout per un ack) – duplicazione di frame (dovuta a perdita di un frame di ack) • realizzare meccanismi per l’invio dell’ ack: – con frame separati – con piggybacking (da pickaback, “portare sulle spalle”) • regolare il traffico (per impedire che il ricevente sia "sommerso" di dati) • per reti broadcast, arbitrare l’accesso al canale (sottolivello MAC) Reti di Calcolatori Andrea Frosini 10 OSI – Livello Network Controlla il funzionamento della communication subnet. Alcune delle sue funzioni: • routing dei pacchetti: – routing statico (fissato ogni tanto e raramente variabile) – routing dinamico (costantemente aggiornato fra un pacchetto e l’altro) • gestione della congestione della communication subnet (troppi pacchetti arrivano ad un router) • accounting (contabilizzazione) del traffico (gli operatori possono far pagare l’uso della rete in base al traffico effettuato) • conversione di dati nel passaggio fra due reti diverse (indirizzi da rimappare, pacchetti da frammentare, protocolli diversi da gestire, . . . ) Reti di Calcolatori Andrea Frosini 11 OSI – Livello Transport I Deve - accettare dati dal livello superiore, - frammentarli in pacchetti - passarli al livello network - assicurarsi che arrivino alla peer entity finale che si trova all'altra estremità della connessione - fare tutto ciò efficientemente - isolare i livelli superiori dai cambiamenti della tecnologia di rete sottostante E’ il primo livello end-to-end, cioè le peer entity di questo livello portano avanti una conversazione senza intermediari (senza avere cognizione dei livelli sottostanti) Reti di Calcolatori Andrea Frosini 12 OSI – Livello Transport II Compiti: - creazione di connessioni di livello network per ogni connessione di livello transport richiesta: - una connessione network per ciascuna connessione transport - molte connessioni network per una singola connessione transport - una singola connessione network per molte connessioni transport, con meccanismi di multiplexing - offerta di vari servizi al livello superiore: - canale punto a punto affidabile, che consegna dati in ordine e senza errori (il servizio più diffuso, connection oriented) - invio di messaggi isolati, con o senza garanzia di consegna (connectionless) Reti di Calcolatori Andrea Frosini 13 OSI – Livello Session Permette agli utenti su diversi calcolatori di stabilire sessioni di lavoro tra di loro Una sessione è analoga ad una connessione transport, però può fornire servizi supplementari quali: • controllo della direzione del traffico • sincronizzazione tra applicazioni sui diversi calcolatori basata su token management • frammentazione di lunghe attività (ad esempio, trasferimento di file) in tronconi eseguibili indipendentemente Reti di Calcolatori Andrea Frosini 14 OSI – Livello Presentation Si occupa della sintassi e della semantica delle informazioni da trasferire Servizi tipicamente svolti: • nell’ host di partenza, convertire tipi di dati standard (stringhe, interi …) da una rappresentazione specifica della sua piattaforma HW in una rappresentazione comune “on the wire” • nell’ host di arrivo, convertire la rappresentazione “on the wire” dei tipi di dati standard nella rappresentazione specifica della sua piattaforma HW Reti di Calcolatori Andrea Frosini 15 OSI – Livello Application Fornisce tutti i protocolli utilizzati dalle applicazioni comunemente usate all’utente. Ad esempio: • Posta elettronica • Terminale virtuale • Trasferimento di file • World Wide Web Attraverso l’uso di questi protocolli si possono scrivere e gestire applicazioni che offrono i servizi agli utenti finali. Reti di Calcolatori Andrea Frosini 16 Internet Protocol Suite La prima rete di grandi dimensioni fu Arpanet, sviluppata nell’ambito di un progetto di ricerca del DoD (Department of Defense) americano. Lo scopo era creare una rete estremamente affidabile anche in caso di catastrofi (o eventi bellici) che ne eliminassero una parte. Attraverso varie evoluzioni, ha dato origine alla attuale “Internet” Per integrare reti di tipo eterogeneo, si vide la necessità di una nuova architettura, mirata fin dall'inizio a consentire l'interconnessione di molteplici reti (internetwork) L'architettura divenne, più tardi, nota coi nomi di Internet Protocol Suite, architettura TCP/IP e UCP/IP reference model. Non è un modello nel senso stretto del termine, e include i protocolli specifici, descritti per mezzo di documenti detti RFC (Request For Comments). Utilizza - packet-switched - connectionless per l’interconnessione delle reti Reti di Calcolatori Andrea Frosini 17 Livelli OSI e IPS a confronto OSI IPS Application Application Presentation Session Transport Transport Network Internet Data Link Host-to-Network Fisico Osserviamo ancora: I protocolli di IPS sono specificati tramite documenti (RFC) IPS è nata con requisiti di affidabilità e tolleranza ai guasti Reti di Calcolatori Andrea Frosini 18 IPS – Livello Host-to-Network Corrisponde ai livelli Fisico e Data Link del modello OSI L’architettura TCP/IP non specifica nulla in questo livello: deve solo garantire che il calcolatore possa trasmettere pacchetti sulla rete I protocolli utilizzati possono dunque variare da calcolatore a calcolatore e da rete a rete Reti di Calcolatori Andrea Frosini 19 IPS – Livello Internet Permette ad un host di iniettare pacchetti in una qualunque rete e fare il possibile per farli viaggiare, indipendentemente gli uni dagli altri e magari per strade diverse, fino alla destinazione, che può essere situata anche in un'altra rete (connectionless). E' un servizio best-effort, ossia non affidabile. connectionless + best-effort = datagram E' definito un formato ufficiale dei pacchetti ed un protocollo, IP (Internet Protocol) Incombenze: - routing - controllo congestione Reti di Calcolatori Andrea Frosini 20 IPS – Livello Transport I Consente la conversazione delle peer entity (end-to-end). Sono definiti due protocolli in questo livello: TCP (Transmission Control Protocol): - è un protocollo connection oriented affidabile che frammenta il flusso in arrivo dal livello superiore in messaggi separati che vengono passati al livello Internet. - in arrivo, i pacchetti vengono riassemblati in ordine e senza errori in un flusso di output per il livello superiore - il servizio collegato gestisce anche il controllo della velocità di trasmissione (flow control) Reti di Calcolatori Andrea Frosini 21 IPS – Livello Transport II UDP (User Datagram Protocol): - è un protocollo connectionless non affidabile - il servizio riceve un pacchetto che invia all’entità di pari livello sull’ host destinazione - i pacchetti possono arrivare in ordine diverso da quello dell’invio, o non arrivare affatto Reti di Calcolatori Andrea Frosini 22 IPS – Livello Application I Non ci sono i livelli Session e Presentation (non furono ritenuti necessari; l'esperienza col modello OSI ha mostrato che questa visione è condivisibile). Le funzionalità dei due livelli devono essere realizzate direttamente dalle applicazioni che le richiedono (nessun supporto è fornito dall’architettura) Sopra il livello transport c'è direttamente il livello application, che contiene tutti i protocolli di alto livello che vengono usati dalle applicazioni reali I primi protocolli furono: Terminale virtuale Telnet Trasferimento file FTP (File Transfer Protocol) Posta elettronica SMTP (Simple Mail Transfer Protocol) Reti di Calcolatori Andrea Frosini 23 IPS – Livello Application II Successivamente sono stati aggiunti al livello molti altri servizi, quali: indirizzi simbolici DNS (Domain Name Service) sincronizzazione temporale NTP (Network Time Protocol) booting via rete BOOTP (BOOTstrap Protocol) prelievo di posta elettronica POP (Post Office Protocol) news (gruppi di discussione) NNTP (Network News Transfer Protocol) esecuzione remota di procedure RPC (Remote Procedure Call) World Wide Web HTTP (HyperText Transfer Protocol) Attenzione! Questi sono servizi e protocolli, non applicazioni Reti di Calcolatori Andrea Frosini 24 IPS - protocolli e livelli Application Transport Telnet Ftp Smtp TCP http Nntp ecc… UDP Internet IP Host-to-Network Standard per LAN e WAN Reti di Calcolatori Andrea Frosini 25 TCP vs. OSI I due modelli si somigliano perché • entrambi sono basati su una pila di protocolli tra loro indipendenti • ciascun livello nei due modelli ha funzionalità simili Il modello OSI è nato come modello di riferimento, solo più tardi è stato effettivamente realizzata una architettura corrispondente L’Internet Protocol Suite è nata come architettura di rete, e solo successivamente è stata considerata come un modello di riferimento Reti di Calcolatori Andrea Frosini 26 Pregi e difetti di OSI E’ un modello molto generale I livelli non sono ben progettati: – Session e Presentation sono praticamente inutili – Data Link è stato sdoppiato per le reti broadcast – funzionalità duplicate in vari livelli (ad es, gestione degli errori, addressing, controllo del flusso …) L’internetworking non è stato quasi considerato (si pensava a reti separate e gestite da ciascuno stato) A livello Transport e superiori, solo servizi connection-oriented Reti di Calcolatori Andrea Frosini 27 Pregi e difetti di IPS Descrive fedelmente l’architettura TCP/IP Non è applicabile ad altre architetture Non vi è chiara distinzione tra servizi, interfacce e protocolli Notevole successo commerciale (standard de facto) A livello Network (Internet), solo un servizio connectionless Molti protocolli del livello Application sono ormai obsoleti (ad es. TELNET) Reti di Calcolatori Andrea Frosini 28 Cosa considereremo? Durante l’intero corso ci baseremo su un modello di riferimento OSI modificato e insieme sui protocolli principali dell’architettura TCP/IP: Application Transport Network Data Link Fisico Reti di Calcolatori Andrea Frosini 29 Appendice – Autorità Internazionali I PTT (Post, Telephone and Telegraph): amministrazione nazionale che gestisce i servizi trasmissivi (Ministero delle Poste e Telecomunicazioni) ITU (International Telecomunication Union): organismo internazionale dell’ONU che emette le specifiche tecniche che devono essere adottate dalle varie nazioni per la radiofonia e la telecomunicazioni. CCITT (Comité Consultatif International Telégraphique et Teléphonique): fino al 1993, la sezione dell’ITU concernente le telecomunicazioni. Oggi chiamata ITUTSS (ITU - Telecommunication Standard Support), ne fanno parte i vari PTT (ministeri delle poste e telecomunicazioni) dei paesi membri dell’ONU. Reti di Calcolatori Andrea Frosini 30 Appendice – Autorità Internazionali II ISO (International Standard Organization): il principale ente di standardizzazione internazionale. ANSI (American National Standards Institution): rappresentante USA nell’ISO; è una organizzazione privata senza fini di lucro. UNINFO (UNIPREA): rappresentante italiano, per le reti, nell’ISO. IEEE (Institute of Electrical and Electronic Engineers): organizzazione professionale mondiale degli ingegneri elettrici ed elettronici; ha gruppi di standardizzazione sulle reti. Reti di Calcolatori Andrea Frosini 31 Appendice – Autorità Internazionali III IRTF (Internet Research Task Force): comitato rivolto agli aspetti di ricerca a lungo termine in merito alla rete Internet. IETF (Internet Engineering Task Force): comitato rivolto agli aspetti di ingegnerizzazione a breve termine della rete Internet. IAB (Internet Architecture Board): comitato che prende le decisioni finali su nuovi standard da adottare per Internet, di solito proposti da IETF o IRTF. Internet Society: associazione di membri interessati ad Internet, che elegge i componenti dell’IAB. Reti di Calcolatori Andrea Frosini 32 Appendice – Unità di misura Attenzione alle unità di misura: gli stessi prefissi possono indicare multipli dell’unità diversi a seconda di ciò che stiamo considerando velocità di una linea, cicli di un clock … in unità dimensione di una memoria, di un disco, di un DB … in byte 1012 Tera 240 109 Giga 230 106 Mega 220 103 Kilo 210 100 - 20 Quindi 1KB = 1024 byte, 1 MB = 1024*1024 = 1048576 byte … Reti di Calcolatori Andrea Frosini 33