Reti di Calcolatori Alessandro Longheu http://www.diit.unict.it/users/alongheu [email protected] © 2005 – Alessandro Longheu Struttura del corso Introduzione Lo strato fisico Lo strato data link Il sottostrato MAC (sottostrato del data link) Lo strato network Lo strato trasporto Lo strato applicazione © 2005 – Alessandro Longheu Libro consigliato: Reti di Calcolatori (quarta edizione) Andrew S. Tanenbaum Pearson – Prentice Hall © 2005 – Alessandro Longheu Definizione - 1 Una Rete di Calcolatori è un insieme di elaboratori autonomi ed interconnessi. Autonomi: tutti hanno “pari dignità”, nessuno può controllare gli altri Interconnessi: tutti sono in grado di scambiarsi informazioni © 2005 – Alessandro Longheu Definizione - 2 NON SONO reti di calcolatori: Un sistema distribuito, che è una Rete di calcolatori + Software di gestione (middleware) che presenta la rete agli utenti come un unico sistema, assicurando coesione e trasparenza Internet, che è invece una rete di reti potenzialmente diverse fra loro Il WWW, che è invece un sistema distribuito che poggia su Internet © 2005 – Alessandro Longheu Scopi di una Rete 1. 2. 3. 4. Applicazioni aziendali Applicazioni domestiche Applicazioni mobili Risvolti sociali © 2005 – Alessandro Longheu Applicazioni Aziendali Scopi principali della rete in ambito aziendale: condivisione delle risorse, di solito basata sul modello client-server (diffuso anche in ambiti non aziendali). Risorse = programmi, periferiche, informazioni migliore comunicazione fra utenti (e-mail, videoconferenza) commercio elettronico (e-commerce) © 2005 – Alessandro Longheu Applicazioni Domestiche - 1 1. 2. 3. 4. Accesso a informazioni remote Comunicazione da persona a persona Intrattenimento interattivo Commercio elettronico © 2005 – Alessandro Longheu Applicazioni Domestiche - 2 1. Accesso a informazioni remote: quotidiani on-line (personalizzabili) biblioteche digitali (ACM, IEEE) © 2005 – Alessandro Longheu Applicazioni Domestiche - 3 2. Comunicazione da persona a persona: e-mail instant messaging (erede del talk) newsgroup peer-to-peer o P2P (non ci sono client e server predefiniti): napster, e-donkey, kazaa, … e-learning © 2005 – Alessandro Longheu Applicazioni Domestiche - 4 3. Intrattenimento interattivo: gioco d’azzardo (problemi legislativi) giochi collaborativi on-line video on demand © 2005 – Alessandro Longheu Applicazioni Domestiche - 5 4. Commercio elettronico: compravendita di merce nuova/usata (e-bay) transazioni finanziarie Sigla Sigla per esteso Esempio B2C Business-to-Consumer Ordinare libri on-line B2B Business-to-Business Ordine a fornitori G2C Government-to-Consumer Dichiarazione dei redditi on-line C2C Consumer-to-Consumer Aste on-line © 2005 – Alessandro Longheu Applicazioni mobili - 1 Esempi di contesti di utilizzo: ufficio mobile campus universitari aeroporti trasporti di merci e persone (taxi) militari © 2005 – Alessandro Longheu Applicazioni mobili - 2 Confronto mobilità – wireless: Wireless Mobile Tipiche applicazioni No No Stazioni di lavoro fisse No Si Dispositivo portatile connesso ad una presa di rete fissa Si No LAN in edifici non cablati (es. edifici storici) Si Si Portatili e PDA in ambienti wireless © 2005 – Alessandro Longheu Applicazioni mobili - 3 Applicazioni emergenti: gestione parchimetri gestione distributori di cibo e bevande telelettura contatori e rilevatori mobile commerce (m-commerce), basato su PDA wireless servizi georeferenziati (GPS) personal area network (wearable computer) © 2005 – Alessandro Longheu Risvolti sociali Problema dei contenuti offensivi, discriminatori o razziali Responsabilità degli operatori di rete Rischi per la libertà di comunicazione Nessun controllo sulla veridicità delle informazioni Furto di identità © 2005 – Alessandro Longheu Aspetti tecnici delle Reti Hardware di rete Classificazione LAN,MAN,WAN e Internetworking Wireless Reti Domestiche Software di rete Strati, protocolli, interfacce Progettazione degli strati Servizi e primitive Relazione fra servizi e protocolli © 2005 – Alessandro Longheu Classificazione - 1 Classificazione delle reti : Basata sulla tecnologia trasmissiva la topologia della rete, e quindi le caratteristiche della comunicazione Basata sulla scala dimensionale l’estensione fisica della rete, e quindi l’utilizzo della rete © 2005 – Alessandro Longheu Classificazione - 2 Considerando le tecnologie, esistono due principali topologie di rete: 1. le reti broadcast: un unico canale di comunicazione è condiviso da tutti i calcolatori 2. le reti punto-punto: ogni canale di comunicazione collega due diversi calcolatori della rete In generale, per le reti piccole si utilizzano topologie broadcast, mentre per le reti più estese si adottano topologie punto-punto. © 2005 – Alessandro Longheu Classificazione - 3 Nelle reti broadcast la comunicazione è basata su piccole sequenze di dati (pacchetti) In ciascun pacchetto è riportato un identificatore del calcolatore a cui i dati sono destinati. Ogni calcolatore riceve e legge tutti i pacchetti, ma considera solo quelli indirizzati a se stesso. E’ generalmente possibile indirizzare un pacchetto a tutti i calcolatori nella rete (broadcasting). Alcune reti permettono anche il multicasting, ossia l’invio di pacchetti ad un sottoinsieme dei calcolatori nella rete. © 2005 – Alessandro Longheu Classificazione - 4 Due tipiche topologie broadcast : bus, implementata dallo standard IEEE 802.3 (ethernet) anello, implementata dallo standard IEEE 802.5 (token ring) Stazione di lavoro Server Stazione di lavoro Stazione di lavoro Stazione di lavoro Server Stampante Stampante Rete ad anello Rete a Bus Stazione di lavoro © 2005 – Alessandro Longheu Classificazione - 5 Nelle reti punto-punto la comunicazione è ancora basata su piccole sequenze di dati (pacchetti). Per arrivare alla sua destinazione, ogni pacchetto deve attraversare più calcolatori Sono anche dette reti store-and-forward o packetswitched (commutazione di pacchetto) In generale esistono molti percorsi che portano alla stessa destinazione, quindi è necessario sceglierne uno: routing (instradamento) dei pacchetti. © 2005 – Alessandro Longheu Classificazione - 6 In base alla scala dimensionale, le reti si possono classificare in: reti locali reti metropolitane reti geografiche Distanza Ambito Tipo di rete 1m 10 m 100 m 1 km 10 km 100 km 1000 km 10 000 km 1 mq stanza edificio campus città nazione continente pianeta rete locale personale rete locale (LAN) rete locale (LAN) rete locale (LAN) rete metropolitana (MAN) rete geografica (WAN) rete geografica (WAN) rete di reti geografiche (Internet) © 2005 – Alessandro Longheu Reti locali LAN (Local Area Network) Hanno una dimensione massima prefissata (fino a pochi chilometri), quindi si conosce il ritardo massimo di un pacchetto Hanno un basso tasso d’errore Sono generalmente di tipo broadcast, con una velocità di trasmissione da 10 Mbps a 10 Gbps. Sono in genere basate su topologia a bus oppure ad anello (ring) © 2005 – Alessandro Longheu Reti metropolitane MAN (Metropolitan Area Network) Hanno una dimensione ben superiore alle LAN, coprono una intera città Negli Stati Uniti le prime MAN sono nate sfruttando la preesistente rete di televisione via cavo, riadattata per trasmissioni bidirezionali. © 2005 – Alessandro Longheu Reti geografiche WAN (Wide Area Network) - 1 Possono estendersi per intere nazioni o continenti, o su scala planetaria Sono costituite da due componenti distinte: un insieme di elaboratori detti host (i calcolatori che si intendono effettivamente collegare) una communication subnet che connette gli host tra di loro, costituita da: linee di trasmissione (anche dette canali o trunk) elementi di commutazione (anche detti switching element o router) © 2005 – Alessandro Longheu Reti geografiche WAN (Wide Area Network) - 2 Una WAN collega solitamente più LAN e MAN tra loro La communication subnet è in genere realizzata con una topologia punto-punto ROUTER SubNet Server Stazione di lavoro Stazione di lavoro Stazione di lavoro Stampante Server Stazione di lavoro Stazione di lavoro Stazione di lavoro Stampante Rete a Bus LAN Rete a Bus LAN © 2005 – Alessandro Longheu Reti geografiche WAN (Wide Area Network) - 3 Alcune communication subnet sono realizzate con topologia wireless oppure mista (ad es., quando basate su trasmissioni radio o satellitari). In tali casi possono essere in topologia broadcast li Up b nk m ea Do Router + Antenna Satellite lin wn m ea kb Router + Antenna Router + Antenna Router + Antenna Router + Antenna © 2005 – Alessandro Longheu Internetworking Si ha internetworking quando due o più reti (LAN, MAN, o WAN) sono connesse tra loro. Una internetwork (o semplicemente internet) non coincide con una WAN quando le reti connesse adottano tecnologie tra loro incompatibili in questo caso la internetwork comprende alcuni router detti gateway (o anche router multiprotocollo) che si occupano di effettuare le necessarie trasformazioni per i pacchetti che transitano da una rete all’altra Internet è una particolare internetwork © 2005 – Alessandro Longheu Reti wireless - 1 Comunicazione con segnale radio od ottico (laser, infrarosso) nell’etere. Generalmente con canale di comunicazione condiviso per segnali radio, con canale di comunicazione “punto-punto” per segnali ottici Il tasso d’errore della trasmissione è molto alto Usate per mobile computing e integrazione con la telefonia cellulare e satellitare Quasi tutte le reti wireless si interfacciano con la rete fissa (wired) preesistente © 2005 – Alessandro Longheu Reti wireless - 2 Categorie di reti wireless Connessioni all’interno di un sistema Wireless LAN Wireless WAN © 2005 – Alessandro Longheu Reti wireless - 3 Wireless Bluetooth: poca distanza bassa velocità paradigma master-slave © 2005 – Alessandro Longheu Reti wireless - 3 Wireless LAN uso di modem radio stazione base o P2P © 2005 – Alessandro Longheu Reti wireless - 4 Wireless WAN rete per cellulari tre generazioni: analogica, digitale voce, digitale voce e dati rispetto alle wireless LAN, hanno banda ridotta (1Mbps vs 50Mbps) ma distanze molto maggiori (km anzichè m) in futuro è prevista la banda larga a grandi distanze (IEEE 802.16) © 2005 – Alessandro Longheu Reti domestiche - 1 Consentono il collegamento di svariati dispositivi: Computer (desktop PC, PDA, periferiche condivise) Intrattenimento (TV, DVD, VCR, videocamera, stereo, MP3) Telecomunicazioni (telefoni, telefoni cellulari, citofoni, fax) Elettrodomestici (microonde, frigoriferi, orologi, condizionatori, lampade) Telemetria (contatori, allarmi, sistemi di sorveglianza) © 2005 – Alessandro Longheu Reti domestiche - 2 Una rete domestica vincente deve garantire: facilità di installazione (no reinstallazioni frequenti) facilità d’uso basso prezzo supporto per multimedialità supporto standard (IEEE 1394 vs USB 2.0) scalabilità (espandibilità) sicurezza Wireless (basso costo ma potenzialmente insicura) o wired? © 2005 – Alessandro Longheu Software di rete Strati, protocolli, interfacce Progettazione degli strati Servizi e primitive Relazione fra servizi e protocolli © 2005 – Alessandro Longheu Strati, Protocolli, Interfacce Per facilitare la progettazione, la verifica, l’implementazione ed il testing, le reti sono organizzate in livelli o strati (layers), ciascuno dei quali è costruito sopra il precedente Lo scopo di ogni livello è fornire servizi al livello immediatamente superiore, nascondendo i dettagli su come tali servizi sono implementati Ciascun tipo di rete ha: un diverso numero di livelli diversi nomi e funzioni associati a ciascun livello © 2005 – Alessandro Longheu Strati, Protocolli, Interfacce Location B Location A I like rabbits Message Philosopher J'aime bien les lapins 3 2 1 3 L: Dutch Ik vind konijnen leuk Fax #--L: Dutch Ik vind konijnen leuk Information for the remote translator Information for the remote secretary Translator Secretary L: Dutch Ik vind konijnen leuk Fax #--L: Dutch Ik vind konijnen leuk 2 1 © 2005 – Alessandro Longheu Strati, Protocolli, Interfacce Host 1 Host 2 Protocollo di livello 5 Livello 5 Livello 5 Interfaccia livello 4/5 Interfaccia livello 4/5 Protocollo di livello 4 Livello 4 Livello 4 Interfaccia livello 3/4 Interfaccia livello 3/4 Protocollo di livello 3 Livello 3 Livello 3 Interfaccia livello 2/3 Interfaccia livello 2/3 Protocollo di livello 2 Livello 2 Livello 2 Interfaccia livello 1/2 Interfaccia livello 1/2 Protocollo di livello 1 Livello 1 Livello 1 Mezzo Fisico © 2005 – Alessandro Longheu Strati, Protocolli, Interfacce Il livello n su un host “dialoga” con il livello n di un altro host (solo logicamente!) Regole e convenzioni della comunicazione a livello n sono indicate col termine protocollo di livello n Si determina in tal modo una gerarchia di protocolli (protocol hierarchies) Le entità logiche che portano avanti la conversazione a livello n sono dette peer entity (entità di pari livello) Ciascuna peer entity di livello n porta avanti il dialogo utilizzando i servizi offerti dal livello n - 1 © 2005 – Alessandro Longheu Strati, Protocolli, Interfacce Fra ogni coppia di livelli adiacenti c’è una interfaccia L’interfaccia definisce: i servizi offerti dal livello sottostante le operazioni primitive che possono essere richieste al livello sottostante Analogia con i sistemi operativi: l’interfaccia tra il livello superiore e quello inferiore è simile alle API (funzioni di libreria e chiamate di sistema) tra i programmi applicativi ed il sistema operativo © 2005 – Alessandro Longheu Strati, Protocolli, Interfacce © 2005 – Alessandro Longheu Strati, Protocolli, Interfacce Una collezione di livelli e relativi protocolli è chiamata architettura di rete Due host possono dialogare anche se utilizzano diverse piattaforme hardware e diversi sistemi operativi, purchè adottino la stessa architettura di rete L’insieme dei protocolli di una architettura utilizzati su un certo host viene detto pila di protocolli (protocol stack). In generale, non è detto che ci sia un protocollo per ogni livello. © 2005 – Alessandro Longheu Progettazione degli strati Problemi da affrontare: Addressing (indirizzamento host) Mono- o Bi- direzionale Numero canali logici Error Control (perdita pacchetti) Order Control (sequenza di pacchetti) Flow Control (sincronizzazione host) Fragmenting-Assembling Multiplexing (condivisione canale) Routing © 2005 – Alessandro Longheu Servizi e Primitive Gli strati possono offrire due tipi di servizi ai livelli sovrastanti: Connection-oriented (canale dedicato da negoziare) Connection-less (canale non dedicato) Per ognuno esistono diverse qualità del servizio: orientato alla connessione senza connessione Servizio Esempio Flusso affidabile (conferma ricezione) di messaggi (preserva confini) Sequenza di pagine Flusso affidabile di byte Login remoto Connessione inaffidabile (senza ritardo dovuto alla conferma) Voce digitalizzata Datagram inaffidabile e-mail spazzatura Datagram con conferma Posta raccomandata Request-Reply Interrogazione database © 2005 – Alessandro Longheu Servizi e Primitive Un servizio è formalmente specificato da un insieme di primitive, ossia le operazioni a disposizione per accedere al servizio Le primitive di solito sono chiamate di sistema o funzioni del kernel Le primitive per un servizio di tipo connectionoriented sono diverse dalle primitive per un servizio connection-less. © 2005 – Alessandro Longheu Servizi e Primitive Esempio di primitive che implementano un servizio connection oriented server client server client server © 2005 – Alessandro Longheu Servizi e Primitive Pacchetti trasmessi in una interazione client-server in una rete connection-oriented. © 2005 – Alessandro Longheu Servizi e Primitive Le primitive per un servizio connection less potrebbero essere soltanto due (REQUEST e REPLY ad esempio), tuttavia nel mondo reale un protocollo di questo tipo risulta spesso inadeguato (errori di trasmissione, perdita messaggi), da cui la coesistenza di entrambe le tipologie di servizio © 2005 – Alessandro Longheu Relazione tra servizi e protocolli Fissato un layer, le entità locale e remota comunicano tramite un protocollo La loro comunicazione consente ad entrambi di implementare il servizio che pretendono di offrire ai livelli superiori Mantenere separati servizio e protocollo permette la gestione (aggiornamento, modifica) del protocollo senza impattare sul servizio offerto © 2005 – Alessandro Longheu Architetture di rete - 1 Una architettura di rete può essere: proprietaria standard de facto standard de iure © 2005 – Alessandro Longheu Architetture di rete - 2 Architetture proprietarie Basate su scelte indipendenti ed arbitrarie di un costruttore Generalmente incompatibili con architetture differenti Raramente le specifiche sono rese pubbliche Esempi: IBM SNA (Systems Network Architecture), Digital Decnet Phase IV, Novell IPX, Appletalk © 2005 – Alessandro Longheu Architetture di rete - 3 Architetture standard de facto Basate su specifiche di pubblico dominio Largamente adottate a livello mondiale Esempio: Internet Protocol Suite (TCP/IP) © 2005 – Alessandro Longheu Architetture di rete - 4 Architetture standard de jure Basate su specifiche pubbliche Approvate da enti internazionali di standardizzazione Esempi: standard IEEE 802 (LAN), architettura OSI (Open Systems Interconnection), Decnet Phase V © 2005 – Alessandro Longheu Architetture di rete - 5 Considerando solo le architetture standard: ISO Reference Model – OSI (de jure), modello valido ma protocolli in disuso Internet Protocol Suite – TCP/IP (de facto), modello inesistente, ma protocolli realmente utilizzati © 2005 – Alessandro Longheu OSI Reference model – 1 Il modello di riferimento Open Systems Interconnection (OSI) è stato prodotto dalla International Standard Organization (ISO) standard de iure per la connessione dei sistemi aperti modello comune per confrontare le diverse architetture di rete non definisce protocolli specifici (tuttavia, ISO ha pubblicato standard separati per ogni strato) © 2005 – Alessandro Longheu OSI Reference model – 2 I principi guida del progetto OSI sono: Ogni livello deve avere un diverso livello di astrazione Ogni livello deve avere una funzione ben definita I livelli devono essere tali da: minimizzare il passaggio di informazioni tra i livelli evitare troppe funzioni in un livello evitare troppi livelli © 2005 – Alessandro Longheu OSI Reference model – 3 © 2005 – Alessandro Longheu OSI Reference model – 4 Physical layer: Ha a che fare con la trasmissione di bit “grezzi” sul mezzo fisico: deve fare in modo che se parte un bit “1”, arriva un bit “1”, e non un bit “0”, e viceversa Tipiche specifiche definite dal livello: tensioni scelte per rappresentare 0 ed 1 durata di un bit modalità di trasmissione simultanea forma dei connettori © 2005 – Alessandro Longheu OSI Reference model – 5 Data Link Layer: Il suo scopo principale è rilevare gli errori presenti nel mezzo trasmissivo. Per raggiungere lo scopo: raggruppa i bit da inviare in PDU chiamate frame (100-1000 byte) e aggiunge delimitatori al frame (framing) invia i frame in sequenza Aspetta un acknowledgment frame (ack) per i frame inviati (se è richiesto un servizio affidabile) Gli errori possibili sono: 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) Oltre il controllo di errore, realizza il controllo di flusso Nelle reti broadcast, si occupa anche dell’accesso al canale condiviso (sottostrato Medium Access Control o MAC) © 2005 – Alessandro Longheu OSI Reference model – 6 Network Layer: Controlla il funzionamento della communication subnet. Nelle reti broadcast è molto ridotto o assente Alcune delle sue funzioni: routing dei pacchetti: routing statico (fissato ogni tanto e raramente variabile) routing dinamico (continuamente aggiornato fra un pacchetto all’altro) gestione della congestione della communication subnet accounting (contabilizzazione) del traffico conversione di dati nel passaggio fra una rete ed un’altra (indirizzi da rimappare, pacchetti da frammentare, protocolli diversi da gestire, . . . ) © 2005 – Alessandro Longheu OSI Reference model – 7 Transport Layer: Fornisce un servizio punto-punto affidabile fra due entità (isola quindi i livelli superiori dalla tecnologia particolare della rete sottostante). Per ottenere questo: Frammenta i dati che arrivano dal livello superiore in pacchetti Trasmette i dati alla peer entity finale Utilizza connessioni di livello network: una connessione network per una connessione transport molte connessioni network per una conness. transport (alto throughput) una connessione network per molte connessioni transport (multiplexing) Controlla la congestione (flow control) Offre varie tipologie di servizio (connection-oriented affidabile, connectionless, broadcasting,. . . ) © 2005 – Alessandro Longheu OSI Reference model – 8 Session Layer 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 del dialogo (gestione turni di trasmissione) sincronizzazione tra applicazioni basata su token management frammentazione di lunghe attività (ad esempio, trasferimento di file) in tronconi rieseguibili indipendentemente © 2005 – Alessandro Longheu OSI Reference model – 9 Presentation Layer 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, . . . ) 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 dell’host © 2005 – Alessandro Longheu OSI Reference model – 10 Application Layer Fornisce tutti i protocolli utilizzati dalle applicazioni comunemente usate dall’utente. Ad esempio: Posta elettronica Terminale virtuale Trasferimento di file World Wide Web … © 2005 – Alessandro Longheu TCP/IP – 1 Internet deriva da ARPANET, una rete geografica di derivazione militare americana L’obiettivo fondamentale era l’affidabilità: la rete doveva continuare a funzionare anche se intere porzioni di essa fossero state distrutte Col tempo, Internet si è diffusa in tutto il mondo ed ha acquisito la capacità di integrare reti utilizzanti ogni tipo di tecnologia ed architettura L’architettura di Internet è chiamata Internet Protocol Suite, ed anche, impropriamente, architettura TCP/IP e TCP/IP reference model © 2005 – Alessandro Longheu TCP/IP – 2 OSI Model TCP/IP Model APPLICATION APPLICATION PRESENTATION SESSION TRANSPORT TRANSPORT NETWORK INTERNET DATA LINK HOST-TO-NETWORK PHYSICAL © 2005 – Alessandro Longheu TCP/IP – 3 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 © 2005 – Alessandro Longheu TCP/IP – 4 Livello Internet: E’ il livello fondamentale dell’architettura: permette agli host di inviare pacchetti su qualunque rete e instradarli verso la loro destinazione. Definisce un formato standard dei pacchetti Definisce un protocollo chiamato IP (Internet Protocol) Principalmente svolge compiti di routing dei pacchetti e controllo della congestione © 2005 – Alessandro Longheu TCP/IP – 5 Livello Transport: Consente la comunicazione tra le peer entity degli host sorgente e destinazione (“end-toend”) Sono definiti due diversi servizi, con relativi protocolli: un servizio connection-oriented affidabile (TCP) un servizio connectionless non affidabile (UDP) © 2005 – Alessandro Longheu TCP/IP – 6 Il servizio connection-oriented è affidabile ed è definito da un protocollo chiamato TCP (Transmission Control Protocol) Il servizio riceve un flusso di dati e lo spezzetta in pacchetti, che vengono ricomposti in ordine e senza errori dall’entità di pari livello sull’host destinazione Il servizio gestisce anche il controllo della velocità di trasmissione (flow control) © 2005 – Alessandro Longheu TCP/IP – 7 Il servizio connectionless è non affidabile ed è definito da un protocollo chiamato UDP (User Datagram Protocol) 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 © 2005 – Alessandro Longheu TCP/IP – 8 Livello Application: Fornisce tutti i protocolli utilizzati dalle applicazioni Poiché mancano i livelli OSI Session e Presentation, le relative funzionalità devono essere realizzate direttamente dalle applicazioni che le richiedono (nessun supporto è fornito dall’architettura) I primi servizi offerti, con relativi protocolli, erano: terminale virtuale TELNET trasferimento di file FTP (File Transfer Protocol) trasferimento di messaggi UUCP (Unix to Unix Copy Protocol) posta elettronica SMTP (Simple Mail Transfer Protocol) © 2005 – Alessandro Longheu TCP/IP – 9 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 NNTP (Network News Transfer Protocol) esecuzione remota di procedure RPC (Remote Procedure Call) World Wide Web HTTP (HyperText Transfer Protocol) © 2005 – Alessandro Longheu Confronto TCP/IP vs OSI – 1 Confronto fra i modelli e non fra i protocolli OSI distingue fra servizi, interfacce e protocolli, TCP/IP no OSI è stato inventato prima dei corrispondenti protocolli, il modello TCP/IP è nato in seguito, quindi OSI è generico ma vago, TCP/IP specifico ma non applicabile ad altre reti. Il numero di strati è differente OSI fornisce servizi connection-oriented e connection-less nello strato di network, ma solo c-oriented nello strato di trasporto, mentre TCP/IP offre solo c-less nello strato di network e sia coriented che c-less nello strato di trasporto (il più importante per le applicazioni) © 2005 – Alessandro Longheu Confronto TCP/IP vs OSI – 2 Il modello OSI non ha avuto successo a causa di: Poca tempestività (apocalisse dei due elefanti) Tecnologia scadente (modello troppo complesso e non sempre efficiente) Implementazioni carenti Incapacità politica (promosso da burocrati, odiato dai ricercatori) © 2005 – Alessandro Longheu Confronto TCP/IP vs OSI – 3 Il modello TCP/IP ha avuto successo, tuttavia: Servizi, interfacce e protocolli non sono distinti Non è un modello di validità generale Il livello host-to-network non è ben definito Il livello fisico e data-link non sono ben distinti L’implementazione dei protocolli in alcuni casi non è adeguata © 2005 – Alessandro Longheu Confronto TCP/IP vs OSI – 4 In conclusione: il modello OSI è valido, i suoi protocolli no il modello TCP/IP non è adatto, i suoi protocolli sono molto usati Si adotta quindi un modello ibrido: © 2005 – Alessandro Longheu Esempi di reti – 1 Internet Connection-Oriented Networks: X.25, Frame Relay, and ATM Ethernet Wireless LAN: 802.11 © 2005 – Alessandro Longheu Esempi di reti – 2 Internet: Negli anni ’50 gli USA temevano che un attacco nucleare sovietico potesse distruggere le loro comunicazioni militari, che poggiavano sulla rete telefonica (gerarchica e senza ridondanza) Il Dipartimento della Difesa (DOD) affida alla società RAND il compito di trovare una soluzione alternativa: una rete digitale a commutazione di pacchetto e distribuita Il progetto vede la luce solo dopo la costituzione dell’Advanced Reasearch Project Agency (ARPA): nascita di ARPANET (1969), e del TCP/IP (1974) © 2005 – Alessandro Longheu Esempi di reti – 3 Caratteristiche di ARPANET: I nodi principali (Interface Message Processors) sono minicomputer con memoria a nuclei magnetici da 12K Gli IMP sono collegati da linee a 56 kbps Si usano quattro protocolli: IMP-IMP, IMP sorgentedestinazione, IMP-host, host-host © 2005 – Alessandro Longheu Esempi di reti – 4 Per collegarsi ad ARPANET, le università dovevano avere un contratto con il DOD Per ampliare le possibilità, il National Science Fundation (NSF) crea una rete WAN aperta a tutte le università, basata su TCP/IP: nasce NFSNET I nodi (fuzzball) sono microcomputer collegati da linee a 56 kbps, che vennero ampliate a 448 kbps, 1.5 Mbps, 45Mbps (1990) Ingresso delle organizzazioni commerciali ed uscita del governo USA dalla gestione: da NSFNET ad ANSNET (gestita da un consorzio fra Merit, MCI ed IBM), venduta ad America On Line (AOL) nel 1995 Reti analoghe nel resto del mondo, ad esempio EuropaNET ed EBONE in Europa, con linee inizialmente da 2 Mbps e poi © 2005 – Alessandro Longheu da 34 Mbps Esempi di reti – 5 Nel 1983, il TCP/IP divenne il protocollo ufficiale e NFSNET ed ARPANET vennero interconnesse: nella metà degli anni ’80 nasce il termine Internet Un pc è “su Internet” se è in esecuzione la pila di protocolli TCP/IP, ha un indirizzo IP, ed è in grado di scambiare pacchetti con tutti gli altri pc I primi usi di Internet: posta elettronica, newsgroup, login remoto, trasferimento file Nascita del WWW nel 1990 al CERN ad opera di Tim Berners-Lee © 2005 – Alessandro Longheu Esempi di reti – 6 Architettura di Internet © 2005 – Alessandro Longheu Esempi di reti – 7 X-25, Frame-Relay e ATM: Internet promuoveva i servizi senza connessione per favorire la tolleranza ai guasti Le società telefoniche favorivano invece le reti orientate alla connessione per garantire una migliore qualità (preallocazione delle risorse in fase di negoziazione del canale) e per potere gestire la tariffazione Internet andrà in questa direzione per migliorare I flussi audio-video © 2005 – Alessandro Longheu Esempi di reti – 8 X-25, Frame-Relay X-25 fu la prima rete dati pubblica connectionoriented, attivata negli anni ’70 l’host che desidera comunicare con un host remoto effettua una telefonata per stabilire la connessione, alla quale viene assegnato un numero (12 bit) che identifica i relativi pacchetti Negli anni ’80, x-25 fu ampiamente sostituita dal frame-relay, che è connection-oriented ma senza controllo di flusso o errore Adatta per l’interconnessione di LAN, è usata ancora oggi © 2005 – Alessandro Longheu Esempi di reti – 9 ATM ATM (Asynchronous Transfer Mode) fu presentata negli anni ’90 come una rete connection-oriented in grado di integrare voce, video, dati fornendo elevate prestazioni Fu un fallimento, con cause simili a quelle del modello OSI, tuttavia è molto usata ancora oggi dalle compagnie telefoniche, solitamente nei circuiti di collegamenti interni dei carrier per il trasporto di pacchetti IP © 2005 – Alessandro Longheu Esempi di reti – 10 ATM ATM opera tramite connessioni denominate circuiti virtuali I dati sono trasmessi in unità chiamate celle, di piccole dimensioni (53 byte) per essere inoltrate direttamente in hardware dai router e per impegnare poco la linea ATM prevede il multicast hardware (copia della cella su più uscite) ATM fa viaggiare le celle con destinazione comune sullo stesso percorso. Non è garantita la consegna ma lo è l’ordine (TCP/IP non garantisce nemmeno quello) La velocità è di 155Mbps (per trasmettere tv ad alta definizione). Esiste anche da 622Mbps (4 canali da 155Mbps) o superiori © 2005 – Alessandro Longheu Esempi di reti – 11 Modello ATM, diverso da OSI e TCP/IP © 2005 – Alessandro Longheu Esempi di reti – 12 Modello ATM - 2 © 2005 – Alessandro Longheu Esempi di reti – 13 Modello ATM - 3 Tre dimensioni per diverse categorie di utilizzatori: utenti (trasporto dati), controllo (gestione connessione), gestione strati e plane (coordinamento strati, allocazione risorse) trasmissione in pacchetti affidata al livello di adattamento AAL: SAR per assemblare e disassemblare pacchetti in celle, CS per fornire servizi diversi ad applicazioni diverse (voce, video) © 2005 – Alessandro Longheu Esempi di reti – 14 Ethernet: Ethernet nacque dalla rete Hawaiiana, ALOHANET (primi anni ’70), basata su due canali radio, upstream e downstream Nata nel 1976, Ethernet è basata su un cavo condiviso per 256 host, lungo fino a 2.5Km con ripetitori ogni 500m ed una banda di 2.94Mbps Rispetto ad Alohanet, gli host ascoltano prima di trasmettere ed interrompono e posticipano la trasmissione in caso di collisione (protocollo Carrier sense multiple access collision detection CSMA-CD) Nel 1983 nasce l’Ethernet standard a 10Mbps, IEEE 802.3 © 2005 – Alessandro Longheu Esempi di reti – 15 Ethernet è de facto lo standard per le LAN, ma altre proposte sono esistite Token Bus (IEEE 802.4), promossa da General Motors, basata su un unico cavo (stessa topologia di Ethernet), ma per trasmettere occorre essere in possesso di un pacchetto (token) Token Ring (IEEE 802.5), promossa da IBM, simile al token bus ma il token viene propagato lungo la rete, e trattenuto e successivamente rilasciato dall’host che trasmette © 2005 – Alessandro Longheu Esempi di reti – 16 Wireless network: nate nella metà degli anni ’90 (IEEE 802.11), le reti wireless consentono la connessione via radio, in presenza di una stazione base (access point) o meno (ad-hoc networking) compatibile con Ethernet dal terzo livello (network) © 2005 – Alessandro Longheu Esempi di reti – 17 Problemi del wireless: portata trasmettitori (non applicabile l’ascolto del canale presente in Ethernet) riflessione segnale radio (multipath fading) software non progettato per la mobilità riassociazione host – access point per host in movimento Dopo la prima versione a 2Mbps, gli standard proposti sono: 802.11b (primo proposto), 11Mbps a 2.4Ghz 802.11a, 54Mbps a 5Ghz 802.11g, 54Mbps a 2.4Ghz © 2005 – Alessandro Longheu Standardizzazione delle reti – 1 Standardizzazione su tre fronti: telecomunicazioni standard internet © 2005 – Alessandro Longheu Standardizzazione delle reti – 2 Telecomunicazioni: situazione: da un lato gli USA, fortemente privatizzate (AT&T), dall’altro monopoli nazionali. Si va comunque verso la liberalizzazione del mercato, quindi è richiesta la compatibilità l’esigenza di compatibilità nasce già nel 1865, e portò alla nascita dell’ITU (International Telecommunication Union), divisa nei settori radio (ITU-R), telecomunicazioni (ITU-T) e sviluppo (ITU-D) L’ITU-T è anche nota come CCITT, ed emana raccomandazioni per telegrafia, telefonia e trasmissione dati © 2005 – Alessandro Longheu Standardizzazione delle reti – 3 Standard: ISO, nata nel 1946, che include membri come ANSI (USA), BSI (UK), AFNOR (Francia) e DIN (Germania) ISO e ITU-T cooperano per gli standard in telecomunicazioni Altri organismi sono il NIST (National Institute of Standards and Technology), ex National Bureau of Standards, e l’IEEE (Institute of Electrical and Electronics Engineers) © 2005 – Alessandro Longheu Standardizzazione delle reti – 4 © 2005 – Alessandro Longheu Standardizzazione delle reti – 5 Internet: creazione dell’Internet Activity Board (IAB) nel 1983 Lavoro basato su rapporti tecnici noti come Request for comments (RFC) Nel 1989, IAB viene diviso in IRTF (Internet Reasearch Task Force) e IETF (Internet Engineering Task Force), che si occupano rispettivamente di ricerca e sviluppo © 2005 – Alessandro Longheu