Indirizzi Internet
Transcript
Indirizzi Internet
Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema Client – Server Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo HTTP Client (Browser) Server Web Meccanismi di comunicazione e naming di Internet TCP / IP DNS Come rintracciare un nodo Internet, è un vasto insieme di reti (collegate tra loro dai router) diffuse in tutto il mondo, sul quale sono state sviluppate numerose applicazioni, tra cui il WWW. Si è visto che per rintracciare una risorsa Web si ricorre all’URL, ma in realtà che cosa accade fisicamente (a livello macchina) quando si ricerca un nodo della rete? La chiave del problema sono gli indirizzi internet, detti indirizzi IP. (IP=Internet Protocol) Indirizzi Internet Per fornire un servizio di comunicazione universale (ogni nodo della rete può comunicare con ciascun altro) occorre un metodo che identifichi univocamente ciascun nodo o host. Ad ogni nodo è assegnato un unico indirizzo internet (indirizzo IP) rappresentato da un numero (in base 2) a 32 bit, quindi per esempio: 00101011 01101001 11010101 11011010 ci possono essere 232 ≈ 4,3 miliardi di indirizzi diversi Netid – Hostid L’indirizzo IP è suddiviso in 4 campi, ciascuno dei quali è formato da 8 bit, separati da un punto (dotted notation): 00101011 . 01101001 . 11010101 . 11011010 che in base 10 è: 43.105.213.218 Ogni indirizzo è formato dalla coppia ordinata (netid,hostid), dove: netid identifica la rete hostid identifica un host di quella rete Quindi tutti i nodi appartenenti ad una stessa rete condividono lo stesso netid, cioè il prefisso di rete. Classi di indirizzi Esistono 4 classi di indirizzi IP: Classe Classe Classe Classe A: B: C: D: da da da da 0.1.0.0 a 128.0.0.0 192.0.0.0 240.0.0.0 126.0.0.0 a 191.255.0.0 a 239.255.255.0 a 247.255.255.255 Schema delle classi di indirizzi IP Comunicazioni e Protocolli Tutte le comunicazioni in Internet sono regolate mediante protocolli I protocolli definiscono: Formato dei messaggi Ordine dei messaggi inviati e ricevuti tra dispositivi di Internet Azioni da effettuare al momento della trasmissione e della ricezione dei messaggi I protocolli utilizzati in Internet si basano sulla suite di protocolli TCP / IP Esempi di protocolli Packet Switching In Internet le informazioni non vengono di norma trasmesse per intero, ma vengono suddivise in pacchetti, che a seconda delle disponibilità della rete seguono tipicamente percorsi diversi: questa operazione si chiama packet switching. Analogia del Ristorante: Circuit switching = con prenotazione del tavolo Packet switching = senza prenotazione Pila di protocolli Internet (TCP/IP) Applicativo: supporta le applicazioni di rete: FTP, HTTP, SMTP… Trasporto: supporta i trasferimenti da host a host: TCP. Rete: trasferisce i pacchetti dal nodo del mittente al destinatario: IP. Link: effettua i trasferimenti dei dati tra componenti delle reti confinanti. Fisico: trasferisce i bit “su cavo” IP: Internet Protocol Protocollo per la consegna dei pacchetti da un host mittente ad un host destinatario. Caratteristiche Privo di connessione: ogni pacchetto è trattato in modo indipendente da tutti gli altri Non affidabile: la consegna non è garantita (i pacchetti possono essere persi, duplicati, ritardati, o consegnati senza l’ordine di invio) Consegna con impegno: tentativo di consegnare ogni pacchetto (l’inaffidabilità deriva dalle possibili congestioni della rete o guasti ai nodi/router) TCP: Transmission Control Protocol (livello trasporto) Protocollo che fornisce un livello di trasporto dell’informazione affidabile. Caratteristiche principali: Orientato al flusso dei dati: considera il flusso dei dati dall’host mittente fino al destinatario Orientato alla connessione: comprende l’instaurazione, l’utilizzo e la chiusura della connessione Trasferimento con buffer: i dati sono memorizzati in un buffer e poi inseriti in un pacchetto quando il buffer è pieno Connessione full duplex (bidirezionale): è possibile il trasferimento contemporaneo in entrambe le direzioni della connessione. Schema protocolli TCP/IP Flusso del traffico TCP: esempio “Identificatori” in Internet Le persone hanno molteplici “identificatori”: nome, numero di passaporto, codice fiscale … I telefoni sono denotati da un unico numero I disposirivi collegati a internet (host, router) hanno due identificatori: Indirizzo IP (numero di 32 bit): utilizzato per indirizzare e instradare i pacchetti nella rete Hostname (stringa alfanumerica): nome logico utilizzato dalle persone Hostname Dato lo scopo rivolto verso l’utente, all’hostname si preferiscono attribuire nomi mnemonici. DOMINIO Es.: nome del computer e posizione sun11.dsi.unimo.it Nome del computer Italia Dipartimento di Scienze dell’Ingegneria Università di Modena DNS: Domain Name System Realizza uno spazio di nomi gerarchico e permette la traduzione del nome mnemonico di un host in un indirizzo IP. Es: Hostname: sun11.dsi.unimo.it Indirizzo IP: 134.56.26.68 (10000110.00111000.00011010.01000100) Implementa un meccanismo efficiente (mediante name servers), distribuito su scala geografica, per convertire un hostname in un indirizzo IP e viceversa. Schema dei domini maggiori Sistema DNS: Meccanismo di risoluzione Nessun Name Server ha tutte le corrispondenze tra Hostname e Indirizzo IP Esistono Name server locali: ogni ISP e organizzazione gestisce uno o più name server locali, che vengono invocati per primi dagli host dell’organizzazione stessa Name server autoritativi: relativamente ad un host, sono i name server che hanno la corrispondenza (hostname)(indirizzo IP) più aggiornata e corretta Name server radice(root name server): contattati dai name server locali quando non riescono a risolvere un indirizzo, contattano i name server autoritativi per quell’indirizzo. Sistema DNS: Esempio di risoluzione 1. 2. 3. L’host sun11.dsi.unimo.it vuole conoscere l’indirizzo IP dell’host star.dis.uniroma2.it Contatta il suo DNS locale Se necessario il suo DNS locale contatta il root DNS Se necessario, il root DNS contatta il DNS autoritativo per quell’indirizzo (o un DNS intermedio nel caso in cui non conosca un DNS autoritativo per quell’indirizzo) Approfondimenti sul WWW Confronto: naming di Internet e del Web INTERNET WORLD WIDE WEB DNS URL Host Risorsa Web Hostname Valore URL Azioni di un browser (1) Fase di lookup Il browser acquisisce dall’utente l’URL da richiedere Il browser invoca il name server per conoscere, tramite il sistema DNS, l’indirizzo IP dell’URL cercato Se esistente, il DNS restituisce l’indirizzo IP Fase di richiesta Il browser attiva una connessione TCP con l’host che ha l’indirizzo IP individuato Sfruttando questa connessione, il browser richiede mediante il protocollo HTTP la risorsa specificata nell’URL. Il server Web invia la pagina richiesta Se vi sono oggetti allegati alla pagina, il browser effettua una richiesta per ciascuno di essi Fasi di una richiesta HTTP Azioni di un browser (2) Fase di visualizzazione Una volta inviati tutti gli oggetti il server chiude la connessione TCP Non appena riceve il primo file, il browser analizza come visualizzare sul monitor il testo contenuto nella pagina Il browser carica e mostra gli eventuali oggetti allegati alla pagina Nel caso in cui l’oggetto ricevuto è in qualche formato non direttamente interpretabile dal browser, questi può attivare un apposito programma plug-in che ne consente la visualizzazione. Richiesta di un oggetto statico Richiesta di un oggetto dinamico Ottimizzazioni Mirroring Proxy caching Sistemi Web paralleli (distribuiti localmente) Sistemi Web distribuiti (geograficamente) Server Proxy Nel caso più semplice la comunicazione tra client e server avviene direttamente Più in generale, ove non sia possibile o non conveniente che il client contatti direttamente il server,vengono utilizzati degli intermediari che possono essere di vari tipi, ma tra cui il più diffuso è il server proxy. Richiesta tramite server proxy Il server proxy agisce sia da server nei confronti del client Web, sia da client nei confronti del server Web Caching dell’Informazione I server proxy, nati come intermediari per consentire la comunicazione tra client all’interno di Intranet con server Web esterni, sono anche utilizzati come strumenti di caching (memorizzazione temporanea) dell’informazione MOTIVO: è elevata la probabilità che i client della stessa organizzazione possono essere interessati alle medesime informazioni Web Nel momento in cui tale informazione viene reperita per la prima volta da un server web, può essere conveniente memorizzarla nel server proxy, in modo che successive richieste per la stessa pagina provenienti dalla stessa rete possono essere soddisfatte localmente Proxy caching Ottimizzazioni dal lato server Web Sistemi Web Paralleli Sito Web distribuito geograficamente