RDC - Reti Di Calcolatori
RDC - Reti Di Calcolatori
Formattato ...
Nota: questo documento contiene all’inizio le sintesi ufficiali del libro di testo, e dopo delle sintesi personali ha formattato ...
delle slide del corso. Il documento non vuole sostituirsi al materiale didattico ufficiale in quanto Formattato ...
volutamente esclude, ai fini della sintesi e non, alcune informazioni invece contenute nelle slide; è
ha formattato ...
consigliato come materiale di ripasso e non di studio.
Formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
Indice ha formattato ...
Indice 1 ha formattato ...
Mappa concettuale 5 livelli delle reti 4 ha formattato ...
Sommario libro di testo 5 ha formattato ...
Capitolo 1 - Introduzione 5 ha formattato ...
2G 38 ha formattato ...
ha formattato ...
3G 38
Formattato ...
4G - LTE 38
ha formattato ...
5G 38
ha formattato ...
Comunicazione 39
ha formattato ...
IP multicast 39
ha formattato ...
Primitive 39 ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
Mappa concettuale 5 livelli delle reti ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
Formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
Formattato ...
ha formattato ...
ha formattato ...
ha formattato ...
Formattato ...
Formattato ...
ha formattato ...
Formattato ...
ha formattato ...
Formattato ...
Sommario libro di testo Formattato: SpazioPrima: 16 pt, Dopo: 4 pt
Capitolo 1 - Introduzione
Le reti di computer hanno molti usi, per le aziende come per i privati. Per le aziende, le reti di personal
computer connessi a server condivisi sono spesso lo strumento per accedere alle informazioni aziendali.
Generalmente seguono il modello client-server, dove le postazioni client sulla scrivania degli utenti ha formattato: Tipo di carattere: Non Grassetto
accedono a potenti server collocati nella sala macchine. Per i privati, le reti danno accesso ad una vasta
quantità d’informazioni e intrattenimento. Di solito accedono ad Internet chiamando un ISP servendosi di
un modem, anche se un numero crescente di persone ha una connessione fissa presso la propria abitazione.
Un’area in veloce sviluppo è costituita dalle reti senza filo o wireless, con nuove applicazioni com l’accesso
mobile alla e-mail e l’e-commerce.
A grandi linee le reti si possono dividere in LAN, MAN, WAN e internetwork, ciascuna con le proprie
caratteristiche, tecnologie, velocità e nicchie. Le reti LAN coprono un edificio e lavorano ad alta velocità. Le ha formattato: Tipo di carattere: Non Grassetto
reti MAN coprono una città, come il sistema televisivo via cavo usato da molti per accedere a Internet. Le ha formattato: Tipo di carattere: Non Grassetto
WAN coprono una nazione o continente. Le reti LAN e MAN non sono commutate (cioè non hano router), ha formattato: Tipo di carattere: Non Grassetto
mentre le WAN sono commutate. Le reti wireless stanno diventando molto popolari, specialmente le LAN ha formattato: Tipo di carattere: Non Grassetto
senza fili. Le reti si possono collegare per formare internetwork. ha formattato: Tipo di carattere: Non Grassetto
Il software di rete è composto da protocolli, che sono le regole seguite dai processi per comunicare. I ha formattato: Tipo di carattere: Non Grassetto
protocolli sono senza connessione oppure orientati alla connessione. La maggior parte delle reti supporta le ha formattato: Tipo di carattere: Non Grassetto
gerarchie di protocolli, dove ogni strato offre un servizio allo strato superiore e lo isola dai dettagli dei ha formattato: Tipo di carattere: Non Grassetto
protocolli usati negli strati inferiori. Le pile di protocolli sono solitamente basate sul modello OSI oppure su ha formattato: Tipo di carattere: Non Grassetto
quello TCP/IP. Entrambe hanno strati network, trasporto e applicazione, ma differiscono negli altri starti. ha formattato: Tipo di carattere: Non Grassetto
Le reti offrono ai loro utenti dei servizi, che possono essere orientati alla connessione oppure senza ha formattato: Tipo di carattere: Non Grassetto
connessione. In alcune reti è offerto un servizio senza connessione in uno strato e un servizio orientato alla ha formattato: Tipo di carattere: Non Grassetto
connessione in quello sovrastante. ha formattato: Tipo di carattere: Non Grassetto
Internet, ATM, Ethernet e IEE 802.11 sono reti molto note. Internet si è evoluta da ARPA-NET, alla quale ha formattato: Tipo di carattere: Non Grassetto
furono aggiunte altre reti per formare una internetwork. L’attuale Internet non è una rete unica ma una ha formattato: Tipo di carattere: Non Grassetto
raccolta di migliaia di reti, caratterizzate dall’utilizzo della pila di protocolli TCP/IP. ATM è largamente ha formattato: Tipo di carattere: Non Grassetto
impiegato all’interno della rete telefonica per il trasporto del traffico dati a lunga distanza. Ethernet è la ha formattato: Tipo di carattere: Non Grassetto
LAN più usata, e si ritrova nella maggior parte delle aziende di grandi dimensioni ed università. Infine, LAN
wireless con velocità sorprendentemente alte (fino 54 Mbps) (libro evidentemente obsoleto) sono agli inizi di ha formattato: Tipo di carattere: Non Corsivo
un’adozione su vasta scala.
Per garantire la comunicazione tra più computer è necessaria molta standardizzazione, nell’hardware e nel
software. Organizzazioni come ITU-T, ISO, IEEE e IAB gestiscono porzioni differenti del processo di
standardizzazione.
Capitolo 3 - Il livello data link Formattato: SpazioPrima: 12 pt, Dopo: 3 pt, Bordo:
Superiore: (Nessun bordo), Inferiore: (Nessun bordo), A
Lo strato data link ha il compito di convertire il flusso di bit in ingresso dallo strato fisico in un flusso di
sinistra: (Nessun bordo), A destra: (Nessun bordo), Tra :
frame da passare allo strato network. Si usano diversi metodi per il framing, fra cui il conteggio dei caratteri, (Nessun bordo)
il byte stuffing e il bit stuffing. I protocolli data link possono prendersi carico della correzione degli errori e ha formattato: Tipo di carattere: Non Grassetto
della ritrasmissione dei frame persi o danneggiati. Con il controllo del flusso i protocolli data link ha formattato: Tipo di carattere: Non Grassetto
prevengono situazioni in cui una sorgente veloce inonda una destinazione lenta. Il metodo sliding window è ha formattato: Tipo di carattere: Non Grassetto
largamente usato per integrare in modo conveniente il controllo degli errori e del flusso. ha formattato: Tipo di carattere: Non Grassetto
I protocolli sliding window sono caratterizzati dalla dimensione delle finestre sorgente e destinazione. ha formattato: Tipo di carattere: Non Grassetto
Quando sono entrambe uguali a 1, il protocollo è stop-and-wait. Quando la dimensione della finestra della ha formattato: Tipo di carattere: Non Grassetto
sorgente è maggiore di 1 (per esempio, per evitare che la sorgente si possa bloccare su un circuito che ha un ha formattato: Tipo di carattere: Non Grassetto
lungo ritardo di propagazione) la destinazione può essere programmata in due modi: o per scartare tutti i ha formattato: Tipo di carattere: Non Grassetto, Non
frame eccettuato il successivo in sequenza, o per mettere in un buffer i frame ricevuti fuori sequenza prima Corsivo
del loro uso.
Il protocollo 1 è pensato per un ambiente privo di errori in cui la destinazione può gestire tutto il flusso che
gli viene mandato, indipendentemente dalla velocità di trasmissione. Il protocollo 2 considera ancora un
ambiente privo di errori, ma aggiunge il controllo di flusso (buffer). Il protocollo 3 gestisce gli errori
introducendo i numeri di sequenza e usando un algoritmo stop-and-go. Il protocollo 4 permette la
comunicazione bidirezionale ed introduce il concetto di piggybacking. Il protocollo 5 usa un procollo sliding ha formattato: Tipo di carattere: Non Grassetto, Non
window con metodo go back n. Infine il protocollo 6 usa la ripetizione selettiva e l’acknowledgment Corsivo
CSMA 1-persistente Capacità standard di rilevamento Accesso casuale Formattato: Controlla righe isolate
MACA, MACAW Protocolli LAN wireless ha formattato: Tipo di carattere: Non Grassetto
Formattato ...
Ethernet CSMA/CD con backoff Pre-802.3 Formattato: Controlla righe isolate
esponenziale binario Formattato ...
ha formattato: Tipo di carattere: Non Grassetto
FHSS Spettro ditribuito a frequenza 802.11
Formattato ...
variabile
Formattato ...
DSSS Spettro distribuito a sequenza 802.11g Formattato: Controlla righe isolate, Bordo: Superiore:
diretta (Nessun bordo), Inferiore: (Nessun bordo), A sinistra:
(Nessun bordo), A destra: (Nessun bordo), Tra : (Nessun
bordo)
CSMA/CA Capacità di rilevamento della Accesso casuale
Formattato: Controlla righe isolate, Bordo: Superiore:
portante ad accesso multiplo con (Nessun bordo), Inferiore: (Nessun bordo), A sinistra:
annullamento delle collisioni (Nessun bordo), A destra: (Nessun bordo), Tra : (Nessun
bordo)
Gli schemi di allocazione più semplice sono FDM e TDM, che sono efficienti quando il numero di stazioni è
Formattato: Controlla righe isolate
piccolo e costante e il traffico è continuo. Entrambi sono ampiamente usati sotto queste condizioni, per
ha formattato: Tipo di carattere: Non Grassetto
esempio per dividere la banda sulle linee telefoniche. Quando il numero di stazioni aumenta o è variabile, e i
ha formattato: Tipo di carattere: Non Grassetto
dati sono trasmessi a cadenza irregolare, FDM e TDM non funzionano bene. Il protocollo ALOHA, normale
ha formattato: Tipo di carattere: Non Grassetto
e slotted, è stato proposto come alternativa. Assieme alle sue numerose varianti e derivati è stato
ha formattato: Tipo di carattere: Non Grassetto
ampiamente descritto, analizzato e utilizzato nei sistemi reali.
ha formattato: Tipo di carattere: Non Grassetto
Quando è possibile analizzare lo stato del canale, le stazioni possono evitare di iniziare una trasmissione
ha formattato: Tipo di carattere: Non Grassetto
mentre un’altra stazione ha già iniziato a trasmettere. Questa tecnica, basata sulla capacità di rilevamento
ha formattato: Tipo di carattere: Non Grassetto
della portate, ha dato vita a diversi protocolli che possono essere utilizzati sia su LAN sia su MAN.
ha formattato: Tipo di carattere: Non Grassetto
È nota anche una classe di procolli che elimina completamente la contesa o almeno la riduce in modo
considerevole. Il conteggio binario elimina completamente la contesa. Il protocollo tree walk la riduce ha formattato: Tipo di carattere: Non Grassetto, Non
dividendo dinamicamente le stazioni in due gruppi disgiunti, uno dei quali ha il permesso di trasmettere e Corsivo
l’altro no; il protocollo tenta di creare la divisione in modo tale che solo una stazione pronta alla ha formattato: Tipo di carattere: Non Grassetto
Il livello transport consente la conversazione delle peer entity (end-to-end). In questo livello sono definiti
due protocolli:
- il TCP (Transmission Control Protocol), connesso e affidabile; Formattato: Struttura + Livello:1 + Stile numerazione:
Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
- l’UDP (User Datagram Protocol), non connesso e non affidabile.
di: 1,27 cm
TCP vs OSI
Hanno funzionalità simili per i vari livelli e si caratterizzano entrambi per protocolli indipendenti.
L’OSI è un modello di riferimento, dove i protocolli vengono solo successivamente, mentre, contrariamente,
il TCP/IP nasce coi protocolli, ed è il modello di riferimento a venire a posteriori. Inoltre l’OSI è un modello
generale con esperienza limitata, mentre il TCP/IP è molto efficiente ma non generale (difficile sostituire
protocolli).
Formattato: Allineato a sinistra
Modulazioni
La velocità di trasmissione dipende dall’ampiezza, dalla frequenza e dalla fase d’onda, che vanno quindi ha formattato: Tipo di carattere: Non Grassetto
tutte modulate al meglio. ha formattato: Tipo di carattere: Non Grassetto
ha formattato: Tipo di carattere: Non Grassetto
Definizioni
- banda passante: dipende dal mezzo fisico di trasmissione; intervallo di frequenze che passa Formattato: Struttura + Livello:1 + Stile numerazione:
attraverso il mezzo con una minima attenuazione; Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
di: 1,27 cm
- baud rate: numero di campioni (simboli, parti di informazione) raccolti al secondo; equivale alla
frequenza dei simboli;
- tecnica di modulazione: determina il numero di bit per simbolo;
- frequenza di bit: quantità di informazione inviata sul canale: simboli/s × (bit/simbolo) ⇒ bps
Formattato: SpazioPrima: 12 pt
Commutazioni
ha formattato: Tipo di carattere: 11 pt, Non Grassetto
Commutazione di pacchetto Formattato: Controlla righe isolate, Bordo: Superiore:
(Nessun bordo), Inferiore: (Nessun bordo), A sinistra:
Datagram Circuito virtuale (Nessun bordo), A destra: (Nessun bordo), Tra : (Nessun
bordo)
Risorse Senza prenotazione di risorse. Risorse allocate o in setup o su domanda Formattato: Allineato a sinistra, Controlla righe isolate,
Allocazione su domanda. Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
bordo), A sinistra: (Nessun bordo), A destra: (Nessun
bordo), Tra : (Nessun bordo)
Routing Con indirizzo di destinazione Indirizzo parziale di circuiti virtuali, non end-to-end.
Formattato: Allineato a sinistra, Controlla righe isolate,
Stessa strada dei pacchetti. Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
bordo), A sinistra: (Nessun bordo), A destra: (Nessun
Ritardo Anche elevato Variabile bordo), Tra : (Nessun bordo)
Formattato: Allineato a sinistra, Controlla righe isolate,
Implementazione A livello 3 (network) A livello 2 (data-link) Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
bordo), A sinistra: (Nessun bordo), A destra: (Nessun
Uso Internet (suite TCP/IP) WAN a commutazione come Frame relay e reti ATM bordo), Tra : (Nessun bordo)
Formattato: Allineato a sinistra, Controlla righe isolate,
Altre note Buona efficienza di uso delle Si fa uso di una tabella di connessione dei C.V. fra Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
bordo), A sinistra: (Nessun bordo), A destra: (Nessun
risorse due switch.
bordo), Tra : (Nessun bordo)
Uso delle 3 fasi: connessione-invio-disconnessione.
ha formattato: Tipo di carattere: Non Corsivo
Formattato: Allineato a sinistra, Controlla righe isolate,
Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
Livello data link bordo), A sinistra: (Nessun bordo), A destra: (Nessun
bordo), Tra : (Nessun bordo)
Lo scopo del livello data link è di offire una comunicazione affidabile ed efficiente a due macchine adicenti.
Formattato: Allineato a sinistra, Controlla righe isolate,
Si comporta come un “tubo digitale”, cioè i bit partono e arrivano nello stesso ordine; questo comporta Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
errori e disturbi occasionali, un data rate finito, e un ritardo nella propagazione. bordo), A sinistra: (Nessun bordo), A destra: (Nessun
bordo), Tra : (Nessun bordo)
Si occupa di offrire servizi al livello network con un’interfaccia ben definita, di determinare come i bit del
livello fisico sono raggruppati in frame (framing), di gestire gli errori di trasmissione, e di regolare il flusso
della tramsissione fra sorgente e destinatario.
L’acknowledgment è un messaggio inviato dal destinatario al mittente per informarlo se il frame è arrivato ha formattato: Tipo di carattere: Non Grassetto
correttamente o se è errato. Si distinguono quindi i frame dati e i frame di ack, destinati ai rispettivi scopi.
Il frame è diviso in due campi: l’header, dove ci sono i campi kind, seq e ack; il campo info, che contiene il
pacchetto di livello network completo.
Servizi
Si ricorda che lo scopo principale del livello data link è quello di trasferire i dati dal livello network della
macchina di origine a quello della macchina di destinazione.
Il livello data link può funzionare in più configurazioni:
- connectionless non confermato: ha formattato: Tipo di carattere: Non Grassetto
➔ si mandano frame indipendenti che non vengono confermati; Formattato: Struttura + Livello:1 + Stile numerazione:
Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
➔ non si stabilisce una connessione; di: 1,27 cm
➔ i frame persi non si recuperano (in questo livello); Formattato: Struttura + Livello:1 + Stile numerazione:
Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
➔ appropriato per canali con tasso d’errore molto basso, a traffico real-time e le LAN;
di: 1,27 cm
- connectionless confermato:
Formattato: SpazioDopo: 0 pt, Struttura + Livello:1 +
➔ i frame vengono confermati; se ciò non succede, il mittente può rispedire il frame; Stile numerazione: Punto elenco + Allinea a: 0,63 cm +
➔ utile su canali non affidabili (sistemi wireless) Imposta un rientro di: 1,27 cm, Bordo: Superiore:
(Nessun bordo), Inferiore: (Nessun bordo), A sinistra:
- connection oriented confermato: (Nessun bordo), A destra: (Nessun bordo), Tra : (Nessun
➔ sofisticato, prevede 3 fasi: apertura connessione, invio dati, chiusura connessione; bordo)
➔ garantisce che ogni frame sia ricevuto esattamente una volta e nell’ordine giusto ha formattato: Tipo di carattere: Non Grassetto
➔ fornisce al livello network un flusso di pacchetti affidabile ha formattato: Tipo di carattere: Non Grassetto
Funzionamento
In trasmissione, spezza il flusso di bit in arrivo dal livello 3 in una serie di frame, calcola il checksum per
ciascuno e lo inserisce al suo interno; infine consegna il frame al livello 1, che lo spedisce come sequenza di
bit.
In ricezione, riceve una sequenza di bit dal livello 1, ricostruisce i frame, ricalcola per ognuno il checksum e
verifica che corrisponda a quello contenuto dentro il frame stesso.
Tecniche di framing
La distanza di Hamming è il numero di bit per cui due codeword differiscono. Un insieme prefissato di ha formattato: Tipo di carattere: Non Grassetto
codeword costituisce un codice. La distanza di Hamming di un codice è il minimo delle distanze di
Hamming fra tutte le possibili coppie di codeword del codice.
Nella Cyclic Redundancy Code (CRC) si considerano le stringhe di bit come rappresentazioni di polinomi a
coefficienti 0 e 1 (un numero ad m bit corrisponde ad un polinomio di grado m-1). Il ricevente divide il frame
con checksum per G(x), e se il risultato è diverso da 0 c’è stato un errore. Un codice polinomiale con r bit
rileva tutti gli errori di lunghezza ≤ r.
Un checksum a 16 bit corregge errori fino a 16 bit e quasi certamente anche di 17 e 18 bit.
Protocolli
I protocolli principali del livello data link sono 3:
- Protocollo 1, per canale simplex senza vincoli (per questo motivo chiamato heaven, chiaramente ha formattato: Tipo di carattere: Non Grassetto
irrealistico). Si assume che gli strati network della sorgente e della destinazione siano sempre pronti, ha formattato: Tipo di carattere: Non Grassetto, Non
che il tempo per elaborare i dati possa essere ignorato, che sia disponibile un buffer infinito e che Corsivo
Protocollo go-back-n
Nel protocollo go-back-n il destinatario quando riceve un frame danneggiato o con un numero di sequenza ha formattato: Tipo di carattere: Non Grassetto
non progressivo, lo ignora assieme ai successivi in quell’unità di tempo. ha formattato: Tipo di carattere: Non Grassetto
Il mittente invece, quando scatta il timeout sul frame inviato con errore, ritrasmette la sequenza di frame
che inizia con quello per il quale si è verificato il timeout. Il mittente mantiene in un apposito buffer tutti i ha formattato: Tipo di carattere: Non Grassetto
frame non confermati per poterli eventualmente ritrasmettere, bloccando il livello network in caso sia pieno. ha formattato: Tipo di carattere: Non Grassetto
Protocollo HDLC
Il protocollo high-level data link control è standard ISO. Si tratta di un protocollo bit oriented che utilizza la
tecnica del bit stuffing. Può essere configurato normalmente oppure in modalità asincrona. ha formattato: Tipo di carattere: Non Grassetto
Protocollo PPP
Il protocollo point to point è adatto sia a connessioni telefoniche che a linee router-router. Fornisce
funzionalità, oltre al framing, come il rilevamento degli errori, la negoziazione dell’indirizzo IP e
l’autenticazione.
È un protocollo byte oriented che utillizza il byte stuffing. Si serve in oltre di altri protocolli a livello 2 per ha formattato: Tipo di carattere: Non Grassetto
garantire le proprie funzionalità:
- per stabilire il collegamento, LCP; Formattato: SpazioDopo: 0 pt, Struttura + Livello:1 +
- per l’autenticazione, AP; Stile numerazione: Punto elenco + Allinea a: 0,63 cm +
Imposta un rientro di: 1,27 cm
- per interfacciarsi con il livello 3, NCP.
Formattato: Struttura + Livello:1 + Stile numerazione:
Il formato del frame è simile a quello dell’HDLC. Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
di: 1,27 cm
Il sottolivello MAC
I protocolli per decidere quale sia la prossima stazione a cui trasmettere tramite un canale broadcast (detto
anche multiaccess channel) appartengono al sottolivello Medium Access Control. Sono usati nelle LAN, ma
anche nelle WAN basate su satelliti.
Per allocare il canale ai vari utenti in competizione esistono due meccanismi:
- l’allocazione statica, che prealloca la banda, rendendola adatta solamente ad un numero di utenti e ad ha formattato: Tipo di carattere: Non Grassetto
un data rate costanti; Formattato: SpazioDopo: 0 pt, Struttura + Livello:1 +
- l’allocazione dinamica, più sofisticata, che si adatta alle esigenze del momento. Stile numerazione: Punto elenco + Allinea a: 0,63 cm +
Imposta un rientro di: 1,27 cm
ha formattato: Tipo di carattere: Non Grassetto
Protocolli ad accesso casuale
Formattato: Struttura + Livello:1 + Stile numerazione:
In questi protocolli tutte le stazioni sono paritarie, non esiste alcun elemento centralizzato e per questo c’è Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
un algoritmo distribuito per accedere al mezzo. di: 1,27 cm
Non esiste un tempo predefinito per l’accesso al mezzo da parte di ogni stazione (random access); inoltre
non esiste una regola per stabilre qual è la prossima stazione a trasmettere (competizione). Si possono
oltretutto avere delle collisioni.
Protocollo Aloha
Nel protocollo pure Aloha, le stazioni trasmettono quando vogliono, e durante la trasmissione ascoltano il
canale e confrontano ciò che ricevono con ciò che hanno spedito; in caso di collisione (errore) ripetono
l’invio dopo un tempo casuale. Il tempo di attesa per ritrasmettere è casuale per diminuire la probabilità di
successive collisioni.
Nel protocollo Slotted Aloha, si divide il tempo in intervalli discreti, ognuno iniziante con un segnale
speciale. In questo modo si riescono a ridurre le collisioni e ad aumentare il throughput.
Protocollo CSMA
Nel protocollo con ascolto di canale le stazioni possono ascoltare il canale e regolarsi di conseguenza,
ottenendo un’efficienza molto più alta (Carrier Sense).
Ci sono 3 sottoprotocolli:
- l’1-persistent entra in gioco quando il canale è libero; Formattato: SpazioDopo: 0 pt, Struttura + Livello:1 +
- il non persistent subito dopo che si è liberato il canale aspetta un tempo random prima di Stile numerazione: Punto elenco + Allinea a: 0,63 cm +
Imposta un rientro di: 1,27 cm
trasmettere;
- il p-persistent, quando il canale è occupato, aspetta lo slot con probabilità 1-p, se è libero trasmette Formattato: Struttura + Livello:1 + Stile numerazione:
con probabilità p; più è basso p migliore è il throughput. Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
di: 1,27 cm
Il CSMA/CD (Collision Detection) aggiunge al precedente il rilevamento delle collisioni, individuate quando
la potenza del segnale ricevuto è superiore a quella trasmessa. Quando si verifica una collisione, la stazione
aspetta un tempo casuale e al termine prova a ritrasmettere.
Vi è un’alternanza di periodi di contesa, di trasmissione e di inattività. Il periodo di contesa è modellato
come uno Slotted Aloha.
Rete ad anello
Una rete ad anelli consiste di una collezione di interfacce di rete, collegate a coppie da linee punto a punto. ha formattato: Tipo di carattere: Non Grassetto
Non sono basate su un mezzo trasmissivo broadcast, per cui non c’è una significativa componente analogica
per la rilevazione delle collisioni (che non possono verificarsi); inoltre l’anello è intrinsecamente equo. ha formattato: Tipo di carattere: Non Grassetto
Ogni bit che arriva nell’interfaccia è copiato in un buffer interno. ha formattato: Tipo di carattere: Non Grassetto
L’interfaccia di rete può operare in listen mode o in transmit mode. In listen mode i bit in ingresso vengono ha formattato: Tipo di carattere: Non Grassetto
copiati nel buffer interno (dove possono essere modificati) e ritrasmessi con un ritardo di 1 bit. In transmit
mode l’anello è aperto, e i bit in arrivo vengono rimossi; nuovi bit vengono trasmessi sull’anello. Una
speciale configurazione binaria, il token, gira in continuazione se nessuno vuole trasmettere. ha formattato: Tipo di carattere: Non Grassetto, Non
Corsivo
Standard IEEE
I vari standard IEEE differiscono a livello fisico e nel sottolivello MAC, ma sono compatibili a livello data
link.
Ethernet
Si tratta di uno strandard per un protocollo CSMA/CD, di tipo 1-persistent, funzionante a 10Mbps.
802.3
802.3 è l’evoluzione dello standard Ethernet, ma sono largamente compatibili in quanto ne conserva la
maggior parte delle caratteristiche, comprese quelle appena scritte sopra.
Ogni stazione contiene un’interfaccia di rete (scheda Ethernet) che incapsula e codifica i dati del livello
superiore, gestisce il protocollo MAC, e decapsula i dati ottenuti in ricezione.
Prima di trasmettere, la stazione aspetta che il canale sia libero; appena lo è inizia a trasmettere. Se c’è una
collisione viene inviata una sequenza di jamming di 32 bit, per avvisare le altre stazioni. Se invece la
trasmissione non riesce, la stazione attende una quantità di tempo casuale, regolata dall’algoritmo binary ha formattato: Tipo di carattere: Non Corsivo
backoff exponential algorithm, e poi riprova.
Le prestazioni sono molto buone (nota: obsoleto), migliori di quelle stimabili in via teorica. Sotto carico ha formattato: Tipo di carattere: Non Corsivo
medio 2-3% dei pacchetti ha una collisione e qualche pacchetto su 10000 ha più di una collisione. ha formattato: Tipo di carattere: Non Corsivo
prestazioni degradate in presenza di forte carico si manifesta comunque ritardo anche senza forte Formattato: Controlla righe isolate, Bordo: Superiore:
(Nessun bordo), Inferiore: (Nessun bordo), A sinistra:
carico (tempo per ottenere il token) (Nessun bordo), A destra: (Nessun bordo), Tra : (Nessun
bordo)
ha bisogno di un monitor per rilevare Formattato: Controlla righe isolate, Bordo: Superiore:
malfunzionamenti (Nessun bordo), Inferiore: (Nessun bordo), A sinistra:
(Nessun bordo), A destra: (Nessun bordo), Tra : (Nessun
bordo)
802.2 - LLC Formattato: Controlla righe isolate, Bordo: Superiore:
Il sottolivello Logical Link Control fornisce al livello network un’interfaccia unica, nascondendo le (Nessun bordo), Inferiore: (Nessun bordo), A sinistra:
(Nessun bordo), A destra: (Nessun bordo), Tra : (Nessun
differenze fra i vari sottolivelli MAC; inoltre fornisce un servizio più sofisticato di quello offerto dai vari
bordo)
sottolivelli MAC: servizi datagram confermati e non, e servizi affidabili orientati alla connessione.
Formattato: Controlla righe isolate, Bordo: Superiore:
(Nessun bordo), Inferiore: (Nessun bordo), A sinistra:
Reti wireless (Nessun bordo), A destra: (Nessun bordo), Tra : (Nessun
bordo)
Lo standard per le reti WLAN è l’802.11.
I vari standard sono:
- l’FHSS (frequency hopping spread spectrum), che usa una banda libera da 2.4ghz e delle sottobande, Formattato: SpazioDopo: 0 pt, Struttura + Livello:1 +
in cui la trasmissione salta ad intervalli temporali definiti da una frequenza all’altra; Stile numerazione: Punto elenco + Allinea a: 0,63 cm +
Imposta un rientro di: 1,27 cm
- il DSSS (direct sequence spread spectrum), che usa una banda libera da 2.4ghz, in cui il tempo di un
Formattato: Struttura + Livello:1 + Stile numerazione:
bit è suddiviso in m intervalli temporali Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
di: 1,27 cm
Servizi
Il basic service set (BSS) è utilizzato per reti wireless con stazioni fisse o mobili e una stazione base (access ha formattato: Tipo di carattere: Non Grassetto, Non
Corsivo
point AP) opzionale.
ha formattato: Tipo di carattere: Non Grassetto
L’extended service set (ESS) si usa per reti wireless con 2 o più BSS con AP, connesse tra di loro tramite un
Formattato: SpazioDopo: 0 pt, Struttura + Livello:1 +
sistema di distribuzione che connette i rispettivi AP. Stile numerazione: Punto elenco + Allinea a: 0,63 cm +
Imposta un rientro di: 1,27 cm
ha formattato: Tipo di carattere: Non Grassetto, Non
Corsivo
ha formattato: Tipo di carattere: Non Grassetto, Non
Il livello rete Corsivo
ha formattato: Tipo di carattere: Non Grassetto, Non
Lo scopo del livello rete è spostare i pacchetti dal mittente al destinatario, attraverso subnet intermedi
Corsivo
(router).
ha formattato: Tipo di carattere: Non Grassetto, Non
Per raggiungere questo scopo, è necessario: Corsivo
provvedere per conto proprio alla correzione degli errori e al controllo di flusso. Il servizio offerto dal livello Formattato: Allineato a sinistra, Controlla righe isolate,
Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
netowork deve essere datagram, e i pacchetti viaggiano indipendentemente, ciascuno contentente bordo), A sinistra: (Nessun bordo), A destra: (Nessun
un’identificatore che ne stabilisca la destinazione. bordo), Tra : (Nessun bordo)
ha formattato: Tipo di carattere: (Predefinito) Spectral,
Servizi orientati alla connessione Servizi senza connessione 11 pt, Non Grassetto
Formattato: Allineato a sinistra, Controlla righe isolate,
Indirizzo di destinazione Presente (durante l’attivazione) Presente (in ogni pacchetto)
Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
bordo), A sinistra: (Nessun bordo), A destra: (Nessun
Ordine dei pacchetti Garantito Non garantito bordo), Tra : (Nessun bordo)
ha formattato: Tipo di carattere: (Predefinito) Spectral,
Attivazione della connessione Presente Assente 11 pt, Non Grassetto
Formattato ...
Negoziazione di QoS Presente Assente
ha formattato: Tipo di carattere: (Predefinito) Spectral,
11 pt, Non Grassetto
Identificatori di connessione Presente Assente
Formattato ...
Controllo del flusso Presente Assente ha formattato: Tipo di carattere: (Predefinito) Spectral,
11 pt, Non Grassetto
Flow-based routing
È basato sull’idea di calcolare in anticipo il traffico atteso su ogni linea, per poi stimare il ritardo medio
atteso per ciascuna ed effettuare, in base a queste conclusioni, le decisioni di routing. Per fare queste stime
serve conoscere la topologia della rete, la matrice della quantità di traffico e la capacità (in bps) delle linee.
Routing gerarchico
La rete viene divisa in zone (dette regioni). All’interno di una regione ogni router (detto interno) applica un
algoritmo di routing verso tutti gli altri router della regione; quando un router interno deve spedire un
pacchetto ad un router esterno, lo invia ad un particolare router della propria regione, detto di confine. Il
router di confine comunica con gli altri router di confine delle altre regioni.
Questo meccanismo introduce due livelli di routing, il primo all’interno di ogni regione, e il secondo fra i
router di confine.
I router interni mantengono delle loro tabelle di routing, con una riga per ogni router interno ed una per
ogni altra regione (router di confine). I router di confine invece conservano soltanto una riga per ogni altra
regione con l’indicazione del prossimo router di confine da contattare e della linea da usare per
raggiungerlo.
Nome Funzione Dominio di Velocità linee Altro ha formattato: Tipo di carattere: 11 pt, Non Grassetto
collisione Formattato: Allineato a sinistra, Controlla righe isolate,
Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
HUB Connette HUB Tutte alla stessa Il segnale non viene amplificato e l’indirizzo bordo), A sinistra: (Nessun bordo), A destra: (Nessun
bordo), Tra : (Nessun bordo)
un insieme velocità non viene filtrato
Formattato: Allineato a sinistra, Controlla righe isolate,
di linee Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
bordo), A sinistra: (Nessun bordo), A destra: (Nessun
BRIDGE Connette Ogni linea Velocità diverse Estrae dal frame l’indirizzo e lo confronta con bordo), Tra : (Nessun bordo)
un insieme valori in tabelle per determinare la Formattato: Allineato a sinistra, Controlla righe isolate,
di LAN destinazione Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
bordo), A sinistra: (Nessun bordo), A destra: (Nessun
bordo), Tra : (Nessun bordo)
SWITCH Connette Ogni porta ? - estrae dal frame l’indirizzo e lo instrada a
Formattato: Allineato a sinistra, Controlla righe isolate,
un insieme destinazione Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
di - ha più schede di linea del bridge bordo), A sinistra: (Nessun bordo), A destra: (Nessun
computer - ha buffer sulle porte bordo), Tra : (Nessun bordo)
Ogni rete può comunicare con le altre reti a lei conformi attraverso una porzione di rete costituita di router
multiprotocollo (es. OSI, IP). Nella subnet così costituita circolano pacchetti di entrambe le architetture, che
vengono instradati secondo le regole di competenza dell’architettura di cui fanno parte.
Se tutte le reti interessate offrono servizi connessi nel livello network, è possibile costruire un circuito
virtuale che si estende attraverso più reti eterogenee come concatenazione di circuiti virtuali che
attraversano ciascuno una delle reti. Ai confrini fra ogni rete ci sono router multiprotocollo che creano la
porzione di circuito virtuale che attraversa la rete di competenza, ed instradano poi i pacchetti lungo tale
circuito.
Tunneling
Si utilizza per mettere in comunicazione due reti uguali (A) attraverso una rete diversa (B) quando
quest’ultima non ha a disposizione un router multiprotocollo. Sono le due reti A, agli estremi, ad averlo, in
modo da poter incapsulare i loro messaggi dentro pacchetti di tipo B e tradurli non appena raggiungono
l’altro estremo.
Questa tecnica si utilizza nella pratica per connettere host o reti isolate, o per introdurre nuove
caratteristiche (per esempio ipv6 su ipv4). La rete risultante sopra all’ospitante (B) è detta overlay; non è
tuttavia possibile raggiungere i nodi di questa rete.
Frammentazione
È necessario che il livello network della rete di origine (e di quella di destinazione) prevedano meccanismi di
spezzettamento dei pacchetti in frammenti prima di consegnarli alla rete di transito, e di ricomposizione dei
frammenti non appena essi giungono dalla rete di transito a quella di destinazione. La frammentazione può
essere trasparente, quando i pacchetti vengono frammentati e ricomposti ad ogni cambio di rete, o non
trasparente, quando i pacchetti non vengono ricomposti fino alla destinazione finale.
Gatetway
L’internetworking transport gateway è piuttosto diffuso a livello transport ed offere servizi connessi in quasi
tutte le architetture. Poiché operano a livello transport, essi ricevono i dati dal livello application di patenza
e li consegnano al livello application d’arrivo. Possono interfacciare connessioni di trasporto con reti aventi
diversi protocolli.
L’application gateway invece converte i dati a livello application e traduce la semantica dei messaggi
connettendo diversi protocolli di livello applicazione.
Routing
In una internetwork le singole reti componenti sono entità autonome e vengono chiamate AS (Autonomous
System).
Il routing complessivo è a due livelli:
- un primo livello è costuitto dall’Interior Gateway Protocol (IGP) che identifica l’algoritmo di routing Formattato: Struttura + Livello:1 + Stile numerazione:
usato da un AS al proprio interno; diversi AS possono usare diversi IGP; Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
di: 1,27 cm
- un secondo livello è dato dall’Exterior Gateway Protocol (EGP) che è l’algoritmo che si usa per
gestire il routing fra diversi AS; esso deve tener conto di specifiche leggi nazionali a cui vanno
adattate le decisioni di routing.
IP
L’IP è un protocollo datagram:
- riceve i dati dal livello transport e li incapsula in pacchetti; Formattato: SpazioDopo: 0 pt, Struttura + Livello:1 +
- instrada i pacchetti sulla subnet, eventualmente frammentandoli lungo il viaggio Stile numerazione: Punto elenco + Allinea a: 0,63 cm +
Imposta un rientro di: 1,27 cm
A destinazione, riassembla i frammenti in pacchetti, estrae i dati del livello transport e infinne li consegna
Formattato: Struttura + Livello:1 + Stile numerazione:
nell’ordine in cui sono arrivati. Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
di: 1,27 cm
Un indirizzo IP è formato da 32 bit e codifica due cose:
- un network number, cioè un numero assegnato alla rete IP (detta network) su cui si trova Formattato: SpazioDopo: 0 pt, Struttura + Livello:1 +
l’elaboratore Stile numerazione: Punto elenco + Allinea a: 0,63 cm +
Imposta un rientro di: 1,27 cm
- un host number, cioè un numero assegnato all’elaboratore
Formattato: Struttura + Livello:1 + Stile numerazione:
Per rappresentarlo si utilizza la notazione decimale puntata che rappresenta 4 byte. Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
di: 1,27 cm
Gli indirizzi IP devono essere univoci e per questo sono assegnati da autorità nazionali.
Per effettuare localmente dei test su un software di rete in fase di sviluppo, si utilizza la tecnica del
loopback: il pacchetto non viene inviato sulla rete ma viene elaborato come se fosse in arrivo.
Per gestire la crescente necessità di indirizzi IP, viene usata la procedura detta subnetting, dove reti interne
si presentano come una sola rete all’esterno.
L’ICMP (internet control message protocol) controlla l’operatività delle subnet.
Ci sono due tecniche per trovare un indirizzo, la prima (ARP, address resolution protocol) trova l’indirizzo di
livello data link a partire dall’indirizzo IP della destinazione, mentre la seconda (RARP, reverse addres
resolution protocol) fa l’esatto opposto: trova l’indirizzo IP di destinazione a partire da un indirizzo data
link.
La versione 6 di IP si pone come successore della versione 4 ed ha vantaggi come l’aumento del numero di
indirizzi, una maggiore efficienza nei router, un miglior supporto al traffico real time ed una maggiore
sicurezza per i dati riservati.
Il livello transport
Gestisce una conversazione diretta, cioè senza intermediari, fra sorgente e destinazione.
Il software di livello transport è presente solo sugli host, e non nei router della subnet di comunicazione.
I servizi principali offerti ai livelli superiori sono vari tipi di trasporto delle informazioni fra una transport
entity su un host e la sua peer entity su un altro host. Si tratta perlopiù di servizi affidabili orientati alla
connessione.
È possibile che ci sia una specifica della QoS (quality of service) desiderata, specie per servizi con
connessione, che include fattori come il massimo ritardo ammesso, il thoughput, il tasso d’errore tollerato e
il tipo di protezione adottata.
Le primitive a disposizione definiscono il modo di accedere ai servizi del livello.
I protocolli del livello transport assomigliano a quelli di livello data link, in quanto includono il controllo
degli errori, il controllo di flusso e il riordino dei TPDU (tranfer protocol data unit). Le principali differenze
tra il livello data link (2) e trasporto (4) sono che nel 2 vi è un singolo canale di comunicazione tra entità
paritarie, mentre nel 4 vi è l’intera subnet di comunicazione tra di esse. Il livello 2 non ha alcun servizio di
appoggio eccetto la trasmissione fisica, mentre il livello 4 usa i servizi del livello 3 (che siano affidabli o
meno). Il numero di connessioni data link è relativamente piccolo e stabile nel tempo, mentre le connessioni
trasporto sono anche molte e di numero ampiamente variabile. Le dimensioni dei frame sono stabili, quelle
dei TPDU molto più variabili.
A livello trasporto occorre indirizzare esplicitamente il destinatario ed è più complicato stabilire la
connessione. Data la capacità di memorizzazione della rete, si possono ricevere TPDU inaspettati a
destinazione: questo si può risolvere con tecniche di buffering e di controllo di flusso che comunque
richiedono un approccio differente che nel livello data link, a causa del numero molto variabile di
connessioni che si possono avere.
Rilascio
Ci sono due tipi di rilascio: l’assimetrico, dove c’è una possibile perdita di dati in una direzione (quello
utilizzato dal sistema telefonico), e il simmetrico, dove vengono rilasciate due connessioni unidirezionali.
Per via del problema delle due armate è impossibile avere un protocollo che garantisca in modo affidabile il
rilascio tra due connessioni.
Controllo di flusso e buffering
Se il livello di trasporto dispone solo di servizi di livello 3 di tipo datagrm, l’entità sorgente (4) deve
mantenere in un buffer i TPDU spediti finché non sono confermati (come nel livello 2) e l’entità destinatario
(4) mantiene un pool di buffer globale e può perdere TPDY; il mittente ritrasmette fino a conferma.
Se i servizi network sono di tipo affidabile, se il mittente sa che il ricevente ha sempre spazio disponibile
può evitare di mantenere un buffer, altrimenti è costretto a mantenerlo, perché il destinatario potrebbe non
accettare i TPDU.
Il buffering deve gestire la variablità delle dimensioni dei TPDU: pool di buffer uguali risultano poco adatti.
Pool di buffer variabili hanno una gestione più complessa, ma sono più efficaci. Un singolo grande array
circolare per la connessione è adatto a connessioni gravose, altrimenti si ha uno spreco di spazio. Per
traffico bursty ma poco gravoso bastano buffer solo alla sorgente, mentre per traffico gravoso servono buffer
grandi a destinazione.
Multiplex
Se le connessioni di livello network sono costose da istituire, allora è conveniente convogliare molte
conversazioni transport su un’unica connessione network (upward multiplexing).
Viceversa, se si vuole ottenere una banda superiore a quella consentita a una singola connessione network,
allora si può ripartire la conversazione transport su più connessioni network (downward multiplexing).
TCP
TCP è stato progettato per fornire un flusso di byte affidabile, da sorgente a destinazione, su una rete non
affidabile. Offre quindi un servizio realiable (affidabile) e connection oriented. Si occupa di:
- accettare i dati dal livello application e spezzettarli in segment Formattato: SpazioDopo: 0 pt, Struttura + Livello:1 +
- consegnarli al livello network, eventualmente ritrasmettendoli Stile numerazione: Punto elenco + Allinea a: 0,63 cm +
Imposta un rientro di: 1,27 cm
- ricevere segmenti dal livello network e rimetterli in ordine, elminando buchi e doppioni
- infine consegnare i dati, in ordine, al livello application. Formattato: Struttura + Livello:1 + Stile numerazione:
Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
Il socket number costituisce il TSAP. I port number hanno 16 bit; quelli minori di 256 sono i cosiddetti well-
di: 1,27 cm
know port, riservati per i servizi standard.
Le caratteristiche più importanti sono che ogni byte del flusso TCP è numerato con un numero d’ordine a 32
bit, usato sia per il controllo di flusso che per la gestione degli ack.
TCP usa un meccanismo di sliding window di tipo go-back-n con timeout. Se questo scade, il segmento si
ritrasmette. Le dimensioni della finestra scorrevole e i valori degli ack sono espressi in numero di byte, non
in numero di segmenti.
TCP assume che, se gli ack non tornano in tempo, ciò sia dovuto a congestione della subnet piuttosto che ad
errori di trasmissione. Esso è preparato ad affrontare due tipi di problemi: la scarsità di buffer a destinazione
e, appunto, la congestione della subnet. Ciascuno dei problemi viene gestito dinamicamente da una specifica
finestra mantenuta dal mittente, la congestion window.
UDP
Fornisce un flusso di byte non affidabile utile per inviare dati in modalità senza connessione (es. client-
server).
Il livello applicazione
Nel livello applicazione vengono svolte le funzioni di utilità per l’utente.
In questo livello si trovano diverse tipologie di oggetti: protocolli si supporto a tutte le applicazioni, come il
DNS (domain name system), e protocolli si supporto ad applicazioni standardizzato, come SNMP, FTP, ha formattato: Tipo di carattere: Non Grassetto
SMTP e HTTP.
Esempi di applicazioni sulle reti sono l’email, il web, i messaggi di testo, lo streaming video, i social
network.
Nell’architettura cliente servente, l’host (servente) rimane sempre attivo con un indirizzo IP permanente; ci
si appoggia a data center per scalabilità. Il cliente invece comunica con il servente, anche in modo
intermittente, e utilizzando un indirizzo dinamico; non comunica con altri clienti.
Domini
L’applicazione chiede di collegarsi ad una risorsa inviando il nome logico in una richiesta al DNS server
locale (resolver). Questo, se conosce la risposta, la invia direttamente al richiedente, altrimenti interroga a
sua volta un DNS server di livello superiore. Quando arriva la risposta, il DNS server locale la passa al
richiedente. Quando l’applicazione riceve la risposta (costituita dal numero IP della risorsa richiesta) crea
una connessione TCP con la (o spedisce segmenti UDP alla) destinazione, usando l’indirizzo IP appena
ricevuto.
Ogni dominio è responsabile dei sottodomini e fornisce il servizio DNS per gli host del dominio.
Name server
Il name server è un processo che gestisce le informazioni di corrispondenza fra nomi simbolici e indirizzi
IP.
Per ogni host del dominio esiste un resource record, detto authoritative record, gestito dal DNS server
responsabile del dominio.
Gestisce inoltre l’identità dei name server responsabili dei sottodomini inclusi nel dominio, così da poter
inviar loro le richieste che pervengono dall’alto, e l’identità del name server responsabile del dominio di
livello immediatamente superiore, così da potergli inviare le richieste che gli pervengono dal basso della
gerarchia.
Una richiesta che arriva ad un name server può viaggiare verso l’alto o verso il basso nella gerarchia. Lo
spazio di nomi è partizionato in zone, ed esistono name server principali e secondari.
La risposta viene tenuta dal server in una sua cache per un certo periodo.
Servizi internet
Un servizio internet è un’architettura software basata su un protocollo applicazione su TCP/IP. Può essere
sincrono, quando si ha un’attività simultanea tra siti basata su sessione, o asincrono, quando non richiede
un’attività simultanea.
Esistono servizi di tracciamento, di comunicazione, di cooperazione e di coordinazione.
La posta elettronica
Il sistema di posta elettronica permette la comunicazione asincrona 1-a-1 o 1-a-molti (mailing list).
Utilizza il protocollo di trasmissione RFC 821 e un formato del messaggio predefinito. C’è anche il formato
internet, caratterizzato da header e body separati da una linea vuota, che utilizza il protocollo RFC 822.
Gli indirizzi hanno la forma username@hostname, dove username è una stringa che identifica il ha formattato: Tipo di carattere: Non Corsivo
destinatario, hostname è un nome DNS o un indirizzo IP. Questo indirizzo viene fornito da un ISP (internet
service provider) o da altri che permettono di utilizzare gli stessi servizi.
La posta elettronica viene implementata in internet attraverso la cooperazione di due sottosistemi: il MUA
(mail user agent) e il MTA (mail transport agent). Il primo permette all’utente di comporre, ricevere, leggere,
salvare o eliminare messaggi, mentre il secondo si occupa di trasportarli fino a destinazione.
Corrispondentemente, sono definiti due protocolli principali per la posta elettronica: l’SMTP (simple mail
transfer protocol) per il trasporto di messaggi dal MUA di origine ad un MTA, e il POP3 (post office
protocol v3) per la consegna di un messaggio da parte di un MTA al MUA di destinazione.
Recentemente sono stati introdotti altri protocolli più sofisticati, l’IMAP (interactive mail access protocol) e
il DMSP (distributed mail system protocol).
Nel DNS ci sono opportuni record detti MX (mail exchange) che si occupano di indicare quale host
effettivamente fa da server SMTP per un dominio.
Il MIME (multipurpose internet mail extension) permette di inviare messaggi di posta contentente paroli di
linguaggi diversi e informazioni di qualsiasi tipo (per esempio multimediale).
Nel trasferimento di messaggi SMTP, la posta viene trasferita quando la macchina mittente ha stabilito una
connessione TCP alla porta 25 della macchina destinataria. Si tratta di un protocollo basato su ASCII.
Stabilita la connessione, opera come client e attende il destinatario server.
Il sistema di chat è un servizio di comunicazione sincrona punto a punto broadcast.
SMTP
SMTP è utilizzato per inviare e-mail da un server di posta elettronica a un altro. Il processo di invio di un'e- ha formattato: Tipo di carattere: Non Grassetto
mail utilizza una connessione tra il server di posta elettronica dell'utente che invia l'e-mail (chiamato server ha formattato: Tipo di carattere: Non Grassetto
SMTP "client") e il server di posta elettronica del destinatario (chiamato server SMTP "server"). Il server
SMTP client utilizza il protocollo SMTP per inviare l'e-mail al server SMTP server, che a sua volta utilizza il
protocollo SMTP per inoltrare l'e-mail al destinatario.
IMAP
L’IMAP (interactive mail access protocol) è più sofisticato, per la gestione da diversi computer.
IMAP è utilizzato per recuperare e-mail da un server di posta elettronica. Il client di posta elettronica ha formattato: Tipo di carattere: Non Grassetto
utilizza il protocollo IMAP per connettersi al server di posta elettronica e recuperare le e-mail. IMAP
consente anche di gestire le cartelle di posta, creare cartelle, eliminare e-mail, spostare e-mail tra cartelle e
altre operazioni. A differenza di SMTP che è un protocollo di trasporto, IMAP è un protocollo di accesso ha formattato: Tipo di carattere: Non Grassetto
alla posta. ha formattato: Tipo di carattere: Non Grassetto
ha formattato: Tipo di carattere: Non Grassetto
POP3
ha formattato: Tipo di carattere: Non Grassetto
Il POP (post office protocol) è un protocollo di lettura della posta, basato su comandi di connessione,
disconnessione, recupero messaggi e cancellazione.
POP3 (Post Office Protocol version 3) è utilizzato per recuperare le e-mail dal server di posta elettronica.
POP3 è simile a IMAP, ma ha alcune limitazioni nella gestione della posta.
Servizi multimediali
Documenti multimediali interattivi integrano diverse modalità di comunicazione e consentono l’interazione
con l’utente.
Il servizio WWW usa formati HTML, Java e JavaScript.
I segnali audio possono essere trasformati da analogici a digitali, ed essere compressi. MPEG (moving
picture expert group) è una codifica di compressione audio-video.
Nello streaming audio, vengono utilizzate tecniche di buffering da parte del lettore multimediale, che
memorizza parte del flusso audio proveniente dal server.
Per quanto riguarda la voce, esiste la pila di protocolli H.323 (ITU), di cui fa parte, tra l’altro, la qualità del
servizio. Inoltre ci sono altri protocolli (IETF) SIP (session initiation protocol), che vedono un modulo
coordinato con altre applicazioni, e i numeri di telefono definiti come URL.
Formati come il JPEG (joint photographic experts group) sono utilizzati per la compressione di immagini
statiche (foto).
Il protocollo HTTP
Il protocollo http è client-server, senza connessione, ed è progettato per la distribuzione rapida di
documenti ipertestuali. Inoltre non c’è memoria di sessione (stateless). ha formattato: Tipo di carattere: (Predefinito) Spectral,
Il round trip time (RTT) è il tempo di invio e ritorno di un piccolo pacchetto da client a server. 11 pt, Non Grassetto
Formattato: Allineato a sinistra, Controlla righe isolate,
Connessioni HTTP non persistenti Connessioni HTTP persistenti Bordo: Superiore: (Nessun bordo), Inferiore: (Nessun
bordo), A sinistra: (Nessun bordo), A destra: (Nessun
Richiedono almeno 2 RTT per oggetto Richiedono almeno un RTT per tutti gli oggetti di bordo), Tra : (Nessun bordo)
Overhead S.O. per ogni connessione TCP Possibili migliori prestazioni Formattato: Controlla righe isolate
Formattato: Rientro: Sinistro: 0 cm, Prima riga: 0 cm,
La prima parola sulla linea di richiesta rappresenta il metodo, cioè il comando da eseguire su un oggetto
Controlla righe isolate, Bordo: Superiore: (Nessun
generico. Esempi di metodi sono GET, POST, PUT. Per ogni richiesta viene dato un codice di risposta di 3 bordo), Inferiore: (Nessun bordo), A sinistra: (Nessun
cifre, di cui la prima rappresenta la categoria. bordo), A destra: (Nessun bordo), Tra : (Nessun bordo)
Il caching può avvenire nel client o anche in altri livelli, per esempio il proxy.
Se le pagine non contengono file HTML, ma altri tipi di file, occorre ricorrere ad estensioni del browser. Un
plugin è un modulo di codice prelevato dal browser, installato ed eseguito nello stesso; a fine utilizzo viene
rimosso.
Per quanto riguarda invece il lato server, il front end, cioè l’interfaccia per accettare richieste multiple, fa
uso di moduli (thread) per elaborarle singolarmente. Chiaramente esiste concorrenza tra i moduli, e per
questo vi è anche un controllo dei conflitti. Inoltre si sfrutta una memoria cache per i file usati più
recentemente.
I cookies compensano l’assenza di stato, cioè di sessione, del protocollo HTTP. Sono piccoli file che
vengono archiviati nel client che memorizzano la storia delle richieste fatte al server da parte di ciascun
utente.
Documenti web
Name services
I name service servono a creare un’applicazione distribuita offrendo un servizio di denominazione. Vengono
usati da processi (client) per ottenere informazioni (attributi) di oggetti e risorse, dato il loro nome.
Un esempio di name service è il DNS. In quel caso, il nome di dominio funge da nome da risolvere in
indirizzo IP.
L’URL (uniform resource locator) è un caso particolare di URI (uniform resource identifier).
L’URC (uniform resource characteristics) descrive l’oggetto con attributi e permette la ricerca di risorse nel
web tramite tali; è un sottoinsieme di URN (uniform resource name) che fornisce un nome persistente anche
in caso di rilocazione della risorsa.
Un name service contiene uno o più contesti di denominazione, che consistono in un’insieme di
associazioni (binding) da nomi testuali ad attributi di oggetti.
I requisiti generali di un name service sono espandiblità, scalabilità ed eterogeneità.
La navigazione è il processo di localizzazione dei dati denominati cercando fra i server, realizzato dal sw di
risoluzione del processo. Può essere iterativa, multicast o controllata dal server; in quest’ultimo caso si
distinguono le varianti ricorsiva e non ricorsiva. Si utilizza anche caching per aumentare prestazioni ed
affidabilità.
L’attuale implementazione del DNS si basa su partizionamento gerarchico della base dei nomi, replicazione ha formattato: Tipo di carattere: Non Grassetto
dei dati di denominazione e caching. ha formattato: Tipo di carattere: Non Grassetto
Il BIND (berkeley internet name domain) è un’implementazione del DNS per ambienti BSD Unix. I client ha formattato: Tipo di carattere: Non Grassetto
hanno una libreria resolver, i server hanno un demone per la denominazione. Il DNS che offre è abbastanza ha formattato: Tipo di carattere: Non Grassetto
efficiente e supporta il mail service in modo trasparente, ma è rigido e difficilmente modificabile. ha formattato: Tipo di carattere: Non Grassetto
Si ha un partizionamento dell’albero delle directory in molti server, replicazione delle partizioni e caching. ha formattato: Tipo di carattere: Non Grassetto
ha formattato: Tipo di carattere: Non Grassetto
Esempio: X.500
Si tratta di standard ITU e ISO, nel livello applicazione del modello OSI. Fornisce il servizio di accesso ad ha formattato: Tipo di carattere: Non Grassetto
informazioni di entità “reali”; si può usare come name service e come directory service.
Si caratterizza di due componenti principali: il DIT (directory information tree), cioè l’albero dei nomi, e il ha formattato: Tipo di carattere: Non Grassetto
DIB (directory information base), cioè l’intera struttura con tutta l’informazione. ha formattato: Tipo di carattere: Non Grassetto
Monitoring
Il controllo basato su monitoring fa uso del protocollo client (manager) - server (agent) del livello
applicazione. In caso di guasto hw che interrompe la comunicazione, qualsiasi livello lo può rilevare, ma
l’uso degli stessi protocolli di livello trasporto fa sì che il monitor osservi gli stessi ritardi degli altri
pacchetti applicativi, rilevando eventuali ritardi anonimi.
L’SNMP (simple network management protocol) definisce l’interazione fra manager e agent. I messaggi
sono in codifica ANS (abstract syntax notation).
Paradigma fetch-store
Si basa sulle due operazioni basilari fetch e store. La prima recupera il valore da una componente, la seconda
memorizza un valore in una componente. Ogni oggetto ha un nome unico e un valore (stato).
Il MIB (management information base) è l’insieme di tutte le informaizoni (oggetti) utilizzate da SNMP. Si
ha quindi una sperazione fra protocollo di comunicazione e definizione degli oggetti.
SNMP non specifica le variabili MIB, ma solo il formato e la codifica. Questo garantisce flessibilità,
adattabilità e modificabilità.
Sicurezza
La sicurezza consiste nella protezione delle risorse e delle informazioni.
Si distinguono poi vari sottocampi:
- l’autenticazione verifica l’autenticità, ovvero l’identità dell’utente Formattato: Struttura + Livello:1 + Stile numerazione:
Punto elenco + Allinea a: 0,63 cm + Imposta un rientro
- l’autorizzazione specifica le azioni permesse all’utente
di: 1,27 cm
- la riservatezza evita l’accesso non autorizzato (lettura) alle informazioni
- l’integrità evita la modifica non autorizzata (scrittura) delle informazioni
- la disponibilità garantisce l’accesso e l’uso delle risorse con continuità
- la paternità garantisce che il mittente non ripudi il messaggio
Orange book è uno standard per sistemi aperti; garantisce riservatezza dei dati e mandatory access control. ha formattato: Tipo di carattere: Non Grassetto
La struttura del progetto è incrementale: ogni livello ingloba gli elementi di sicurezza dei precedenti e ve ne ha formattato: Tipo di carattere: Non Grassetto
aggiunge di specifici per quel livello.
POSIX è uno standard per realizzare applicazioni portabili. Vengono definite interfacce per la gestione delle ha formattato: Tipo di carattere: Non Grassetto
informazioni di sicurezza. Stabilisce e controlla i diritti di accesso alle risorse. ha formattato: Tipo di carattere: Non Grassetto
Nel modello client/server, la sicurezza è basata sul sospetto reciproco: i messaggi inviati e le autorizzazioni ha formattato: Tipo di carattere: Non Grassetto
vengono usate una volta solo per evitare/limitare le intrusioni.
Crittografia
Il cifrario di sostituzione consiste in una permutazione sull’alfabeto dal testo in chiaro. È una semplice ha formattato: Tipo di carattere: Non Grassetto
trasformazione di simboli (256), non cambia il loro ordine. La chiave di cifratura è la tabella di ha formattato: Tipo di carattere: Non Grassetto
corrispondenza dei simboli. ha formattato: Tipo di carattere: Non Grassetto
Nel cifrario di trasposizione viene stabilito un periodo P di trasposizione, si sceglie una permutazione su ha formattato: Tipo di carattere: Non Grassetto
[1,P] e si fa corrispondere alla successione di simboli 1, 2, …, P la sua permutazione. I simboli non cambiano, ha formattato: Tipo di carattere: Non Grassetto
cambia il loro ordine: il testo risulta diviso in blocchi di P byte.
Ci sono diversi modi per crittografare un messaggio. La codifica si baserà su chiavi ed algoritmi, tra cui:
- a chiave segreta (algoritmi simmetrici) ha formattato: Tipo di carattere: Non Grassetto
IPsec
IPsec aggiunge sicurezza ed autenticazione ad IP. ha formattato: Tipo di carattere: Non Grassetto
È basato su crittografia a chiave simmetrica. Le chiavi segrete sono configurate per pacchetti tra utenti ha formattato: Tipo di carattere: Non Grassetto
finali. Aggiunge un’intestazione AH inserita dopo IP in modalità di trasporto. ha formattato: Tipo di carattere: Non Grassetto
Si può utilizzare anche nella modalità tunnel. ha formattato: Tipo di carattere: Non Grassetto
Sicurezza wireless
I segnali wireless vengono trasmessi a tutti i ricevitori vicini, per questo si rende necessaria una password di
rete per i client o per il server che intendono accedervi.
I client eseguono l’autenticazione per l’infrastruttura e impostano una chiave di sessione, che viene
utilizzata per crittografare i pacchetti.
C’è un protocollo hadshake per l’impostazione della chiave di sessione 802.11i. Client e AP condividono una
chiave principale (password). Si usa inoltre un protocollo di integrità MIC (message integrity check) basato
sulla chiave di sessione, come una firma (autenticazione).
Protocolli per la distribuzione delle chiavi sono TKIP (temporary key integrity protocol) usato in WEP, ma
violato, e CCMP (counter mode with cipher block changing message authentication code protocol), che
invece è basato su AES con una chiave e una dimensione del blocco di 128 bit.
Sicurezza email
Il PGP (pretty good privacy) è un cifrario a blocchi chiamato IDEA (international encryption algorithm) con ha formattato: Tipo di carattere: Non Grassetto
chiave a 128 bit. Utilizza la crittografia a chiave pubblica e simmetrica per la segretezza e le firme della
posta elettronica, gestendo anche le chiavi stesse.
Sicurezza web
Un’applicazione della sicurezza web è la denominazione sicura per il DNS. Lo spoofing (falsificazione di
identità) della risoluzione DNS infatti, porta la persona A a comunicare con la persona C anziché con la
persona B come dovrebbe. DNSsec aggiunge una forte autenticazione al DNS per evitare lo spoofing; anche ha formattato: Tipo di carattere: Non Grassetto
SSL (secure sockets layer) contribuisce.
Privacy e anonimato
L’anonimato via mail si ottiene tramite re-mailer anonimi che nascondono l’identità del mittente,
differentemente da PGP, che invece nasconde solo i contenuti dei messaggi. Viene usata una catena per un
maggior anonimato.
Applicazioni su reti
Applicazioni peer-to-peer
Si tratta di un non always-on server: i peers sono connessi in modo intermittente e cambiano indirizzo IP.
Quando ci sono tanti client (peer) che intendono scaricare qualcosa da un server, la loro velocità di download
non sarà ottimale in quanto la banda di upload disponibile al server sarà divisa tra tutti. A questo si può
ovviare o aumentando la velocità di upload del server, oppure facendo in modo che i peer che hanno già
scaricato parti dei dati li possano condividere con gli altri, in modo da sfruttare tutta la banda (upload e ha formattato: Tipo di carattere: Non Grassetto
download) totale disponibile anziché soltanto la velocità di upload del singolo server.
I file vengono distribuiti in frazioni di dati, chunk, che vengono continuamente scambiati tramite upload e ha formattato: Tipo di carattere: Non Grassetto, Non
download fra tutti i peer, che hanno ciascuno un diverso sottoinsieme di chunk. Corsivo
alla volta, scelto tra quelli con la massiva velocità di codifica disponibile. Il client quindi determina quando
ricevere un chunk, quale velocità di codifica richiedere e dove richiederlo (server più vicino a lui).
La popolarità delle pagine web segue circa la legge di Zipf: c’è molto traffico su pochi siti. ha formattato: Tipo di carattere: Non Grassetto, Non
Corsivo
La server farm è un insieme di serventi che appare al client come unico server. Si utilizza un front end per
ha formattato: Tipo di carattere: Non Grassetto
bilanciare il carico tra server, e un DNS per distribuire le richieste.
ha formattato: Tipo di carattere: Non Grassetto
Il proxy web è un intermediario per cache e condivisione. Riduce il traffico e il tempo di risposta, può gestire
ha formattato: Tipo di carattere: Non Grassetto
richieste multiple e filtrare i contenuti.
ha formattato: Tipo di carattere: Non Grassetto
Un’altra soluzione è quella distribuita, che consiste nel memorizzare copie multiple dei video in molti server
ha formattato: Tipo di carattere: Non Grassetto
distribuiti geograficamente, guidando il client ad usare il nodo più vicino a lui. Si tratta della CDN (content
ha formattato: Tipo di carattere: Non Grassetto
distribution network).
ha formattato: Tipo di carattere: Non Grassetto
ha formattato: Tipo di carattere: Non Grassetto
Multimedia streaming
Per non trasmettere tutto il video prima della riproduzione sul client, viene inviato un metafile che lo
denomina, che viene poi passato al lettore multimediale che chiede al server multimediale il file in
questione.
Il multimedia streaming in tempo reale, in altre parole il live media, consente di usufruire di radio o tv
tramite internet.
È possibile adottare lo streaming multicast dello stesso contenuto a molti utenti tramite UDP, trattando ha formattato: Tipo di carattere: Non Grassetto
però la perdita di pacchetti. In alternativa, si può usare TCP senza multicast, con una copia del contenuto
per ogni client.
Il VoIP è una modalità con cui è possibile la telefonia tramite internet. In generale viene preferito UDP
perché è il protocollo con meno latenza.
2G
In questa generazione, ogni cella ha una stazione base collegata ad un dispositivo MSC (mobile switching
center).
Si ha un handoff quando vi è uno spostamento di un telefono fra le celle.
La voce digitale offre una maggiore sicurezza è la possibilità di inviare messaggi di testo, ma non esistono
ancora standard unici.
3G
L’architettura di rete per i telefoni cellulari, che sfrutta le sim card al loro interno, si chiama GSM. È
composta da VLR (visitor location register), ossia un database per ogni cella, e da HLR (home location
register), cioè un database con l’ultima posizione nota.
Il 3G introduce un modello dove il traffico dati è superiore al traffico voce, e permette l’accesso ad internet.
4G - LTE
Il 4G LTE (long term evolution) offre banda larga, ubiquità, riduzione del costo per bit trasferito, e gestione
dinamica delle risorse, oltre al multiplexing delle frequenze.
Le celle sono di forma irregolare, anche sovrapposte; si tendono a sviluppare celle piccole e dense.
5G
Il 5G cerca di sopperire alle necessità di un traffico dati enorme e in continua crescita, dell’avvento dell’IoT
e della realtà virtuale aumentata, ed in generale a maggiori requisiti di QoS.
Si tratta di un’architettura basata sui servizi, offerti tramite interfacce di un framework comune alle funzioni
che li possono usare. Si utilizza NRF (network repository functions) per scoprire i servizi offerti.
Comunicazione
IP multicast
Si tratta di una comunicazione a gruppi: un mittente invia un messaggio multicast a più destinatari. ha formattato: Tipo di carattere: Non Grassetto
Ogni host può appartenere a vari gruppi, quando un insieme di processi ha socket nel gruppo. È possibile
inviare al gruppo anche senza appartenervi.
Il TTL (time to live) è il limite al numero di passi tramite router nel cammino.
Gli indirizzi possono essere permanenti (anche vuoti) o temporanei (esistono solo se creati, eliminati se
vuoti).
I guasti possibili sono ereditati da UDP.
Primitive
La comunicazione può essere sincrona o asincrona, e le primitive bloccanti o non bloccanti.
Vantaggi e svantaggi dei due tipi di primitive:
❖ non bloccanti Formattato: SpazioDopo: 0 pt, Struttura + Livello:1 +
Stile numerazione: Punto elenco + Allinea a: 0,63 cm +
➢ flessibilità
Imposta un rientro di: 1,27 cm
➢ possibilità di prevedere la durata
Formattato: SpazioDopo: 0 pt, Struttura + Livello:2 +
- possibile accesso multiplo all’area messaggi Stile numerazione: Punto elenco + Allinea a: 1,9 cm +
- impredicibilità dello stato dell’altro Imposta un rientro di: 2,54 cm