Reti di elaboratori e reti di comunicazione
Fondamenti di comunicazioni: segnali, canali, mezzi e metodi di trasmissione (analisi funzionale).
Il modello ISO-OSI: livelli e primitive di interfaccia.
La suite di protocolli TCP/IPv4: algoritmi di switching layer 2 e di routing layer 3. Protocollo IPv6.
Reti locali e reti geografiche: architettura fisica, sistemi operativi e programmi di comunicazione.
Strumenti di simulazione di progettazione di reti locali.
Normative per il cablaggio strutturato standard EIA.
Internet, i protocolli TCP/IP e le tecnologie di Internet
Internetworking
Internetworking (connessione di reti), o più semplicemente Internet, è un mezzo di comunicazione che opera in modalità multimediale (porta insieme segnali audio, video e dati) e che interconnette milioni di computer in tutto il mondo, utilizzando un linguaggio comune. È qualcosa di simile ad una rete WAN di computers, cioè un insieme di calcolatori connessi tra loro attraverso delle LAN a loro volta interconnesse ad altre con linea dedicata o attraverso collegamenti Modem-Server in modo da avvolgere tutto il mondo. Tutte le reti sono collegate da un insieme comune di protocolli tecnici che consentono agli utenti di ciascuna rete di comunicare o di utilizzare i servizi situati su una qualsiasi delle reti componenti. L’insieme comune di protocolli corrisponde al protocollo TCP/IP, il quale non rappresenta un singolo protocollo, ma in realtà corrisponde ad una suite di protocolli che prende il nome dai due più importanti tra essi: Transmission Control Protocol (TCP) e Internet Protocol (IP).
L’obiettivo più importante raggiunto dal TCP/IP è l’interconnessioni tra reti estremamente eterogenee. Le varie reti appartenenti ad Internet possono essere infatti estremamente diverse tra di loro: per questo Internet è stata sviluppata in modo da essere indipendente dal tipo di computer e di rete locale che si vuole connettere. È possibile collegarsi con qualsiasi tipo di elaboratore, dal supercalcolatore al personal computer, ciascuno con un proprio sistema operativo diverso (MS-DOS, Unix, Linux, Windows, ecc.) e collegato con modalità differenti alla rete. Non esiste un “computer per Internet”, sebbene le prestazioni ottenute dipendano dalle capacità del proprio calcolatore e dal mezzo fisico (linea, modem, ecc.) con cui avviene la comunicazione. Internet è quindi formata da diverse tipologie di reti:
- Dorsali (backbone) per interconnettere altre reti;
- Connessioni di reti regionali;
- Reti commerciali che forniscono l’accesso alle dorsali per gli abbonati del servizio di connessione ad Internet;
- Reti locali.
La storia di Internet
Negli anni ’60, di fronte al successo scientifico rappresentato dal primo Sputnik sovietico (messo in orbita il 4 ottobre 1957) gli USA da una parte lanciarono un programma spaziale che doveva portare l’uomo sulla luna, mentre dall’altra, a livello militare, predisposero un piano di difesa da un eventuale attacco atomico da parte dell’Urss, nell’ambito della cosiddetta Guerra Fredda. Fu così che il Pentagono creò ARPA (Advanced Research Projects Agency), un’agenzia per progetti scientifici a livello avanzato a scopi militari. Uno di questi progetti, presentato da Paul Baran nel 1962, mirava a creare un sistema di comunicazioni in grado di sopravvivere ad un attacco nucleare ed era basato sul sistema della trasmissione mediante commutazione di pacchetto (packet switching). Per raggiungere questo obiettivo era necessario che il sistema di comunicazione non avesse un punto centrale di controllo, colpire il quale avrebbe significato mettere fuori uso l’intero sistema, ma che avesse una struttura che garantisse le comunicazioni anche se parte dei collegamenti fossero stati distrutti. Bisognava che una comunicazione potesse seguire percorsi diversi in alternativa a quelli eventualmente distrutti. Nel 1969 Vinto Cerf creò ARPANET, collegando al nodo dell’Università di Los Angeles le tre Università americane di Santa Barbara (California), di Stanford e dell’Università dello Utah. Questo significo il passaggio dalle LAN ad una WAN fino all’attuale dimensione mondiale. ARPANET, dopo essere uscita dal controllo militare, ebbe come coordinatore la Nationa Science Foundation e prese il nome di NSFN, alla quale cominciarono a collegarsi reti regionali e locali, e successivamente internazionali (da allora prese il nome di Internet). Dal 1989 ebbe il suo maggiore sviluppo, grazie al World Wide Web progettato dallo staff del CERN di Ginevra. Ma solo nel 1993 Internet divenne davvero popolare grazie al primo browser, Mosaic. Nel 1994 venne rilasciato Netscape. Durante gli anni ’90 gli utenti di Internet raddoppiarono ogni 6 mesi.
Interconnessione di reti attraverso router Router:dispositivo che è in grado di prendere decisioni di instradamento che determinano il percorso dati più efficiente fra due segmenti di una rete di computer.
Per connettere due reti WAN occorre un router il quale sarà connesso ad entrambe e sarà in grado di trasferire i dati da una rete all’altra. Si chiamano router poiché effettuano un’operazione di routing (instradamento), cioè sceglie il dispositivo intermedio (next-hop) a cui consegnare il pacchetto in modo che questo proceda verso la destinazione finale.
Il forwarding, cioè l’inoltro vero e proprio del pacchetto verso il next-hop o la destinazione finale, è l’altra operazione fondamentale che deve essere svolta da un router.
Gli indirizzi IP
L’IP address è un indirizzo univoco che identifica un host sulla rete. Gli indirizzi IP identificano i computer host della rete e sono costituiti da una sequenza di 4 byte rappresentati in forma decimale. Questo vale per l’indirizzo IPv4 (IP versione 4). Un indirizzo IP è strutturato nel seguente modo:
L’indirizzo di rete (network number) identifica la rete a cui un computer appartiene, l’indirizzo di host (host number) identifica il computer della rete: l’indirizzo IP non identifica un host in quanto tale, ma la connessione di un host alla relativa rete.
Esistono tre indirizzi IP riservati per usi specifici:
- 0.0.0.0 identifica la rete di default (default network).
- 127.0.0.1, indirizzo di loopback, serve al computer per inviare messaggi a se stesso (localhost); è utilizzato per identificare malfunzionamenti o per attività di testing.
- 255.255.255.255, detto indirizzo di broadcast, serve a inviare messaggi a tutti i computer della rete.
La suddivisione dell’indirizzo IP in quattro byte serve per classificare gli indirizzi IP e le reti associate ad essi. Sono utilizzati tre formati principali, detti classi: classe A, classe B e classe C. Inoltre ci sono altre due classi: classe D (che non ha indirizzi IP disponibili) e classe E (per usi futuri e scopi sperimentali). La classe di appartenenza è specificata dai primi bit dell’indirizzo.
Classe A:
utilizzata per reti di grandi dimensioni, per esempio nelle grandi imprese internazionali.
bit 0 = 0
Rete (7 bit) = 128 Network
Indirizzo locale (24 bit) = 16 Mega Host
Indirizzi IP in decimale: da 1.0.0.0 a 126.255.255.255
Classe B:
utilizzata per reti di medie dimensioni, per esempio la rete di un’università oppure per la rete di un’azienda con molti uffici.
bit 0 = 1 bit 1 = 0
Rete (14 bit) = 16 K Network
Indirizzo locale (16 bit) = 64 K Host
Indirizzi IP in decimale: 128.0.0.0 a 191.255.255.255
Classe C:
utilizzata per reti di piccole e medie aziende.
bit 0 = 1 bit 1 = 1 bit 2 = 0
Rete (21 bit) = 2 Mega Network
Indirizzo locale (8 bit) = 256 Host
Indirizzi IP in decimale: 192.0.0.0 a 223.255.255.255
Classe D:
per multicast address, cioè indirizzamenti di un sottoinsieme degli host di una rete.
bit 0 = 1 bit 1 = 1 bit 2 = 1 bit 3 = 0
Gli indirizzi di classe D non sono indirizzi IP disponibili: potrebbero essere utilizzati da un router per fare un multicast su una sottorete.
Classe E:
riservata per scopi sperimentali e per usi futuri.
bit 0 = 1 bit 1 = 1 bit 2 = 1 bit 3 = 1 bit 4 = 0
Le sottoreti
La tecnica di instradamento, basata sulla classificazione degli indirizzi per formato, non è funzionale, perchè molti indirizzi non saranno mai utilizzati. È possibile modificare la struttura dell’indirizzamento utilizzando le sottoreti (subnet). Il campo definito con indirizzo locale può essere suddiviso arbitrariamente in sottoreti e host.
L’operazione di suddivisione di una rete in sottoreti si chiama segmentazione e può rendersi necessaria per vari motivi: per migliorare l’organizzazione della rete, per disporre di accessi diversi ai mezzi fisici di tipo Ethernet o FDDI, ma anche accesso a reti WAN.
Esiste poi il problema della gestione del traffico della rete: in una rete di tipo Ethernet, tutti gli host del segmento fisico vedono, e analizzano, tutti i pacchetti trasmessi da tutti gli altri host di quel segmento. L’uso dei router consente di segmentare le reti per consentire un migliore rendimento generale, perché le reti IP segmentate minimizzano la quantità di traffico che ogni segmento deve gestire.
La creazione delle sottoreti (subnetting) è ottenuta suddividendo la parte host dell’indirizzo IP in due parti: la parte di subnetting e la parte di host.IP address

Per decidere in modo più veloce la destinazione dei pacchetti verso i computer della rete, si usano le subnet mask (maschera di sottorete), per indicare ai router della rete quali numeri dell’indirizzo IP devono essere controllati e quali no.
La maschera di sottorete è un indirizzo di 32 bit che consente di dividere la parte host da quella di rete. La subnet mask è fondamentale per determinare se un indirizzo IP fa parte della rete locale o va ricercato in una rete remota. In presenza di reti locali non segmentate si utilizza la maschera di default.
La maschera di sottorete è essenzialmente uno schema che specifica quali bit sono da controllare e quali no: la presenza di un bit 1 indica che la cifra è da controllare, il bit 0 indica che non serve controllare. In questo modo il router non deve controllare tutta la sequenza di 32 bit.
Applicando una maschera di sottorete a un indirizzo IP si permette l’identificazione della sottorete d’appartenenza con la semplice comparazione dell’indirizzo e della maschera.
L’operazione è un AND logico tra il numero IP e la sua maschera: il risultato di questa operazione è l’individuazione della rete di appartenenza.
Lo stack TCP/IP di un host esegue, durante l’inizializzazione, un’operazione di AND fra il numero di IP e la sua maschera di sottorete. Quando un pacchetto viene inviato in rete, il suo destinatario IP viene sottoposto, anch’esso, a un AND logico con la subnet mask. Se le risultanti dei due processi sono uguali, significa che il destinatario appartiene alla rete locale: diversamente il pacchetto è inviato a un router che provvede a smistarlo in una rete remota.
L’insieme del numero di rete e del numero di sottorete forma il numero di rete esteso.
I bit 1 corrispondenti alle cifre del numero di rete esteso formano la subnet mask.
La lunghezza in bit di questo numero (lunghezza del prefisso) è uguale al numero dei bit che compongono la sequenza dei bit da controllare nella subnet mask.
Per questo motivo,ad esempio, per indicare che l’indirizzo IP
150.10.32.1
si utilizza la maschera di subnet
255.255.255.192
che si può scrivere 150.10.32.1/26
cioè occorre controllare i primi 26 bit per determinare l’indirizzo di rete esteso.
La notazione /lunghezza del prefisso è più compatta e più facile da leggere rispetto alla subnet mask.
Usando questa notazione gli indirizzi di classe A, B, C, senza suddivisione in sottoreti si possono scrivere rispettivamente con il suffisso /8, /16, /24, per indicare la lunghezza del prefisso di rete nella subnet mask.
I nomi di dominio
Ogni sistema connesso alla rete è quindi identificato da un indirizzo numerico. Per ragioni di comodità si utilizza una codifica che prevede un nome invece di un indirizzo numerico, poiché gli indirizzi numerici sono più difficili da memorizzare: si possono usare indirizzi simbolici formati da sigle o parole di poche lettere.
Gli indirizzi simbolici sono di solito individuati da sigle della forma:
computer.sottorete.rete.zona(i caratteri sono scritti in minuscolo e senza spazi bianchi).
La prima parte indica il nome del computer. La rimanente parte (sottorete.rete.zona), detta dominio, individua l’ente, l’azienda o l’organizzazione a cui il computer è collegato.
L’ultima parte a destra è detta dominio di livello alto (o TDL, Top Level Domain) e può essere di due tipi: geografico od organizzativo. I domini geografici (country code) sono identificati da due caratteri che identificano la nazione (it = Italia, fr = Francia, uk = Regno Unito, ca = Canada, ecc.).
I TDL di tipo organizzativo sono soprattutto gestiti negli Stati Uniti e identificano categorie di enti e aziende (ad esempio com, org, edu, net, info, biz).
Questo sistema di gestione dei nomi di dominio si chiama DNS (Domain Name System): oltre a stabilire la corrispondenza tra indirizzo IP numerico e indirizzo simbolico (mappatura dell’indirizzo IP), esso usa un database di nomi simbolici distribuito sui vari server collegati a Internet in tutto il mondo.
Nel linguaggio corrente dell’informatica risolvere un nome in un indirizzo IP significa ritrovare l’indirizzo che corrisponde al nome di un computer.
Il DNS è un servizio fornito dal livello application del modello TCP/IP.
Il protocollo IP
IP è un protocollo di livello Network non connesso, quindi senza conferma, che riceve i dati dal livello Transport e li incapsula in pacchetti di dimensione massima 64 Kb e successivamente li instrada. Quando arrivano a destinazione, la pila OSI viene percorsa dal livello fisico verso i livelli più alti: nel passaggio dei dati dal livello 2 al livello 3, il protocollo IP riassembla i frame in pacchetti e li consegna al livello di trasporto nell’ordine in cui sono arrivati.
Datagramma nel protocollo IPv4
I campi che compongono la parte header del datagramma sono:
- Version: indica quale versione del protocollo IP è utilizzata per formattare il datagramma IP.
- HLEN: indica la lunghezza dell’intestazione (header length) di IP.
- Service type: comunica al protocollo IP come occorre gestire il pacchetto IP.
- Total length: contiene la lunghezza totale del pacchetto IP, cioè l’insieme dei dati e dell’intestazione IP.
- Packet fragmentation (Identification, Flags, Fragmentation offset): ricoprono un ruolo nei processi di frammentazione e di riassemblaggio:
- Identification: contiene un identificatore univoco che contrassegna il datagramma originale.
- Flags: di 3 bit, controlla la frammentazione.
- Fragmentation offset: insieme al campo Identification serve a determinare come ricomporre i pacchetti frammentati nel pacchetto originale.
- Time to live (TTL): indica quanto a lungo un datagramma può esistere sulla rete.
- Protocol: indica quale protocollo di alto livello è stato usato per creare le informazioni immagazzinate nella porzione dei dati del pacchetto.
- Header checksum: serve ad assicurare che le informazioni dell’intestazione non si siano rovinate durante il transito.
- Source IP address: contiene l’indirizzo IP a 32 bit dell’host mittente.
- Destination IP address: contiene l’indirizzo IP a 32 bit dell’host destinatario.
- Options: può essere formato da parecchi codici di lunghezza variabile. In un pacchetto IP si può utilizzare più di una opzione: in questo caso i campi compaiono in sequenza nell’intestazione IP.
Ciascuna opzione è lunga 8 bit ed è suddivisa in 3 sottocampi:- Il primo bit rappresenta il copy flag, che determina il modo in cui questa operazione deve essere trattata quando un pacchetto origine è frammentato.
- La option class è rappresentata da 2 bit e può assumere uno tra quattro valori: il valore 0 significa che l’opzione ha a che fare con un controllo del datagramma o della rete, il valore 2 significa che l’opzione serve a scopo di debug o di misurazione, i valori 1 e 3 sono riservati per usi futuri e non sono ancora stati definiti.
- I 5 bit finali rappresentano l’option number, che assume significato in base al valore della option class.
- Padding (riempimento): serve per arrotondare le dimensioni dell’header.
Il protocollo ICMP
Il protocollo ICMP (Internet Control Message Protocol) è un protocollo di livello Network che risulta essere poco noto.
Quando un router o un host di destinazione devono informare l’host sorgente sugli errori nella trasmissione del datagramma viene utilizzato il protocollo ICMP.
ICMP utilizza il protocollo IP per l’invio dei messaggi: infatti l’unità dati di ICMP viene incapsulata in un datagramma IP. ICMP è fatto per segnalare errori, non per garantire l’affidabilità al protocollo IP.Struttura del pacchetto ICMP
Il campo codice può assumere diversi valori:
- Il codice 3 comunica all’host se una destinazione è irraggiungibile.
- Il codice 4 è una forma primitiva di controllo di flusso, in cui un router segnala a un host che non possiede memoria sufficiente per accodare i messaggi in arrivo, e quindi l’host di destinazione può avvalersi del messaggi di rallentamento della sorgente, se i datagrammi arrivano troppo rapidamente per essere elaborati.
- Il codice 11 crea un messaggio per segnalare il superamento del tempo di un datagramma.
- Il codice 13 si riferisce alla richiesta che venga specificato il tempo impiegato dal pacchetto per raggiungere la destinazione voluta.
- Il codice 17 richiede che venga specificata la maschera di sottorete utilizzata per quell’indirizzo.
I protocolli ARP e RARP
Il protocollo ARP (Address Resolution Protocol) è un protocollo di livello 3 (Network) che consente di determinare l’indirizzo fisico MAC nei casi in cui risulti noto solo l’indirizzo IP.
Quando un host deve spedire un pacchetto a un destinatario di cui non conosce l’indirizzo MAC, spedisce a tutti gli host della stessa rete fisica un messaggio in cui chiede quale sia l’host con quell’indirizzo IP. Nello stesso messaggio mette anche i propri indirizzi, sia quello fisico che quello IP: usa in sostanza una tecnica di broadcasting. L’host, il cui IP è quello cercato, rimanda al richiedente il proprio indirizzo fisico, permettendo così l’associazione tra i due.
Il protocollo RARP (Reverse Address Resolution Protocol) funziona in modo analogo al protocollo ARP, ma procede nella direzione opposta: l’host richiedente spedisce un datagramma RARP in broadcast con il proprio indirizzo MAC e solo l’host che ha le tabelle di corrispondenza degli indirizzi risponde con un datagramma contenente oltre all’indirizzo MAC anche l’indirizzo IP del richiedente.
Tecniche per l’instradamento dei pacchetti
Gli host delle reti, chiamati anche end system non sono connessi direttamente tra loro, ma sono connessi attraverso nodi intermedi chiamati intermediate system (IS) e generalmente rappresentati da router che svolgono le funzioni di instradamento.
Le principali tecniche utilizzate per l’instradamento dei pacchetti sulla rete sono:
- Routing by network address
Un sistema è indirizzato scrivendo nel pacchetto il suo indirizzo. Ogni intermediate system attraversato usa questo indirizzo come chiave di ricerca nella sua tabella di instradamento e determina verso quale percorso inoltrare il pacchetto. Questa tecnica è utilizzata da protocolli non connessi, cioè senza conferma, come IP. - Label swapping
È generalmente utilizzato dai protocolli connessi. Ogni pacchetto è marcato con un’etichetta (label) che serve come chiave di ricerca nella tabella dell’intermediate system. Quando ritrasmette il pacchetto, l’intermediate system sostituisce l’etichetta con una nuova. - Source routing
È una tecnica utilizzata nei bridge delle reti Token Ring in cui la lista degli intermediate system da attraversare è scritta a priori dal nodo mittente nel pacchetto, in un apposito campo detto RI (Routing Information).
Algoritmi di routing
L’instradamento è compito dei router (intermediate system) che sono dispositivi che operano a livello 3. Il pacchetto è ricevuto dal router tramite una scheda LAN che gestisce un protocollo di livello 2. Il router verifica l’indirizzo di destinazione: se l’indirizzo corrisponde al router, inizia il processo di forwarding per stabilire su quale linea deve essere instradato il pacchetto.
Tra i parametri disponibili per scegliere quale sia il percorso migliore, gli unici universalmente riconosciuti sono il numero di hop e il costo, definito come l’inverso della velocità della linea.
Gli algoritmi di routing si differenziano secondo diverse caratteristiche, che possono anche risultare contrastanti tra loro:
- Ottimalità: è l’abilità dell’algoritmo nella scelta della strada migliore in base al numero di hop e al costo.
- Semplicità: l’algoritmo deve essere funzionalmente efficiente con un software minimo e una bassa utilizzazione delle risorse hardware.
- Robustezza: a fronte di guasti hardware e di alto traffico, l’algoritmo deve continuare a lavorare.
- Rapidità di convergenza: quando per esempio cade una rete, i router distribuiscono messaggi di aggiornamento di tale cambiamento a tutta la rete nel più breve tempo possibile, perché in caso contrario si potrebbero verificare dei routing loop, cioè situazioni nelle quali un pacchetto viene continuamente rispedito da un router all’altro.
- Flessibilità: anche questa caratteristica, come la precedente, riguarda le capacità dei router di adattarsi a sopravvenute variazioni nella topologia della rete. Nel caso di indisponibilità di una rete, i router devono scegliere il miglior percorso per tutti quei pacchetti che usavano la rete non più disponibile.
Gli algoritmi di routing possono essere classificati anche come statici e dinamici:
- Negli algortimi statici le tabelle di routing sono compilate manualmente da una persona.
- Negli algortimi dinamici le tabelle vengono continuamente aggiornate in automatico in funzione delle informazioni che pervengono al router sui cambiamenti della rete.
Gli algoritmi di routing possono inoltre essere a percorso singolo o multiplo a seconda che supportino uno solo o più percorsi per una stessa destinazione.
Classificazione dei protocolli di routing
- Protocolli di routing tipo link state
In questi protocolli tutti i nodi conoscono la situazione generale della rete, cioè hanno una mappa aggiornata di tutta la rete. Ogni nodo esegue un calcolo completo dei migliori percorsi presi dalla mappa contenuta in un database, dove ogni nodo rappresenta un link alla rete.
I pacchetti che sono scambiati sulla rete per permettere la costruzione della mappa sono detti LSP (Link State Packet) e contengono lo stato di ogni link connesso, l’identità del vicino, il relativo costo e alcune informazioni di controllo che ne garantiscono l’integrità e l’ordine di sequenza.
LSP è generato periodicamente oppure quando accade una variazione rispetto alla tabella precedente. La trasmissione del LSP avviene in flooding (letteralmente, inondazione), cioè su tutte le linee tranne quella da cui è stata ricevuta. Quando un router riceve un LSP ne esamina il numero di sequenza: se ha lo stesso numero di sequenza non fa nulla, se ha un numero di sequenza più vecchio, trasmette il LSP più recente.
Se è la prima volta che riceve un LSP da quel nodo, oppure nel caso che sia più recente di quello in suo possesso, memorizza il LSP e lo ritrasmette in flooding. - Protocolli di routing tipo distance vector
Si chiamano così perché ad ogni riga della tabella di instradamento è associato un vettore che contiene informazioni riguardanti il cammino tra un generico nodo e quello in oggetto. L’insieme di queste informazioni prende il nome di metrica.
L’informazione più semplice è il numero di hops, cioè dei salti che il pacchetto deve fare per giungere a destinazione. Un’altra informazione riguarda il costo, che è una variabile proporzionale al tempo che un pacchetto impiega a compiere quella tratta.
I principali protocolli di routing
I protocolli di routing non devono essere confusi con i protocolli ruotabili (rotable) o ruotati: infatti i protocolli di routing determinano il cammino che i protocolli ruotati seguiranno per raggiungere la destinazione. IP è un protocollo ruotato.
I protocolli di routing abilitano i router connessi a creare una mappa degli altri router della rete e di Internet: dalle mappe vengono ricavate le tabelle di routing (routing table) che permettono l’attività di routing.
I router hanno la caratteristica di essere multiprotocollo e mantengono le tabelle per più protocolli ruotati.
Il protocollo RIP (Routing Information Protocol)
È un protocollo di routing di tipo distance vector. La sua metrica è il numero di hop (hop count) e ha un numero massimo di hop uguale a 15.
Prevede l’aggiornamento delle tabelle ogni 30 secondi. Non sempre seleziona i percorsi più rapidi, ma normalmente sceglie quello con il minor numero di hop.
Il protocollo IGRP (Interior Gateway Routing Protocol)
Si basa sull’algoritmo di tipo distance vector ed è considerato un’evoluzione del RIP.
In particolare i miglioramenti si riferiscono all’utilizzo di una metrica più articolata, alla stabilità dell’algoritmo e alla gestione di più percorsi per la stessa destinazione.
Il protocollo IGRP prevede la ritrasmissione (aggiornamento) delle tabelle ogni 90 secondi.
Oltre all’hop count, il protocollo IGRP prende in considerazione altri quattro parametri: banda, ritardo, affidabilità e carico.
Uno degli aspetti negativi del protocollo è che possono innescarsi dei loop. Per evitare questo inconveniente, quando il protocollo rileva un aumento del costo di un percorso, lo etichetta come inutilizzabile.
Altri protocolli di routing sono:
- EIGRP(Enhanced Interior Gateway Routing Protocol)è la versione avanzata di IGRP.
- OSPF (Open Shortest Path First), protocollo di routing standardizzato da ISO-OSI, aggiunge alla metrica di IGRP anche il parametro costo.
I protocolli del livello Transport
All’interno dell’architettura TCP/IP, i protocolli che si collocano al livello di trasporto sono: TCP e UDP.
TCP (Transfer Control Protocol)
Il protocollo TCP ha il compito di trasmettere in modo affidabile i dati tra due nodi della rete. TCP crea una sessione orientata alla connessione tra i due host, dando origine a un circuito virtuale.
Lo scambio di informazioni (handshaking) tra i due host è costituito dalle seguenti fasi:
- Il client richiedente invia al server un segmento (pacchetto) e specifica il numero di porta che vuole usare e il suo numero di sequenza iniziale (ISN, Initial Sequence Number);
- Il server risponde con un segmento contenente il suo ISN e un segnale di riconoscimento (acknowledgement) distinto dell’ISN client, a cui è sommato il valore 1;
- Il client riconosce l’ISN del server, dando inizio alla sessione.
L’header del pacchetto TCP contiene un numero di porta sorgente e destinazione.
Il numero di porta corrisponde alla tabella delle Well Known Port, che associa un numero tipico di porta ai protocolli più noti.
L’utilizzo del concetto di porta permette di eseguire più applicativi contemporaneamente (multiplexing).
UDP (User Datagram Protocol)
UDP è un altro protocollo del livello di trasporto che si occupa della trasmissione dei dati su una rete. A differenza del TCP si tratta di un protocollo che non necessita di connessione (connection-less), nel senso che non viene stabilita alcuna sessione di comunicazione e l’UDP si limita a inviare i pacchetti sulla rete senza richiesta di conferma dell’avvenuta ricezione.
Questo protocollo non verifica se l’host di destinazione abbia o meno ricevuto le informazioni che gli sono state inviate.
UDP è utilizzato dalle applicazioni che inviano piccole quantità di dati e che ripetono spesso l’invio nel tempo, per cui non hanno bisogno di una consegna affidabile.
I protocolli del livello Application
Telnet
Telnet è un protocollo che permette a un utente di collegarsi, tramite l’elaboratore locale, a un qualsiasi altro elaboratore remoto, connesso alla rete.
L’host connesso in Telnet è un terminale virtuale remoto.
FTP
Il protocollo FTP (File Transfer Protocol) serve per trasferire file tra due host. Con FTP client si indica l’host richiedente la sessione FTP, mentre con FTP server l’altro host a cui ci si connette.
FTP usa due connessioni: la prima, detta connessione di controllo, serve al client per inviare comandi al server e ricevere le risposta; la seconda, detta connessione dati, viene stabilita successivamente, quando inizia il trasferimento dei file.
È possibile suddividere una sessione FTP in tre fasi distinte:
- Autenticazione del client
- Trasferimento di file
- Chiusura della connessione.
La fase del trasferimento file può essere a sua volta scomposta in tre azioni:
- spostamento nella directory che interessa
- lista dei file già presenti
- invio o ricezione dei file.
SMTP
SMTP (Simple Mail Transfer Protocol) è l’applicativo di TCP/IP che permette di inviare posta elettronica (e-mail) agli utenti della rete.
POP3
Il POP3 (Post Office Protocol, version 3) è il protocollo di accesso alla posta con il principio della casella postale: la posta rimane in giacenza all’interno di uno spazio web riservato (mailbox), finché l’utente rimuove le e-mail giacenti ad esso indirizzate.
SNMP
SNMP (Simple Network Management Protocol) è un protocollo per la gestione degli apparati di rete, basato su UDP/IP. SNMP è stato progettato per inviare dati sullo stato della rete provenienti dagli apparati a un centro di gestione che li possa interpretare in modo opportuno. Con SNMP è anche possibile modificare alcuni parametri degli apparati di rete.
X-Windows
X-Window è un software di rete client/server che permette a un programma client di visualizzare dati grafici del display di un altro elaboratore che svolge la funzione di server grafico.
HTTP
Il protocollo http (HyperText Transfer Protocol) definisce un metodo di interazione client/server ottimizzato per lo scambio di messaggi brevi e veloci, necessari per la connessione tra client Web e server Web. Il protocollo può essere facilmente esteso per comprendere servizi di vario tipo, non solo transazioni ipertestuali.
Nel protocollo HTTP le risorse della rete sono identificate con un indirizzo simbolico, detto URL (Uniform Resource Locator). I documenti, organizzati in modo ipertestuale, sono scritti usando il linguaggio HTML (HyperText Markup Language) che utilizza tag (marcatori) interpretabili dal programma visualizzatore (browser) per formare le pagine grafiche di Internet.
SSL
La sigla SSL (Secure Socket Layer) indica un protocollo proprietario di Netscape Communication Corporation che garantisce la privacy delle comunicazioni su Internet.
Il protocollo SSL provvede alla sicurezza del collegamento, garantendo tre funzionalità fondamentali:
- la privatezza del collegamento è garantita dall’uso della crittografia;
- l’autenticazione;
- l’affidabilità.
Lo scopo primario del SSL Protocol è fornire affidabilità e riservatezza alle comunicazioni.
Dispositivi di interconnessione delle reti
- Bridge e switch
Il bridge agisce come un repeater aumentando la lunghezza fisica possibile della connessione tra due computer. Il bridge e lo switch hanno un diverso numero di porte: il bridge ne ha 2 mentre lo switch 8 o più, ma svolgono entrambi gli stessi compiti di livello 2 (data link).
Lo switch offre caratteristiche migliori rispetto all’hub soprattutto per una rete con grande traffico e può sezionare una rete per isolare il traffico eccessivo. Piuttosto che distinguere un protocollo dall’altro, lo switch opera più semplicemente e passa tutti i protocolli attraverso la rete.
Lo switch ascolta tutto il traffico, analizza gli indirizzi di sorgente e di destinazione di ogni trama e costruisce una tabella di routing, per instradare i frrame. Inizialmente la memoria di uno switch è vuota; quando il frame viene trasmesso, l’indirizzo sorgente è memorizzato nella routing table e lo switch mappa in memoria a quale segmento della rete appartiene. - Router
Una rete complessa richiede un dispositivo sofisticato che conosca gli indirizzi di ogni segmento, determini il percorso migliore per inoltrare i dati, e filtri il traffico di broadcast sul segmento locale.
Questi sono i compiti principali del router che lavora a livello di network. Come il bridge, il router può filtrare e isolare il traffico di rete e anche connettere segmenti di rete. In aggiunta il router può scegliere l’instradamento attraverso reti multiple, scambiando con gli altri router informazioni con specifici protocolli.
I router mantengono aggiornate le proprie tabelle di routing.
L’utilizzo dei router permette al progettista di separare grandi reti in reti più piccole e offrire un elemento di sicurezza tra i segmenti. Però, poiché i router devono svolgere funzioni complesse su ogni pacchetto, essi risultano più lenti dei bridge.
Nella spedizione di dati dalla rete A alla rete B, quando il router riceve i dati, gestisce le seguenti funzioni:- Esamina l’indirizzo di rete per determinare la rete di destinazione;
- Consulta la propria tabella di routing per determinare quale delle proprie interfacce può essere usata per spedire i dati al fine di raggiungere la rete desiderata;
- Invia il pacchetto dall’interfaccia prescelta.
Il protocollo IPv6
Gli obiettivi dell’IPv6 (IP version 6) sono:
- Supportare milioni di host anche in caso di spreco dello spazio di indirizzamento;
- Ridurre la dimensione delle tabelle di routing e smistare più velocemente i pacchetti;
- Fornire una maggiore sicurezza (autenticazione e privacy) rispetto a quella offerta dall’IP corrente.
Oltre a questi obiettivi il protocollo del futuro dovrà avere maggiore flessibilità per una possibile evoluzione, e dovrà coesistere per anni con l’attuale sistema di indirizzamento.
Gli indirizzi IPv6 sono a 16 byte e quindi tali da garantire indirizzi senza il rischio che possano esaurirsi (si calcola che IPv6 possa fornire più di un milione di indirizzi per ogni metro quadrato di superficie del pianeta).
Gli indirizzi sono scritti con 8 gruppi di 4 cifre esadecimali, separati dal carattere due punti.
Si pensa a tecniche che permettano un’interoperabilità graduale tra IPv4 e IPv6 e che garantiscano un lungo periodo di transizione fino al completo esaurimento delle reti IPv4:
- La prima tecnica è detta dual-stack: questo metodo prevede che i router implementino entrambi i protocolli.
- La seconda tecnica è basata sul tunneling che permette di trasportare in modo protetto e sicuro pacchetti di formato e di protocollo diversi da quello utilizzato in rete.
La comunicazione con Voice Over IP
La tecnologia per la comunicazione vocale e telefonica in Internet si chiama VoIP (Voice Over IP).
La differenza rispetto alla telefonia tradizionale consiste nel fatto che quest’ultima si basa sulla tecnica a commutazione di circuito, mentre VoIP funziona con la tecnica a commutazione di pacchetto.
Il ritardo dei pacchetti si manifesta quando i campionamenti vocali, generati ogni 125 microsecondi, devono essere accumulati per poter confezionare il pacchetto da trasmettere.
Di solito la dimensione di un pacchetto IP è d 570 byte: considerando il campionamento di 8 bit, si ottiene una durata di 125 microsecondi * 570 = circa 71 millisecondi.
Ci sono due fondamentali caratteristiche che determinano la qualità di una connessione telefonica su Internet:
- La latenza
- La qualità della comunicazione.
La latenza è la somma dei vari ritardi.
La qualità della comunicazione rispecchia la fedeltà della riproduzione della voce nella telefonata.
Il ritardo disturba il segnale telefonico per effetto dell’eco, per cui, nel caso di ritardi tra l’andata e il ritorno superiori a 50 ms, è necessario l’impiego di cancellatori d’eco.
Un altro parametro che influenza negativamente la telefonata è il ritardo seriale (jitter), costituito dalla variazione casuale del tempo di interarrivo della serie di pacchetti IP, dovuto al tempo variabile di attraversamento della rete.
Altri argomenti del capitolo L’Informatica
- L’informazione
- Le tecnologie elettroniche per il trattamento dell’informazione
- Gli strumenti software per il trattamento dell’informazione: sistemi operativi e software applicativi
- La trasmissione dell’informazione e Internet come esempio di rete universale
- La programmazione
- Database e Big Data
- Intelligienza artificiale
- Trasferimento di tecnologie
(in costruzione)





















