• 460 likes • 591 Views
Reti di Calcolatori ed Internet. Vito Perrone. Corso di Informatica A per Gestionali. Indice. Modulazione e trasmissione dei dati Reti di calcolatori Topologia Messaggi e protocolli ISO/OSI Ethernet Architettura client/server Telefonia mobile Sistemi transazionali.
E N D
Reti di Calcolatori ed Internet Vito Perrone Corso di Informatica A per Gestionali
Indice • Modulazione e trasmissione dei dati • Reti di calcolatori • Topologia • Messaggi e protocolli • ISO/OSI • Ethernet • Architettura client/server • Telefonia mobile • Sistemi transazionali
Mezzi di trasmissione dati • Linea telefonica analogica (il doppino). • Modem su linea telefonica commutata 56 kbit/s • ISDN 128 kbit/s • ADSL 640 kbit/s, fino ad alcuni Mbit/s • Cavo coassiale • Su brevi distanze 107 bit/s • Su lunghe distanze 105 bit/s • Fibra ottica 10 Gbit/s • Onde elettromagnetiche • BlueTooth (brevissime distanze) 700 kbit/s • WiFi (decine/centinaia di metri) 56 Mbit/s • Via satellite
Modulazione e demodulazione • Modulazione: segnale digitale segnale analogico • Demodulazione: segnale analogico segnale digitale • La linea telefonica trasporta un segnale analogico (segnale portante) che viene modulato in modo da trasportare uno 0 oppure un 1 • Tecniche di modulazione del segnale portante: • Frequenza • Fase • Ampiezza
Modulazione di frequenza Segnale digitale da trasmettere Portante Segnale modulato in frequenza
Trasmissione dati • Modem: MOdulatore, DEModulatore • Linee dedicate (connessione permanente) o commutate (connessione temporanea, es. telefono) • Linee simpex (mododirezionali), half-duplex (senso unico alternato), full-duplex (bidirezionali)
Reti di calcolatori • Le reti di calcolatori collegano elaboratori, detti “nodi della rete”, situati ad una cerca distanza fra di loro, fornendo a ciascuno di essi vari “servizi di rete”, ossia funzionalità disponibili a tutti i calcolatori della rete stessa • Ogni rete è basata su di una certa topologia. Essa descrive le modalità con le quali si scelgono i calcolatori da connettere direttamente tra loro • Infatti, in una rete avrò: • Calcolatori connessi direttamente • Calcolatori che, per poter comunicare, devono far passare i messaggi attraverso altri elaboratori
Stella Anello Topologia • Nodo centrale che inoltra i messaggi • Semplice • Più nodi possono comunicare contemporaneamente • Collo di bottiglia (nodo centrale…) • Vulnerabile ai guasti del nodo centrale e della rete (unico collegamento) • Nessun nodo centrale: treni di messaggi • Nessun collo di bottiglia • Più nodi possono comunicare contempor. • Meno vulnerabile ai guasti della rete e di altri nodi (inversione direzione) • Più complesso • Più nodi da attraversare
Bus Irregolare Topologia • Nessun nodo centrale • Semplice • Nessun nodo da attraversare • Vulnerabile ai guasti della rete • Solo due nodi alla volta possono comunicare • Nessuna topologia precisa • Resistente ai guasti (se routing dinamico) • Più nodi possono comunicare contemporaneamente • Complesso • Più nodi da attraversare
Topologia • Le topologie a stella, anello e bus sono usate soprattutto nell’ambito delle reti locali (LAN – Local Area Network) • La topologia irregolare è molto diffusa tra le reti geografiche (WAN – Wide Area Network)
I messaggi • Le informazioni scambiate tra i nodi sono strutturate in messaggi • Ogni messaggio contiene i dati da comunicare ed un certo insieme di informazioni di controllo • Spesso la quantità di dati (byte) che è possibile inserire in un messaggio è fissa. Se un nodo deve inviarne un numero maggiore, è necessario utilizzare più messaggi
Dati da inviare Caratteri di controllo Fine messaggio Inizio messaggio Destinatario Mittente Sequenza di controllo Parte utile del messaggio Introduzione Struttura dei messaggi • La struttura dei messaggi dipende dallo standard utilizzato ma è possibile dare una descrizione generale:
Y X B A Routing dei messaggi • Se due nodi non sono connessi direttamente, il messaggio dovrà attraversare nodi intermedi • I nodi intermedi dovranno ricevere il messaggio e rispedirlo verso un nodo a loro connesso e più vicino alla destinazione (routing o instradamento) • Il caso più complesso è quello di una rete con topologia irregolare • Se A vuole comunicare con B, deve passare attraverso X, oppure attraverso X e Y • Il nodo X deve decidere quale strada usare (routing statico o dinamico)
Protocolli di rete • Un protocollo stabilisce le regole di comunicazione che debbono essere seguite da due interlocutori • A: Chiamata per B • B: Pronto, chi parla? • A: Sono A, sei pronto a ricevere dati? • B: Sì • A: Ecco i dati … bla bla bla … fine dei dati • B: Dati ricevuti con successo • A: Ciao • B: Ciao • Il protocollo stabilisce cosa fare in tutte le situazioni che possono verificarsi (errori, ecc.) • Deve essere conosciuto dai due interlocutori (quindi, deve essere uno standard)
Servizio di rete (trasferimento file, e-mail, …) 7. Livello applicazione 6. Livello presentazione Conversione formati (01/12/02 12/01/02) 5. Livello sessione Apertura e chiusura dialogo (Chiamata per B...Ciao) 4. Livello trasporto Segmentazione dati in più messaggi 3. Livello rete Routing (instradamento) 2. Livello collegamento dati Controllo correttezza messaggi (rispedisci se errori) 1. Livello fisico Specifiche Hw/Sw dipositivi fisici usati per connettere i nodi (Ethernet, cavo coassiale, …) Lo stack ISO-OSI (1) • Lo standard ISO-OSI (Open System Interconnect)include un insieme di protocolli che definiscono, a vari livelli di dettaglio, le regole di comunicazione • E’ spesso chiamato stack (pila) ISO-OSI
Lo stack ISO-OSI (2) • Ogni livello definisce dei protocolli che gestiscono, a quel livello di dettaglio, la comunicazione • Ciascun livello rappresenta una macchina astratta • Ogni livello (macchina astratta) dello stack assume di “parlare” con il medesimo livello (macchina astratta) dell’altro nodo ed è completamente ignaro di ciò che succede sotto di lui • E’ un modello di riferimento, i protocolli reali spesso implementano solo parzialmente lo stack
L7 Invia file “pippo.txt” Ricevi file L7 Converti file Converti file L6 L6 L5 Apri dialogo Chiudi dialogo L5 L4 L4 Segmenta file Ricomponi file L3 Invia msg1, msg2, … Ricevi msg1, msg2, … L3 L2 L2 Aggiungi dati controllo Verifica messaggi L1 Connessione fisica Connessione fisica L1 Lo stack ISO-OSI (3)
Lo stack ISO-OSI (4) • Il flusso dei dati, in realtà, “scende” lungo lo stack del nodo mittente e “risale” lungo lo stack del nodo destinatario • Durante la trasmissione: • Ogni livello aggiunge informazioni o modifica quelle provenienti dal livello superiore e le passa al livello inferiore • Durante la ricezione: • Ogni livello estrae le informazioni di suo interesse e passa quelle rimanenti al livello superiore
Lo stack ISO-OSI (5) Per es. invio filepippo.txt L7 L7 L6 Mittente L6 Destinatario L5 L5 L4 L4 L3 L3 L2 L2 L1 Rete fisica L1
Un esempio di LAN: ethernet • E’ una rete a bus (ma non solo…) • Serve un’interfaccia da installare sul PC (NIC) • 10 Mbit/s, 100 Mbis/s (fast-ethernet) , 1000 Mbit/s (giga-ethernet) • Usa cavi a doppino, coassiali o ottici di lunghezza limitata • Solo un nodo per volta può occupare il bus e trasmettere i dati • Un nodo non ha modo di sapere quando gli altri nodi inizieranno a trasmettere • Se due nodi trasmettono contemporaneamente?Si usa un protocollo detto “Carrier Sense Multiple Access / Collision Detection” (CSMA/CD)
Ethernet: protocollo CSMA/CD • Si pone al livello 1 dello stack ISO-OSI • I passi eseguiti dal protocollo sono: • Ogni nodo che fa parte della rete “ascolta” (carrier sense) per vedere se essa è libera o occupata • Se nessuno trasmette, tutti i nodi possono iniziare una comunicazione (multiple access): non c’è alcun nodo privilegiato rispetto agli altri • Se capita che più nodi inizino effettivamente a trasmettere insieme, gli stessi si accorgono del problema (collision detection), si fermano, aspettano un intervallo casuale (piccolo) di tempo e ritrasmettono il messaggio
Architettura client/server • Indica una modalità particolare di accesso allefunzionalità offerte da una rete • E’ Indipendente dalla topologia della rete • Una macchina particolare (detta server) offre una serie di servizi (disco condiviso, stampanti, database, ecc.) ed aspetta richieste • Le altre macchine (dette client) utilizzano i servizi offerti dal server • Quindi, il server generalmente si limita ad attendere che qualcuno lo contatti. Sono sempre i client ad iniziare il dialogo (chiedendo un certo servizio) • E’ molto usata. Anche in ambito Internet (DNS, Web,…)
Server Client Rete logica Client Per es. un sito Web Architettura client/server • Più client possono contattare contemporaneamente lo stesso server • Il server gestisce una coda di richieste nella quale accoda i messaggi provenienti dal client ed estrae quello che, in un dato istante, elaborerà
Telefonia mobile • Divisione del territorioin celle • Ogni stazione assegnaspecifiche frequenzedi trasmissione • Stazioni adiacenti gestisconolo spostamento di un utenteda una cella ad un’altra • Generazioni: • 1a: TACS; analogici • 2a: GSM; digitali, introduzione della SIM card • 3a: UMTS; digitali, alta velocità multimediali
Sistemi transazionali • transazione applicativa: ciascuna unità di interazione con il sistema in cui viene effettuata un’operazione elementare • Tipicamente, sono brevi unità di esecuzione • Molto spesso, la transazione richiede anche trasmissioni di dati (una o più transazioni ACID) • Tipicamente, si richiede che siano eseguite in tempi brevi • Nelle applicazioni finanziarie, ciascuna transazione informatica corrisponde a una transazione economica correttezza e sicurezza
Sistemi transazionali: Bancomat • Gestito dai Centri Informativi regionali delle varie banche • Coordinati dalla SIA (Società Interbancaria per l’Automazione) • ATM (Automatic Teller Machine); carta magnetica • Tre casi di richieste di denaro: • Richieste provenienti da carte emesse dalla banca pagante verifica locale, senza scambi interbancari • Richieste provenienti da carte emesse da una banca pagante gestita dallo stesso CI autorizzazione da parte di quel CI • Richieste provenienti da carte emesse da una banca pagante gestita da un diverso CI il CI della banca emittente verifica la validità della carta
Indice - Internet • Breve storia di Internet • Il protocollo di connessione • La posta elettronica e il World Wide Web
Breve storia di Internet • Un insieme di tecnologie, standard ed applicazioni in grado di connettere tra loro reti disomogenee (basate cioè su standard diversi), creando una sorta di “rete di reti”, ovvero una “inter-rete”, ovvero una Inter-Net • Nasce alla fine degli anni ’60 negli USA per scopi militari (ARPANET) • Negli anni ’70 nasce il protocollo fondamentale di Internet: TCP/IP • Negli anni ’80 è diffusa soprattutto in ambito accademico • All’inizio degli anni ’90 nasce il World Wide Web
Il protocollo TCP/IP • TCP/IP: il protocollo usato per connettere calcolatori e reti • E’ una combinazione di due protocolli: • TCP (Transmission Control Protocol): ha il compito di controllare la trasmissione dei dati sotto forma di pacchetti; corrisponde, più o meno, al livello trasporto ISO-OSI • IP (Internet Protocol): si occupa di trasmettere ciascun singolo pacchetto da un elaboratore all’altro; corrisponde, più o meno, con il livello rete ISO-OSI • Il meccanismo di routing è dinamico e tiene conto del carico della rete
Indirizzi Internet • Ogni nodo della rete ha un proprio indirizzo IP: • E’ un numero lungo quattro byte • In modo simbolico, viene scritto separando i valori dei singoli byte con dei punti (es. 127.123.45.156) • Le prime due parti identificano una “rete”, la terza una “sotto-rete” e la quarta uno specifico calcolatore su tale sotto-rete • A ogni nodo è assegnato anche un nome simbolico: • Indirizzo utente: nome simbolico dell’utente, simbolo @, nome del dominio dell’utente (es. ceri@elet.polimi.it) • Dominio: • Rappresenta il nodo su cui l’utente stesso risiede • La maggior parte dei domini ha tre parti • I domini devono essere trasformati in indirizzi numerici, i DNS (Domain Name Server) hanno questo compito
Telnet e ftp • Telnet: • E’ un protocollo per l’emulazione di un terminale • Usa l’approccio client-server, usando il comando telnet fornito ai client, è possibile divenire utente di un computer remoto • Il computer remoto deve avere in funzione il relativo programma server in grado di dialogare con il client telnet • ftp: • File Transfer Protocol: programma per il trasferimento di file • Usa l’approccio client-server
La posta elettronica • Messaggio: una stringa di caratteri di lunghezza e contenuto arbitrari • Il messaggio è composto da varie parti: • Mittente (from): indirizzo utente del mittente • Destinatario (to): indirizzo utente del destintario • Destinatario in copia (cc): indirizzo utente del destinatario in copia • Oggetto (subject): titolo e breve descrizione del messaggio • Testo del messaggio • E’ possibile utilizzare elenchi contenenti un ampio numero di utenti (le mailing list) al posto dell’indirizzo del destinatario • Gestita dal protocollo SMTP (Simple Mail Transfer Protocol) • Approccio client-server
Esempio • SMTP scambia varie informazioni con il server:
Il World Wide Web • Il World Wide Web (WWW) è un sistema per la gestione di documenti su Internet • Sviluppato al CERN di Ginevra • E’ un’evoluzione degli ipertesti • Sito Web: insieme unitario di documenti Web • Ogni sito Web ha una struttura gerarchica, con una pagina iniziale (home page) e una serie di documenti Web collegati tramite riferimenti (link) • I link possono fare riferimento a documenti Web che appartengono ad altri siti Web • Si crea così una “ragnatela” di connessioni tra le pagine Web che consente di “navigare” attraverso i siti Web
Standard del WWW • ULR (Uniform Resource Locator): il nome univoco di un documento sul Web • HTTP (HyperText Transfer Protocol): protocollo di trasferimento • HTML (HyperText Markup Language): linguaggio di descrrizione di un documento Web
Architettura del WWW • Il WWW segue l’approccio client-server : • Il browser: lato client; richiede le pagine al Web server e le visualizza • Il Web server: lato server; invia le pagine richieste • Pagine statiche, memorizzate sul file system • Pagine dinamiche, “assemblate” dinamicamente a partire da contenuti memorizzati – ad esempio – nei database • Il DBMS: lato server; contiene i dai usati per assemblare le pagine dinamiche • Una tipica interazione: • Il client (browser) si collega al Webserver tramite HTTP • L’utente, richiede l’accesso alle pagine Web, individuate tramite i loro indirizzi (URL) • Il browser contatta il server e richiede il documento • Il server Web estrae (o costruisce dinamicamente) la pagina e la invia al browser • Il browser interpreta la pagina (ovvero l’HTML di cui è composta) e ne visualizza il contenuto
Classificazione • Commercio elettronico (es. amazon.com) • Consultazione contenuti (es. giornali, biblioteca, …) • Funzioni di comunità (es. i portali) • Erogazione servizi (es. orario ferroviario) • Applicazioni intranet • Rivolte ad una singola rete locale (per es. una rete aziendale)
L’evoluzione del WWW • XML: linguaggio per la definizione dei documenti • Basato su tag, come HTML • A differenza di HTML, permette di definire nuovi tag • Usato anche come linguaggio per interscambio dati • Usato anche come linguaggio per definire basi di dati • Web Services:una collezione di standard che consentono di invocare dei “servizi” presenti su Internet • Ciascun servizio viene reso disponibile tramite “porte” • I dati vengono scambiati basandosi su XML