La multiplazione il meccanismo per cui la capacit disponibile di un collegamento viene condivisa tra diversi canali
trasmissivi.
2/21
Il protocollo OSI
Il protocollo OSI (Open Systems Interconnection) un modello di riferimento per
linterconnessione di sistemi aperti nelle reti di calcolatori e identifica una pila di protocolli
suddivisa in 7 livelli. Fu definito come standard nel 1978 dalla ISO (International Organization for
Standardization, uno dei principali enti di standardizzazione internazionale) con la sigla ISO 7498 e
il documento che ne illustra tale attivit il Basic Reference Model di OSI.
La suddivisone in livelli (layers) permette di ridurre la complessit implementativa di un
sistema di comunicazione di rete, ciascun livello si occupa di un particolare aspetto della
comunicazione e presenta al livello superiore un punto di accesso (PoS: point of service) che risulta
svincolato dagli aspetti dei livelli inferiori. In questo modo si ha un approccio progettuale di tipo
modulare che consente, ad esempio, di implementare algoritmi diversi in un livello senza
modificare limplementazione dei livelli superiori.
Il modello OSI stato progettato per permettere la comunicazione in reti a commutazione di
pacchetto, del tutto simili al paradigma TCP-UDP/IP usato in Unix e nella rete ARPAnet, poi
divenuta Internet. La differenza sostanziale fra TCP/IP e ISO/OSI consiste nel fatto che nel TCP/IP,
come vedremo in seguito, i layers sono solo 5.
Ogni livello di una stazione di rete trasmittente comunica virtualmente con lanalogo livello
della stazione ricevente, e viceversa. In realt il messaggio inviato da un livello viene passato al
livello inferiore, il quale lo passa al suo inferiore e cos via fino al livello fisico che lo invier sulla
rete. La rete recapiter il messaggio alla stazione ricevente dove a questo punto il messaggio seguir
il percorso inverso fino al livello di destinazione.
Nel disegno seguente viene illustrata la comunicazione virtuale tra i livelli analoghi di due
stazioni trasmittenti. Anticipando le caratteristiche di ciascun livello, il disegno illustra anche la
suddivisione in pacchetti che viene operata dal livello 4 (con diversi colori). Questi ultimi, nel
passaggio attraverso la rete possono anche arrivare a destinazione con un ordine diverso da quello
di invio. Sar cura del livello 4 della stazione ricevente di riordinare i pacchetti nella giusta
sequenza e passarli al livello superiore.
3/21
rete
Anche gli apparati di rete, che permettono la comunicazione tra le due stazioni, lavorano
secondo il medesimo protocollo, e dunque avranno una gestione dei livelli della pila OSI, che
tuttavia non include tutti e sette i livelli, ma solo quelli necessari, di volta in volta, al corretto invio
dei pacchetti verso la destinazione.
Per fare un esempio, anticipando un po la sezione riguardante gli apparati di rete, il router
lavora fino al livello 3 (per i suoi compiti standard) mentre lo switch fino al livello 2.
Livello 1: fisico
Obiettivo: trasmettere un flusso di dati non strutturati attraverso un collegamento fisico,
occupandosi della forma e del voltaggio del segnale. Ha a che fare con le procedure
meccaniche e elettroniche necessarie a stabilire, mantenere e disattivare un collegamento
fisico.
Semplicemente: si occupa di controllare la rete, gli hardware che la compongono e i
dispositivi che permettono la connessione.
In questo livello si decidono:
Livello 2: datalink
Obiettivo: permettere il trasferimento affidabile di dati attraverso il livello fisico. Invia
frame di dati con la necessaria sincronizzazione ed effettua un controllo degli errori e delle
perdite di segnale. Tutto cio' consente di far apparire, al livello superiore, il mezzo fisico
come una linea di trasmissione esente da errori di trasmissione.
4/21
Livello 3: rete
Obiettivo: rende i livelli superiori indipendenti dai meccanismi e dalle tecnologie di
trasmissione usate per la connessione. Si occupa di stabilire, mantenere e terminare una
connessione, garantendo il corretto e ottimale funzionamento della sottorete di
comunicazione.
Semplicemente: si occupa di gestire linvio dei pacchetti dal nodo sorgente al nodo di
destinazione, nel caso che questi ultimi siano ubicati in reti differenti, anche non direttamente
collegate.
responsabile di:
routing 2 : scelta ottimale del percorso da utilizzare per garantire la consegna delle
informazioni
indirizzamento IP
conversione dei dati nel passaggio fra una rete ed unaltra con diverse caratteristiche
La sua unit dati fondamentale il pacchetto, da cui deriva il nome delle reti a
commutazione di pacchetto.
Livello 4: trasporto
Obiettivo: permettere un trasferimento di dati trasparente e affidabile (implementando
anche un controllo degli errori e delle perdite) tra due host. il primo livello realmente
end-to-end 3 , cio da host sorgente a destinatario.
Semplicemente: si occupa di gestire linvio dei messaggi tra il nodo sorgente e il nodo di
destinazione, effettuando frammentazione dei dati provenienti dal livello superiore in pacchetti,
detti segmenti e trasmettendoli in modo efficiente ed affidabile usando il livello di rete. Nel caso
che uno o pi pacchetti vengano persi si occupa della ri-trasmissione degli stessi.
La sua unit dati fondamentale il messaggio.
Livello 5: sessione
Obiettivo: controllare la comunicazione tra applicazioni. Stabilire, mantenere e terminare
connessioni (sessioni) tra applicazioni cooperanti.
Esso consente di aggiungere, ai servizi forniti dal livello di trasporto, servizi pi avanzati,
quali la gestione del dialogo (mono o bidirezionale, la sincronizzazione (inserendo dei checkpoint 4
2
In una rete basata sullo scambio di pacchetti, il routing seleziona il cammino che permette a un pacchetto di procedere
dalla sorgente alla destinazione desiderata, inoltrandolo a successivi nodi intermediari (chiamati router) sulla base di
determinati algoritmi.
3
punto punto.
5/21
in modo da ridurre la quantit di dati da ritrasmettere in caso di gravi malfunzionamenti, nel qual
caso la comunicazione riprende dall'ultimo punto di controllo andato a buon fine).
Livello 6: presentazione
Obiettivo: trasformare i dati forniti dalle applicazioni in un formato standardizzato e offrire
servizi di comunicazione comuni, come la crittografia, la compressione del testo e la
riformattazione.
Esso consente di gestire la sintassi dell'informazione da trasferire.
Livello 7: applicazione
Obiettivo: interfacciare utente e macchina.
Fornisce un insieme di protocolli che operano a stretto contatto con le applicazioni. errato
identificare un'applicazione utente come parte del livello applicazione.
I protocolli delle applicazioni tipiche di questo livello realizzano operazioni come:
Trasferimento di file
Terminale virtuale
Posta elettronica
Checkpoint o punti di controllo, utile per individuare un momento temporale sicuramente stabile (cio funzionante e
dunque al quale si possa ritornare in caso di errori).
6/21
Il protocollo TCP/IP
Cosa
Precedentemente abbiamo visto il modello creato dalla ISO denominato OSI che, in sintesi,
definisce delle regole di progettazione per la comunicazione tra stazioni su reti dati. In realt fin
dagli albori delle prime reti dati, tale modello non stato impiegato in tutti i suoi 7 livello, ad
esempio la rete Internet di oggi impiega un modello a 5 livelli, chiamato, anche se erroneamente,
TCP/IP.
TCP/IP in realt il nome dei due protocolli pi importanti della Internet Protocol Suite, in
cui il primo un acronimo di Transmission Control Protocol ed possibile associarlo al livello 4
del modello OSI, mentre il secondo sta per Internet Protocol ed possibile associarlo al livello 3
del modello OSI.
Nel modello della Internet Protocol Suite lanalogia tra livelli con il modello OSI arriva
fino al livello 4, mentre il nuovo livello 5 racchiude tutte le funzionalit dei livelli 5, 6 e 7 dellOSI.
Con il termine TCP/IP si identificano spesso (in maniera errata) tutti i protocolli della
Internet Protocol Suite, anche se questa composta di altri importanti protocolli, come ad
esempio lUDP (User Datagram Protocol).
In genere il TCP viene utilizzato per quelle applicazioni che richiedono un servizio orientato
alla connessione, come ad esempio la posta elettronica e il file sharing 5 , mentre l'UDP prende
sempre pi piede per le applicazioni in tempo reale come l'on-line 6 gaming o lo streaming 7 audio e
video; la differenza fra i due protocolli risiede nella maggiore affidabilit nel trasporto dei dati del
TCP, che offre una serie di servizi appositamente pensati (gestione del flusso, della congestione...),
mentre UDP punta molto sulla velocit di trasmissione a scapito della sicurezza.
La storia
Nei primi anni settanta, la Defence Advanced Research Project Agency (DARPA 8 ) finanzi
l'Universit di Stanford e la BBN (Bolt, Beranek and Newman) per sviluppare un insieme di
protocolli di comunicazione da utilizzarsi per la creazione di reti a commutazione di pacchetto da
usarsi nellinterconnessione di calcolatori eterogenei. Fu cos che nacque l' Internet Protocol
Suite. Questi protocolli, utilizzabili gratuitamente da tutti perch di pubblico dominio fin
dall'inizio, ottennero un elevato successo e furono inizialmente impiegati nella rete dati
ARPANET 9 dal 1974.
Negli anni ottanta nacque l'idea di rendere di pubblico dominio luso della rete, fino ad allora
limitato all'uso istituzionale e militare, i membri della comunit scientifica iniziarono cos a
scambiarsi informazioni, dati, e anche messaggi estemporanei. Fu cos che nacque, spontaneamente,
la posta elettronica, e di seguito i primi newsgroup.
7/21
Come funziona
Un indirizzo, chiamato indirizzo IP, identifica ogni nodo della rete ed sostanzialmente un
numerico che viene utilizzato al livello 3. Ciascun dispositivo (router, personal computer, server di
rete, stampanti, etc...) ha, quindi, il suo indirizzo IP. Semplificando, un indirizzo IP pu essere visto
come l'equivalente di un indirizzo stradale o un numero telefonico di un abbonato. Infatti, cos come
un indirizzo stradale o un numero telefonico identifica un edificio o un telefono, cos un indirizzo IP
identifica univocamente uno specifico computer o un qualsiasi altro dispositivo di rete o a sua volta
una rete stessa.
Il TCP fornisce ai vari protocolli del livello applicativo delle porte (socket) a cui le
applicazioni possono collegarsi per avere un canale di trasferimento dati affidabile.
Una serie di pacchetti viene inviata seguendo delle regole ben precise:
1. Ad ogni gruppo di pacchetti spedito il trasmettitore fa partire un timeOut 10 .
2. Il ricevitore per ogni gruppo di pacchetti ricevuto invia un ACK 11 indicando la sequenza
dell'ultimo pacchetto ricevuto correttamente.
3. Il trasmettitore su ricezione dellACK considera quindi spediti i pacchetti corrispondenti e
prosegue con la trasmissione.
Luso di tale tecnica ha rilevato un alto valore di affidabilit e buon uso della banda
disponibile.
Esempio di utilizzo:
Quando ci vogliamo collegare con il nostro browser a un server web, stabiliamo un
collegamento (virtuale) a livello applicazione. Il livello di trasporto si occupa dei dettagli del livello
applicazione:
- Al livello di trasporto il protocollo TCP mette in coda i messaggi delle applicazioni
(browser, e altri presenti sulla postazione) e li trasmette sotto forma di pacchetti; il buon fine
della spedizione attestato da una ricevuta di ritorno. Anche questo un collegamento
virtuale tra le due applicazioni, i cui dettagli sono demandati al livello di rete.
- Al livello di rete il protocollo IP decide quale strada seguire per trasmettere effettivamente i
messaggi da un computer allaltro. Un computer spedisce, laltro riceve, ma un
collegamento virtuale tra i due computer remoti, dei cui dettagli si occupa il livello di
collegamento.
- Al livello di datalink si decide come fare il trasferimento del messaggio per ogni singolo
tratto del percorso: dal computer del browser al primo router, dal primo router al secondo, e
cos via fino allultimo router prima del server web. Questo un collegamento virtuale tra
due computer adiacenti. I dettagli fisici sono lasciati allultimo livello.
- Il livello fisico, che l'ultimo, trasmette il messaggio sul cavo sotto forma di impulso
elettrico. Questo lunico livello in cui avviene una trasmissione effettiva.
10
Time-out o tempo di uscita, identifica il tempo oltre il quale se non viene ricevuto un messaggio di ACK ai pacchetti
precedentemente inviati, li identifica come non ricevuti, e dunque da ritrasmettere.
11
Ack o acknowledgment, messaggio inviato dal nodo ricevente in risposta ad uno o ad un gruppo di pacchetti.
8/21
I Socket
Come accennato precedentemente i socket sono delle porte che i protocolli di livello 4
rendono disponibili alle applicazioni. Servono per fare in modo che pi applicazioni possano
utilizzare il livello 4 contemporaneamente. Cos se per caso si volesse inviare una e-mail e
contemporaneamente scarica in file da internet questo reso possibile dal fatto che i due programmi
usano il protocollo TCP su due socket differenti.
Esistono due tipi di socket su IP:
- listen
- established
Nel primo il socket identificato da una terna di valori: protocollo di trasporto, indirizzo IP
del pc su cui il socket stato aperto e numero di porta sorgente. Nel secondo, oltre ai dati
precedenti, sono presenti altri due valori: indirizzo IP del pc destinazione e numero di porta
destinazione.
Si capisce dunque che non esiste un socket di tipo established senza che sia stato attivato
prima un socket di tipo listen.
Un socket listen viene creato per permettere lerogazione di un servizio. Un socket established
viene creato nel momento che il servizio viene effettivamente erogato.
Lo stesso programma pu utilizzare socket di numero diverso su due postazioni diverse.
Il protocollo TCP/IP impiega 16 bit per identificare i socket disponibili e dunque un numero
massimo di 65535 socket differenti.
Agli albori della rete internet lo IANA 12 decise di riservare i numeri fino da 0 a 1023 (well
known ports) per dedicarli alla parte server (cio quella che fornisce un servizio) di quelle
applicazioni di uso pi comune (o almeno riconosciute come tali allora), in modo che tutti fossero al
corrente di tali valori, in modo da semplificare i vari collegamenti. Ad esempio la navigazione
internet http avviene solitamente sulla porta 80 (lato server) e su questa si collegano di default i
vari client web (IExplorer, Safari, Firefox, etc.).
Il socket aperto dal lato del client (colui che richiede il servizio) definito di tipo dinamico in
quanto pu assumere un numero di qualsiasi valore (che viene scelto sopra il 1024). Al momento
del collegamento, il client comunica tale valore al server, che sapr dunque a quale socket della
postazione client indirizzare i pacchetti.
Se qualcuno decidesse di attivare un servizio web su una porta differente dalla 80,
complicherebbe il lavoro degli utenti per il collegamento.
Pensare di usare porte diverse da quelle standard per discorsi inerenti la sicurezza dei sistemi
non porta ai risultati sperati, in quanto esistono programmi (port scanner) in grado di scovare e
identificare le porte aperte su una determinata postazione, inficiando dunque la modifica svolta.
12
Internet Assigned Numbers Authority (IANA) un ente internazionale a cui demandata la responsabilit
dellassegnazione degli indirizzi IP.
9/21
Il protocollo FTP
Il termine FTP un acronimo di File Transfer Protocol (o protocollo di trasferimento file)
un servizio che fornisce gli elementi fondamentali per la condivisione di file tra postazioni host.
E un protocollo di livello 5 del modello TCP/IP e dunque impiega il livello 4 (nello specifico
il TCP) per creare una connessione stabile tra due nodi host, in modalit client / server.
In tale modalit, molto comune per applicazioni che usano il TCP, uno dei due nodi funge da
client (o cliente) nel senso che da inizio al collegamento con laltro nodo che funger da server
(servente). In altre parole il server contiene dei dati di cui il client ha bisogno.
Chi decide la modalit di funzionamento, client o server, lutente. Se su un host ci sono dati
che si vuole condividere con atri si pu installare il processo ftp in modalit server. Questi rimarr
attivo in attesa dei possibili collegamenti dei client ftp che necessitano di tali dati. Una volta
instaurata la connessione possibile inviare e/o ricevere i dati in per il client che per il server, cio
anche il client pu trasferire dati sul server.
Niente vieta di avere il servizio ftp server installato sullhost e contemporaneamente avviare il
servizio ftp client per collegarsi ad un altro host. Per fare questo usano socket differenti.
Come precedentemente accennato la parte server di molte applicazioni usa un socket
conosciuto. Per il servizio ftp server questo il numero 21.
Niente vieta ad un amministratore di avviare un servizio ftp server su una porta diversa, ma se
voglio rendere semplice il collegamento degli utenti meglio usare la porta assegnatagli dallente
IANA. Cos se volessi, ad esempio, collegarmi ad una postazione server che fornisce servizi ftp
proverei a farlo sulla porta 21 di quel server, sarebbe impensabile provare il collegamento su tutte le
65535 porte fino a trovare quella giusta.
L'FTP ha subito una lunga evoluzione negli anni: il primo meccanismo di trasmissione file
risale al 1971.
Esempio di utilizzo:
Si consideri un sito web (cio un server che permette il collegamento http dai browes dei
client) che deve poter amministrare il sito da una postazione remota. Infatti non detto che il server
fisico risieda nello stesso posto su cui si trova lamministratore.
Per poter scaricare i file del sito web, in modo che sia disponibile per gli utenti, dalla
postazione dellamministratore a quella del server possibile installare sulla postazione server il
servizio ftp server e lamministratore pu usare il servizio ftp client per inviare i dati.
Disk Operating System, primo sistema operativo impiegato per i personal computer IBM. Presente tuttora su sistemi
Microsoft Windows.
10/21
Il protocollo HTTPS
Il protocollo HTTPS non un vero e proprio protocollo, ma il protocollo HTTP HyperText
Transfer Protocol (protocollo di trasferimento di un ipertesto) con laggiunta di uno strato software
demandato alla crittografia dei dati scambiati tra server web e il browser dellutente.
LHTTP il classico protocollo per il web che tutti usiamo nella navigazione internet, che si
occupa del trasferimento di dati tra un server web e un client. Le specifiche del protocollo sono
attualmente in carica al consorzio W3C (World Wide Web Consortium).
L'HTTP (e dunque lHTTPS) funziona su un meccanismo richiesta/risposta (o
client/server): il client esegue una richiesta ed il server restituisce la risposta. Nell'uso comune il
client corrisponde al browser ed il server al sito web, vi sono quindi due tipi di messaggi: messaggi
di richiesta e di messaggi risposta.
Inoltre differisce da altri protocolli di livello 7 (come il FTP) per il fatto che le connessioni
vengono generalmente chiuse una volta che una particolare richiesta (o una serie di richieste
correlate) stata soddisfatta. Per il protocollo, ogni successiva richiesta non correlata alle richieste
precedenti. Questo comportamento rende il protocollo HTTP ideale per il World Wide Web, ma
pu porre dei problemi agli sviluppatori dei contenuti web, in quanto non viene memorizzato lo
stato (stateless) costringendo ad utilizzare dei metodi alternativi per conoscere lo stato dell'utente.
Spesso questi metodi si basano sull'uso dei cookie 14 .
Laggiunta della crittografia ha modificato il nome HTTP in HTTPS, dove la S sta per
Secure e impiega un protocollo chiamato SSL (Secure Sockets Layer).
La porta o socket di ascolto dei server web dedicata alle connessioni sicure la 443, mentre
quella del protocollo HTTP standard la 80. Niente vieta di sceglierne delle altre, ma per
semplificare il collegamento degli utenti come abbiamo gi visto esistono delle porte assegnate a
particolari servizi.
Tramite i servizi HTTPS possibile comunicare attraverso la rete internet senza che i dati
scambiati possano essere letti da terzi. Questo risulta molto utile nelle operazioni di acquisto on-line
(via web), nelle comunicazioni tra utenti e la propria banca, e in tutti i casi di scambio di dati
personali.
2.
Il server comunica al client che la connessione avverr in SSL e per questo gli invia il
suo certificato pubblico.
3.
Il client controlla presso un ente terzo (menzionato nel certificato pubblico) che il
certificato pubblico del server sia valido. Per fare questo invia quel certificato ad una
14
I cookie (letteralmente "biscottini") sono piccoli file di testo che i siti web utilizzano per immagazzinare alcune
informazioni nel computer dell'utente. Sono inviati dal sito web e memorizzati sul computer dellutente e vengono reinviati al sito web al momento delle richieste successive.
11/21
5.
Il server de-crittografa i dati ricevuti con il suo certificato privato, infatti questi erano stati
crittografati dal client con il certificato pubblico del server. Stessa cosa fa il client, impiegando per
il suo certificato privato.
1
client
2
5
3
C.A.
server
4
Il certificati privati non vengono MAI inviati sulla rete(e non devono essere mai
scambiati con nessuno), e dunque solo i due interlocutori capiscono ci che si
inviano.
Si evidenziato il fatto che sia quasi impossibile de-crittografare dati senza la corrispondente
chiave privata perch ad esempio con una chiave a 128 bit sia hanno 3,4x1038 combinazioni. Anche
con la potenza dei computer di oggi si stima che ci vogliano parecchi anni per poterlo fare.
Anche se qualcuno tentasse limpresa, avrebbe dei dati vecchi di molti anni, che i server non
accetterebbero pi.
Importante il ruolo delle societ di certificazione, perch senza di queste uno si potrebbe
fingere qualcun altro senza aver bisogno del certificato privato di chi si finge di essere.
Queste metodologie stanno anche alla base della firma digitale.
12/21
192.168.17.5
i primi 2 bit a 10
classe C
0.0.0.0 127.255.255.255
128.0.0.0 191.255.255.255
192.0.0.0 223.255.255.255
224.0.0.0 239.255.255.255
240.0.0.0 255.255.255.255
Non tutti sono utilizzabili (per convenzione) e inoltre alcuni sono definiti pubblici e altri
privati (per convenzione). I pubblici vengono ruotati dalla rete internet, mentre i privati no. Questo
vuol dire che chiunque pu impiegare nella sua rete interna un indirizzo privato, anche usato da reti
interne di altri, ma solo una postazione in tutta la rete internet pu avere lo stesso IP pubblico.
La distinzione serve per non sprecare indirizzi IP. Infatti se ci fossero solo i pubblici, anche
una stampante di rete, che non necessita di navigare in internet occuperebbe un indirizzo. A
dispositivi di questo tipo vengono dunque assegnati degli IP privati.
Da qualche hanno si cerca di risparmiare il pi possibile gli indirizzi IP pubblici, ad esempio
costruendo dispositivi router che eseguano un NAT (Network Address Translation) dinamico, con il
quale tutti o buona parte degli IP privati di una rete possano viaggiare sulla rete internet con un
ridotto numero di IP pubblici.
Tali tecniche hanno per solo rinviato il problema della totale occupazione degli IP pubblici,
per questo gi stato studiato un nuovo metodo di indirizzamento IP a 128 bit chiamato IPv6, e il
vecchio stato nominato IPv4. Questo permette un indirizzamento di:
IPv4:
4'294'967'296
Con l IPv6 sono state inserite anche delle funzionalit di QoS (Qualit of Service) non
presenti nellIPv4.
La convenzione che fissa gli IP pubblici e privati la seguente:
15
Un multicast un indirizzo IP che identifica un gruppo di host. Negli ultimi anni viene impiegata per comunicazioni
simultanee a pi postazioni contemporaneamente, per esempio nella videoconferenza.
13/21
private
10.0.0.0 10.255.255.255
172.16.0.0 172.31.255.255
192.168.0.0 192.168.255.255
pubbliche
tutte le reti che non sono private
Che siano pubblici o privati, con i concetti visti sopra, lintera internet sarebbe ununica
rete. Per suddividere questa in pi reti si introdotto il concetto di netmask o maschera di rete.
La netmask una sequenza di 32 bit opportunamente scelta, che viene assegnata per
suddividere le varie reti. Le regole affinch sia una sequenza valida sono:
- inizia con un il primo bit a 1
- non si possono intervallare 0 con 1
es:
11111111.11111111.11111111.00000000
11111011.11111111.11111111.11000000
11111111.00000000.00000000.00000000
11111111.11111111.11111111.11111100
valida
non valida
valida
valida
In base alle precedenti viene indicata anche con una / seguita dal numero di bit a 1, es:
11111111.11111111.11111111.00000000
11111111.00000000.00000000.00000000
11111111.11111111.11110000.00000000
/24
/8
/20
La rete di appartenenza di un host viene trovata sommando bit a bit, con la funzione booleana
AND 16 , lindirizzo dellhost con la netmask. Es:
A che rete appartiene lindirizzo 192.168.17.5 con netmask 255.255.255.0 ?
11000000.10101000.00010001.00000101 +
11111111.11111111.11111111.00000000 =
-------------------------------------------------------------
11000000.10101000.00010001.00000000
In merito alla netmask si potr osservare che la parte relativa agli 1 identifica il numero di
reti possibili, mentre quella relativa agli 0 identifica il numero di host. Inoltre, in ogni rete, il
primo e lultimo indirizzo IP relativo agli host sono riservati, rispettivamente come indirizzo della
rete e come indirizzo di broadcast 17 .
A ciascuna classe, A, B e C stata assegnata una maschera di rete di default (chiamata
classfull addressing) secondo il seguente schema:
16
AND una funzione booleana che, dati due valori in ingresso, restituisce 1 se entrambi sono veri, 0 in caso contrario.
Nel caso che i valori in ingresso siano bit, il risultato varr 1 solo se entrambi valgono 1.
17
Lindirizzo di broadcast di una rete quello per cui un pacchetto inviato a tale indirizzo viene inoltrato a tutti gli
host collegati su quella rete.
14/21
classe A:
classe B:
classe C:
255. 0. 0. 0
255.255. 0. 0
255.255.255.0
o
o
o
/8
/16
/24
niente vieta di scegliere maschere di rete differenti (nel qual caso si parla di classless
addressing).
La scelta della netmask viene fatta in fase di progetto di una rete. Per una rete con IP
pubblici viene assegnata dal ISP 18 congiuntamente agli indirizzi IP, mentre per una rete con IP
privati viene scelta in base alle esigenze.
I parametri di progetto sono:
- numero di reti necessarie;
- numero di host in ciascuna rete.
In base alla definizione di netmask vista sopra, si ha che:
Secondo gli esempi di sopra ho impostato a 1 i primi 4 bit, e a 0 gli ultimi 5, cosa imposto
nei bit intermedi?
Devo impostare i bit intermedi in base al tipo di classe che preferisco impiegare, nel nostro
caso B o C, e in base al tipo di indirizzi, privati o pubblici, che voglio impiegare.
Progetto di esempio.
Supponiamo di voler progettare il piano di indirizzamento IP per una organizzazione con 5
sedi, di cui 4 periferiche e di ridotte dimensioni (ad esempio meno di 200 postazioni), e 1 centrale e
molto estesa (ad esempio di 3'000 postazioni). Tutte le sedi periferiche devono essere collegate con
la sede centrale.
18
Internet Service Provider o ISP un fornitore di accesso a internet, quale Tiscali, Telecom o il GARR (Gestione
Ampliamento Rete Ricerca, che si occupa di garantire la connettivit nazionale ed internazionale a larga banda alla
comunit scientifica ed accademica italiana)
15/21
Soluzione.
Potremo risolvere il problema nel seguente modo:
- 4 reti in classi C per le sedi periferiche con maschera 255.255.255.0 o /24 (classfull):
192.168.1.0, 192.168.2.0, 192.168.3.0, 192.168.4.0
- 4 reti in classe C per i collegamenti tra le sedi periferiche con maschera 255.255.255.252
o /30 (classless)
192.168.15.0, 192.168.15.4, 192.168.15.8, 192.168.15.12
- 1 rete in classe B per la sede principale con maschera 255.255.0.0 o /16 (classfull)
172.16.0.1
Analizziamo nel dettaglio la soluzione:
- ogni rete periferica potr avere 254 host (256 della classe C, meno lindirizzo di rete e
quello di broadcast), che superiore al numero di postazioni (200);
- per i collegamenti delle sedi periferiche si sono scelte 4 (come il numero delle sedi)
subnet 19 di classe C, ognuna con 4 possibili indirizzi:
indirizzo di rete, indirizzo di broadcast, indirizzo di collegamento del router
periferico, indirizzo di collegamento del router della sede centrale;
- la rete della sede centrale potr avere 65'534 host (65'536 della classe B, meno
lindirizzo di rete e quello di broadcast), che superiore al numero di postazioni (3'000).
In questo caso si sarebbe potuto evitare limpiego dellintera classe B in quanto il valore
di 65'534 molto superiore a 3'000, eseguendo anche qui una subnet di tale classe.
Lesempio di sopra ha mostrato come sia possibile operare con le classi, creando anche delle
sottoreti (subnet) di queste. Niente vieta di creare anche selle supernet 20 . Ad esempio, si sarebbe
potuto aggregare varie reti di classe C (dove con ognuna sono possibili 256 host) fino ad ottenere
una rete con 3000 host:
- rete 192.168.16.0 netmask 255.255.240.0 o /20 (classless);
numero di host possibili 4094 (ovvero 4096-2), aventi un indirizzo da 192.168.16.1 a
192.168.31.254, indirizzo di rete 192.168.16.0 e broadcast 192.168.31.255.
19
20
Subnet: sottoreti
Supernet: aggregazioni di reti in ununica rete.
16/21
Gli Hub
Nella tecnologia delle reti informatiche, un hub (letteralmente in inglese fulcro, mozzo,
elemento centrale) rappresenta un concentratore, un dispositivo di rete che funge da nodo di
smistamento di una rete di comunicazione dati organizzata prevalentemente a stella.
Nel caso, molto diffuso, delle reti Ethernet 21 , un hub un dispositivo che inoltra i dati in
arrivo da una qualsiasi delle sue porte su tutte le altre. Per questa ragione pu essere definito anche
un ripetitore multiporta. Questo permette a due dispositivi di comunicare attraverso l'hub come se
questo non ci fosse, a parte un piccolo ritardo nella trasmissione.
La conseguenza del comportamento dell'hub che la banda totale disponibile condivisa da
tutte le stazioni trasmittenti e dunque ridotta ad una frazione di quella originaria. Il suo valore
dipender dal numero di stazioni collegate allhub.
Il ritardo introdotto da un hub generalmente di pochi microsecondi e quindi quasi
ininfluente.
La semplicit del comportamento di uno hub ne fa uno dei componenti pi economici per
costruire una rete. Un hub non ha bisogno di riconoscere i confini dei dati che lo attraversano,
quindi considerato un dispositivo di livello 1 (fisico) nel modello OSI in quanto ritrasmette
semplicemente i segnali elettrici e non i dati, per questo motivo anche definito come un apparato
passivo.
Nel gergo delle reti Ethernet, un hub crea un unico dominio di collisione unendo tutti i
calcolatori o le reti connessi alle sue porte, ovvero se due calcolatori collegati a porte diverse
trasmettono contemporaneamente, si verifica una collisione, e la trasmissione deve essere ripetuta.
Infatti l'hub non distingue i segmenti di LAN e ritrasmette tutti i segnali che riceve. Ci crea anche
delle limitazioni al numero di nodi che si possono connettere nella LAN vista nella sua complessit,
in quanto allaumentare del numero di stazioni diminuisce lefficienza della rete, dal momento che
aumenta la probabilit di avere collisioni.
Il suo impiego limitato alla connessione di segmenti di Ethernet di tipologia e velocit
identica in quanto l'hub non neanche fornito di buffer. In pratica la LAN nel suo complesso va
vista come un'unica rete.
21
Ethernet il nome di un protocollo per reti locali sviluppato nel 1973 nei laboratori della Xerox.
17/21
Gli Switch
Nella tecnologia delle reti informatiche, uno switch, in inglese letteralmente commutatore,
un dispositivo di rete che inoltra selettivamente i frame ricevuti verso una porta di uscita.
Come con un hub, due nodi possono comunicare attraverso uno switch come se questo non ci
fosse, ovvero il suo comportamento trasparente. A differenza per di quanto farebbe un hub, uno
switch normalmente inoltra i frame in arrivo da una qualsiasi delle sue porte soltanto a quella cui
collegato il nodo destinatario del frame. Uno switch possiede quindi l'intelligenza necessaria a
riconoscere i confini dei frame nel flusso di bit, immagazzinarli, decidere su quale porta inoltrarli,
trasferirli verso una porta in uscita, trasmetterli. Normalmente uno switch opera al livello 2
(datalink) del modello di riferimento ISO/OSI.
Uno switch di fascia alta fornisce tipicamente le seguenti caratteristiche:
-
possibilit di gestione;
supporto di pi istanze del protocollo Spanning Tree 22 (STP);
supporto di LAN virtuali (VLANs) secondo lo standard 802.1q 23
mirroring delle porte;
supporto della QoS 24 (Quality of Service).
Anche ritardo introdotto da uno switch generalmente di pochi microsecondi, quindi quasi
ininfluente per la gran parte delle applicazioni.
Tra una stazione e uno switch, o tra due switch direttamente collegati non sono possibili
collisioni e quindi possibile utilizzare la modalit full duplex, ovvero i due nodi possono
trasmettere contemporaneamente.
L'inoltro selettivo dei frame permette anche a pi frame di attraversare contemporaneamente
lo switch (su porte differenti) e quindi la banda totale disponibile non viene ridotta con l'aumento
del numero di nodi. In una connessione di questo tipo si dice che l'host ha un accesso dedicato al
commutatore. Questo garantisce che due nodi connessi da uno switch possano comunicare tra loro
alla velocit nominale del collegamento, sempre che non siano impegnati contemporaneamente in
altre conversazioni.
Nella realt, l'introduzione di uno switch in una rete locale porta ad un aumento del traffico
sulla rete ed a un miglioramento delle prestazioni, ma spesso questo miglioramento porta ad
evidenziare altri colli di bottiglia della rete, ad esempio sui collegamenti delle varie intranet
aziendali, sulla connessione ad internet o sulla la capacit dei server.
22
In una rete locale complessa, necessario che ci siano dei collegamenti ridondanti, ma che alcuni di questi siano
mantenuti fuori servizio fino a quando non si rendono necessari per sopperire a guasti di altri collegamenti o switch.
L'algoritmo di spanning tree un algoritmo distribuito, che opera su tutti gli switch, facendo in modo che in ogni
istante la rete sia connessa ma priva di cicli, ovvero che partendo da una qualsiasi postazione si possa raggiungere
qualsiasi altra attraverso un unico percorso (in gergo matematico: il grafo dei collegamenti disponibili sia coperto da
un albero).
23
IEEE 802.1q uno standard che permette a pi reti virtuali (VLAN) di condividere lo stesso collegamento fisico
senza perdita e sovrapposizione di informazioni tra un apparato e un altro. E utile per creare delle LAN (virtuali) con
un numero di apparati ridotto, come se fossero tra loro indipendenti. Per questo motivo sono molto impiegate anche per
la suddivisione del traffico (in merito a motivi di sicurezza) tra varie LAN.
24
Il termine qualit di servizio o pi semplicemente QoS (dall'inglese Quality of Service) usato per indicare i
parametri usati per caratterizzare la qualit del servizio offerto dalla rete (ad esempio perdita di pacchetti, ritardo, etc.),
o gli strumenti per ottenere una qualit di servizio desiderata.
18/21
I Router
Nella tecnologia delle reti informatiche un router, in inglese letteralmente instradatore, un
dispositivo di rete che si occupa di instradare pacchetti lavorando al livello 3 (rete) del modello
OSI.
La caratteristica fondamentale dei router che la funzione di instradamento basata sugli
indirizzi di livello 3 (rete) o IP del modello OSI, a differenza dello switch che instrada sulla base
degli indirizzi di livello 2 (datalink) o MAC. Mentre uno switch collega gli host appartenenti alla
stessa rete, un router collega reti differenti (con indirizzamento IP diverso), siano LAN vere e
proprie o VLAN (virtual LAN).
Gli elementi della tabella di instradamento non sono quindi singole postazioni ma intere reti,
ovvero sottoinsiemi anche molto ampi dello spazio di indirizzamento. Questo fondamentale per la
25
MAC un acronimo che significa Media Access Control e viene utilizzato per l'accesso al mezzo fisico dal livello 2
(datalink) secondo il modello OSI. Tale indirizzo formato da 48 bit suddivisi in 12 cifre esadecimali: le prime 6 cifre
individuano il produttore dell'interfaccia di rete mentre le successive corrispondono al numero di serie della scheda
stessa.
19/21
scalabilit delle reti, in quanto permette di gestire reti anche molto grandi facendo crescere le tabelle
di instradamento in modo meno che lineare rispetto al numero di host. Ognuna di queste reti avr un
insieme di broadcast separato, il che risulta molto utile allaumentare del numero di postazioni
(servizi di condivisione cartelle o simili tendono a generare un elevato numero di messaggi di
broadcast).
Per garantire la massima affidabilit e lo sfruttamento ottimale dei collegamenti in caso di reti
complesse costituite da molte sottoreti diverse e variamente interconnesse, i router possono
costruire le loro tabelle di instradamento in modo dinamico, scambiandosi periodicamente
informazioni su come raggiungere le varie reti che collegano l'un l'altro.
Per fare questo sono stati messi a punto dei protocolli di routing appositi, come OSPF 26 e
27
BGP , attraverso i quali i router si scambiano informazioni sulle reti raggiungibili. Altri protocolli
di routing sono ad esempio: RIP 28 , IGRP 29 , etc.
Un esempio di tabella di routing potrebbe essere la seguente:
1)
2)
3)
4)
5)
6)
D
D
D EX
D EX
C
D*EX
Open Shortest Path First o OSPF uno dei protocolli di instradamento pi diffusi, che gestisce le tabelle di
instradamento di una rete IP con il metodo del Link State (stao dei link: basato sullo stato del collegamento). Questo
standard aperto (open) nel senso che un protocollo non proprietario.
27
Il Border Gateway Protocol o BGP un protocollo di routing che agisce nel cuore di Internet. Funziona attraverso
la gestione di una tabella di reti IP, o prefissi, che forniscono informazioni sulla raggiungibilit delle diverse reti tra pi
sistemi autonomi (Autonomous System, AS).
28
Il Routing Information Protocol o RIP uno dei protocolli di routing pi usati su reti locali ed aiuta i router ad
adattarsi dinamicamente ai cambiamenti dei collegamenti di rete, scambiandosi informazioni riguardo a quali reti ogni
router pu raggiungere e quanto siano lontane. Anche se il RIP ancora attivamente usato, generalmente sostituito da
protocolli di routing link-state come OSPF o altri distance-vector come l'EIGRP (evoluzione dell IGRP).
29
L IGRP (Interior Gateway Routing Protocol) un protocollo di routing proprietario, inventato da Cisco, usato dai
router per scambiarsi informazioni di routing dentro un Sistema Autonomo. IGRP fu creato per superare i limiti del RIP
(hop count massimo di 15 e singola metrica di routing) quando veniva usato in reti di grandi dimensioni.
20/21
21/21