Sistemi e Tecnologie della Comunicazione Lezione 1: introduzione e generalita’ sulle reti di trasmissione dati
Informazioni generali Docente: Alessandro Brunengo e-mail: alessandro.brunengo@ge.infn.it telefono: [353] 6317 lab: Dipartimento di Fisica, PF1, L107 orario preferenziale: prendere appuntamento Sito del corso: http://www.ge.infn.it/~brunengo/STC
Informazioni generali Orario delle lezioni: mercoledi’ ore 14-16 aula 711 venerdi’ ore 9-11 aula 711 Valutazione: prova orale 20-30 minuti, 3 domande non e’ prevista una prova intermedia Esami in date da definire (appelli a giugno, luglio, settembre, gennaio, febbraio)
Testi di riferimento Lucidi delle lezioni (sul sito del corso) A. S. Tanenbaum, “Reti di calcolatori”, IV ed., Prentice Hall W. Stallings, “Trasmissione dati e reti di computer”, Jackson Note: i lucidi costituiscono solo una traccia; la lettura del testo di riferimento e’ essenziale
Programma Generalita’ sulle reti di comunicazione Architettura delle reti e modelli di riferimento (OSI, TCP/IP) Phisycal Layer Funzionalita’ del livello fisico Caratterizzazione di dati, segnali, trasmissione Serie e trasformate di Fourier Caratterizzazione del segnale in frequenza Caratterizzazione del canale Alterazione delle trasmissioni dati Trasmissione dei segnali e codifica dei dati Multiplexing Mezzi trasmissivi
Programma (2) Data Link Layer (connessioni punto-punto) Funzionalita’ del livello di data link Framing Checksum e controllo errori Gestione della trasmissione Controllo di flusso Esempi di protocolli
Programma (3) Data Link Layer (connessioni broadcast) Protocolli di accesso al canale Protocolli Ethernet Altri protocolli LAN Wireless Bridging e switching Virtual LAN
Programma (4) Network Layer Funzionalita’ del livello di rete Algoritmi di routing Routing gerarchico Routing multicast e broadcast Controllo congestione Tunneling
Programma (5) Network Layer in TCP/IP IP: struttura del pacchetto ed indirizzamento ICMP ARP/RARP/BOOTP Protocolli di routing (RIP/OSPF/BGP) IPV6 (cenni)
Programma (8) Transport Layer Funzionalita’ del livello di trasporto Indirizzamento Connessione Controllo di flusso Il trasporto in TCP/IP (Protocolli TCP ed UDP)
Programma (9) Cenni sullo sviluppo di Internet Cenni sulla struttura della rete di Dipartimento e della rete Universitaria Cenni sulla struttura della rete di ricerca nazionale ed internazionale
Generalita’ sulle reti Esigenza emergente nel XX secolo: raccolta, trasferimento, archiviazione ed accesso ad informazioni (di tutti i tipi) Le reti di comunicazione telefono radio televisione Le reti di computer Convergenza della rete di comunicazione verso la rete di computer Introduzione storica: dati sulle telescriventi, sulla telefonia, su radio e tv Cenni ai diversi mezzi trasmissivi (guidati, onde eletrromagnetiche) Manipolazione delle informazioni: raccolta delle informazioni da sorgenti distribuite (esempio banche, aeroporti, esperimenti svolti in luoghi distanti), trasferimento in archivi centrali (database), manipolazione delle informazioni eseguite localmente o da remoto, accesso alle informazioni da remoto Evoluzione delle reti di calcolatori (da calcolatori centrali con accesso senza rete, alle reti di terminali, alla comparsa di calcolatori economici (prima workstation, poi PC) con rete di interconnessione, distribuzione del calcolo e necessita’ di accesso ai dati, quindi la interconnessione di reti locali e la realizzazione di una rete geografica, infine interconnessione di reti geografiche La digitalizzazione dei dati per il trasferimento e l’archiviazione, la possibilita’ di trattarle tramite programmi che girano su calcolatori, la digitalizzazione delle immagini e della voce, fa convergere le reti di comunicazione e le reti di computer.
Scopi ed applicazioni delle reti di calcolatori Condivisione delle risorse stampanti, scanner, fax, programmi, dati Accesso a risorse centralizzate potenza di calcolo, database, area di storage, accesso alla rete esterna, modelli client-server Comunicazione tra collaboratori e-mail, chat, phono e videoconferenza, lavagna virtuale Affidabilita’ e performance ridondanza dei servizi condivisi distribuzione del carico su piu’ server Scalabilita’
Evoluzione verso i servizi Servizi bancari/economici/finanziari acquisti, fatturazione, operazioni bancarie Servizi di accesso ad informazioni riviste, giornali, biblioteche, World Wide Web Comunicazione tra individui posta elettronica, video conferenza, chat, newsgroup Intrattenimento video on demand, giochi distribuiti la rete arriva fino a casa Fondamentale per l’evoluzione delle applicazioni della rete e’ la realizzazione di Internet accessibile da qualunque posto (ufficio, casa, albergo, internet point). Due parole su questa evoluzione. A partire dagli anni 90 le reti, in particolare per la disponibilita’ di accesso ad Internet da casa, hanno permesso di accedere a servizi di varia natura resi disponibili da aziende per l’utenza privata e commerciale. Esempi come banco posta, fatturazione telepass, operazioni bancarie (e banche virtuali), assicurazioni RC auto (ed altro)
Reti e sistemi distribuiti Una rete di computer e’ un insieme di calcolatori interconnesso L’accesso ad una risorsa remota presuppone la connessione esplicita verso un calcolatore della rete (es. terminale remoto, file transfer) Un sistema distribuito e’ un sistema di calcolatori (interconnesso) e software, che appaiono all’utente come una unica risorsa L’esistenza di diversi calcolatori e’ resa trasparente all’utente tramite software (e hardware) opportuno (es. database, WWW)
Componenti di una rete Calcolatori dedicati alla esecuzione dei programmi utente (host o end system) Sistema di interconnessione degli host (sottorete), costituito da linee di trasmissione (canali) elementi di commutazione (IMP: Interface Message Processor, Intermediate System) Una rete e’ costituita da calcolatori dedicati alla esecuzione di programmi utente, cioe’ applicativi (terminale remoto, web browser, client di posta, client di file transfer, client di database, applicativi peer-to-peer, …) o servizi (web server, mail server, file server, database server, remote desktop server, batch system server, …) che devono essere interconnessi. Questi si chiamano host o end system. La sottorete e’ il sistema che permette il trasferimento di dati tra gli host, ed e’ costituita da: sistemi di trasmissione, detti canali (linee guidate in rame o fibra ottica, o sistemi ad onde elettromagnetiche nell’aria o nel vuoto come ponti radio, connessioni satellitari, trasmissioni wireless, trasmissioni ad infrarossi) che hanno lo scopo di trasferire dati tra due oggetti direttamente interconessi elementi di commutazione (IMP: Interface Message Processor o Intermediate System) che hanno il compito di recapitare i dati dall’host trasmittente all’host destinatario, utilizzando i canali disponibili. Un IMP puo’ gestire piu’ canali, e deve scegliere il canale di uscita a cui inoltrare i dati ricevuti dai canali di ingresso La distinzione tra ES ed IS e’ logica, e non sempre fisica: la maggior parte degli oggetti e’ esclusivamente ES o esclusivamente IS, ma esistono calcolatori che svolgono entrambe le funzioni. E’ relativamente semplice configurare una macchina linux o windows per svolgere amche le funzioni di IS. Gli IS, a seconda delle funzioni specifiche che svolgono, possono essere chiamati bridge, switch, router o gateway (ne vedremo in futuro le caratteristiche e le differenze)
Caratteristiche di una rete Velocita’ di trasmissione Affidabilita’ Flessibilita’ Scalabilita’ Costi
Unita’ di misura bit: quantita’ minima di informazione (0 o 1) byte: insieme di 8 bit carattere: gruppo di bit costituente una informazione unitaria (generalmente pari a 1 byte) velocita’ di trasmissione dei dati: b/s = 1 bit al secondo (anche bps) Kb/s = 1000 b/s (Kbps) Mb/s = 1000 Kb/s (Mbps) Gb/s = 1000 Mb/s (Gbps) velocita’ di trasmissione dei simboli: baud = 1 simbolo al secondo se 1 simbolo trasporta N bit di informazione, 1 baud = N b/s
Unita’ di misura (2) Misure di tempo Misure di occupazione disco: secondo (s): misura base millisecondo (ms): 0.001 s ( s) microsecondo (µs): 0.001 ms ( s) nanosecondo (ns): 0.001 µs ( s) picosecondo (ps): 0.001 ns ( s) Misure di occupazione disco: kilobyte (KB): bytes (1.024 bytes) megabyte (MB): bytes (1.048.576 bytes) gigabyte (GB): bytes (1.073.741.824 bytes) terabyte (TB): bytes
Hardware di rete Le reti si possono classificare in categorie in funzione di: tecnologia trasmissiva: si distinguono reti broadcast, in cui gli oggetti connessi in rete condividono lo stesso mezzo trasmissivo (lo stesso canale) reti punto a punto, in cui ogni canale connette direttamente tra loro solo due oggetti per ciascuna tecnologia esistono diverse topologie, cioe’ diverse configurazioni di interconnessione tra gli apparati (host e IMP) dimensione: si distinguono LAN (Local Area Network): ufficio, edificio, campus MAN (Metropolitan Area Network): citta’, regione WAN (Wide Area Network): nazione, continente Internetwork: pianeta
Topologie broadcast
Reti broadcast La trasmissione dei dati di un host raggiunge sempre tutti gli altri. Sono possibili: trasmissioni unicast (verso un singolo host) trasmissioni multicast (verso gruppi di host) trasmissioni broadcast (per tutti gli host connessi) Protocolli semplici, alta affidabilita’ Va gestito il problema della allocazione del canale Frequente nelle reti di piccole dimensioni (LAN) La trasmissione di dati avviene in “pacchetti”. Le macchine hanno un indirizzo (numerico), ed i pacchetti contengono in testa l’indirizzo del destinatario e del mittente. Un host rileva il pacchetto, legge l’indirizzo e scarta i pacchetti non indirizzati a lui (e’ possibile ascoltare e memorizzare i pacchetti indirizzati ad altri se l’hardware della interfaccia ed il software che la gestisce lo consente: in questa caso si parla di modalita’ “promisqua”) Esistono indirizzi di gruppo per le trasmissioni multicast, ed un indirizzo globale per le trasmissioni broadcast Il protocollo e’ semplice perche’ non deve gestire l’inoltro dei pacchetti E’ semplice l’aggiunta o la rimozione di un nodo (solitamente non richiede un blocco della funzionalita’) La rete e’ affidabile perche’ non risente del guasto di uno dei suoi componenti (ma un guasto di una interfaccia puo’ rendere tutta la rete inutilizzabile) Problemi: il malfunzionamento del mezzo trasmissivo comporta il blocco totale della rete. Una macchina “impazzita” puo’ rendere inutilizzabile tutta la rete Il problema della allocazione si ha quando trasmissioni contemporanee interferiscono in modo da renderle incomprensibilii (segnasli elettrici sovrapposti). Esistono diversi meccanismi per risolvere questo problema. Un esempio e’ la comunicazione vocale in un gruppo di persone: sistema d interruzione spontanea con ripresa dopo intervallo random, sistema di richiesta ad un master (a scuola), sistema a slot temporale (in parlamento), sistema a chi ha la voce piu’ forte (non esiste corrispettivo nelle reti dati).
Topologie per reti punto a punto Completamente connessa: altamente affidabile, ma il costo di un nuovo nodo e’ impraticabile. Non scala Stella: ottima per connessioni affidabili (rete locale, terminal server), ampiamente utilizzata nelle reti locali. Unico punto critico. Albero (stella di stelle): evoluzione della rete a stella (diversi punti critici ma per il solo sottoalbero) Anello: soluzione economica in termini di costi per le linee, ma a rischio: un nodo rotto ferma la rete (ci sono soluzioni con doppi anelli) Irregolare: punto di incontro tra la rete ad anello e la rete completamente interconnessa: cresce l’affidabilita’ contenendo i costi. La rete telefonica ha una topologia “irregolare” nel back-bone, ad albero verso l’utenza. Internet ha una topologia mista. La parte di interconnessione ha topologia “irregolare”. Far notare che una connessione punto-punto si realizza anche tramite connessioni via radio (ponte radio), e che alcune tecnologie (cellulari, satellite) sono broadcast nel downlink, punto-punto nell’uplink)
Reti punto a punto Fino ad alcuni anni fa, utilizzata solo nelle reti di grandi dimensioni; ora alcune topologie (albero) sono diffuse anche per reti di piccole dimensioni Nelle topologie non completamente interconnesse va gestito il recapito dei dati dalla sorgente alla destinazione tramite l’inoltro a nodi intermedi, eventualmente attraverso cammini multipli
Reti locali (LAN) Reti che coprono un edificio o un campus (fino a qualche Km), tipicamente di proprieta’ e gestite da una unica organizzazione (private) In passato quasi esclusivamente di tipo broadcast – ora realizzate anche con topologie a stella e ad albero Velocita’ trasmissive elevate (da 10 Mb/s a 10 Gb/s) a basso costo Bassi tassi di errori trasmissivi Esempi di protocolli: Ethernet/Fast Ethernet/Gigabit Ethernet/10GE (bus ed albero) FDDI (anello e doppio anello) Token bus e token ring (bus ed anello) Esempi di reti locali: la rete del dipartimento, la rete dell’ospedale di S.Martino, la rete di una agenzia di una banca)
Reti metropolitane (MAN) Le reti metropolitane coprono distanze dell’ordine di decine di Km (tipicamente una citta’) Spesso sono una evoluzione in crescita di una o piu’ reti locali, con topologie tipiche di una rete geografica ma protocolli tipici di una rete locale generalmente di proprieta’ di una singola organizzazione Esempi di reti metropolitane: MAN Pisana, gestita dal servizio reti dell’ateneo di Pisa, connette piu’ di duecento entita’ differenti (universita’, enti comunali, provinciali e statali, ospedali, biblioteche, enti di ricerca, …); realizzata con una struttura quasi completamente magliata di IMP interconnessi in fibra ottica, cui afferiscono i canali verso gli utenti della MAN. Unige: interconnette tutti i siti dell’universita’ di Genova (particolarmente distribuita nella citta’). E’ una vera migrazione da una rete WAN verso una MAN (omogeneizzazione dei protocolli verso protocolli caratteristici delle reti locali, quali Ethernet). Ora dotata di un anello di backbone che garantisce ridondanza interna. Connessa ad Interner tramite GARR (da definire cosa sia).
Reti geografiche (WAN) Copertura di aree estese (una regione, una nazione, un continente, il pianeta) Topologie punto a punto Tassi di errore piu’ elevati (ma in calo con lo sviluppo della tecnologia) Velocita’ in passato piu’ basse che nelle LAN, ma lo sviluppo della tecnologia ha reso possibili velocita’ paragonabili o superiori (a costi elevati) Costituiscono spesso la sottorete di interconnessione tra reti locali Generalmente costituita da linee pubbliche Esempi: le reti che interconnettono le sedi remote di una azienda (ad esempio, la Fiat).
Interconnessione di reti Per interconnessione di reti (internet) si intende un insieme di reti (LAN, MAN, WAN) di diverse organizzazioni, potenzialmente differenti nella struttura e nei protocolli utilizzati, interconnesse. L’interconnessione e’ realizzata attraverso opportune apparecchiature (gateway) capaci di convertire all’occorrenza i protocolli di una rete nei protocolli dell’altra Il termine Internet definisce la internet globale che tutti conoscono
Standardizzazione Una tecnologia di interesse prima o poi viene prodotta a livello industriale L’esistenza di diversi produttori con implementazioni indipendenti ed incompatibili genera caos La definizione di standard e’ indispensabile: per poter far cooperare oggetti di produttori diversi perche’ aumenta il mercato dei prodotti che aderiscono allo standard Esistono standard de jure e de facto
ITU International Telecommunication Union Nasce come esigenza di definire uno standard per le telecomunicazioni tra i diversi paesi gia’ nel 1865 (prima telegrafia, poi telefonia) Nel 1947 diviene organismo delle Nazioni Unite Diviso in tre settori: ITU-R (comunicazioni radio) ITU-T (telecomunicazioni, noto fino al 1993 come CCITT) ITU-D (ricerca e sviluppo)
ITU (2) Costituito essenzialmente da governi nazionali e membri di settore (societa’ telefoniche, produttori di hardware, produttori di servizi nel settore) Ministreo delle Comunicazioni, FastWeb, Alcatel, TIM, Telecom Italia, Vodafone Omnitel, Wind Produce delle raccomandazioni (suggerimenti che i governi possono adottare o meno) ma spesso diventano standard riconosciuti Esempi: V.24 (EIA RS-232): comunicazione via porta seriale CCITT X.25: standard per la comunicazione dati di tipo circuit switching V.90: standard per la comunicazione via modem a 56 Kbps Tra le societa’ telefoniche, le varie PPT delle nazioni con unico fornitore di servizio, AT&T, Vodafone, …) Tra i prodittori Cisco, Nokia per gli apparati di rete, Motorola, Intel per i produttori di chip, Compaq, Sun tra i produttori di computer Tra i forintori di servizi nel settore, AOL, Sony.
ISO International Standard Organization Organizzazione che produce e pubblica gli standard internazionali (su tutto) Membri: gli organismi di standardizzazione nazionali dei paesi membri (89 nel 2004) ANSI (USA) uno dei membri principali UNI (Ente Nazionale Italiano di Unificazione) per l’Italia L’ISO e’ membro dell’ITU
IEEE Institute of Electrical and Electronics Engineers La piu’ grossa organizzazione professionale del mondo Sviluppa ricerca e produce standards nei settori di ingegneria elettrica e computers I suoi standard spesso vengono adottati come standard internazionali. Ad es., sulle reti locali: IEEE 802.3 (Ethernet) IEEE 802.5 (Token ring) IEEE 802.11 (Comunicazione wireless)
Standard di Internet Molti degli standard adottati in Internet sono un esempio di standard de facto Alla creazione della prima rete embrionale Arpanet e’ stato creato un comitato per la sua supervisione (IAB: Internet Activities Board) In seguito all’ampliamento della rete si trasforma in organismo per “orientare gli sviluppatori” con nuovo acronimo (Internet Architecture Board) I rapporti tecnici che produce si chiamano RFC (Request For Comment), numerati sequenzialmente. Non hanno formalmente valore di standard, ma di fatto lo sono. Con la realizzazione di Internet l’informalita’ della gestione non regge piu’: vengono creati due organismi: IRTF (ricerca a lungo termine) IETF (soluzioni rapide a problemi specifici) Infine e’ stata creata la Internet Society, che elegge i membri di IAB. E’ piu’ una associazione di interessati che un organismo di standardizzazione.