Le reti e Internet Struttura e protocolli Informatica distribuita • Modello centralizzato: più utenti utilizzano uno stesso calcolatore attraverso terminali. • Modello distribuito: più calcolatori, di diverso tipo, sono in comunicazione attraverso una rete. Che cosa è una rete? Una rete è un insieme di nodi collegati da archi. nodo arco La capacità di una rete si dice banda, misurata in bit/secondo Tipi di reti • reti locali (LAN - Local Area Network) • reti metropolitane (MAN Metropolitan Area Network) • reti geografiche (WAN - Wide Area Network) Topologie di reti Lineare Punto a punto Circolare A Stella Seriale/parallelo 11001 11001 1 11001 1 0 0 1 Linea telefonica Sono di due tipi: 1) linea analogica (PSTN) vantaggi: già disponibile, costi contenuti svantaggi: lentezza 2) linea digitale (ISDN) vantaggi: veloce (banda passante massima di 128 Kbps), più connessioni contemporanee svantaggi: più costosa Modem Abbreviazione di “modulatoredemodulatore” è un dispositivi di trsmissione di dati digitali su linea telefonica analgica. Caratteristiche: • interno/esterno • velocità (oggi 50.000 bps - bit per secondo) • collegamento (porta seriale, USB, slot interno, ecc.) Digitale/analgico • digitale: informazione codificata su due segnali, 0,1 • analogico: informazione codificata su un insieme infinito, continuo di segnali (e.g. frequenze) elaboratore elaboratore digitale Modem digitale Modem analogico Instradamento (routing) Siano A e B due nodi della rete; l’instradamento di un messaggio tra A e B può essere: • fisso: esiste un solo percorso tra A e B • variabile: per ogni sessione viene creato un precorso tra AeB • dinamico: per ogni messaggio viene scelto un percorso tra A e B Che cosa è Internet? Internet è una WAN di scala planetaria, evoluta dalla rete militare americana ARPANET. Si tratta di una rete di reti, ossia di un sistema di comunicazione tra reti e sistemi eterogenei, oltre che geograficamente distribuiti. Internet è una rete pubblica, per cui si distingue dalle Intranet, o reti private locali, e dalle Extranet, o reti private esterne, che limitano l’accesso a gruppi di utenti autorizzati dai proprietari della rete. Principi di base • un protocollo universale, TCP/IP, per far dialogare tra loro hardware e sistemi operativi diversi • indipendenza del protocollo dal modo in cui la rete è fisicamente organizzata • il protocollo è un open-standard, cioè è pubblico La funzione del router: far dialogare reti diverse attraverso un unico protocollo Rete 1 Rete 2 router router Che cosa è un protocollo? Un protocollo di comunicazione è un insieme di regole che presiede allo scambio di informazioni tra nodi di una rete. Compiti di un protocollo: • associare ai nomi logici gli indirizi fisici dei nodi • scegliere il percorso • gestire i conflitti e gli errori. Es. TCP/IP - Transmission Control Protocol / Internet Protocol I livelli del protocollo TCP/IP • livello delle applicazioni: servizi di rete per l’utente • livello di trasporto: organizzazione dei dati per la trasmissione • livello di rete: indirizzamento ed instradamento dei dati • livello fisico: uso dei cavi ed invio di segnali fisici Un gioco di scatole cinesi La gerarchia in una trasmissione A A AB AB ABC ABC A B CD Internet Protocol (IP) L’IP ha il compito di organizzare i dati in uscita in pacchetti, datagrammi, recanti le informazioni circa la loro destinazione: infatti Internet è una rete a commutazione di pacchetto. Ciascun datagramma IP ha la capacità massima di 1500 byte. Inoltre IP deve provvedere all’instradamento dei messaggi: per far questo utilizza indirizzi numerici formati da 4 byte (32 bit), che si rappresentano con quattro numeri di massimo tre cifre (in realtà al più 256) separati da punti, ad esempio: 130.192.239.1 Indirizzi IP Un indirizzo IP ha la seguente struttura: in generale la parte sinistra dell’indirizzo indica una certa sottorete, mentre la parte destra indica il singolo host di quella sottorete. Quali gruppi di cifre formino la parte rete e quali la parte host dipende dalla classe della rete (le classi sono cinque: A, B, C, D, E): • nelle reti di classe A solo il primo byte indica la rete, gli altri tre indicano gli host: questi possono essere 16.777.214 • nelle reti di classe C i primi tre byte indicano la rete, e solo l’ultimo gli host che sono al più 256. Come viaggiano i dati Il protocollo analizza la parte rete dell’indirizzo: se la rete è quella locale, i dati sono inviati direttamente all’host indicato nell’indirizzo; altrimenti sono inviati al router (o gateway). Ogni router ha in memoria una tabella (tabella di routing) degli indirizzi dei router competenti di altre sottoreti (come gli uffici postali provinciali, regionali o nazionali) che conosce direttamente, più uno per gli indirizzi di rete che gli sono sconosciuti. Spedire dati a pacchetti: TCP Se la dimensione dei dati supera quella di un datagramma IP (1500 byte), interviene il protocollo TCP (Transmission Control Protocol) per suddividere i dati in tanti pacchetti, che verranno spediti separatamente e poi riassemblati una volta ricevuti (Internet è a commutazione di pacchetto). Altro compito del TCP è quello di controllare che la comunicazione vada a buon fine, attraverso un meccanismo di messaggi di conferma della ricezione avvenuta o di segnalazione di errori, onde la trasmissione venga ripetuta. Il Domain Name Service (DNS) In luogo degli indirizzi numerici gli utenti possono impiegare indirizzi simbolici, più facili da memorizzare: host sottodomini dominio pianeta.di.unito.it La struttura riflette l’organizzazione gerarchica in domini e sottodomini (ma è scritta al rovescio, anche rispetto al corrispondente indirizzo IP). La risoluzione, cioè la traduzione dal simbolico al numerico, spetta al Domain Name Service: un sistema di database distribuiti sulla rete. Applicazioni in rete ed architettura client-server Il client è un programma dotato di interfaccia utente, che consente di richiedere dati ed elaborazioni al server, ossia ad un host, mediante il suo indirizzo IP. Il server mantiene i dati e si occupa della loro elaborazione e trasmissione su richiesta. Il dialogo client-server è regolato da protocolli del livello delle applicazioni, tra i quali i più importanti sono: • Simple Mail Transfer Protocol (SMTP) per la posta; • File Transefer Protocol (FTP) per i file; • Hyper-Text Transfer Protocol (HTTP) per il Web. Client-Server: schema http://www.di.unito.it/~deligu router Internet client host server www.di.unito.it www.di.unito.it DNS server autoritative DNS server http://www.di.unito.it/~deligu router Internet client host server 130.192.239.1 130.192.239.1 DNS server autoritative DNS server http://www.di.unito.it/~deligu router Internet client 130.192.239.1 deligu/index.html host server DNS server autoritative DNS server http://www.di.unito.it/~deligu router client host server DNS server autoritative DNS server http://www.di.unito.it/~deligu router client host server DNS server autoritative DNS server http://www.di.unito.it/~deligu router client host server DNS server autoritative DNS server Tipologia di collegamento: diretto Il collegamento diretto è l’allaccio di un computer in una sottorete. La sottorete è a sua volta collagata ad un router cui l’Internet Assigned Number Authority (o una autorità delegata) abbia attribuito l’IP di un sottodominio (l’IP degli host della sottorete sono assegnati dal manager della rete locale). Il driver TCP/IP client deve essere istruito del suo IP e di quello del router: per questo i vari sistemi provvedono con opportune interfacce. Collegamento diretto: schema Tipologia di collegamento: commutato E’ questo il caso del collegamento attraverso la linea telefonica ed un provider. Il protocollo usato, il Point-to-Point Protocol (PPP), prevede che il provider disponga di un pacchetto di indirizzi IP, ciascuno dei quali viene dinamicamente assegnato al client al momento del collegamento; quindi riutilizzato quando la sessione di comunicazione sia conclusa ed un altro client richieda il collegamento. Ciò fa sì che il client, pur non essendo permanentemente collegato alla rete, sia un nodo della rete per tutta la durata del collegamento. Collegamento commutato: schema