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 root@ns1... 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à

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

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

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

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

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

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

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

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

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

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

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

Standard di comunicazione

Standard di comunicazione Standard di comunicazione Organizzato a livelli per ridurne la complessità e aumentarne la flessibilità il numero dei livelli e le loro funzionalità dipendono dal tipo di rete ogni livello formalizza un

Dettagli

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

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

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

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain

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

Reti di Calcolatori 18-06-2013

Reti di Calcolatori 18-06-2013 1. Applicazioni di rete [3 pts] Si descrivano, relativamente al sistema DNS: Compito di Reti di Calcolatori 18-06-2013 a) i motivi per i quali viene usato; b) l architettura generale; c) le modalità di

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

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin Laboratorio di Reti Relazione N 2 Gruppo N 9 Mattia Vettorato Alberto Mesin Scopo dell'esercitazione Configurare un Name Server per un dominio, in particolare il nostro dominio sarà gruppo9.labreti.it.

Dettagli

158.110.1.3 158.110.1.2 SWITCH. 100 Mb/s (UTP cat. 5E) 158.110.1.1 158.110.3.3 158.110.3.2. 10 Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

158.110.1.3 158.110.1.2 SWITCH. 100 Mb/s (UTP cat. 5E) 158.110.1.1 158.110.3.3 158.110.3.2. 10 Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat. Università degli Studi di Udine Insegnamento: Reti di Calcolatori I Docente: Pier Luca Montessoro DOMANDE DI RIEPILOGO SU: - Livello network 1. Si deve suddividere la rete 173.19.0.0 in 510 subnet. Qual

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

Reti di Calcolatori. Il software

Reti di Calcolatori. Il software Reti di Calcolatori Il software Lo Stack Protocollare Application: supporta le applicazioni che usano la rete; Transport: trasferimento dati tra host; Network: instradamento (routing) di datagram dalla

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 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

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

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2 GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2 Fondamenti sugli indirizzi dell Internet Protocol 2 Struttura di un indirizzo IP 2 Le classi degli indirizzi IP 3 Indirizzi di Classe A 3 Indirizzi di

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

(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

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Dettagli

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP Un indirizzo IP è composto da 32 bit. Generalmente, per convenienza, è presentato in decimale: 4 ottetti (bytes) separati da un punto. Ogni rete fisica

Dettagli

Reti e Internet: introduzione

Reti e Internet: introduzione Facoltà di Medicina - Corso di Laurea in Logopedia Corso di Informatica III anno Prof. Crescenzio Gallo Reti e Internet: introduzione c.gallo@unifg.it Reti e Internet: argomenti Tipologie di reti Rete

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

Gestione degli indirizzi

Gestione degli indirizzi Politecnico di Milano Facoltà di Ingegneria dell Informazione Gestione degli indirizzi -Address Resolution Protocol (ARP) -Reverse Address Resolution Protocol (RARP) -Dynamic Host Configuration Protocol

Dettagli

InterNet: rete di reti

InterNet: rete di reti Internet e il web: introduzione rapida 1 InterNet: rete di reti Una rete è costituita da diversi computer collegati fra di loro allo scopo di: Comunicare Condividere risorse Ogni computer della rete può,

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

COMPLESSO SCOLASTICO INTERNAZIONALE GIOVANNI PAOLO II. Pianificazione di reti IP (subnetting)

COMPLESSO SCOLASTICO INTERNAZIONALE GIOVANNI PAOLO II. Pianificazione di reti IP (subnetting) Pianificazione di reti IP (subnetting) Avendo una rete complessa possiamo dividerla in sottoreti logiche, collegandole con dei router. Questa operazione di segmentazione prende il nome di subnetting, ed

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

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

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 3 a lezione Francesco Fontanella Il pacchetto IP Il preambolo (header) IP è fatto in questo modo: Gli Indirizzi IP Ogni host e router

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

Reti di calcolatori. Reti di calcolatori

Reti di calcolatori. Reti di calcolatori Reti di calcolatori Reti di calcolatori Rete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione Ogni calcolatore e un nodo, con un suo indirizzo di rete Storia:

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

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 Livelli di rete e architettura Client-Server Lez 12 architettura client-server 1 Scorsa lezione: comunicazione Gli utenti chiedono comunicazione

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente

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

Informatica per la comunicazione" - lezione 8 -

Informatica per la comunicazione - lezione 8 - Informatica per la comunicazione - lezione 8 - I multipli 1 KB (kilo) = 1000 B 1 MB (mega) = 1 mln B 1 GB (giga) = 1 mld B 1 TB (tera) = 1000 mld B Codifica binaria dei numeri Numerazione con base 10:

Dettagli

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

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

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan RETI E SISTEMI INFORMATIVI Domain Name System Prof. Andrea Borghesan http://venus.unive.it/borg borg@unive.it Ricevimento: mercoledì, 10.00-11.00. Studio 34, primo piano. Dip. Statistica 1 Modalità esame:

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

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

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

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

Gestione degli indirizzi

Gestione degli indirizzi Politecnico di Milano Advanced Network Technologies Laboratory Gestione degli indirizzi - Address Resolution Protocol (ARP) - Reverse Address Resolution Protocol (RARP) - Dynamic Host Configuration Protocol

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

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

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è Protocollo TCP/IP e indirizzi IP Il protocollo TCP/IP è alla base dei sistemi di trasmissione dati impiegati sulle reti locali e su Internet. Nato nel Gennaio 1983 negli Stati Uniti come sistema di comunicazione

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

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

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

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e TCP/IP Sommario Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e pubblici Introduzione al TCP/IP TCP/IP

Dettagli

Reti Informatiche. dott. Andrea Mazzini

Reti Informatiche. dott. Andrea Mazzini Reti Informatiche dott. Andrea Mazzini Indirizzi IP e nomi Ogni computer collegato ad una rete TCP/IP è identificato in modo univoco da un numero a 32 bit (indirizzo IP) e da un nome logico (hostname)

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000 TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000 1) Quanti sono i livelli del modello ISO/OSI: A. 3 B. 7 C. 6 D. non è definito un numero massimo non è definito un numero massimo 2) Due entità ad un

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. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI) Reti Architettura a livelli (modello OSI) Prevede sette livelli: applicazione, presentazione, sessione, trasporto, rete, collegamento dei dati (datalink), fisico. TCP/IP: si può analizzare in maniera analoga

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

URI. Introduzione. Pag. 1

URI. Introduzione. Pag. 1 URI Introduzione Gli URI (Universal Resource Indentifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. Questi oggetti sono considerati accessibili

Dettagli

Reti diverse: la soluzione nativa

Reti diverse: la soluzione nativa Reti diverse: la soluzione nativa Quando si deve trasmettere un messaggio attraverso reti diverse, per il mezzo fisico, per il protocollo di accesso o altro, a che livello si colloca la procedura di traduzione

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello rete in Internet Il protocollo

Dettagli

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita Organizzazione distribuita Il messaggio viene organizzato in pacchetti dal calcolatore sorgente. Il calcolatore sorgente instrada i pacchetti inviandoli ad un calcolatore a cui è direttamente connesso.

Dettagli

Reti di elaboratori. Reti di elaboratori. Reti di elaboratori INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Reti di elaboratori. Reti di elaboratori. Reti di elaboratori INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Reti di elaboratori Rete di calcolatori: insieme di dispositivi interconnessi Modello distribuito INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Funzioni delle reti: comunicazione condivisione di

Dettagli

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente Cos'è una vlan Da Wikipedia: Una LAN virtuale, comunemente detta VLAN, è un gruppo di host che comunicano tra di loro come se fossero collegati allo stesso cablaggio, a prescindere dalla loro posizione

Dettagli

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 1 richiami SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 1 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

Maschere di sottorete a lunghezza variabile

Maschere di sottorete a lunghezza variabile Sottoreti Il CIDR (Classless Inter-Domain Routing) è un nuovo schema di indirizzamento introdotto nel 1993 per sostituire lo schema classful secondo il quale tutti gli indirizzi IP appartengono ad una

Dettagli

I canali di comunicazione

I canali di comunicazione I canali di comunicazione tipo velocità min velocità max doppino telefonico 300bps 10 mbps micro onde 256kbps 100 mbps satellite 256kbps 100 mbps cavo coassiale 56 kbps 200 mbps fibra ottica 500 kbps 10

Dettagli

Apparecchiature di Rete

Apparecchiature di Rete All interno delle reti troviamo delle apparecchiature, utilizzate per gestire le trasmissioni tra gli elementi della rete e per creare interconnessioni tra reti differenti Livello 7 Livello 6 Livello 5

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

Il funzionamento delle reti

Il funzionamento delle reti Fluency Il funzionamento delle reti Capitolo 2 Comunicazione nel tempo Sincrona mittente e destinatario attivi contemporaneamente Asincrona invio e ricezione in momenti diversi Quanti comunicano Broadcast

Dettagli

Progettare un Firewall

Progettare un Firewall Progettare un Firewall Danilo Demarchi danilo@cuneo.linux.it GLUG Cuneo Corso Sicurezza 2006 Concetti introduttivi Come pensare un Firewall Argomenti trattati I Gli strumenti del Firewall Gli strumenti

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

Reti diverse: la soluzione nativa

Reti diverse: la soluzione nativa Reti diverse: la soluzione nativa Quando si deve trasmettere un messaggio attraverso reti diverse, per il mezzo fisico, per il protocollo di accesso o altro, a che livello si colloca la procedura di traduzione

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

Linux User Group Cremona CORSO RETI

Linux User Group Cremona CORSO RETI Linux User Group Cremona CORSO RETI Cos'è una rete informatica Una rete di calcolatori, in informatica e telecomunicazioni, è un sistema o un particolare tipo di rete di telecomunicazioni che permette

Dettagli

Reti di calcolatori ed indirizzi IP

Reti di calcolatori ed indirizzi IP ITIS TASSINARI, 1D Reti di calcolatori ed indirizzi IP Prof. Pasquale De Michele 5 aprile 2014 1 INTRODUZIONE ALLE RETI DI CALCOLATORI Cosa è una rete di calcolatori? Il modo migliore per capire di cosa

Dettagli

Reti di Calcolatori: una LAN

Reti di Calcolatori: una LAN Reti di Calcolatori: LAN/WAN e modello client server Necessità di collegarsi remotamente: mediante i terminali, ai sistemi di elaborazione e alle banche dati. A tal scopo sono necessarie reti di comunicazione

Dettagli

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Tecnologie informatiche ACCESSO REMOTO CON WINDOWS Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Un esempio di tale servizio

Dettagli

L'indirizzo IP. Prof.ssa Sara Michelangeli

L'indirizzo IP. Prof.ssa Sara Michelangeli Prof.ssa Sara Michelangeli L'indirizzo IP La possibilità di trasmettere dati nella rete è data dalla capacità di indentificare ogni singolo host grazie all'indirizzo IP che gli è stato assegnato. L'indirizzo

Dettagli

Comunicazione nel tempo

Comunicazione nel tempo Fluency Il funzionamento delle reti Capitolo 2 Comunicazione nel tempo Sincrona mittente e destinatario attivi contemporaneamente Asincrona invio e ricezione in momenti diversi 1 Quanti comunicano Broadcast

Dettagli

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls Università degli Studi di Pisa Dipartimento di Informatica NAT & Firewalls 1 NAT(NETWORK ADDRESS TRANSLATION) MOTIVAZIONI NAT(Network Address Translation) = Tecnica di filtraggio di pacchetti IP con sostituzione

Dettagli

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8)

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8) RETI DI COMPUTER Reti Geografiche (Sez. 9.8) Riepilogo Reti lez precedente reti locali o LAN (Local Area Network): connette fisicamente apparecchiature su brevi distanze Una LAN è solitamente interna a

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli