330 likes | 456 Views
Reti di Calcolatori a.a. 2005/06 Lezione 3. 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 :
E N D
Reti di Calcolatori a.a. 2005/06 Lezione 3 Andrea Frosini
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, NONdefinisce i protocolli effettivi • • l’architettura di rete definisce, livello per livello, i protocolli effettivi Andrea Frosini
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 Andrea Frosini
OSI: principi del progetto • Ogni livello deve avere un diverso livello di astrazione • Ogni livello deve avere una funzione ben definita • I livelli devono essere isolati quanto più possibile • La scelta dei livelli deve: • - minimizzare il passaggio delle informazioni fra livelli • - evitare troppe funzioni in un livello e troppi livelli Andrea Frosini
I 7 livelli OSI Andrea Frosini
Host1 Router Router Host2 Protocollo Application Application Application Lv. 7 Protocollo Presentation Presentation Presentation Lv. 6 Protocollo Session Session Lv. 5 Session Protocollo Transport Transport Lv. 4 Transport Network Lv. 3 Network Network Network Data Link Lv. 2 Data Link Data Link Data Link Fisico Lv. 1 Fisico Fisico Fisico protocolli host-router protocolli router-router protocolli host-router Andrea Frosini
Flusso di dati nel modello OSI Host1 Host2 Router Router 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 Andrea Frosini
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 - trasmissionesimultanea in due direzioni oppure no - forma dei connettori Andrea Frosini
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) Andrea Frosini
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) Andrea Frosini
OSI – Livello Network Controlla il funzionamento della communication subnet. Alcune delle sue funzioni: • routingdei pacchetti: – routing statico(fissato ogni tanto e raramente variabile) – routing dinamico(costantemente aggiornato fra un pacchetto e l’altro) • gestione della congestionedella 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 datinel passaggio fra due reti diverse (indirizzi da rimappare, pacchetti da frammentare, protocolli diversi da gestire, . . . ) Andrea Frosini
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) Andrea Frosini
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) Andrea Frosini
OSI – Livello Session Permette agli utenti su diversi calcolatori di stabilire sessionidi 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 Andrea Frosini
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 Andrea Frosini
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. Andrea Frosini
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, architetturaTCP/IPe 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 Andrea Frosini
Livelli OSI e IPS a confronto Osserviamo ancora: I protocolli di IPS sono specificati tramite documenti (RFC) IPS è nata con requisiti di affidabilità e tolleranza ai guasti Andrea Frosini
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 Andrea Frosini
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 Andrea Frosini
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) Andrea Frosini
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 Andrea Frosini
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) Andrea Frosini
IPS – Livello Application II Successivamente sono stati aggiunti al livello molti altri servizi, quali: indirizzi simboliciDNS(Domain Name Service) sincronizzazione temporaleNTP(Network Time Protocol) booting via rete BOOTP(BOOTstrap Protocol) prelievo di posta elettronicaPOP(Post Office Protocol) news (gruppi di discussione) NNTP (Network News Transfer Protocol) esecuzione remota di procedure RPC (Remote Procedure Call) World Wide WebHTTP (HyperText Transfer Protocol) Attenzione! Questi sono servizi e protocolli, non applicazioni Andrea Frosini
IPS - protocolli e livelli Andrea Frosini
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 Andrea Frosini
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 Andrea Frosini
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) Andrea Frosini
Cosa considereremo? Durante l’intero corso ci baseremo su un modello di riferimento OSI modificato e insieme sui protocolli principali dell’architettura TCP/IP: Andrea Frosini
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. Andrea Frosini
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. Andrea Frosini
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. Andrea Frosini
Appendice – Unità di misura Attenzione alle unità di misura: gli stessi prefissi possono indicare multipli dell’unità diversia 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 … Andrea Frosini