Internet Introduzione alle comunicazioni tra computer Attenzione! Quella che segue è un’introduzione estremamente generica che ha il solo scopo di dare un’idea sommaria di alcuni concetti alla base di una rete di computer. Per questo motivo molti argomenti sono tralasciati e altri sono trattati sommariamente ed estremamente semplificati. Comunicazioni tra computer ● Può accadere che sorga la necessità di trasferire informazioni tra un computer ed un altro. Circuito vs. pacchetti ● Esistono due modelli di comunicazione: – Comunicazione tramite circuito: prima della comunicazione viene stabilito un canale di comunicazione dedicato tra mittente e destinatario che rimane attivo ed esclusivo per tutta la durata della comunicazione (Ex: le telefonate classiche) – Comunicazione a pacchetti: la comunicazione viene divisa in più pacchetti che viaggiano autonomamente su una rete condivisa; ogni pacchetto contiene l'indirizzo di destinazione a cui deve essere inviato il pacchetto stesso (ex: la posta). ● Internet funziona tramite comunicazioni a pacchetti. Comunicazioni locali ● ● Il sistema più semplice per interconnettere due o più computer è attraverso una scheda di rete, cioè una periferica in grado di trasmettere informazioni attraverso una rete di comunicazione di vario tipo ad altri adattatori presenti sulla stessa rete. Il tipo di rete più diffuso è il modello Ethernet su doppini intrecciati. Le schede di rete di questo tipo sono riconoscibili dal connettore RJ-45 ad otto contatti. Connessione Ethernet ● Spesso ai lati del connettore sono presenti due led che indicano la presenza di un segnale di rete e la velocità di comunicazione impostata. Modello ISO/OSI Il modello ISO/OSI è uno schema che descrive gli aspetti di una comunicazione tra computer a livelli crescenti di astrazione. Si compone di 7 livelli, ognuno dedicato ad un aspetto specifico della comunicazione. L7: Applicazione L6: Presentazione L5: Sessione L4: Trasporto L3: Rete (IP) L2: Collegamento (MAC) L1: Fisico Modello TCP/IP L7: Applicazione Il modello TCP/IP è una versione semplificata del modello ISO/OSI. L4: Applicazione L6: Presentazione L5: Sessione L3: Trasporto L4: Trasporto L2: Rete L3: Rete (IP) L2: Collegamento (MAC) L1: Collegamento L1: Fisico Il livello fisico Il livello fisico descrive tutti gli aspetti relativi al collegamento fisico degli adattatori di rete e alla trasmissione dei segnali sul tipo di collegamento utilizzato. ● Tipo di media: doppino, onde radio, etc. ● Tipo di segnali utilizzati per la trasmissione ● Tipo e forma degli adattatori ● Protocolli e segnali utilizzati per la gestione del collegamento, ad esempio la negoziazione della velocità ed il segnale di presenza rete Il livello di collegamento (MAC) Il livello di collegamento, detto a volte livello 2 o più semplicemente livello MAC (Media Access Control), descrive tutti gli aspetti relativi alla comunicazione di informazioni tra due o più adattatori presenti sulla stessa rete. In particolare il livello MAC, definisce gli indirizzi fisici degli adattatori, detti indirizzi MAC , da utilizzare per identificare in maniera univoca i vari adattatori presenti sulla rete e permettere l'instradamento delle informazioni. Indirizzi MAC ● Un indirizzo MAC è una sequenza di 12 cifre esadecimali raggruppate in 6 gruppi (corrispondenti a 6 bytes) : 00:1A:4F:33:1D:01 ● L'indirizzo MAC e' univoco a livello mondiale e definito al momento della fabbricazione dell'adattatore. Questo permette di identificare in maniera certa i destinatari dei pacchetti. Comunicazione a livello MAC ● ● ● ● A livello MAC le comunicazioni si svolgono a pacchetti di lunghezza prefissata. Ogni pacchetto viene marcato con l'indirizzo MAC dell'adattatore a cui deve essere inviato il pacchetto e quindi immesso sulla rete. La rete a livello MAC presenta il pacchetto a tutti gli adattatori connessi. L'adattatore di destinazione riconosce il proprio MAC all'interno del pacchetto, lo preleva e lo invia ai livelli superiori per l'elaborazione. Comunicazione a livello MAC/2 000000:000001 Mittente: 000000:000001 Destinatario: 000000:000002 E' per me! Lo guardo! Non è per me! Lo ignoro! 000000:000002 000000:000003 Segmenti di rete vs. LAN ● ● ● Un segmento di rete è un insieme di computer interconnessi a livello MAC. Una Local Area Network (LAN) è un insieme di computer interconnessi ed amministrati da un unico soggetto. Una LAN è composta spesso da un solo segmento di rete. A volte però può essere composta da più segmenti collegati tra loro tramite routers, computer dotati di più adattatori connessi a segmenti diversi in grado di spostare, quando necessario, i pacchetti da un segmento all'altro. Il livello di rete (IP) ● Il livello di rete, detto anche livello 3 o livello network o più semplicemente livello IP (Internet Protocol), definisce come i pacchetti devono essere instradati a livello globale (Internet). In particolare: – aggiunge un livello di indirizzamento dei pacchetti gestibile localmente, detto indirizzamento IP. Gli indirizzi IP ● ● ● Un indirizzo IP è rappresentato tramite 4 numeri compresi tra 0 e 255, separati da punti, ad es.: 10.0.0.1 L'amministratore locale di una LAN può assegnare ad ogni adattatore un indirizzo IP diverso, seguendo convenzioni definite a livello globale, ed utilizzare questi indirizzi per identificare il destinatario delle comunicazioni. Può accadere, a causa di errori di configurazione, che più computer abbiano lo stesso IP (conflitto di IP), pregiudicando le comunicazioni tra questi. Indirizzi IP vs. indirizzi MAC ● ● ● All'interno di un segmento di rete i pacchetti vengono sempre consegnati usando gli indirizzi MAC. Quando si usano gli indirizzi IP, prima della trasmissione vera e propria occorre scoprire quale indirizzo MAC è associato ad un dato indirizzo IP. Il protocollo ARP (Address Resolution Protocol) realizza l'associazione IP-MAC in maniera dinamica e trasparente. Protocollo ARP 000000:000001 10.0.0.1 Chi e' il 10.0.0.3? 000000:000002 10.0.0.2 Sono io il 10.0.0.3 ed ho MAC 000000:000003! 000000:000003 10.0.0.3 Instradamento a livello IP ● ● ● Le comunicazioni dirette tra computer a livello MAC sono possibili solo tra computer connessi allo stesso segmento di rete. Un computer è in grado di sapere se un destinatario è direttamente connesso oppure no confrontando l'indirizzo IP del destinatario con il proprio indirizzo IP e con la maschera di rete, detta anche subnet mask. Una subnet mask è composta da 4 numeri separati dal punto, ad es.: 255.255.255.0 Gateway predefinito ● ● Quando un computer deve comunicare con un computer non connesso sul suo stesso segmento, allora deve delegare la trasmissione al gateway predefinito per il segmento. Il gateway predefinito è un router connesso al segmento per cui svolge la funzione di gateway, che si preoccupa di consegnare i pacchetti diretti verso l'esterno del segmento seguendo regole di instradamento predefinite in vari modi. IP vs. gateway predefinito 10.0.0.1 255.255.255.0 20.0.0.1 è lontano. Il mio gateway è 10.0.0.254. Il pacchetto lo mando a lui! 10.0.0.254 255.255.255.0 10.0.0.254, questo è per il 20.0.0.1! 20.0.0.1, questo viene dal 10.0.0.1! 20.0.0.254 255.255.255.0 20.0.0.1 255.255.255.0 Instradamento su Internet ● ● Per raggiungere un computer fuori dal proprio segmento può essere necessario transitare attraverso più routers, seguendo un percorso all'interno di una maglia di collegamenti tra routers che connette tutto lo spazio raggiungibile. Quando un pacchetto raggiunge un router, viene esaminato l'indirizzo IP di destinazione contenuto nel pacchetto e quindi inoltrato verso il prossimo router connesso più vicino alla destinazione finale, seguendo regole di instradamento definite. Instradamento su Internet/2 200.0.0.1 lo conosco! Glielo mando 10.0.0.1 255.255.255.0 10.0.0.254, questo è per il 200.0.0.1! 200.0.0.1 va mandato a B C A B 200.0.0.1 255.255.255.0 200.0.0.1 va mandato a A 200.0.0.1 va mandato a C Nomi simbolici ● ● ● Il sistema DNS (Domain Name System) permette di indicare le destinazioni tramite nomi simbolici del tipo: marchi.usr.dsi.unimi.it. Prima di spedire il pacchetto ad un nome simbolico, il computer chiede ad un server prefissato, il server DNS, il corrispondente indirizzo IP associato al nome simbolico Una volta risolto il nome simbolico in un indirizzo IP, la comunicazione prosegue come sopra. Nomi simbolici/2 10.0.0.1 dog.unimi.it è il 10.0.0.2 DNS, chi è dog.unimi.it? foo.unimi.it → 10.0.0.1 dog.unimi.it → 10.0.0.2 cat.unimi.it → 10.0.0.3 pop.unimi.it → 10.0.0.4 Server DNS Configurazione di rete ● ● ● La configurazione di rete consiste nell'insieme dei settaggi che occorrono al computer per usare la rete: indirizzo IP, subnet mask, gateway predefinito, server DNS ed altro. Normalmente la configurazione di rete è impostata staticamente dall'amministratore del computer. Altre volte la configurazione viene caricata dinamicamente attraverso il protocollo DHCP (Dynamic Host Configuration Protocol): all'avvio il computer chiede al server DCHP tutti i settaggi che gli occorrono per connettersi alla rete. Alcuni comandi su Windows ● ● Dal prompt dei comandi di Windows è possibile usare il comando ipconfig per verificare la configurazione di rete correntemente impostata: ipconfig /all Dal prompt dei comandi è possibile verificare la raggiungibilità di un IP o nome simbolico attraverso il comando ping, es.: ping marchi.usr.dsi.unimi.it ping 159.149.145.177