La rete di reti: Internet
Internet: la rete di reti Internet q Internet (1) definita anche rete di reti composta da diverse reti interconnesse, cioè in grado di collaborare efficacemente in termini di comunicazione grazie ad un insieme di regole comuni denominati protocolli della rete internet (1) Interconnected Networks, ovvero Reti Interconnesse
Chiunque disponga di: Linea di comunicazione dedicata (ADSL, HDSL ) Software opportuni appoggiandosi ISP fornisce un accesso a Intenet Linea di comunicazione telefonica (ISDN, UMTS, ) INTERNET può accedere e utilizzare i suoi servizi. Ciò è reso possibile da una suite di protocolli di rete
I modelli di interazione-comunicazione tra calcolatori su internet vengono chiamate Architetture Esistono due modelli di Architetture: Architettura Architettura client / server Architettura peer to peer (P2P)
q Architettura client/server: risulta il modello più semplice e intuitivo da descrivere. Quando un Host A ha bisogno di usufruire di un servizio di internet, ad esempio: un file da scaricare; richiesta di una pagina web; semplicemente chiede ad un Host B, opportunamente scelto dalla rete, che gli venga fornito il servizio in questione fa richiesta di un servizio Host A = client fornisce il servizio Host B = Server Osservazione: Risulta importante notare che l architettura client/server è asimmetrica ossia le due macchine rivestono ruolo non intercambiabili
Scambio di file MP3 Una macchina server detiene al suo interno dei file musicali (MP3). Se i generici Host vogliono scaricarsi i file musicali, è possibile farlo in un modo molto semplice. Il generico Host fa richiesta al server che a sua volta via FTP gli invia il file. Esempio di Architettura CLIENT/SERVER Il trasferimento non avviene tra due pari
q Architettura peer-to-peer (P2P): caratterizzata dal fatto che non solo i due Host sono intercambiabili, ma svolgono le stesse funzioni L architettura P2P nasce dall idea che non è necessario mantenere un server centrale se ci sono abbastanza utenti distribuiti e ciascuno di essi possiede alcuni file. fa richiesta del file Host A Host B
Scambio di file MP3 Ogni utente esegue sul calcolatore un applicazione specifica (e-mule..o il vecchio Napster). Quest applicazione, si collega al server, che detiene l elenco di calcolatori collegati in quel momento. E bene osservare che il server non detiene i file, che invece sono residenti su ogni macchina ad esso collegato. Il generico utente fa la ricerca di un file sul server lo trova e la richiesta arriva direttamente al calcolatore che possiede il file richiesto Esempio di Architettura PEER-TO PEER Il trasferimento avviene tra due pari
Accedere ad internet e usufruire dei servizi messi a disposizione è possibile grazie ad una suite di protocolli di rete Livello Livello APPLICAZIONI Livello di TRASPORTO Livello di INTERNET Suite di protocolli internet DHCP, HTTP, HTTPS, SMTP, POP3, IMAP3, FTP, SFTP, DNS, IRC, SNMP, SIP, RTPS, Telnet. TCP, UDP, SCTP, DCCP IP Livello di COLLEGAMENTO Ethernet, Wi- Fi, PPP, TOKEN RING Tale Suite è più propriamente chiamata protocollo TCP/IP in funzione dei due più importanti protocolli in essa definiti: TCP (Transmission Control Protocol) IP (Internet Protocol)
Per poter applicare il modello TCP/IP a tutti i terminali, cioè indipendentemente dal sistema operativo, il sistema di protocollo TCP/IP è stato scomposto in più livelli ciascuno con un compito preciso. Livello APPLICAZIONE Livello TRASPORTO Livello INTERNET Definendo Pila di protocolli Livello COLLEGAMENTO Il confronto tra ISO/OSI e TCP/IP è quindi d obbligo
Livelli ISO/OSI Livelli TCP/IP ² il IV livello è lo strato applicazione, che Livello di applicazione Livello di presentazione Livello di sessione Livello di trasporto Livello di rete Livello di collegamento dati Livello di fisico VS Livello di applicazione accorpa i tre livelli più alti (applicazione, presentazione, sessione) del modello di riferimento ISO-OSI. E' responsabile dell interfaccia utente e della Livello di trasporto presentazione dei dati. Livello di Internet ² il III livello è lo strato di trasporto, Livello di collegamento corrispondente al livello di trasporto 4 del modello di riferimento ISO-OSI. Il TCP è quello più importante ² il I livello è lo strato di collegamento con la rete, corrispondente ai primi due livelli del modello di riferimento ISO-OSI. In questo livello i pacchetti provenienti dal livello di internet vengono incapsulati in frames (trame) per essere trasmessi attraverso un mezzo fisico, o onde radio nel caso di reti senza fili. ² il II livello è lo strato di internet, corrispondente al livello di rete 3 del modello di riferimento ISO-OSI. Il livello di rete è responsabile dell indirizzamento logico dei dispositivi di rete e del passaggio dei pacchetti tra una rete e l altra.
TCP/IP ebbe un successo tale che, dopo gli anni 90, gli anni della maturità dell'iso/osi, sembrava essere l unica interessare il mercato. Anche gli enti di standardizzazione nazionali e internazionali si arresero davanti alla massiccia diffusione di TCP/IP e dargli la stessa dignità di ISO/OSI, che oggi rimane quello per cui è stato ideato, ossia un modello di riferimento. Livelli ISO/OSI Livelli TCP/IP Livello di applicazione Livello di applicazione Livello di presentazione Livello di sessione Livello di trasporto Livello di rete Livello di collegamento dati Livello di fisico VS Livello di trasporto Livello di Internet Livello di collegamento Ø La pila di protocolli TCP/IP è più semplice; Ø Quando nacque il protocollo OSI, il protocollo TCP/IP era già diffuso Ø Il TCP parte dai protocolli, mentre l OSI parte dai livelli
Prima di descrivere i principali servizi e protocolli di internet diamo alcune definizioni q Protocollo: insieme di regole e di convenzioni da rispettare perché due calcolatori possano comunicare q Servizio: prestazione fornita da una macchina servente (server) a una macchina cliente (client) che ne fa richiesta q Applicazione programma
Livello di Trasporto: TCP e UDP TCP (Transmission Control Protocol ) Le due principali funzioni sono quelle: q Orientate alla connessione : prima di poter trasmettere dati deve stabilire la comunicazione, negoziando una connessione tra mittente e destinatario, che viene esplicitamente chiusa quando non più necessaria. Esso quindi ha le funzionalità per creare, mantenere e chiudere una connessione. q Controllo del flusso informativo: Il protocollo TCP permette di assicurare il trasferimento dei dati in modo affidabile, Il protocollo TCP permette: alle due applicazioni di trasmettere contemporaneamente nelle due direzioni (full duplex) di ottimizzare l'utilizzo della rete anche in caso di congestione
Livello di Trasporto: TCP e UDP UDP (User Datagram Protocol ) Il protocollo UDP viene usato a volte in sostituzione del protocollo TCP. Risulta essere rispetto al protocollo TCP: q Meno affidabile: In quanto eventuali pacchetti persi non vengono recuperati q Più veloce: dovuto proprio al fatto che non effettua controlli di pacchetti persi (come accade nel TCP) Un esempio di applicazione del protocollo UDP è l uso di video in streaming:
Livello di internet: IP IP (Internet Protocol ) Il protocollo IP si occupa di instradare i pacchetti sulla rete. Questo protocollo si basa principalmente su degli indirizzi numerici (numero IP) per instradare i pacchetti nella rete. q non garantisce alcuna forma di affidabilità della comunicazione in termini di controllo di errore, controllo di flusso e controllo di congestione a cui quindi dovrà supplire il protocolli di trasporto di livello superiore (TCP)
IP numerico Indirizzo IP (Internet Protocol Andress ) L indirizzo IP è un numero che identifica univocamente un dispositivo collegato alla rete. Risulta necessario per l' indirizzamento indiretto tramite l'omonimo protocollo di rete IP ovvero per interconnettere (internetworking) più sottoreti diverse all'interno del protocollo TCP/IP Più esattamente l'indirizzo IP viene assegnato a una interfaccia (ad esempio una scheda di rete) che identifica l host di rete, che può essere un personal computer, un palmare, un router.
IP numerico L indirizzo IP numerico è una sequenza di 32 bit raggruppati in 4 gruppi da 8 bit 8 bit 8 bit 8 bit 1 0 0 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 8 bit Ogni gruppo di 8 bit è compreso tra 0 e 255 131.175.12.34 Ipoteticamente è possibile avere: 255 255 255 255 4.228.250.625 di computer in rete
Alcuni protocolli del livello Applicazioni Livello Livello APPLICAZIONI Suite di protocolli internet DHCP, HTTP, HTTPS, SMTP, POP3, IMAP3, FTP, SFTP, DNS, IRC, SNMP, SIP, RTPS, Telnet. q HTTP (Hypertest Transfert Protocol) è il protocollo di trasferimento di un ipertesto. Usato principalmente per la trasmissione di informazioni sul web q HTTPS (User Datagram Protocol Over Secure ) ha le stesse funzioni del protocollo HTTP. Funziona però in chiave crittografica, ossia dove la sicurezza del dato risulta essenziale q DHCP (Dynamic Host Configuration Protocol ) permette ai dispositivi di una certe rete locale di ricevere automaticamente una configurazione IP q SMTP (Simple Mail Transfer Protocol) è il protocollo standard per la trasmissione via internet di email q POP3 (Post Office Protocol) è il protocollo che permette mediante autentificazione l accesso ad un account di posta elettronica presente su un host q IMAP (Internet Message Access Protocol) E il protocollo di comunicazione per ricevere mail
Alcuni protocolli del livello Applicazioni -2 Livello Livello APPLICAZIONI Suite di protocolli internet DHCP, HTTP, HTTPS, SMTP, POP3, IMAP3, FTP, SFTP, DNS, IRC, SNMP, SIP, RTPS, Telnet. q FTP (File Transfert Protocol) è il protocollo di trasferimento dati tra due host q DNS (Domain Name System) : Abbiamo detto che i computer connessi ad internet sono identificati da un indirizzo IP. Anche i siti web sono raggiungibili attraverso un indirizzo IP, ma è un numero troppo complicato per essere ricordato per ognuno dei nostri siti preferiti. Nasce così il DNS (Domain Name System) che traduce questo numero in un indirizzo più 'umano' come www.nomesito.it. Il DNS è una tabella in cui ogni riga associa un indirizzo IP a un nome dominio. Spesso è fornito dal ISP q IRC (Internet Relay Chat) è il protocollo che consente sia la comunicazione diretta fra due utenti che il dialogo contemporaneo di interi gruppi di persone in stanze di discussione chiamate canali.
Problema del trasloco: 1. Abbiamo bisogno di traslocare casa. Le nostre cose dal vecchio appartamento devono essere trasportati nel nuovo appartamento, da un agenzia specializzata. 2. L agenzia si rivolge ad una ditta di trasporti e le conferisce l incarico 3. Gli operai impacchettano le cose da traslocare scrivendo sui pacchi nome ed indirizzo completo del della consegna 4. Alcuni oggetti troppo grandi vengono smontati in singoli pezzi, i quali saranno numerati per facilitare poi il montaggio. Il tutto viene posto in più scatole. 5. Le scatole vengono caricate su alcuni camion che si occupano di traportare il tutto a destinazione. 6. Alcuni camion seguiranno un percorso autostradale, mentre altri utilizzeranno la viabilità ordinaria 7. Alcuni operai dell agenzia scaricheranno i pacchi, verificano la numerazione delle scatole e si assicurano che nulla è andato perso (in caso contrario si attiveranno per rintracciare le cose perse), rimuoveranno etichette ed imballaggi e rimonteranno il tutto
Problema web browsing: 1. Nella barra degli indirizzi di un browser digitiamo un indirizzo: http://www.nomesito.com 2. Il browser contatta lo strato APPLICAZIONI in particolare il protocollo HTTP (protocollo di trasferimento di un ipertesto) sul nostro computer (l' agenzia di traslochi) che prende in carico la nostra richiesta ed invia al web server che ospita il sito la richiesta di stabilire una "connessione" ; 3. Il Web server riceve la nostra richiesta e instaura la connessione; (livello APPLICAZIONI) 4. Ora che abbiamo stabilito un canale di comunicazione col web server lo utilizziamo per chiedergli l'invio del file abcdef.html; (livello APPLICAZIONI) 5. Il Web server riceve la nostra richiesta e ci invia il file dopo averlo sezionato in "pacchetti" TCP/IP numerati (le scatole del trasloco) la cui quantità dipende dalle dimensioni del file; (livello TRASPORTO e INTERNET) 6. I pacchetti vengono trasmessi sui cavi delle varie reti che è necessario attraversare e non è certo che tutti seguano lo stesso percorso per giungere a destinazione; (livelli INTERNET e COLLEGAMENTO) 7. Il nostro browser riceve i pacchetti (non necessariamente nello stesso ordine in cui sono stati inviati) ed manda periodicamente al web server un ok di ricevuta o un messaggio che chiede la ritrasmissione dei pacchetti perduti o danneggiati; (livelli TRASPORTO e INTERNET) 8. Il nostro browser riassembla il file ricevuto "smontato" e lo visualizza. (livello APPLICATION)