Indice. Introduzione... 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Indice. Introduzione... 1"

Transcript

1 Indice Introduzione Indirizzi IP Che cos è un indirizzo IP? Indirizzi riservati Le classi di reti Indirizzi IP privati Maschere di rete Creazione di sottoreti e maschere di sottorete (subnetting) - VLSM (Variable Length Subnet Masking) L utilità delle porte La funzione di multiplexaggio Che cos è un URL? Nomi di host DNS - Domain Name System Lo spazio dei nomi I server di nomi Risoluzione dei nomi di dominio Come funzionano i DNS? Domini di alto livello BIND File di zona File di zona per la risoluzione diretta del dominio esempio.com File di zona per la risoluzione inversa della rete

2 ii INDICE 3 Reti di calcolatori Modello di comunicazione a strati Modello ISO-OSI Modello Internet Cosa significa best effort Incapsulamento dei dati I protocolli del livello Internet Il protocollo IP Il protocollo ARP Il protocollo RARP Il protocollo ICMP I protocolli del livello trasporto Il protocollo TCP Il protocollo UDP Rilevare gli errori di trasmissione usando il checksum. 60

3 Introduzione Nel 1962, quando il comunismo montava in forza, l US Air Force chiede ad un gruppo di ricercatori di creare una rete di comunicazione militare capace di resistere ad un attacco nucleare. Il concetto di questa rete si basava su un sistema decentralizzato, che permetteva alla rete di funzionare nonostante la distruzione di uno o più terminali. Il modello di Baran Paul Baran è considerato uno degli attori principali nella creazione di Internet. Nel 1964, ebbe l idea di creare una rete sotto forma di una grande tela. Aveva capito che un sistema centralizzato era vulnerabile dato che la distruzione del suo nucleo provocava l annientamento delle comunicazioni. Mise quindi a punto una rete ibrida con architettura a stella e a maglie nella quale i dati si spostavano in modo dinamico, «cercando» il percorso più libero, e «aspettando» se tutte le strade erano occupate. Questa tecnologia fu chiamata «packet switching». L ARPANET Nell agosto del 1969, indipendentemente da ogni obiettivo militare, la rete sperimentale ARPANET fu creata dall ARPA (Advanced Research Projects Agency dipendente dal DOD, Department of Defense) per collegare quattro istituti universitari: Lo Stanford Institute;

4 2 INDICE L università della California a Los Angeles; L università della Californie a Santa Barbara; L università dello Utah. La rete ARPANET è oggi considerata come il precursore di Internet. Già all epoca prevedeva alcune caratteristiche fondamentali della rete attuale: Uno o più nodi di rete che potevano essere distrutti senza perturbare il suo funzionamento; La comunicazione tra terminali senza un terminale centralizzato intermedio; I protocolli utilizzati erano di base. Il concetto di rete nacque dall idea di collegare fra loro dei computer affinché potessero costituire una infrastruttura più affidabile. Ovviamente per raggiungere questo obiettivo è stato necessario mettere a punto dei collegamenti fisici fra i computer affinché essi potessero scambiarsi informazioni, ma anche, al fine di garantire la correttezza dello scambio di informazioni, definire linguaggi e regole di comunicazione tra i diversi computer. Linguaggi e regole di comunicazione costituiscono un protocollo di comunicazione. Su internet, sono usati numerosi protocolli che fanno parte di una serie di protocolli detta TCP/IP. TCP/IP è basato sull identificazione di ogni dispositivo di rete di ogni computer attraverso un indirizzo detto indirizzo IP che permette di inviare i dati all indirizzo giusto. Poi a questi indirizzi vengono associati dei nomi di dominio per permettere di ricordarsene più facilmente. Nel tempo si svilupparono reti di tipo eterogeneo; sorse quindi l esigenza di collegare queste reti tra loro (delle università ad esempio, o l esercito). I protocolli si sono quindi evoluti per permettere la comunicazione di tutte queste reti per formare la rete di reti, come una gigantesca tela di ragno (in inglese «web») fino ad una rete più vasta, che potesse contenere tutte le reti, per arrivare a quello che chiamiamo Internet. Su internet esistono diversi protocolli che permettono diverse modalità di comunicazione:

5 INDICE 3 IRC: Internet Relay Chat; HTTP: Hyper Text Transfer Protocol; FTP: File Transport Protocol; e molte altre cose. A ciascuno di essi viene assegnato un numero (la porta) che è trasmessa al momento della comunicazione (la trasmissione è effettuata con piccoli pacchetti di informazioni). Quindi, è possibile conoscere a quale programma corrisponde ogni piccolo pacchetto : i pacchetti HTTP arrivano sulla porta 80 e sono trasmessi al browser internet che ha fatto la stata richiesta; i pacchetti IRC arrivano sulla porta 6667 (o un altra posta generalmente verso la 7000) e sono trasmessi a un client IRC come mirc (o altro); Connettersi ad Internet La scheda di rete è l elemento del computer che permette di connettersi ad una rete attraverso delle linee previste per far transitare delle informazioni digitali. Il modem permette di connettersi ad una rete attraverso delle linee telefoniche. Alla scheda di rete è associato almeno un indirizzo IP, che permette di individuare il computer sulla rete. La connessione attraverso un modem è totalmente differente. In effetti, un modem permette di stabilire una comunicazione tra due computer attraverso una linea telefonica. Si può tuttavia avere accesso ad una rete (quindi per estensione a Internet) contattando un computer collegato (da un lato) a una o più linee telefoniche (per ricevere la chiamata) e (dall altro lato) ad una rete attraverso una scheda di rete. Questo computer appartiene generalmente al fornitore di accesso internet. Quando vi connettete con la sua intermediazione, vi presta un indirizzo IP che il computer manterrà durante la connessione. Ad ogni connessione esso attribuisce arbitrariamente uno degli indirizzi IP liberi che possiede. Se è

6 4 INDICE capace di fornirvi lo stesso indirizzo IP ad ogni connessione, si parla allora di «indirizzo IP fisso». Che cos è un protocollo? Un protocollo è un metodo standard che permette la comunicazione tra i processi (eventualmente su terminali diversi), cioè un insieme di regole e procedure da rispettare per emettere e ricevere dei dati su una rete. Ne esistono differenti secondo quello che ci si aspetta dalla comunicazione. Alcuni protocolli sono ad esempio specializzati nello scambio di file (FTP), altri possono servire per gestire semplicemente lo stato della trasmissione e degli errori (è il caso del protocollo ICMP)... Su internet, i protocolli usati fanno parte di una serie di protocolli (stack), cioè un insieme di protocolli collegati fra loro. Questa serie di protocollo si chiama TCP/IP. Essa contiene, fra l altro, i protocolli seguenti: HTTP FTP ARP ICMP IP TCP UDP SMTP Telnet SNMP NNTP

7 INDICE 5 Protocolli orientati e non orientati alla connessione I protocolli vengono generalmente classificati in due categoria secondo il livello di controllo dei dati che si desidera avere: I protocolli orientati alla connessione : si tratta di protocolli che operano un controllo di trasmissione dei dati durante una comunicazione stabilita fra due terminali. In uno schema simile, il terminale ricevitore invia delle notifiche di ricevimento durante la comunicazione, così il terminale emettitore ha la garanzia della validità dei dati che invia. I dati sono inviati sotto forma di flusso di byte. TCP è un protocollo orientato connessione. I protocolli non orientati alla connessione : si tratta di una modalità di connessione in cui il terminale emettitore invia dei dati al terminale ricevitore e quest ultimo riceve i dati senza inviare degli avvisi di ricezione. I dati sono così inviati sotto forma di blocchi (datagrammi). UDP è un protocollo non orientato connessione. Protocollo e implementazione Un protocollo definisce unicamente il modo in cui i terminali devono comunicare, cioè la forma e la sequenza dei dati da scambiare. Un protocollo non definisce invece il modo di programmare un software in maniera che sia compatibile con il protocollo. Viene così detta implementazione la traduzione di un protocollo in linguaggio informatico.

8 6 INDICE

9 Capitolo 1 Indirizzi IP 1.1 Che cos è un indirizzo IP? Su internet, i computer comunicano fra loro grazie al protocollo IP (Internet Protocol), che usa degli indirizzi numerici, detti Indirizzi IP, composti da 4 numeri interi (4 byte) compresi tra 0 e 255 e siglati sotto la forma di xxx.xxx.xxx.xxx. Ad esempio è un indirizzo IP. Questi indirizzi servono ai computer di rete per comunicare fra loro, quindi ogni computer di rete ha un indirizzo IP unico sulla rete stessa. E l ICANN (Internet Corporation for Assigned Names and Numbers, che ha sostituito l IANA, Internet Assigned Numbers Agency, dal 1998) ad essere incaricata di distribuire gli indirizzi IP pubblici, cioè gli indirizzi IP dei computer direttamente connessi alla rete pubblica internet. Un indirizzo IP è un indirizzo a 32 bit, solitamente scritto sotto forma di 4 numeri interi separati da punti. Nell indirizzo IP si distinguono effettivamente due parti: la parte dei numeri posti a sinistra designa la rete ed è chiamata ID di rete (in inglese netid), I numeri di destra designano i computer della rete stessa e sono detti host-id. Se la rete fosse essa potrebbe contenere gli indirizzi IP da a

10 8 Indirizzi IP Immaginiamo una rete con indirizzo I computer di questa rete potranno avere gli indirizzi IP che vanno da a Si tratta quindi di attribuire i numeri in modo che vi sia un organizzazione nella gerarchia dei computer e dei server. Quindi, più il numero di bit riservato alla rete è piccolo, più computer questa potrà contenere. 1.2 Indirizzi riservati Quando si annulla la parte host-id, cioè quando si sostituiscono con degli zero i bit riservati ai terminali di rete (ad esempio ), si ottiene quello che viene chiamato indirizzo di rete. Questo indirizzo non può essere attribuito a nessun computer della rete. Quando la parte netid è annullata, cioè quando i bit riservati alla rete sono sostituiti con degli zero, si ottiene l indirizzo del terminale. Questo indirizzo rappresenta il terminale specificato dall host-id che si trova sulla rete corrente. Quando tutti i bit della parte host-id sono a 1, l indirizzo ottenuto è detto l indirizzo di diffusione ( in inglese broadcast). Si tratta di un indirizzo specifico, che permette di inviare un messaggio a tutti i terminali posti sulla rete specificata con il netid. Al contrario, quando tutti i bit della parte netid sono a 1, l indirizzo ottenuto costituisce l indirizzo di diffusione limitata (multicast). Infine, l indirizzo è detto indirizzo di loopback, dato che designa il terminale locale (in inglese localhost). 1.3 Le classi di reti Gli indirizzi IP sono ripartiti in classi, secondo il numero di byte che rappresentano la rete. Classe A In un indirizzo IP di classe A, il primo byte rappresenta la rete. Il bit di peso forte (il primo bit, quello di sinistra) è a zero, il che significa che vi sono 2 7 p a q possibilità di reti, ossia

11 1.3 Le classi di reti possibilità. Tuttavia, la rete 0 (bit che valgono ) non esiste e il numero 127 è riservato per designare il vostro terminale. Le reti disponibili in classe A sono quindi le reti che vanno da a (gli ultimi byte sono degli zero che indicano che si tratta effettivamente di reti e non di computer!) I tre byte di destra rappresentano i computer di rete, la rete può quindi contenere un numero di computer uguale a computer. Un indirizzo IP di classe A, in codice binario, assomiglia a questo : 0 xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Rete Computer Classe B In un indirizzo IP di classe B, i primi due byte rappresentano la rete. I primi due bit sono 1 e 0, il che significa che vi sono 2 14 p a q possibilità di reti, ossia reti possibili. Le reti disponibili in classe B sono quindi le reti che vanno da a I due byte di destra rappresentano i computer della rete. La rete può quindi contenere un numero di computer pari a computer. Un indirizzo IP di classe B, in codice binario, assomiglia a questo: 10 xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Rete Computer Classe C In un indirizzo IP di classe C, i primi tre byte rappresentano la rete. I primi tre bit sono 1, 1 e 0, il che significa che vi sono 2 21 possibilità di reti, cioè Le reti disponibili in classe C sono quindi le reti che vanno da a

12 10 Indirizzi IP Classe Nr di reti possibili Nr massimo di computer su ciascuna A B C Tabella 1.1: Caratteristiche delle classi di reti Il byte di destra rappresenta i computer di rete, la rete può quindi contenere un numero di computer pari a computer. Un indirizzo IP di classe C, in codice binario, assomiglia a questo: 110 xxxxx xxxxxxxx xxxxxxxx xxxxxxxx Rete Computer Si può riassumere ciò che è stato appena detto nella Tabella 1.1: 1.4 Indirizzi IP privati Capita spesso che in un azienda o in un ente vi sia un solo computer connesso a Internet, che funge da intermediario per gli altri computer di rete per l accesso a internet (si parla generalmente di proxy o di passerella). In questa configurazione, solo il computer connesso a internet ha bisogno di riservare un indirizzo IP presso l ICANN. Tuttavia, gli altri computer hanno comunque bisogno di un indirizzo IP per poter comunicare. Così l ICANN ha riservato alcuni indirizzi in ciascuna delle classi per permettere di attribuire un indirizzo IP ai computer di una rete locale collegata a Internet senza rischiare di creare dei conflitti di indirizzi IP sul web. Si tratta dei seguenti indirizzi: Indirizzi privati di classe A: a , che permettono la creazione di rete private estese che comprendono migliaia di computer. Indirizzi IP privati di classe B: a , che permettono di creare delle reti private di medie dimensioni. Indirizzi IP privati di classe C: a , per la realizzazione di piccole rete private.

13 1.5 Maschere di rete Maschere di rete Si crea una maschera settando a 1 ogni bit che si desidera conservare e a 0 ogni bit che si vuole annullare. Una volta creata la maschera, basta fra un ET (and) logico tra il valore che si vuole mascherare e la maschera per mantenere intatta la parte desiderata e annullare il resto. Una maschera di rete (in inglese netmask) è formata da 32 bit (4 byte, come un indirizzo IP). La maschera di rete per una rete di classe A è , per una rete di classe B è e per una rete di classe C è Ogni indirizzo di rete è determinato da un certo numero di byte dell indirizzo IP (1 byte per gli indirizzi di classe A, 2 per quelli di classe B, e 3 byte per la classe C). La rete associata all indirizzo è ad esempio , dato che si tratta di un indirizzo IP di classe A. Per ricavare l indirizzo di rete associato all indirizzo IP , basta applicare una maschera il cui primo byte prevede solo degli 1 (cioè 255 in notazione decimale), poi degli 0 sui byte seguenti. La maschera associata all indirizzo IP è (in binario ) Il valore binario di è Un ET logico tra l indirizzo IP e la maschera da quindi il seguente risultato: ET = Cioè Si tratta effettivamente della rete associata all indirizzo Generalizzando, è possibile avere delle maschere corrispondenti ad ogni classe di indirizzo:

14 12 Indirizzi IP Per un indirizzo di Classe A, solo il primo byte deve essere conservato. La maschera ha la forma seguente , cioè in notazione decimale; Per un indirizzo di Classe B, i primi due byte devono essere conservati, da cui risulta la maschera seguente , corrispondente a in notazione decimale; Per un indirizzo di Classe C, con lo stesso ragionamento, la maschera avrà la forma seguente , cioè in notazione decimale. 1.6 Creazione di sottoreti e maschere di sottorete (subnetting) - VLSM (Variable Length Subnet Masking) La divisione delle reti in classi è stata superata attraverso l introduzione del concetto di subnetting. Riprendiamo l esempio della rete e supponiamo che si desideri dividere questa rete in quattro sottoreti. Per far ciò è necessario sacrificare i primi due bit del secondo byte (due bit permettono di indicare 2 2 combinazioni), togliendoli quindi dai bit dell hostid dell indirizzo. In questo modo l indirizzo sarebbe formato da 8 bit per la parte netid, 2 bit per la parte subnetid e 22 bit per la parte hostid. La maschera da applicare sarà allora: ( ). Gli indirizzi di sottorete possibili per la rete diventano quindi: quando i primi due bit del secondo byte sono quando due primi bit del secondo byte sono quando i due primi bit del secondo byte sono quando i due primi bit del secondo byte sono 11

15 1.7 L utilità delle porte 13 Numero di bit usati Numero di sottoreti (impossibile per una classe C) 256 Tabella 1.2: Relazione tra numero di bit usati e sottoreti E possibile specificare implicitamente come deve essere mascherato un indirizzo IP specificando il numero complessivo di bit che formano la sua parte netid più la sua parte subnetid. Ad esempio: l indirizzo IP /8 è della rete di classe A l indirizzo IP /10 è della sottorete l indirizzo IP /10 è della sottorete l indirizzo IP /10 è della sottorete l indirizzo IP /10 è della sottorete Questo mascheramento divide quindi una rete di classe A (che può ammettere computer) in 4 sottoreti ciascuna delle quali può ammettere 2 22 computer, cioè computer. Può essere interessante notare che nei due casi, il numero totale di computer è lo stesso, ossia computer ( ). Il numero di sottoreti della rete dipende dal numero di bit sottratti all hostid (2 bit in questo esempio) ed utilizzati per effettuare il subnetting. La Tabella 1.2 riassume le possibilità di subnetting di una generica rete. 1.7 L utilità delle porte Un client può accedere contemporaneamente a diversi servizi Internet (ad esempio potete aprire più browser simultaneamente per navigare su pagine web mentre scaricate un file in FTP). L accesso ai servizi avviene attraverso

16 14 Indirizzi IP Porta Servizio o Applicazione 21 FTP 23 Telnet 25 SMTP 53 Domain Name System 63 Whois 79 Finger 80 HTTP 110(impossibile per una classe C) POP3 un colloquio client-server che si basa sul protocollo TCP/IP. Un host può implementare diversi servizi, ogni servizio è associato ad una porta. Ogni servizio Internet di uno specifico host è quindi associato alla coppia di valori (indirizzo IP, numero porta) che sono univoci su Internet. Questa coppia rappresenta un estremo (lato server) del link logico di comunicazione tra client e server e, per il client, identifica la sorgente dei dati del servizio richiesto. Dal lato client, la porta è scelta aleatoriamente dal sistema operativo fra le Dynamic and/or Private Ports. Esistono migliaia di porte (queste sono codificate a 16 bit, vi sono dunque possibilità). E stata messa a punto dallo IANA (Internet Assigned Numbers Authority) un assegnazione standard delle porte ad alcuni servizi: Le porte da 0 a 1023 sono delle porte riservate dette Well Known Ports. Esse sono riservate, con valori di default, a processi di sistema (demoni) o a programmi eseguiti da utenti privilegiati. Un amministratore di rete può tuttavia decidere una diversa assegnazione di tali porte. Le porte da 1024 a sono dette Registered Ports. Le porte da a sono le Dynamic and/or Private Ports. Ecco un elenco di alcune porte con i servizi di default ad esse assegnati:

17 1.8 La funzione di multiplexaggio La funzione di multiplexaggio Il processo che consiste nel poter far transitare su una connessione delle informazioni provenienti da diverse applicazioni viene detta il multiplexaggio. Allo stesso modo il fatto di mettere in parallelo (quindi ripartire sulle diverse applicazioni) il flusso di dati viene detto il demultiplexaggio. 1.9 Che cos è un URL? Un URL (Uniform Resource Locator) è un formato di denominazione universale per designare una risorsa su internet. Si tratta di una stringa di caratteri ASCII stampabili che si scompone in cinque parti: Il nome del protocollo: cioè in un certo senso il linguaggio usato per comunicare sulla rete. Il protocollo più diffuso è il protocollo HTTP (HyperText Transfer Protocol), il protocollo che permette di scambiare delle pagine Web di formato HTML. Tuttavia si possono usare numerosi altri protocolli (FTP, News, Mailto, Gopher,... ) ID e password: permettono di specificare i parametri di accesso ad un server sicuro. Questa opzione è sconsigliata dato che la password è visibile nell URL

18 16 Indirizzi IP Protocollo Password Nome Porta Percorso (facoltativa) del server (default 80) labs.fauser.edu :80 /ese/es1.txt Il nome del server: si tratta di un nome di dominio del computer che ospita la risorsa richiesta. Da notare che è possibile usare l indirizzo IP del server, rendendo però l URL meno leggibile. Il numero della porta: si tratta di un numero associato ad un servizio che permette al server di sapere quale tipo di risorsa è richiesta. La porta associata per default al protocollo http è la numero 80. Così, quando il servizio Web del server è associato al numero di porta 80, il numero di porta è facoltativo. Il percorso di accesso alla risorsa: questultima parte permette al server di conoscere la posizione della risorsa, cioè in maniera generale la posizione (directory) e il nome del file richiesto Una URL ha quindi la struttura seguente : I protocolli seguenti possono ad esempio essere attraverso l URL: http, per la consultazione di pagine web ftp, per la consultazione di siti FTP telnet, per la connessione a un terminale remoto mailto, per l invio di posta elettronica Il nome del file nell URL può essere seguito da un punto interrogativo al quale poi seguono delle stringhe nome=valore; si tratta di dati supplementari inviati al server come parametri di un applicazione (ad esempio uno script php o un CGI). L URL assomiglierà allora a una stringa di caratteri come questa:

19 1.10 Nomi di host Nomi di host Ogni computer direttamente connesso a Internet possiede almeno un proprio indirizzo IP. Tuttavia è difficile lavorare con degli indirizzi numerici tipo Alle origini del TCP/IP, dato che le reti erano poco estese e il numero di computer connessi ad una stessa rete era basso, gli amministratori di rete crearono dei fili detti tabelle di conversione manuale. Queste tabelle di conversione manuale erano dei file sequenziali, generalmente chiamati host o hosts.txt, che associavano, in ogni linea, un indirizzo IP ad un nome, detto nome dell host.

20 18 Indirizzi IP

21 Capitolo 2 DNS - Domain Name System Il precedente sistema delle tabelle di conversione necessitava tuttavia dell aggiornamento manuale delle tabelle di tutti i computer della rete in caso di aggiunta o modifica di un nome di host. Così, con l esplosione della dimensione delle reti, e della loro interconnessione, si è dovuto realizzare un sistema di gestione dei nomi gerarchizzato e più facilmente amministrabile. Il sistema detto Domain Name System (DNS), tradotto Sistema di nome di dominio, è stato messo a punto nel novembre del 1983 da Paul Mockapetris (RFC 882 et RFC 883), poi rivisto nel 1987 negli RFCs 1034 e Il DNS è stato oggetto di più RFC. Il DNS e un sistema di database distribuito mirato alla gestione delle informazioni dellinsieme di reti Internet. I dati gestiti dal DNS sono essenzialmente dei nomi a dominio e gli indirizzi IP delle macchine connesse alla rete con la loro reciproca corrispondenza. Per ogni nome a dominio ci deve essere una corrispondenza nei due sensi: dal nome all indirizzo (la cosidetta risoluzione diretta) e da ogni indirizzo al nome di dominio (risoluzione inversa). Questo sistema propone: uno spazio di nomi gerarchico che permette di garantire l unicità di un nome in una struttura ad albero, allo stesso modo dei sistemi di file di Unix. un sistema di server distribuiti permette di rendere disponibile lo spazio dei nomi.

22 20 DNS - Domain Name System un sistema di client permette di «risolvere» i nomi dei domini, cioè di interrogare i server per conoscere l indirizzo IP corrispondente ad un nome. 2.1 Lo spazio dei nomi La strutturazione del sistema DNS si basa su una struttura ad albero in cui sono definiti dei domini di livello superiore (detti TLD, per Top Level Domains), collegati ad un nodo radice rappresentato da un punto. Viene detto «nome del dominio» ogni nodo dell albero. Ogni nodo possiede un etichetta (in inglese «label») con una lunghezza massima di 63 caratteri. L insieme dei nomi di dominio costituisce quindi un albero rovesciato dove ogni nodo è separato dal seguente da un punto («.»). L estremità di un ramo (foglia) è detta host, e corrisponde ad un terminale o un entità di rete. Il nome dell host deve essere unico nel dominio considerato o, se esiste, nel sotto-dominio. Ad esempio il server web di un dominio ha quindi generalmente il nome www. E detto indirizzo FQDN (Fully Qualified Domain Name, cioè Nome di Dominio Totalmente Qualificato) un nome assoluto generato dalla concatenazione delle etichette dei nodi che si incontrano a partire da una foglia e risalendo verso la radice dell albero del dominio, separando ogni etichetta con un punto e aggiungendo un punto finale.

23 2.2 I server di nomi 21 La profondità massima dell albero è di 127 livelli e la lunghezza massima di un nome FQDN è di 255 caratteri. L indirizzo FQDN permette di individuare inequivocabilmente un host sulla rete. Quindi rappresenta un indirizzo FQDN. La parola «dominio» corrisponde formalmente al suffisso di un nome di dominio, cioè l insieme delle etichette dei nodi di un albero, ad eccezione dell host. Ad esempio è un nome di dominio il cui dominio (suffisso) è fauser.edu. 2.2 I server di nomi Per ogni dominio deve esistere un server di nomi di domini, detto «server di nomi primario» (primary domain name server), nonché un server di nomi secondario (secondary domaine name server), che permette di sostituirsi al server di nomi primario in caso di indisponibilità. I server di nome di dominio permettono di stabilire la corrispondenza tra tutti i nomi del dominio e il loro indirizzo IP e sono processi ospitati in un qualsiasi host di Internet (al quale può corrispondere un nome di dominio diverso). Quando si registra un dominio è necessario indicare quali sono il primary ed il secondary DNS e questi devono contenere le opportune configurazioni del dominio che si sta registrando. Un server DNS può essere tale per molti domini. Ogni server di nomi è dichiarato in un server di nomi di dominio di livello immediatamente superiore, cosa che permette implicitamente una delega di autorità sui domini. Il sistema di nomi è un architettura distribuita, dove ogni entità è responsabile della gestione del proprio nome di dominio. Non esiste quindi un organismo che abbia il compito di gestire l insieme dei nomi di domini. I server corrispondenti ai domini di più alto livello (TLD) sono detti «server di nomi radice». Ne esistono tredici, ripartiti in tutto il mondo, sotto i nomi «a.root-servers.net» a «m.root-servers.net». Un server di nomi definisce delle zone, ogni zona è relativa ad un dominio sul quale il server ha lautorità. Il sistema di nomi di dominio è trasparente per l utente.

24 22 DNS - Domain Name System 2.3 Risoluzione dei nomi di dominio Il meccanismo che consiste nel trovare l indirizzo IP corrispondente al nome di un host è detto «risoluzione di nome di dominio». L applicazione che permette di realizzare questa operazione (generalmente integrata al sistema operativo) è detta «resolver» (è un client). Ogni computer connesso ad Internet deve conoscere, nella sua configurazione di rete, almeno due DNS che vengono indicati dal provider. Ogni volta che esso deve accedere, per mezzo di unapplicazione, ad un servizio Internet attraverso un nome di dominio contatta il primo server DNS della sua configurazione che si occuperà di ottenere lindirizzo IP corrispondente al nome di dominio richiesto. Se questo ha la registrazione nella sua cache, la invia all applicazione, in caso contrario scala gerarchicamente la richiesta. 2.4 Come funzionano i DNS? Root DNS. A monte di tutta la rete ci sono i Root DNS che rappresentano la base di internet. Questi detengono le informazioni relative ai DNS di tutti i domini di primo livello come.com,.net,.org,.it,.fr,.info, ecc. e i riferimenti delle relative Authority che li gestiscono come Internic per.com e.net, ISOC per i.org, Italian Registration Authority per.it, e via dicendo. DNS delle Registration Authority o DNS di primo livello Questi DNS sono sotto la gestione delle varie Registration Authority, possono essere dislocati in diverse parti del mondo e detengono le informazioni relative i dati dei DNS autoritativi per ogni specifico dominio di secondo livello come ad esempio DNS autoritativi Questi sono i DNS che contengono i dati specifici del nome a dominio, rispondono alle richieste per quel dominio e ne forniscono i record relativi (web, mail, ftp, ecc.). Questi DNS sono gestiti da chi ospita il nome a dominio. DNS del provider di connessione Questi sono i DNS che ci vengono assegnati dal nostro provider di connessione internet e che utilizziamo per

25 2.5 Domini di alto livello 23 navigare. Non sono autoritativi in quanto non contengono le informazioni ufficiali del nome a dominio che cerchiamo e funzionano in questo modo: Interrogano i Root DNS per sapere qual e l Authority che gestisce quel dominio di primo livello. Ottenuta questa informazione, interrogano i DNS della Registration Authority competente per sapere quali sono i DNS autoritativi per quel determinato dominio. A questo punto interrogano i DNS autoritativi che forniscono, per il nome a dominio in questione, lindirizzo IP di destinazione per il tipo di servizio richiesto (http, ftp, pop3, mail, ecc.). 2.5 Domini di alto livello Esistono due categorie di TLD (Top Level Domain, ossia domini di più alto livello) : I domini detti «generici», chiamati gtld (generic TLD). I gtld sono dei nomi di domini generici di livello superiore che propongono una classificazione secondo il settore di attività. Così ogni gtld ha le proprie regole di accesso: gtld storici: -.arpa corrisponde ai terminali derivanti dalla rete originale; -.com corrispondevano inizialmente alle aziende a vocazione commerciale. Ormai questo TLD è diventato il «TLD di default» e l acquisizione del dominio con questa estensione è possibile anche per i privati. -.edu corrisponde agli enti educativi; -.gov corrisponde agli enti governativi; -.int corrisponde alle organizzazioni internazionali; -.mil corrisponde agli organismi militari;

26 24 DNS - Domain Name System -.net corrispondeva inizialmente agli enti con tratti di rete. Questo TLD è diventato da qualche anno un TLD corrente. L acquisizione di domini con questa estensione è possibile anche per i privati. -.org corrisponde solitamente alle aziende senza scopo di lucro. nuovi gtld introdotti nel novembre 2000 dall ICANN : -.aero corrisponde all industria aeronautica; -.biz( business) corrisponde alle aziende commerciali; -.museum corrisponde ai musei; -.name corrisponde a nomi di persone o a nomi di personaggi immaginari; -.info corrisponde agli enti con tratti di informazione; -.coop corrispondente alle cooperative; -.pro corrispondente alle professioni liberali. gtld speciali: -.arpa corrisponde alle infrastrutture di gestione di rete. L gtld arpa serve quindi alla risoluzione inversa dei terminali di rete, permettendo di trovare il nome corrispondente ad un indirizzo IP. I domini detti «nazionali», chiamati cctld(country code TLD). I cctld corrispondono ai differenti paesi e i loro nomi corrispondono alle abbreviazioni dei nomi dei paesi definite dalla norma ISO La tabella sottostante riassume l elenco dei cctld. 2.6 BIND Un DNS è un database distribuito contente delle registrazioni, dette RR (Resource Records), che riguardano i nomi dei domini. Il funzionamento dei server di nomi è totalmente trasparente per gli utenti. Il server più conosciuto si chiama BIND (Berkeley Internet Name Domain). Si tratta di un software libero disponibili sui sistemi UNIX,

27 2.6 BIND 25 sviluppato inizialmente dall università di Berkeley in California e ormai mantenuto dall ISC (Internet Systems Consortium). Per un server DNS primario il principale file di configurazione è /etc/named.conf. Qui è riportata una sintesi del suo possibile contenuto. options { directory "/var/named"; //altre linee }; // definisce i root name server per il dominio. zone "." IN { type hint; file "named.ca"; }; zone "localdomain" IN { type master; file "localdomain.zone"; allow-update { none; }; }; zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; }; }; zone " in-addr.arpa" IN { type master; file "named.local"; allow-update { none; }; }; zone "esempio.com" { type master; file "domini/esempio.com.db"; allow-update { ; };

28 26 DNS - Domain Name System }; zone " in-addr.arpa" { type master; file "domini/ db"; allow-update { ; }; }; Per un server DNS secondario il principale file di configurazione è sempre /etc/named.conf. Ciò che cambia rispetto al file del server DNS primario è la parte di definizione delle zone che diventa: zone "esempio.com" { type slave; file "slaves/esempio.com.db"; masters { ; }; }; zone " in-addr.arpa" { type slave; file "slaves/ db"; masters { ; }; }; I file di zona del DNS secondario sono delle copie, essi infatti vengono ricevuti dal server DNS primario. 2.7 File di zona I file di zona sono file di testo in cui si specificano le informazioni necessarie per la risoluzione dei nomi di dominio in indirizzi numerici e viceversa. Si crea un file di zona per ogni dominio e per ogni rete gestiti dal server DNS. Negli esempi si considera il dominio esempio.com e la rete La sintassi dei file delle zone vuole che i commenti inizino con un ;.

29 2.7 File di zona File di zona per la risoluzione diretta del dominio esempio.com Vediamo la struttura di un file di zona per la risoluzione dei nomi di dominio del dominio esempio.com. Questo file contiene tutti i dati e i record necessari per la configurazione del dominio, del server di posta, degli host e degli alias. Il file si chiama esempio.com.db $ORIGIN. $TTL ; 2 days esempio.com IN SOA ns1.esempio.com. root.ns1.esempio.com. ( ; serial ; refresh (8 hours) 7200 ; retry (2 hours) ; expire (1 week) ; minimum (1 day) ) NS ns1.esempio.com. NS ns2.esempio.com. ; mail server per il dominio esempio.com. MX 10 mail.esempio.com. esempio.com. MX 20 mail.nostroisp.com. $ORIGIN esempio.com. $TTL 5d ns1 A ns2 A mac A linux A windows A webftp A mail A

30 28 DNS - Domain Name System ;Aliases CNAME webftp.esempio.com. ftp.esempio.com. CNAME webftp.esempio.com. win.esempio.com. CNAME windows.esempio.com. Con la direttiva $ORIGIN. si indica un nome di dominio che viene automaticamente appeso a tutti i nomi del file di zona che non terminano con un punto finale. In questo esempio si può vedere che sono specificate due direttive $ORIGIN. La prima va a completare il nome esempio.com mentre la seconda specifica il completamento per i nomi degli host. Alcuni la considerano obsoleta ma vale la pena conoscerla e capirne il significato. La direttiva $TTL172800indica il default time-to-live. Si applica globalmente a tutti i record che precedono qualunque altra direttiva di TTL, che può essere indicata anche per singolo host. Il nameserver specifica questo valore in tutte le risposte per la zona o il dato record indicando per quanto tempo gli altri nameservers possono tenerlo in cache. Se si ha un file di zona che subisce poche modifiche è consigliabile specificare un valore alto anche se è sconsigliabile superare la settimana. La prima lineaesempio.com IN SOA ns1.esempio.com. root.ns1.esempio.com. del record IN SOA è la parte principale del file di zona e serve a indicare lo Start of Authority per la zona esempio.com. In questo caso ns1.esempio.com è il nome del server autoritativo per la zona. Se ne può specificare uno solo e non di più. A seguire abbiamo un record che può creare confusione. Indica l indirizzo del responsabile della gestione per la zona. I nameservers non utilizzaranno mai questa risorsa che è ad uso esclusivo di chi vuole comunicare con il gestore del dominio. Non si specifica l indirizzo comune ma si deve sostituire con il punto, questo perchè la sintassi dei file di zona vuole che il si usi come il flag $ORIGIN.Può essere specificato un host differente da quello autoritativo ad esempio root.mail.esempio.com.

31 2.7 File di zona 29 I campi chiusi tra le parentesi sono significativi principalmente per gli slave server ; serial Indicazione del numero di serie. Importante aggiornarlo quando si eseguono modifiche al file per far sapere agli slave che si sono effettuati dei cambiamenti ; refresh (8 hours) Indica agli slave della zona ogni quanto devono verificare se i file sul master sono cambiati. Va prestata attenzione al valore che si dà soprattutto nel caso sia basso. Si sappia che uno slave effettua una SOA query per ogni zona ad intervalli specificati nel refresh e si tratta di una operazione molto intensiva in termini di utilizzo di CPU 7200 ; retry (2 hours) Questo campo indica allo slave ogni quanto tempo riprovare a connettersi al master in caso un refresh non sia andato a buon fine (potrebbe essere momentaneamente down) ; expire (1 week) Con expire indico allo slave dopo quanto tempo deve considerare una data zona non più valida ; minimum (1 day) Questo campo è un TTL. Serve ad indicare per quanto tempo una risposta negativa ad una query va tenuta nella cache dai resolver. Con i record NS (nameserver) si indicano i nameservers autoritativi per una zona. Con i record MX si specificano quali host si occupano dell instradamento della posta per il dominio esempio.com. Il valore numerico che segue

32 30 DNS - Domain Name System il record MX indica la priorità. In questo caso se si invia una mail ad un utente che si trova nel dominio esempio.com il client mail cercherà di inviare al server mail.esempio.com per primo. In caso questo fosse troppo occupato o comunque non disponibile il mailer si appoggerebbe a mail.nostroisp.com un server fornito dall Internet Service Provider di esempio.com. Si possono specificare più server con lo stesso valore di priorità ed è consigliabile utilizzare valore numerici che abbiano un certo margine tra loro, questo solo per fini di comodità nell amministrazione. Ad esempio se in questa zona si decidesse di implementare un nuovo mail server che poniamo sia una macchina molto potente e posta su un link molto veloce basterebbe dargli un valore di 5 o di 15 a seconda delle preferenze ma se si fossero usati valori tipo 1,2,3.. ci si dovrebbe ridefinire il nostro file di zona. Se si vuole definire un server con priorità massima si può utilizzare il valore 0. Con i record A(A sta per Address) si indicano i record per la risoluzione da nome ad indirizzo in modo da associare ai nomi delle macchine i loro IP. Con i record CNAME si definiscono gli alias per alcuni host del dominio. L esempio dimostra che è possibile assegnare più nomi ad un host. In questo caso il server web e ftp sono la stessa macchina raggiungibile sia se la si cerca come che come ftp.esempio.com. I valori di TTL, refresh, expire.. possono essere impostati usando come unità il secondo quindi una settimana diventa secondi. Dalla versione 8 di BIND in poi si possono specificare anche con degli argomenti quindi 3600 secondi diventano 1h e così via si possono specificare valori di 2h35m, due ore e trentacinque minuti, 1d, un giorno, 2w, due settimane File di zona per la risoluzione inversa della rete Il file si chiama db

33 2.7 File di zona 31 $ORIGIN. $TTL 2d in-addr.arpa IN SOA ns1.esempio.com. root.ns1.esempio.com. ( ;serial ;refresh 7200 ;retry ;expire ) ;minimum IN NS ns1.esempio.com. $ORIGIN in-addr.arpa. 1 PTR ns1.esempio.com. 2 PTR mac.esempio.com. 3 PTR linux.esempio.com. 4 PTR windows.esempio.com. 5 PTR webftp.esempio.com. 6 PTR mail.esempio.com. Il nome in-addr.arpa indica un dominio speciale che tratta gli indirizzi numerici come etichette. La sua rappresentazione è invertita rispetto alla notazione di un indirizzo IP così diventa inaddr.arpa., questo perchè si segue la notazione dei nomi di dominio = in-addr.arpa. = ns1.esempio.com. Con il record PTR (Pointer) si indica che si tratta di record per la risoluzione da indirizzo a nome.

34 32 DNS - Domain Name System

35 Capitolo 3 Reti di calcolatori Storicamente le prime reti di calcolatori vengono sviluppate negli anni 70. L esperimento pilota, finanziato dall agenzia statunitense DARPA, prende il nome di ARPAnet e nasce ufficialmente nel A questa esperienza seguono, nel corso degli anni 70, numerose implementazioni di reti di calcolatori, molte delle quali di tipo proprietario, cioè sviluppate da un solo costruttore ed incompatibili con sistemi di altri costruttori. Alcune tra le più note furono DECnet della Digital, SNA di IBM e XNS della Xerox. La caratteristica fondamentale di queste reti è quella di essere sistemi chiusi, ossia sostanzialmente incapaci di comunicare fra loro. Una volta che un utente decide di adottare una di queste reti è legato al relativo produttore, che è l unico fornitore di apparati compatibili con la rete installata. Questo fenomeno detto di captivity, limita molto le scelte dell utente, che è costretto a seguire l evoluzione e le scelte tecnologiche del tipo di rete che ha scelto. Al contrario sarebbe auspicabile che queste reti fossero sistemi aperti, ossia tali che qualunque calcolatore fosse in grado di comunicare con qualunque altro indipendentemente dalla sua architettura e dal suo costruttore. Un sistema aperto ha infatti alcuni importanti vantaggi: favorire la diffusione delle reti di calcolatori tramite l interconnessione delle reti esistenti;

36 34 Reti di calcolatori rendere possibile agli utenti e ai costruttori di reti approvvigionarsi da qualunque produttore, favorendo la concorrenza. 3.1 Modello di comunicazione a strati Per realizzare reti di calcolatori che siano sistemi aperti è necessario: delineare un modello di riferimento per la comunicazione fra calcolatori che sia base comune di questi sistemi; giungere alla definizione di standard universalmente accettati che specifichino in modo preciso le funzioni che sono necessarie per realizzare la comunicazione. La comunicazione fra calcolatori di tipo diverso è in generale un problema abbastanza complesso. Per semplificare la progettazione dal punto di vista tecnico di una rete di calcolatori risulta quindi conveniente suddividere il problema complessivo in una serie di sottoproblemi ben confinati, chiarendo poi come essi debbano interagire. Questo tipo di approccio è stato sostanzialmente comune a tutte le implementazioni di reti di calcolatori, anche quando queste si presentavano come sistemi chiusi. I vantaggi che si hanno nell operare un approccio a strati sono: riduzione della complessità nella costruzione di architetture protocollari introducendo livelli di astrazione; indipendenza per l operatività e le strutture interne di ogni strato; ogni strato deve compiere un compito diverso dagli altri e la sua struttura non è vincolata da quella degli altri livelli; interazione tramite servizi; i livelli sono disposti a pila, uno sopra l altro. Ogni livello fornisce servizi al livello superiore e usufruisce di servizi dal livello sottostante, comunicando tramite la loro interfaccia; facilità di attuare cambiamenti su uno strato senza alterare i restanti; gli strati interagiscono tra loro tramite servizi, essendo

37 3.2 Modello ISO-OSI 35 quindi indipendenti tra loro possono essere modificati nel tempo con nuove tecnologie senza che questo richieda interventi negli altri strati; Due livelli di pari grado posti su due calcolatori differenti comunicano tra loro tramite protocollo, mentre due livelli adiacenti della stessa macchina comunicano tra loro tramite interfaccia. L obiettivo di un livello è quello di servire servizi al livello superiore nascondendo a questo il modo in cui i servizi sono realizzati. 3.2 Modello ISO-OSI Nei primi anni 80 l ISO promuove un azione volta alla definizione di un modello di riferimento a strati e di una serie di standard per protocolli e interfacce atti a realizzare dei sistemi aperti. Questo lavoro prende il nome di Open System Interconnection o OSI.

38 36 Reti di calcolatori L ISO-OSI (Open System Interconnection) Reference Model ha lo scopo di fornire uno standard per la connessione di sistemi aperti e fornire un modello di riferimento rispetto al quale confrontare architetture di rete proprietarie e non. Il modello OSI non definisce di per sé dei protocolli specifici di comunicazione, non può essere considerato quindi come un architettura di rete. Il ruolo del modello OSI consiste nello standardizzare la comunicazione tra i terminali affinché i differenti costruttori possano mettere a punto dei prodotti (software o hardware) compatibili. Il numero di livelli che compongono il modello strutturale è stato scelto in modo da associare una specifica funzionalità per livello, senza presentare funzionalità ridondanti su più livelli. OSI è costituito da 7 livelli: 1. strato fisico; ha come compito principale effettuare il trasferimento fisico delle cifre binarie tra i due sistemi in comunicazione; definisce il modo in cui di dati sono fisicamente convertiti in segnali digitali sui media di comunicazione (impulsi elettrici, modulazioni della luce, ecc.) 2. strato di collegamento (data link); la sua funzione fondamentale è quella di rilevare e recuperare gli errori trasmissivi che potrebbero essersi verificati durante il trasferimento fisico; definisce l interfaccia con la scheda di rete e la condivisione del mezzo di trasmissione. 3. strato di rete (network); rende invisibile allo strato superiore il modo in cui sono utilizzate le risorse di rete per la fase di instradamento; permette di gestire l indirizzamento e il routing dei dati, cioè il loro invio tramite la rete. 4. strato di trasporto (transport); fornisce le risorse per il trasferimento trasparente di informazioni; è incaricato del trasporto dei dati, della loro divisione in pacchetti e della gestione degli eventuali errori di trasmissione. 5. strato di sessione (session); assicura la possibilità di instaurare un colloquio tra due sistemi; definisce l apertura e la distruzione

39 3.3 Modello Internet 37 delle sessioni di comunicazione tra i terminali di rete. 6. strato di presentazione (presentation) ; è interessato alla sintassi e alla semantica delle informazioni da trasferire; definisce il formato dei dati manipolato dal livello applicativo (loro rappresentazione, eventualmente loro compressione e loro codifica) indipendentemente dal sistema. 7. strato di applicazione (application); ha lo scopo di fornire ai processi residenti nei due sistemi in comunicazione i mezzi per accedere all ambiente OSI. Assicura l interfaccia tra le applicazioni. Si tratta quindi del livello più vicino agli utenti. 3.3 Modello Internet La rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo parzialmente aderente al modello OSI. L architettura di rete Internet Protocol Suite nota anche come architettura TCP/IP, è una architettura composta da 4 strati: strato di accesso alla rete (network access layer); comprende le funzioni che nel modello OSI sono degli strati fisico, di colle-

40 38 Reti di calcolatori gamento e parte di quello di rete, specifica la forma nella quale i dati devono essere inviati indipendentemente dal tipo di rete usata. Questo livello contiene tutte le specifiche riguardo la trasmissione di dati su una rete fisica, indipendentemente dal tipo di collegamento tra gli host o tra le reti. Lo standard IEEE802 definisce dei modelli di standardizzazione introducendo lidea che LAN e MAN devono fornire uninterfaccia unificata verso il livello network pur utilizzando tecnologie trasmissive differenziate. I protocolli di questo livello sono: FDDI(Fiber Distributed Data interface), PPP (Point to point Protocol), Ethernet, Token ring. strato Internet Protocol (IP); è collocabile nella parte alta dello strato di rete del modello OSI, è di tipo senza connessione e best effort. Questo livello gestisce la nozione di indirizzamento IP. Esso permette l invio dei datagrammi (pacchetti di dati) verso dei terminali remoti nonché la gestione della loro frammentazione e riassemblaggio alla ricezione. I protocolli di questo livello sono: IP, ICMP, ARP, RARP. strato di trasporto (TCP o UDP ); corrisponde al livello di trasporto del modello OSI, ed è implementato in due versioni, TCP (Transmission Control Protocol) che è un protocollo con connessione ed affidabile (assicura il controllo degli errori ), e UDP (User Datagram Protocol) che è senza connessione e non affidabile. Il livello trasporto permette alle applicazioni in esecuzione su terminali remoti di comunicare. strato di applicazione (application protocol); nell architettura Internet non sono previsti gli strati di sessione e di presentazione, ma solo quello di applicazione; questo strato contiene i protocolli utilizzati dalle applicazioni residenti sui terminali. I protocolli utilizzati in questo strato sono FTP (File Transfer Protocol - per il trasferimento dei file), POP (Post Office Protocol) e SMTP (Simple Mail Transfer Protocol) per la posta elettronica, Telnet per il terminale virtuale, HTTP (HyperText Transfer Protocol - per le pagine Web), DNS (Domain Name Service - per convertire

41 3.3 Modello Internet 39 nomi alfanumerici in indirizzi IP), NNTP (News Network Transfer Protocol - trasferimento articoli dei newsgroup) Cosa significa best effort La consegna best effort descrive uno scenario di rete in cui non è fornita nessuna garanzia sulla consegna dei dati o sul livello di QoS (Quality of service), ma, tutte le comunicazioni avvengono con il massimo impegno possibile (best effort per l appunto). La diretta conseguenza di questo approccio è rappresentata da un bitrate e un tempo di consegna variabili in base all attuale carico della rete. Nonostante la rimozione di queste caratteristiche di controllo e preallocazione delle risorse possa sembrare insensata, è in realtà utilissima, infatti, così facendo, la struttura della reti ne risulta semplificata e opera più efficientemente. Ciò che accade con la posta ordinaria può essere considerato un approccio best effort. La consegna di una lettera da parte del postino non è garantita e non conosciamo il momento in cui ci sarà consegnata. Il postino però farà del suo meglio (best effort) per recapitarci la posta quanto prima, se per caso un giorno le lettere da consegnare siano troppe allora la consegna della nostra lettera potrà subire un ritardo. Le convenzionali reti telefoniche non sono basate sull approccio best effort,

42 40 Reti di calcolatori ma utilizzano la commutazione di circuito. Mentre si sta per instaurare una nuova chiamata le risorse vengono preallocate, una volta stabilita la connessione la chiamata non può cadere a causa di un sovraccarico della rete, l ampiezza di banda è infatti garantita Incapsulamento dei dati Durante una trasmissione, i dati attraversano alcuni degli strati al livello del terminale emittente. Ad ogni livello, un informazione viene aggiunta al pacchetto di dati, si tratta di un intestazione, un insieme di informazioni che garantisce la trasmissione. A livello del terminale ricevente, al momento del passaggio in ogni livello, l intestazione viene letta, poi cancellata. Così, alla ricezione, il messaggio è nel suo stato originale. Ad ogni livello, il pacchetto cambia d aspetto, dato che gli si aggiunge un intestazione (header), e quindi le denominazioni cambiano seguendo i livelli: Il pacchetto di dati è detto messaggio al livello Applicazione Il messaggio in seguito è incapsulato sotto forma di segmento nel livello Trasporto Il segmento, una volta incapsulato, nel livello Internet prende il nome di datagramma Infine si parla di trame sul livello Accesso di rete 3.4 I protocolli del livello Internet Il protocollo IP Il protocollo IP permette l elaborazione e il trasporto dei datagrammi IP (i pacchetti di dati), senza tuttavia assicurarne la consegna questo perché il protocollo IP tratta i datagrammi IP indipendentemente gli uni dagli altri.

43 3.4 I protocolli del livello Internet 41 I datagrammi I dati circolano su Internet sotto forma di datagrammi (si parla anche di pacchetti). I datagrammi sono dei dati incapsulati, cioè dei dati ai quali sono state aggiunge delle intestazioni corrispondenti a informazioni sul loro trasporto (come l indirizzo IP di destinazione). I dati contenuti nei datagrammi sono analizzati (e eventualmente modificati) dai router che permettono il loro transito. Ecco il formato di un datagramma: Ecco il significato dei campi: Version (4 bit). Questi quattro bit, che specificano la versione del protocollo IP (IPv4 o IPv6) del datagramma, consentono al router la corretta interpretazione del datagramma; infatti, versioni diverse di IP hanno differenti formati per i datagrammi. IHL Intermediate Header Length (4 bit): si tratta del numero di parole di 32 bit costituenti l intestazione (il valore minimo è 5). Un datagramma IPv4 può contenere un numero variabile di opzioni (incluse nellintestazione) e questi 4 bit indicano dove iniziano

44 42 Reti di calcolatori effettivamente i dati del datagramma. La maggior parte dei datagrammi IP non contiene opzioni, pertanto il tipico datagramma IP ha unintestazione di 20 byte. TOS Type Of Service (8 bit): I bit relativi al tipo di servizio sono stati inclusi nellintestazione IPv4 per distinguere diversi tipi di datagrammi, tale funzionalità è ignorata dalla maggior parte delle odierne implementazioni dello stack TCP/IP. Se il campo contiene il valore 0, indica un servizio standard. Può essere utile ad esempio per distinguere datagrammi in tempo reale (usati nelle applicazioni di telefonia) da altro traffico (ad esempio FTP). Total length (16 bit): Rappresenta la lunghezza totale del datagramma IP, intestazione più dati, misurata in byte. Poiché questo campo è lungo 16 bit, la massima dimensione dei datagrammi IP è byte, anche se raramente questi superano i Utilizzato congiuntamente con la dimensione dell intestazione, questo campo permette di determinare dove si trovano i dati. Identification, D, M e Fragment offset ( bit): sono dei campi che permettono la frammentazione dei datagrammi, verranno spiegati in seguito. TTL (8bit): Il campo time-to-live (TTL) è stato incluso per assicurare che i datagrammi non restino in circolazione per sempre nella rete. Questo campo viene decrementato di una unità ogni volta che il datagramma è elaborato da un router, e quando raggiunge 0 il datagramma deve essere eliminato. Protocol (8 bit): Questo campo è usato solamente quando il datagramma raggiunge la destinazione finale. Il valore del campo indica lo specifico protocollo a livello di trasporto al quale vanno passati i dati del datagramma. Ad esempio, il valore 6 indica che i dati sono destinati a TCP, mentre il valore 17 designa UDP. Il numero di protocollo nel datagramma IP ha un ruolo analogo a quello del campo numero di porta nel segmento a livello di trasporto. Il numero di protocollo è lanello di collegamento tra i livelli

45 3.4 I protocolli del livello Internet 43 di rete e di trasporto, mentre il numero di porta è il collante che lega i livelli di trasporto e di applicazione. Header checksum (16 bit) : campo per la verifica del controllo di correttezza dellintestazione. Viene calcolato suddividendo lintestazione in campi di 16 bit (word), nel calcolo i 16 bit della checksum stessa devono essere settati a zero, facendone la somma dei complementi a 1 di ogni word, e calcolando il complemento a 1 del risultato ( somma). Il ricevente esegue la somma in complemento a uno (questa volta con il checksum all interno). Se il risultato è composto da tutti 1 il datagramma è valido. Normalmente i datagrammi in cui si verifica un errore vengono scartati. Source IP address (32 bit): Questo campo rappresenta l indirizzo IP del terminale emettitore, e permette al destinatario di rispondere Destination IP address (32 bit): indirizzo IP del destinatario del messaggio. Option: eventuali altre opzioni. Payload (Dati): Nella maggior parte dei casi, il campo contiene il segmento a livello di trasporto(tcp o UDP) da consegnare alla destinazione. La frammentazione dei datagrammi IP La dimensione di un datagramma è al massimo di byte. Tuttavia questo valore non è mai raggiunto dato che le reti non hanno una capacità sufficiente per inviare dei pacchetti così grossi. Inoltre le reti su Internet usano diverse tecnologie per la trasmissione fisica dei dati e la dimensione massima effettiva di un datagramma varia a seconda del tipo di rete. La dimensione massima di una trama è detta MTU (Maximum Transfer Unit), essa provocherà la frammentazione del datagramma se questo ha una dimensione più grande dell MTU di rete, ad esempio per le reti Ethernet lmtu è di 1500 byte mentre per le reti FDDI è 4470 byte.

46 44 Reti di calcolatori La frammentazione di un datagramma avviene a livello dei router, cioè alla transizione da una rete con un MTU grande verso un altra con un MTU più piccolo. Se il datagramma è troppo grande per passare sulla rete, il router lo divide, cioè lo scompone in frammenti di dimensione minore dell MTU di rete ed in modo tale che la dimensione del frammento sia un multiplo di 8 byte. In seguito il router invia questi frammenti in modo indipendente e li reincapsula considerando la nuova dimensione. Inoltre il router aggiunge delle informazioni affinché il terminale di destinazione possa riassemblare i frammenti nell ordine giusto. Non vi è però nessuna garanzia che i frammenti arrivino nell ordine corretto dato che sono inviati in maniera individuale e indipendente. Ogni datagramma ha più campi che permettono il riassemblaggio: campo offset di frammento (13 bit): campo che permette di conoscere la posizione iniziale del frammento nel datagramma iniziale. L unità di misura di questo campo è di 8 byte (con il primo frammento di valore 0). campo di identificazione (16 bit): numero attribuito ad ogni frammento per permettere il riassemblaggio. campo lunghezza totale (16 bit): è ricalcolato per ogni frammento. campo flags (3 bit): Il primo bit non è utilizzato. Il secondo bit (detto DF: Don t Fragment ) indica se il datagramma può essere frammentato o meno. Se un datagramma ha questo bit posizionato a 1 e il router non può inviarlo senza frammentarlo, allora il datagramma sarà rigettato con un messaggio di errore L ultimo bit (detto MF: More Fragments, in italiano Frammenti a seguire) se vale uno indica che il datagramma è un frammento al quale ne seguiranno altri, se vale zero allora il datagramma è lultimo frammento (quindi il router dovrebbe

47 3.4 I protocolli del livello Internet 45 avere tutti i frammenti precedenti) oppure il datagramma non è soggetto ad una frammentazione. Il riassemblaggio dei frammenti Una volta che un datagramma è diviso, i frammenti viaggiano in modo separato fino alla destinazione finale dove vengono riassemblati (allo stesso livello IP). Quando il terminale ricevente riceve il primo frammento avvia un timer, se il tempo finisce prima che siano arrivati tutti i frammenti allora tutti i frammenti già arrivati vengono scartati senza elaborare il datagramma di origine. I frammenti hanno tutti lo stesso campo identificazione del datagramma originale, mentre altri campi, come ad esempio fragment offse e total length, vengono ricalcolati. La destinazione usa il valore identificazione e l indirizzo IP di provenienza per identificare univocamente il datagramma (o i datagrammi frammenti), pertanto il campo identificazione deve essere generato come valore univoco su di un terminale, che può utilizzare a tale scopo un contatore globale in memoria. Il terminale ricevente riceve i frammenti (anche fuori ordine) e deve sapere quando sono arrivati tutti. Il frammento con bit MF a zero è l ultimo, usando i suoi valori di fragment offset e total length può conoscere la lunghezza totale del datagramma d origine ed esaminado fragment offset e total length di tutti i frammenti arrivati il ricevente può sapere se è arrivato tutto per ricostruire il datagramma originale. Il routing IP Il routing IP è parte integrante del livello IP della serie TCP/IP. Il routing consiste nell assicurare l invio di un datagramma IP attraverso una rete prendendo il percorso più breve. Questo ruolo è assicurato da dei terminali detti router, cioè dei terminali collegati (e colleganti) almeno due reti.

48 46 Reti di calcolatori Il protocollo ARP Ogni dispositivo di rete possiede un numero di identificazione univoco di 48 bit (MAC address, cioè Media Access Control address) che viene stabilito al momento della produzione della scheda in fabbrica, possiamo considerare questo numero come un indirizzo fisico del dispositivo di rete. Ogni dispositivo di rete deve però anche possedere un indirizzo IP per accede ad Internet, possiamo considerare lindirizzo IP come un indirizzo logico del dispositivo di rete. ARP è un protocollo di servizio, utilizzato in una rete di calcolatori che utilizzi il protocollo di rete IP e che supporti il servizio di broadcast. Per inviare un pacchetto IP ad un calcolatore della stessa sottorete è necessario incapsularlo in un pacchetto di livello inferiore che dovrà avere come indirizzo di destinazione il MAC address del dispositivo di rete del calcolatore a cui lo si vuole inviare. ARP viene utilizzato per ottenere questo indirizzo esso infatti permette di conoscere l indirizzo fisico (MAC address) di una scheda di rete corrispondente ad un indirizzo IP ed è per questo che si chiama Protocollo di risoluzione d indirizzo (in inglese ARP significa Address Resolution Protocol). Se il pacchetto deve essere inviato ad un terminale di un altra sottorete, ARP viene utilizzato per scoprire il MAC address del router (gateway). Il terminale che vuole conoscere il MAC address di un altro terminale, di cui conosce l indirizzo IP, invia in broadcast una richiesta ARP (pacchetto di ARP-request), generata dal protocollo IP, contenente l indirizzo IP dell host di destinazione ed il proprio indirizzo MAC. Tutti i terminali della sottorete ricevono la richiesta. In ciascuno di essi il protocollo ARP verifica se viene richiesto il proprio indirizzo IP. Il terminale di destinazione che riconoscerà il proprio IP nel pacchetto di ARP-request, provvederà ad inviare una risposta (ARP-reply) all indirizzo MAC sorgente, contenente il proprio MAC. In questo modo ogni terminale può scoprire l indirizzo fisico degli altri terminali sulla stessa sottorete. In ogni terminale il protocollo ARP tiene traccia delle risposte ottenute in una apposita cache, per evitare di dovere utilizzare ARP prima di inviare ciascun pacchetto (il che comporterebbe un notevole ritardo nelle comunicazioni nonché una

49 3.5 I protocolli del livello trasporto 47 maggiore complessità nella gestione del traffico). Le voci della cache ARP vengono cancellate dopo un certo periodo dall ultima occorrenza, tipicamente dopo 5 minuti Il protocollo RARP RARP è il protocollo inverso all ARP Il protocollo RARP (Reverse Address Resolution Protocol) è usato per risalire ad un indirizzo IP conoscendo l indirizzo fisico (MAC address) di un dispositivo di rete. Questo protocollo consente, ad esempio, ad un terminale di conoscere il proprio indirizzo IP all accensione chiedendolo, in modalità broadcast agli altri terminali connessi alla rete. In genere la richiesta arriva ad un server RARP che contiene l indirizzo di risposta nei propri file di configurazione. Ormai è reso obsoleto dal BOOTP e dal suo successore DHCP più ricchi di funzionalità Il protocollo ICMP Il protocollo ICMP (Internet Control Message Protocol) è utilizzato per inviare messaggi di errore che indicano, ad esempio, che il servizio richiesto non è disponibile o che un terminale non è raggiungibile. Esso non è di solito usato direttamente da applicazioni tranne per qualche eccezione come ping e traceroute. 3.5 I protocolli del livello trasporto Il protocollo TCP TCP (che significa Transmission Control Protocol) è uno dei protocolli principali del livello trasporto del modello TCP/IP. Esso permette, a livello delle applicazioni, di gestire i dati provenienti (o a destinazione) dal livello inferiore del modello (cioè il protocollo IP). Una volta

50 48 Reti di calcolatori che i dati sono forniti al protocollo IP, quest ultimo li incapsula in datagrammi IP, fissando il campo protocollo a 6. TCP è un protocollo orientato connessione, cioè permette a due terminali che comunicano di controllare lo stato della trasmissione Le caratteristiche principali del protocollo TCP sono le seguenti: Il servizio offerto da TCP è il trasporto di un flusso di byte bidirezionale tra due applicazioni in esecuzione su host differenti. Il protocollo permette alle due applicazioni di trasmettere contemporaneamente nelle due direzioni, quindi il servizio può essere considerato Full Duplex anche se non tutti i protocolli applicativi basati su TCP utilizzano questa possibilità. Il flusso di byte viene frazionato in blocchi per la trasmissione dall applicazione a TCP (che normalmente è implementato all interno del sistema operativo), per la trasmissione all interno di segmenti TCP, per la consegna all applicazione che lo riceve, ma questa divisione in blocchi non è per forza la stessa nei diversi passaggi. TCP è un protocollo orientato alla connessione, ovvero 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. TCP garantisce che i dati trasmessi, se giungono a destinazione, lo facciano in ordine e una volta sola (at most once). Più formalmente, il protocollo fornisce ai livelli superiori un servizio equivalente ad una connessione fisica diretta che trasporta un flusso di byte. Questo è realizzato attraverso vari meccanismi di acknowledgment e di ritrasmissione su timeout. TCP possiede funzionalità di controllo di flusso e di controllo della congestione sulla connessione, attraverso il meccanismo della finestra scorrevole. Questo permette di ottimizzare l utilizzo della rete anche in caso di congestione, e di condividere equamen-

51 3.5 I protocolli del livello trasporto 49 te la capacità disponibile tra diverse sessioni TCP attive su un collegamento. TCP fornisce un servizio di multiplazione delle connessioni su un host, attraverso il meccanismo delle porte. Grazie al protocollo TCP le applicazioni possono avere la garanzia che la comunicazione avvenga senza perdita di dati grazie ad un sistema di riscontri (acknowledge) sulla effettiva ricezione dei dati. I router (che lavorano a livello Internet) hanno come unico ruolo l invio dei dati sotto forma di datagramma, senza preoccuparsi del controllo dei dati stessi, dato che questo è realizzato a livello trasporto dal protocollo TCP. Al momento di una comunicazione con il protocollo TCP due terminali devono stabilire una connessione. Il terminale emittente (quello che chiede la connessione) è detto client, mentre il terminale ricevente è detto server. TCP permette il multiplexaggio/demultiplexaggio, cioè di far transitare su una stessa linea dei dati provenienti da applicazioni diverse o in altre parole di mettere in serie delle informazioni arrivate in parallelo. Questo è realizzato grazie al concetto di porta che, insieme allindirizzo IP, permette di determinare in modo univoco un applicazione in esecuzione su un dato terminale. Il formato dei dati su TCP Un segmento TCP è costituito come segue: Significato dei differenti campi: Porta sorgente (16 bit): porta relativa all applicazione in corso su un terminale sorgente Porta destinazione (16 bit): porta relativa all applicazione in corso su un terminale destinazione Numero di sequenza (32 bit): Quando il flag SYN è a zero, indica lo scostamento (espresso in byte) dell inizio del segmento

52 50 Reti di calcolatori TCP all interno del flusso completo, a partire dall Initial Sequence Number (ISN), negoziato all apertura della connessione. Quando SYN è a 1, il numero di sequenza è quello iniziale usato per sincronizzare client e server (ISN). Numero di riscontro (32 bit): Numero di riscontro, ha significato solo se il flag ACK è settato a 1, e conferma la ricezione di una parte del flusso di dati nella direzione opposta, indicando il valore del prossimo Sequence number che l host mittente del segmento TCP si aspetta di ricevere. Lunghezza intestazione (4 bit): permette di individuare l inizio dei dati nel pacchetto. Questo valore è essenziale dato che il campo di opzioni è di dimensione variabile Non usato(6 bit): campo inutilizzato, riservato per usi futuri Flags (6x1 bit): i flag rappresentano delle informazioni supplementari:

53 3.5 I protocolli del livello trasporto 51 URG: se questo flag è a 1 il pacchetto deve essere trattato urgentemente. ACK: se il flag è a 1 il pacchetto è un riscontro PSH (PUSH): se il flag è a 1, il pacchetto funziona secondo il metodo PUSH. RST: se il flag è a 1, la connessione viene riinizializzata. SYN:il flag TCP SYN indica una richiesta di connessione. FIN: se questo flag è a 1, la connessione si interrompe Finestra di ricezione (16 bit): campo che permette di conoscere il numero di byte che il ricevitore desidera ricevere senza riscontro Checksum o CRC (16 bit): la somma di controllo è realizzata utilizzando intestazione +dati per poter verificare l integrità del segmento Puntatore a dati urgenti (16 bit): indica il numero d ordine a partire dal quale l informazione diventa urgente Opzioni (Dimensione variabile): opzioni diverse, si riempie lo spazio rimanente dopo le opzioni con degli zero per avere una lunghezza multipla di 32 bit Dati: il messaggio (chiamato anche payload o carico utile) Sequence number e Acknowledgement number Il Sequence number, o numero di sequenza, serve a posizionare il carico utile del segmento TCP all interno del flusso di dati. TCP si aspetta di ricevere il segmento successivo all ultimo segmento ricevuto in ordine, ovvero quello il cui numero di sequenza è pari al numero di sequenza dell ultimo segmento ricevuto in ordine più la dimensione del carico utile dello stesso segmento (cioè del suo campo Data). In ricezione, TCP controlla se il numero di sequenza ricevuto è quello atteso e in caso affermativo può inviare direttamente il carico utile al processo di livello applicativo e liberare i propri buffer.

54 52 Reti di calcolatori Se invece riceve un numero di sequenza maggiore di quello atteso, deduce che uno o più segmenti ad esso precedenti sono andati persi o ritardati dal livello di rete sottostante. Pertanto, memorizza temporaneamente in un buffer il carico utile del segmento per poterlo consegnare al processo applicativo dopo aver ricevuto e consegnato anche tutti quelli precedenti. Dal punto di vista del processo applicativo, quindi, i dati arriveranno in ordine anche se la rete ha per qualsiasi motivo alterato questo ordine, realizzando così il requisito della consegna ordinata dei dati. Se infine il numero di sequenza ricevuto è inferiore a quello atteso, il segmento viene considerato un duplicato di uno già ricevuto e già inviato allo strato applicativo, e quindi scartato. Questo permette di realizzare l eliminazione dei duplicati di rete. In ogni segmento inoltre, viene inviato un Acknowledgment Number, o numero di riscontro. Il numero di riscontro presente in un segmento riguarda il flusso di dati nella direzione opposta. Il protocollo TCP adotta la politica di Conferma cumulativa, ciò significa semplicemente che l arrivo di numero di riscontro indica al ricevente che il mittente ha ricevuto e correttamente inoltrato al proprio processo applicativo, il segmento avente numero di sequenza uguale al numero di riscontro indicato (-1) e anche tutti i segmenti ad esso precedenti. Per tale motivo, in trasmissione, TCP mantiene temporaneamente una copia di tutti i dati inviati ma non ancora riscontrati. Quando riceve un numero di riscontro per un segmento, ne deduce che tutti i dati precedenti a quel numero sono stati ricevuti correttamente e quindi libera il proprio buffer da questi dati. Per ciascun segmento inviato, TCP avvia un timer, detto timer di ritrasmissione RTO (Retransmission Time Out). Se il segmento non riceve un ACK prima che il timer scada, TCP assume che tutti i segmenti trasmessi a partire da quello siano andati persi e quindi li ritrasmette. Si noti che, in TCP, il meccanismo dei numeri di riscontro non permette al ricevitore di comunicare al trasmettitore che un segmento è stato perso, ma alcuni dei successivi sono stati ricevuti (meccanismo

55 3.5 I protocolli del livello trasporto 53 ad Acknowledgment Number negativi), quindi è possibile che per un solo pacchetto perso ne debbano essere ritrasmessi molti. Questo comportamento non ottimale è compensato dalla semplicità del protocollo. Questa tecnica è detta Go-Back-N; l alternativa, ovvero progettare il protocollo di trasporto in modo che solo i pacchetti effettivamente persi vengano ritrasmessi, è detta Selective Repeat (ripetizione selettiva); l utilizzo però di alcuni campi opzionali appositi permette l utilizzo della ripetizione selettiva. I numeri di riscontro e i relativi timer permettono quindi di realizzare la consegna affidabile, ovvero di garantire che tutti i dati inviati siano consegnati anche se alcuni pacchetti vengono persi dalla rete. Inizio di una connessione Per stabilire la connessione fra le due applicazioni si applicano le seguenti regole: Le porte TCP devono essere aperte L applicazione sul server è passiva, cioè l applicazione è in modalità ascolto, in attesa di una connessione L applicazione sul client fa una richiesta di connessione sul server. L applicazione del client è detta in apertura attiva. I due terminali devono iniziare la comunicazione sincronizzandosi attraverso ad un meccanismo comunemente detto three way handshake, che si ritrova anche in fine di sessione. In un primo tempo il terminale emittente (il client) trasmette un segmento il cui flag SYN è a 1 (per segnalare che si tratta di un segmento di sincronizzazione), con un numero di sequenza C, che si chiama numero di sequenza iniziale del client (ISN) Quando il terminale ricevente (il server) riceve il segmento iniziale proveniente dal client gli invia un acknowledge, cioè un segmento il cui flag ACK è a 1 e il flag SYN è a 1 (dato che si tratta ancora

56 54 Reti di calcolatori di una sincronizzazione) con un numero di sequenza S ed numero di riscontro C+1 Infine il client trasmette al server un acknowledge, cioè un segmento il cui flag ACK è a 1, il cui flag SYN è a zero (non si tratta più di un segmento di sincronizzazione) con numero di sequenza C+1 e numero di riscontro S+1 In seguito a questa sequenza i due terminali sono sincronizzati e la comunicazione può cominciare. Considerando ciò che avviene in ambito client-server quando la comunicazione avviene attraverso un socket si può così riassumere la successione tipica degli eventi e dei segmenti di dati che vengono scambiati che porta alla creazione di una connessione: 1. Il server deve essere preparato per accettare le connessioni in arrivo; il procedimento si chiama apertura passiva del socket. Questo viene fatto chiamando la sequenza di funzioni sui socket create, bind e listen. Completata l apertura passiva il server chiama la funzione accept e il processo si blocca in attesa di connessioni. 2. Il client richiede l inizio della connessione usando la funzione connect, attraverso un procedimento che viene chiamato aper-

57 3.5 I protocolli del livello trasporto 55 tura attiva. La chiamata di connect blocca il processo e causa l invio da parte del client di un segmento di sincronizzazione (flag SYN a 1). 3. il server deve dare l acknowledge del segmento di sincronizzazione del client ed inoltre deve inviare il suo segmento di sincronizzazione al client trasmettendo il suo numero di sequenza iniziale questo viene fatto dal server trasmettendo un singolo segmento in cui sono impostati entrambi i flag SYN e ACK. 4. una volta che il client riceve l acknowledge dal server la funzione connect ritorna, l ultimo passo è dare l acknowledge del segmento di sincronizzazione del server inviando un ACK. Alla ricezione di quest ultimo la funzione accept del server ritorna e la connessione è stabilita. Affidabilità dei trasferimenti Il protocollo TCP permette di assicurare il trasferimento dei dati in modo affidabile e garantisce che un insieme di dati sia spedito ad un altro dispositivo senza duplicati, modifiche o perdite. Il protocollo TCP ha un sistema di riscontri (acknowledge) che assicura la correttezza e l affidabilità della comunicazione. Si possono verificare tre condizioni: segmento ricevuto correttamente, segmento perso, segmento ricevuto ma corrotto. Caso 1: Segmento ricevuto correttamente Ogni segmento trasmesso contiene un proprio numero di sequenza. Alla ricezione di un segmento di dato, il terminale ricevente rimanda un segmento il cui flag ACK è a 1 (per segnalare che si tratta di un acknowledge) accompagnato da un numero di riscontro uguale al numero di sequenza del segmento ricevuto+1. Caso 2: Segmento perso LACK è solo positivo, per scoprire se un messaggio non è arrivato a destinazione il trasmettitore, quando invia un segmento, avvia un timer; al suo scadere, se non è arrivato lack per quel segmento, il segmento viene

58 56 Reti di calcolatori ritrasmesso, dato che in questo caso il terminale emittente considera il segmento perso. Tuttavia, se il segmento non è perso e arriva comunque al destinatario, il terminale ricevente saprà grazie al numero d ordine che si tratta di un doppione e conserverà solo l ultimo segmento arrivato a destinazione. Caso 3: Segmento ricevuto ma corrotto Se il ricevitore riceve un segmento e verifica che esso non è corretto (ad esempio in base al controllo del checksum) ne richiede la ritrasmissione inviando un segmento con numero di riscontro che corrisponde al numero di sequenza dell ultimo segmento corretto ricevuto +1. Sender e Receiver Buffer Si dice buffer unarea della memoria dellapplicazione che contiene i dati da scambiare tra mittente e destinatario. I dati vengono mano mano copiati (in unità di dimensione configurabile da parte di una applicazione) nellarea di memoria del sistema operativo attraverso la system call write(). Per ottimizzare il rapporto tra le informazioni di controllo poste nellintestazione e la quantità

TCP/IP. Principali caratteristiche

TCP/IP. Principali caratteristiche TCP/IP Principali caratteristiche 1 TCP/IP Caratteristiche del modello TCP/IP Struttura generale della rete Internet IL MONDO INTERNET Reti nazionali e internazionali ROUTER Rete Azienade ROUTER ROUTER

Dettagli

Reti basate sulla stack di protocolli TCP/IP

Reti basate sulla stack di protocolli TCP/IP Reti basate sulla stack di protocolli TCP/IP Classe V sez. E ITC Pacioli Catanzaro lido 1 Stack TCP/IP Modello TCP/IP e modello OSI Il livello internet corrisponde al livello rete del modello OSI, il suo

Dettagli

Classe bit: 0 1 2 3 4 8 16 24 31. 0 net id host id. 1 0 net id host id. 1 1 0 net id host id. 1 1 1 0 multicast address

Classe bit: 0 1 2 3 4 8 16 24 31. 0 net id host id. 1 0 net id host id. 1 1 0 net id host id. 1 1 1 0 multicast address CAPITOLO 11. INDIRIZZI E DOMAIN NAME SYSTEM 76 Classe bit: 0 1 2 3 4 8 16 24 31 A B C D E 0 net id host id 1 0 net id host id 1 1 0 net id host id 1 1 1 0 multicast address 1 1 1 1 0 riservato per usi

Dettagli

Internet e protocollo TCP/IP

Internet e protocollo TCP/IP Internet e protocollo TCP/IP Internet Nata dalla fusione di reti di agenzie governative americane (ARPANET) e reti di università E una rete di reti, di scala planetaria, pubblica, a commutazione di pacchetto

Dettagli

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software. Reti locati e reti globali Tecnologie: Reti e Protocolli Reti locali (LAN, Local Area Networks) Nodi su aree limitate (ufficio, piano, dipartimento) Reti globali (reti metropolitane, reti geografiche,

Dettagli

Internet. Cos'è internet? I parte

Internet. Cos'è internet? I parte Internet Da leggere: Cap.6, in particolare par. 6.4 del Console Ribaudo (testo B) I parte Cos'è internet? Milioni di dispositivi di calcolo tra loro interconnessi: host o end-systems Pc, workstation, server

Dettagli

SISTEMA DEI NOMI DI DOMINIO (DNS) Funzionamento del DNS. Soluzione centralizzata

SISTEMA DEI NOMI DI DOMINIO (DNS) Funzionamento del DNS. Soluzione centralizzata SISTEMA DEI NOMI DI DOMINIO (DNS) Ad ogni calcolatore collegato a Internet (host) è associato un indirizzo IP Utilizzo di nomi simbolici da parte degli utenti Necessità di una traduzione dei nomi simbolici

Dettagli

SISTEMA DEI NOMI DI DOMINIO (DNS)

SISTEMA DEI NOMI DI DOMINIO (DNS) SISTEMA DEI NOMI DI DOMINIO (DNS) Ad ogni calcolatore collegato a Internet (host) è associato un indirizzo IP Utilizzo di nomi simbolici da parte degli utenti Necessità di una traduzione dei nomi simbolici

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Reti di Calcolatori Claudio Marrocco Componenti delle reti Una qualunque forma di comunicazione avviene: a livello hardware tramite un mezzo fisico che

Dettagli

OCCHIO AL DOWNLOAD E UPLOAD!!!

OCCHIO AL DOWNLOAD E UPLOAD!!! OCCHIO AL DOWNLOAD E UPLOAD!!! DIRITTI DI PROPRIETA INDUSTRIALE TUTELANO ANCHE TE!!! Lezione n 8 RETE INTERNET DOMAIN NAME -Nativi digitali e Internet- Prof.ssa Cristina Daperno Prof. Aldo Ribero Prof.

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Introduzione alle Reti di Calcolatori versione 1.0 del 11/03/2003 G. Mecca mecca@unibas.it Università della Basilicata Reti >> Sommario Sommario dei Concetti Elab. Client-Server

Dettagli

Protocolli di Comunicazione

Protocolli di Comunicazione Protocolli di Comunicazione La rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo parzialmente aderente al modello OSI. L'architettura di rete Internet Protocol

Dettagli

DNS (Domain Name System) Gruppo Linux

DNS (Domain Name System) Gruppo Linux DNS (Domain Name System) Gruppo Linux Luca Sozio Matteo Giordano Vincenzo Sgaramella Enrico Palmerini DNS (Domain Name System) Ci sono due modi per identificare un host nella rete: - Attraverso un hostname

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Introduzione alle Reti Informatiche

Introduzione alle Reti Informatiche WWW.ICTIME.ORG Introduzione alle Reti Informatiche Cimini Simonelli - Testa Sommario Breve storia delle reti... 3 Internet... 3 Gli standard... 4 Il modello ISO/OSI... 4 I sette livelli del modello ISO/OSI...

Dettagli

20. DNS: Il Domain Name System

20. DNS: Il Domain Name System 20. DNS: Il Domain Name System 20.1 Introduzione È un database distribuito usato dalle applicazioni TCP/IP che: Mappa hostname su IP address Mappa IP address su hostname Fornisce informazione di routing

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Parte II: Reti di calcolatori Lezione 10

Parte II: Reti di calcolatori Lezione 10 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 10 Giovedì 9-04-2015 1 Database distribuiti e gerarchici

Dettagli

Reti e Internet: introduzione

Reti e Internet: introduzione Facoltà di Medicina UNIFG Corso di Informatica Prof. Crescenzio Gallo Reti e Internet: introduzione c.gallo@unifg.it Reti e Internet: argomenti Tipologie di reti Rete INTERNET: Cenni storici e architettura

Dettagli

La nascita di Internet

La nascita di Internet La nascita di Nel 1969 la DARPA (Defence Advanced Research Project Agency) studia e realizza la prima rete per la comunicazione tra computer (ARPAnet) fra 3 università americane ed 1 istituto di ricerca.

Dettagli

Gli indirizzi dell Internet Protocol. IP Address

Gli indirizzi dell Internet Protocol. IP Address Gli indirizzi dell Internet Protocol IP Address Il protocollo IP Prevalente è ormai diventato nell implementazione di reti di computer la tecnologia sintetizzata nei protocolli TCP- Ip IP è un protocollo

Dettagli

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema contenuto della comunicazione sistema per la gestione della comunicazione sottosistema C sottosistema B sottosistema A

Dettagli

Internet Protocol Versione 4: aspetti generali

Internet Protocol Versione 4: aspetti generali Internet Protocol Versione 4: aspetti generali L architettura di base del protocollo IP versione 4 e una panoramica sulle regole fondamentali del mondo TCP/IP 1 Cenni storici Introduzione della tecnologia

Dettagli

Lavorare in Rete Esercitazione

Lavorare in Rete Esercitazione Alfonso Miola Lavorare in Rete Esercitazione Dispensa C-01-02-E Settembre 2005 1 2 Contenuti Reti di calcolatori I vantaggi della comunicazione lavorare in rete con Windows Internet indirizzi IP client/server

Dettagli

Tecnologie per il web e lo sviluppo multimediale. Reti di Calcolatori e Internet

Tecnologie per il web e lo sviluppo multimediale. Reti di Calcolatori e Internet Tecnologie per il web e lo sviluppo multimediale Reti di Calcolatori e Internet Luca Pulina Corso di Laurea in Scienze della Comunicazione Università degli Studi di Sassari A.A. 2015/2016 Luca Pulina (UNISS)

Dettagli

Corso di recupero di sistemi Lezione 8

Corso di recupero di sistemi Lezione 8 Corso di recupero di sistemi Lezione 8 a.s. 2011/2012 - Prof. Fabio Ciao 24 aprile 2012 Reti TCP/IP Una rete TCP/IP è una rete locale o geografica che utilizza protocolli TCP/IP con i primi 2 livelli una

Dettagli

Modulo 9 Insieme di protocolli TCP/IP e indirizzi IP

Modulo 9 Insieme di protocolli TCP/IP e indirizzi IP Modulo 9 Insieme di protocolli TCP/IP e indirizzi IP 9.1 Introduzione a TCP/IP 9.1.1 Storia e futuro di TCP/IP Il ministero della difesa americana (DoD) creò il modello TCP/IP perché voleva una rete che

Dettagli

PROOCOLLO TCP-IP I sistemi aperti Protocollo di rete e di comunicazione Il modello a strati Il modello ISO/OSI

PROOCOLLO TCP-IP I sistemi aperti Protocollo di rete e di comunicazione Il modello a strati Il modello ISO/OSI PROOCOLLO TCP-IP I sistemi aperti Il concetto di sistema aperto deriva dalla necessità di standardizzazione. Nella progettazione di una rete ci si può trovare di fronte ad una serie di prodotti offerti

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE A INTERNET - 1 Internet: nomenclatura Host: calcolatore collegato a Internet ogni host

Dettagli

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP

Dettagli

Lezione 11 Livello Applicativo bind (DNS)

Lezione 11 Livello Applicativo bind (DNS) Lezione 11 Livello Applicativo bind (DNS) Università degli Studi di Milano Insegnamento di Terminologia - 1 ISO/OSI (Open System Interconnection) Standard de iure che organizza l'architettura di una rete

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet AA 2004-2005 Reti e Sistemi Telematici 1 Internet: nomenclatura Host: calcolatore collegato a Internet ogni host può essere client e/o server a livello applicazione Router:

Dettagli

Domain Name System: DNS

Domain Name System: DNS Domain Name System: DNS Nomi simbolici Gerarchia dei nomi Gerarchia dei DNS Risoluzione dei nomi Caching e abbreviazioni Descrittori di risorsa Nomi simbolici Tutte le applicazioni Internet usano indirizzi

Dettagli

Internet: architettura e servizi

Internet: architettura e servizi Corso di Laurea Magistrale in Medicina e Chirurgia Corso di Informatica - II anno Prof. Crescenzio Gallo Internet: architettura e servizi c.gallo@unifg.it Internet: argomenti n Modalità di collegamento

Dettagli

Sistemi e Servizi di TLC. Lezione N. 6. Il servizio DNS (Domain Name System)

Sistemi e Servizi di TLC. Lezione N. 6. Il servizio DNS (Domain Name System) Sistemi e Servizi di TLC Lezione N. 6 Il servizio DNS (Domain Name System) 1 Nomi logici e indirizzi IP Gli indirizzi IP utilizzati per identificare univocamente i dispositivi connessi alla rete (router

Dettagli

Reti di Calcolatori. Lezione 2

Reti di Calcolatori. Lezione 2 Reti di Calcolatori Lezione 2 Una definizione di Rete Una moderna rete di calcolatori può essere definita come: UN INSIEME INTERCONNESSO DI CALCOLATORI AUTONOMI Tipi di Rete Le reti vengono classificate

Dettagli

Internet: architettura e servizi

Internet: architettura e servizi Facoltà di Medicina Corso di Laurea in Logopedia Corso di Informatica - III anno Prof. Crescenzio Gallo Internet: architettura e servizi c.gallo@unifg.it Internet: argomenti Modalità di collegamento alla

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica). Topologia delle reti Una RETE DI COMPUTER è costituita da un insieme di elaboratori (NODI) interconnessi tra loro tramite cavi (o sostituti dei cavi come le connessioni wireless). Rete Point-to-Point:

Dettagli

Reti di calcolatori. Lezione del 18 maggio

Reti di calcolatori. Lezione del 18 maggio Reti di calcolatori Lezione del 18 maggio Riepilogo concetti Il software di rete La gestione della rete non può essere lasciata alle applicazioni-utente Necessità di un software specifico dedicato a gestire

Dettagli

Le Reti (gli approfondimenti a lezione)

Le Reti (gli approfondimenti a lezione) Le Reti (gli approfondimenti a lezione) Per migliorare la produttività gli utenti collegano i computer tra di loro formando delle reti al fine di condividere risorse hardware e software. 1 Una rete di

Dettagli

Corso di Reti di Calcolatori

Corso di Reti di Calcolatori Corso di Reti di Calcolatori IP switch uplink FDDI backbone global server porta Fddi Prof. Orazio Mirabella HUB SWITCH Ethernet SWITCH Ethernet Eth. 10Base-T SWITCH Ethernet TCP/IP Cenni Storici Internet

Dettagli

Glossario ADSL Asymmetric Digital Subscriber Line ADSL2+ Asymmetric Digital Subscriber Line ADSL ADSL2+ Browser Un browser Client Un client

Glossario ADSL Asymmetric Digital Subscriber Line ADSL2+ Asymmetric Digital Subscriber Line ADSL ADSL2+ Browser Un browser Client Un client Glossario ADSL Asymmetric Digital Subscriber Line ADSL2+ Asymmetric Digital Subscriber Line ADSL è una tecnica di trasmissione dati che permette l accesso a Internet fino a 8 Mbps in downstream ed 1 Mbps

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons

Dettagli

Capitolo 1 - parte 1. Corso Reti ed Applicazioni Mauro Campanella

Capitolo 1 - parte 1. Corso Reti ed Applicazioni Mauro Campanella Capitolo 1 - parte 1 Corso Reti ed Applicazioni Mauro Campanella Precisazione Noi ci occuperemo solo della trasmissione di informazione in formato digitale. Un segnale analogico è basato su una variazione

Dettagli

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi I semestre 03/04 Inidirizzi IP e Nomi di Dominio Domain Name System Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

Il Livello delle Applicazioni

Il Livello delle Applicazioni Il Livello delle Applicazioni Il livello Applicazione Nello stack protocollare TCP/IP il livello Applicazione corrisponde agli ultimi tre livelli dello stack OSI. Il livello Applicazione supporta le applicazioni

Dettagli

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico IP e subnetting Ip IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico come nel caso del MAC Address) una

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Capitolo 16 I servizi Internet

Capitolo 16 I servizi Internet Capitolo 16 I servizi Internet Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica

Dettagli

Reti di calcolatori: Introduzione

Reti di calcolatori: Introduzione Reti di calcolatori: Introduzione Vittorio Maniezzo Università di Bologna Reti di computer e Internet Rete: sistema di collegamento di più computer mediante una singola tecnologia di trasmissione Internet:

Dettagli

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA 2010-2011. Paola Zamperlin. Internet. Parte prima

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA 2010-2011. Paola Zamperlin. Internet. Parte prima Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA 2010-2011 Paola Zamperlin Internet. Parte prima 1 Definizioni-1 Una rete di calcolatori è costituita da computer e altri

Dettagli

Application layer. Protocolli a livello applicativo. Identificatori in Internet. Protocolli a livello applicativo, esempi. Francesco Dalla Libera

Application layer. Protocolli a livello applicativo. Identificatori in Internet. Protocolli a livello applicativo, esempi. Francesco Dalla Libera Protocolli a livello applicativo Application layer Francesco Dalla Libera! In questo livello si trovano diverse tipologie di oggetti: " protocolli di supporto a tutte le applicazioni: # DNS (Domain Name

Dettagli

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia Informatica Prof. M. Colajanni Università di Modena Reggio Emilia PARTE 3 - COMUNICAZIONI INFORMATICHE (Internet) Importanza delle comunicazioni Tutti vogliono comunicare Oggi un computer che non è in

Dettagli

PROTOCOLLI APPLICATIVI PER INTERNET

PROTOCOLLI APPLICATIVI PER INTERNET PROTOCOLLI APPLICATIVI PER INTERNET IC3N 2000 N. 5 La famiglia dei protocolli TCP/IP Applicazioni e-mail,ftp,ssh,www TCP UDP ICMP IP ARP RARP IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico 6 1 Protocolli

Dettagli

Introduzione a Internet

Introduzione a Internet Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

INTRODUZIONE A RETI E PROTOCOLLI

INTRODUZIONE A RETI E PROTOCOLLI PARTE 1 INTRODUZIONE A RETI E PROTOCOLLI Parte 1 Modulo 1: Introduzione alle reti Perché le reti tra computer? Collegamenti remoti a mainframe (< anni 70) Informatica distribuita vs informatica monolitica

Dettagli

I protocolli TCP/IP di Internet

I protocolli TCP/IP di Internet I protocolli TCP/IP di Internet Introduzione E' quasi impossibile oggigiorno leggere un giornale o una rivista dove non si parli di Internet. I riferimenti ad Internet ed alle "autostrade dell'informazione"

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Introduzione al Dns. Loredana Pillitteri. Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003

Introduzione al Dns. Loredana Pillitteri. Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003 Introduzione al Dns Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003 Cos è il DNS Lo spazio dei nomi ed indirizzi IP Tipi record migrazione nuovo dominio ISTI migrazione

Dettagli

PROGRAMMAZIONE MODULARE 2015-2016. Disciplina: SISTEMI E RETI Classe: QUINTA A INF SERALE Indirizzo: INFORMATICA

PROGRAMMAZIONE MODULARE 2015-2016. Disciplina: SISTEMI E RETI Classe: QUINTA A INF SERALE Indirizzo: INFORMATICA PROGRAMMAZIONE MODULARE 2015-2016 Disciplina: SISTEMI E RETI Classe: QUINTA A INF SERALE Indirizzo: INFORMATICA Docenti: Gualdi (teoria), Travaglioni (laboratorio) Ore settimanali previste: 2 TEORIA +

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 1 Internet è una rete che collega centinaia di milioni di computer in tutto il mondo 2 Le connessioni sono dei tipi più disparati;

Dettagli

C) supponendo che la scuola voglia collegarsi in modo sicuro con una sede remota, valutare le possibili soluzioni (non risolto)

C) supponendo che la scuola voglia collegarsi in modo sicuro con una sede remota, valutare le possibili soluzioni (non risolto) PROGETTO DI UNA SEMPLICE RETE Testo In una scuola media si vuole realizzare un laboratorio informatico con 12 stazioni di lavoro. Per tale scopo si decide di creare un unica rete locale che colleghi fra

Dettagli

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

Sistemi Informativi di relazione - Internet

Sistemi Informativi di relazione - Internet Sistemi Informativi di relazione - Internet Obiettivi. Presentare i concetti base di Internet. Illustrare l evoluzione storica di Internet. Familiarizzare con gli elementi fondamentali di Internet: Il

Dettagli

Architetture di router IP

Architetture di router IP Torino, novembre 2004 Reti e sistemi telematici Architetture di router IP Gruppo Reti TLC giancarlo.pirani@telecomitalia.it http://www.telematica.polito.it/ GIANCARLO PIRANI TELECOM ITALIA LAB ROUTER IP

Dettagli

Sistemi informatici in ambito radiologico

Sistemi informatici in ambito radiologico Sistemi informatici in ambito radiologico Dott. Ing. Andrea Badaloni A.A. 2015 2016 Reti di elaboratori, il modello a strati e i protocolli di comunicazione e di servizio Reti di elaboratori Definizioni

Dettagli

Interconnessione di reti

Interconnessione di reti Interconnessione di reti Collegamenti tra reti eterogenee Instradamento (routing) e inoltro (forwarding) IPv4 - indirizzi IP e MAC - sottoreti IPv6 - evoluzione di Internet DNS - Domain Name System Conclusioni

Dettagli

Università Magna Graecia di Catanzaro Facoltà di Medicina e Chirurgia Corso di Laurea in Scienze Infermieristiche Polo Didattico di Reggio Calabria

Università Magna Graecia di Catanzaro Facoltà di Medicina e Chirurgia Corso di Laurea in Scienze Infermieristiche Polo Didattico di Reggio Calabria Università Magna Graecia di Catanzaro Facoltà di Medicina e Chirurgia Corso di Laurea in Scienze Infermieristiche Polo Didattico di Reggio Calabria Corso Integrato di Scienze Fisiche, Informatiche e Statistiche

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

Reti standard. Si trattano i modelli di rete su cui è basata Internet

Reti standard. Si trattano i modelli di rete su cui è basata Internet Reti standard Si trattano i modelli di rete su cui è basata Internet Rete globale Internet è una rete globale di calcolatori Le connessioni fisiche (link) sono fatte in vari modi: Connessioni elettriche

Dettagli

La rete: modelli di riferimento. La rete: modelli di riferimento. La rete: modelli di riferimento. La rete: modelli di riferimento Indice

La rete: modelli di riferimento. La rete: modelli di riferimento. La rete: modelli di riferimento. La rete: modelli di riferimento Indice Indice 1. Definizioni essenziali 2. Modelli di rete 3. Reti fisiche 4. Protocolli di rete 5. Modelli di riferimento 6. Raffronto tra modelli Architettura degli Elaboratori 2 - T. Vardanega Pagina 275 Definizioni

Dettagli

(Domain Name System) DNS (Domain Name System) Architettura del DNS DNS. A.Lioy - Politecnico di Torino (2013) B-1. Antonio Lioy < lioy@polito.

(Domain Name System) DNS (Domain Name System) Architettura del DNS DNS. A.Lioy - Politecnico di Torino (2013) B-1. Antonio Lioy < lioy@polito. (Domain Name System) (Domain Name System) Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica (Domain Name System) è il sistema scelto da Internet per mantenere la corrispondenza

Dettagli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2011/2012 Francesco Fontanella

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2011/2012 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 2 a lezione Francesco Fontanella Software delle reti Una rete è costituta da macchina diverse; Come è possibile farle comunicare?

Dettagli

LAN MAN WAN. Una internet è l'insieme di più reti reti distinte collegate tramite gateway/router

LAN MAN WAN. Una internet è l'insieme di più reti reti distinte collegate tramite gateway/router Rete di reti (interrete, internet) 2 Prof. Roberto De Prisco TEORIA - Lezione 8 Rete di reti e Internet Università degli studi di Salerno Laurea e Diploma in Informatica Una rete di comunicazione è un

Dettagli

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Dettagli

TOPOLOGIA di una rete

TOPOLOGIA di una rete TOPOLOGIA di una rete Protocolli di rete un protocollo prevede la definizione di un linguaggio per far comunicare 2 o più dispositivi. Il protocollo è quindi costituito dai un insieme di convenzioni

Dettagli

Politecnico di Bari. Facoltà di Ingegneria Elettronica. Corso di Reti di Telecomunicazioni

Politecnico di Bari. Facoltà di Ingegneria Elettronica. Corso di Reti di Telecomunicazioni Politecnico di Bari Facoltà di Ingegneria Elettronica Corso di Reti di Telecomunicazioni Internet Protocol versione 4 Generalità sulle reti IP... 2 Lo header IP versione 4... 3 Concetti generali sugli

Dettagli

Reti di Telecomunicazioni LB Introduzione al corso

Reti di Telecomunicazioni LB Introduzione al corso Reti di Telecomunicazioni LB Introduzione al corso A.A. 2005/2006 Walter Cerroni Il corso Seguito di Reti di Telecomunicazioni LA Approfondimento sui protocolli di Internet TCP/IP, protocolli di routing,

Dettagli

Il DNS e la gestione degli indirizzi IP. Appunti a cura del prof. ing. Mario Catalano

Il DNS e la gestione degli indirizzi IP. Appunti a cura del prof. ing. Mario Catalano Il DNS e la gestione degli indirizzi IP Appunti a cura del prof. ing. Mario Catalano Indirizzi fisici e indirizzi astratti Ogni macchina all interno di una rete è identificata da un indirizzo hardware

Dettagli

Progettazione Siti Web: Internet

Progettazione Siti Web: Internet Progettazione Siti Web: Internet Dr. Ing. Information Management Systems (IMS) Research Group, Dipartimento di Ingegneria dell Informazione, Università degli Studi di Padova {silvello}@dei.unipd.it Corso

Dettagli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Una definizione di Rete Una moderna rete di calcolatori può essere definita come:

Dettagli

L architettura di TCP/IP

L architettura di TCP/IP L architettura di TCP/IP Mentre non esiste un accordo unanime su come descrivere il modello a strati di TCP/IP, è generalmente accettato il fatto che sia descritto da un numero di livelli inferiore ai

Dettagli

VISITA IL SITO http://www.the-skulls.com PER ALTRO MATERIALE E GUIDE

VISITA IL SITO http://www.the-skulls.com PER ALTRO MATERIALE E GUIDE COPYRIGHT SEGO LICENSE Questo documento viene fornito così come è: se pensate che faccia schifo problemi vostri, nessuno vi obbliga a leggerlo. Se pensate che sia qualcosa di positivo e/o avete suggerimenti

Dettagli

Laurea in INFORMATICA

Laurea in INFORMATICA Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2013/2014 Capitolo 4 Indirizzi del Protocollo IP fausto.marcantoni@unicam.it Agenda Indirizzamento, gerarchia, classificazione degli indirizzi

Dettagli

Reti di calcolatori e Internet

Reti di calcolatori e Internet Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Reti di calcolatori e Internet

Dettagli

Anno Accademico 2012-2013. Corso di Reti di Calcolatori e Comunicazione Digitale. Modulo 3 : TCP/IP Lo strato di rete.

Anno Accademico 2012-2013. Corso di Reti di Calcolatori e Comunicazione Digitale. Modulo 3 : TCP/IP Lo strato di rete. CdS in INFORMATICA e COMUNICAZIONE DIGITALE Anno Accademico 2012-2013 Corso di Reti di Calcolatori e Comunicazione Digitale Modulo 3 : TCP/IP Lo strato di rete Prof. Sebastiano Pizzutilo Dipartimento di

Dettagli

La rete internet e il WEB

La rete internet e il WEB C.so Integrato di statistica, e analisi dei dati sperimentali prof Carlo Meneghini Dip. di Fisica E. Amaldi via della Vasca Navale 84 meneghini@fis.uniroma3.it tel.: 06 57337217 http://www.fis.uniroma3.it/~meneghini

Dettagli

Informatica Generale Andrea Corradini. 10 - Le reti di calcolatori e Internet

Informatica Generale Andrea Corradini. 10 - Le reti di calcolatori e Internet Informatica Generale Andrea Corradini 10 - Le reti di calcolatori e Internet Cos è una rete di calcolatori? Rete : È un insieme di calcolatori e dispositivi collegati fra loro in modo tale da permettere

Dettagli

Indirizzamento IP e classi di indirizzi. Le classi di indirizzi IP sono un modo per caratterizzare lo spazio di indirizzamento IPv4.

Indirizzamento IP e classi di indirizzi. Le classi di indirizzi IP sono un modo per caratterizzare lo spazio di indirizzamento IPv4. Indirizzamento IP e classi di indirizzi Le classi di indirizzi IP sono un modo per caratterizzare lo spazio di indirizzamento IPv4. Gli Indirizzi IP Un indirizzo IP (dall'inglese Internet Protocol address)

Dettagli

Gestione delle Reti di Telecomunicazioni

Gestione delle Reti di Telecomunicazioni Dipartimento di Elettronica e Telecomunicazioni Gestione delle Reti di Telecomunicazioni Modello TCP/IP Ing. Tommaso Pecorella Ing. Giada Mennuti {pecos,giada}@lenst.det.unifi.it 1 Sommario Modello TCP/IP

Dettagli

Protocollo IP e collegati

Protocollo IP e collegati Protocollo IP e collegati Argomenti trattati: formato del pacchetto IP; servizi del protocollo IP; formato degli indirizzi; instradamento dei datagrammi; classi di indirizzi A, B, C, D; indirizzi speciali,

Dettagli

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

Il livello Network del TCP/IP. Il protocollo IP (versione 4) Il livello Network del TCP/IP. Il protocollo IP (versione 4) L architettura TCP/IP (il cui nome più preciso è ) è formata da diversi componenti, che si posizionano nello stack dei protocolli a partire

Dettagli

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Punto di vista fisico: insieme di hardware, collegamenti, e protocolli che permettono la comunicazione tra macchine remote

Dettagli

Reti, Protocolli e Indirizzi. DIMENSIONE della RETE. Arpanet e Internetworking. Topologia a Stella

Reti, Protocolli e Indirizzi. DIMENSIONE della RETE. Arpanet e Internetworking. Topologia a Stella Premessa breve Reti, Protocolli e Indirizzi Lo sviluppo delle telecomunicazioni ha avuto due fattori determinanti : L esistenza di una rete esistente (quella telefonica) La disponibilita di HW e SW adeguati

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 1 Reti di Calcolatori MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 2 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli