




























































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Questo documento comprende in modo dettagliato tutti gli argomenti trattati nelle lezioni del corso di Reti di Telecomunicazioni e Telematica per il corso di laurea in Ingegneria Informatica L - 8. In particolare, sono trattati: 1. Topologie di rete e stack protocollare 2. Livello 2 dello stack protocollare 3. Standard IEEE 802.X, reti LAN, e dispositivi di estensione 4. VLAN, router, e reti geografiche 5.Reti internet e architettura TCP - IP 6. Strato di rete 7. Forwarding e routing 8. Domain Name System 9. Applicazioni in internet 10. Strato di trasporto 11. IPv6 e MobileIP
Tipologia: Sbobinature
1 / 146
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





























































































Componenti fisiche di una rete
Le reti sono caratterizzate da 3 componenti:
Reti che analizzeremo durante il corso
e altri dispositivi che fungono da R x
(F.I. rete televisiva, radio…). In genere trattano un tipo di traffico
di tipo broadcast. In questo tipo di rete non ci sono collisioni per
via del fatto che c’è un solo T x
La trasmissione avviene tra gli utenti coinvolti nella comunicazione.
Ci possono essere comunicazioni simultanee tra più utenti.
Più comunicazioni tra coppie di utenti implicano nodi di rete con più interfacce d'ingresso ed interfacce
d’uscita; perciò, è necessario selezionare il percorso idoneo per la commutazione della comunicazione.
Classificazione delle reti
La classificazione delle reti può avvenire sulla base dell’estensione geografica:
Area di copertura e velocità di trasmissione sono inversamente proporzionali; infatti, le LAN sono le reti a
velocità maggiore.
Tipologie di traffico
La rete offre servizi di varia natura, cioè che hanno bisogno di requisiti individuali specifici, per questo
bisogna che la rete stessa sia ben progettata; non tutte le tipologie di traffico possono essere
implementate su tutti i tipi di rete. Vediamo i parametri di interesse:
Periodicità
Tasso di invio dei bit (bit-rate)
Relazioni temporali
(come ad esempio una telefonata)
temporali (come nella trasmissione dati o nelle e-mail)
Sensibilità all’integrità dell’informazione
comunicazione (F.I. traffico dati)
all’efficacia della comunicazione (F.I. traffico voce)
Metriche che caratterizzano la Quality of Service (QoS)
trasmissione e l’avvenuta ricezione. Dipende dal mezzo trasmissivo ed
è rilevante per il traffico dati.
!
"
𝑇 = Periodo della trasmissione di 𝐿 bit su un canale con capacità 𝑅 [𝑏𝑖𝑡 𝑠
𝜏 = Ritardo di propagazione di un bit da T x
a R x
𝐷 = Distanza tra T x
e R x
𝑣 = Velocità di propagazione
Topologie di rete
La descrizione di una rete comprende anche la sua topologia. Essa viene rappresentata tramite l’uso di
archi e vertici, i quali rappresentano rispettivamente i link e i nodi. La topologia di una rete influenza il
costo, le prestazioni, la tecnica d’accesso multiplo e l’affidabilità della rete.
Maglia completamente connessa
In questa topologia ogni nodo è connesso a tutti gli altri nodi da un cavo bidirezionale.
ü Elevata tolleranza ai guasti di un link
û Costi e complessità elevati, non è indicata per reti medio-grandi
Albero
Topologia di rete in cui i nodi sono collegati ad un altro nodo tramite un solo link.
ü Pochi link à Bassi costi
û Pochi link à Scarsa tolleranza ai guasti e alla congestione.
Stella (Topologia di reti regolari)
In questa topologia i nodi di rete sono collegati ad un nodo centrale attraverso il quale transita il traffico
dell’intera rete. Il nodo centrale può essere: Attivo, cioè che riceve il traffico e lo inoltra al destinatario,
oppure passivo, cioè che riceve il traffico e lo inoltra su tutti i link. Questa topologia è utilizzata in reti
satellitari e in porzioni di reti periferiche.
!
C = Numero di collegamenti
N = Numero di nodi
û Spreco di risorse nei tempi morti della conversazione
û Ritardo iniziale per il setup del circuito.
Efficienza
L'efficienza di questa tecnica di commutazione si misura come il rapporto tra il tempo di trasferimento
dell’informazione utile e il tempo di occupazione delle risorse.
𝐶 = Tempo di setup del circuito;
𝑅 = Tempo di rilascio del circuito.
Per far tendere questo rapporto ad 1 sarebbe idoneo cambiare l'approccio al problema.
Commutazione di messaggio (stadio intermedio)
In questo tipo di commutazione la comunicazione viene formattata in unità informative chiamate
“messaggi”. In questi messaggi, oltre all'informazione utile, viene inserita informazione a riguardo del
riordino dei messaggi e delle procedure di instradamento.
Il messaggio viaggia in rete da un nodo di commutazione all'altro finché non giunge a destinazione. Ogni
messaggio può seguire percorsi diversi.
Il messaggio deve essere ricevuto per intero prima di poterlo inoltrare, motivo principale: per rilevare la
presenza di errori e verificare la destinazione (Store & Forward).
ü Non si prenotano risorse per ciascuna comunicazione
ü Tutti i canali disponibili sono utilizzati per il trasporto di messaggi
ü Nessun ritardo dovuto al setup della connessione
û Percorso da calcolare per ciascun messaggio ad ogni nodo
û I singoli messaggi possono subire ritardi diversi à perdita di sequenzialità
û Viene introdotto un ritardo dovuto all'immissione dei messaggi nel buffer
û All'informazione utile si aggiunge messaggistica di segnalazione (header e coda)
Commutazione di pacchetto (reti dati) (a datagramma)
Questa commutazione è simile a quella di messaggio, solo che i lunghi messaggi sono frammentati in
blocchi più piccoli detti pacchetti/datagrammi. Inviando unità informative più piccole le operazioni di
commutazione sono più rapide.
Una rete che utilizza questo tipo di commutazione è la rete Internet in cui l’allocazione di risorse è
progressiva e dinamica.
Le informazioni sono bufferizzate per avere il tempo di individuare l'uscita.
Il meccanismo di Store & Forward fa sì che il commutatore analizzi il contenuto della segnalazione per
poterlo inoltrare al nodo successivo. La probabilità di errore per pacchetto è inferiore rispetto alla
commutazione di messaggio. La trasmissione da un nodo a quello successivo è più veloce perché il
messaggio è diviso in più frammenti che possono essere ricevuti ed elaborati prima. Diciamo quindi di
avere una parallelizzazione e di conseguenza un minore ritardo.
Se i pacchetti frammentati fossero troppo piccoli si porrebbe il rischio di avere più segnalazione da inviare
piuttosto che informazione utile, Aumentando quindi il traffico senza avere effettivamente un maggiore
throughput. Serve quindi un trade-off.
Commutazione di pacchetto (meccanismo dei circuiti virtuali)
L'approccio della comunicazione è:
Nella fase di setup viene inviato un pacchetto di richiesta di connessione che viene instradato da un nodo
applicando il proprio algoritmo di instradamento, fino alla destinazione. All’interno di ogni nodo c'è una
tabella di instradamento che serve per elaborare le info contenute nei pacchetti dati affinché seguano il
percorso corretto; le tabelle, quindi, memorizzano info sul percorso per una data destinazione.
Tabella di instradamento
In tutti i nodi è presente questa tabella che tiene traccia dell'identificativo della porta fisica da cui arriva un
pacchetto. Una linea è associata al circuito virtuale in ingresso e in uscita.
Non vi è alcun problema per l'identificativo di un circuito virtuale in ingresso per via del fatto che le linee e i
circuiti sono sempre in coppia a identificare i messaggi di un host.
ü L'instradamento si calcola all'instaurazione del circuito e tutti i pacchetti utilizzeranno quel
percorso
ü È più semplice mantenere la sequenzialità dei pacchetti
û Ritardo di setup/rilascio della connessione
Protocolli e architetture di rete
Per la corretta implementazione di una rete e di telecomunicazioni c'è bisogno di protocolli che regolino lo
scambio di informazioni tra due o più interlocutori.
Un protocollo definisce il formato e l'ordine dei messaggi scambiati così come anche le procedure di
trasmissione. Si distinguono 3 diverse caratteristiche per i protocolli:
algoritmi;
I protocolli standardizzano i dispositivi di produttori diversi ed anche applicazioni affinché possano
comunicare tra loro.
Architettura a strati
In questa architettura i protocolli sono divisi in strati, i quali comunicano tramite primitive di interfaccia. Gli
strati adiacenti comunicano tra loro per richiedere o fornire servizi ai livelli adiacenti.
In ogni livello c'è un processo a cui è associato un protocollo e che fornisce un servizio.
I processi di due diverse macchine possono comunicare tra loro ma non con processi di livello superiore.
La comunicazione passa attraverso tutti i livelli inferiori per poi risalire verso il livello pari dell'altra
macchina.
Componenti
ü Modularità à Semplicità di progettazione, manutenzione e aggiornamento;
ü Gli strati sono separati tra di loro, perciò uno strato può essere modificato senza influenzare gli
altri;
û Bisogna porre attenzione alla compatibilità o standardizzazione tra reti.
L’identificativo del circuito virtuale
può cambiare all'uscita di un link nel
caso in cui un altro host da una linea
diversa utilizzi un identificativo di
circuito virtuale già in uso.
Entità e funzioni
Ogni entità ha un titolo che la identifica univocamente in tutta la rete. Le entità hanno un indirizzo relativo
legato alla loro posizione nello stack. Ogni entità è collegata all'interfaccia col livello inferiore da un
Service Access Point (SAP), primitive di interfaccia.
Le primitive sono chiamate a procedura che consentono di far comunicare i livelli fra loro e di far accedere
un livello ai servizi del livello inferiore. (Consentono di attivare i servizi)
Le interazioni tra le entità di due livelli avvengono tramite SAP e possono essere di più tipi:
flussi di dati in base alle loro caratteristiche e/o priorità.
Formati delle unità informative
Quando le PDU viaggiano nello stack protocollare verso i livelli inferiori, il contenuto informativo prende il
nome di Service Data Unit (SDU) al quale viene aggiunta una Protocol Control Information (PCI) che
contiene le informazioni necessarie a quel livello; la loro “somma” formerà la PDU del livello inferiore. PCI
è l’header aggiunto dai vari livelli.
La dimensione del messaggio aumenta dunque lungo lo stack; sarebbe necessaria la frammentazione se
la PDU diventasse troppo grande.
L'obiettivo principale del livello 2 è offrire al livello di rete (3) un servizio di
collegamento privo di errori (SUL SINGOLO LINK). Questo livello e le sue
funzioni sono implementate nella Network Interface Card (NIC).
Funzioni principali
errori introdotti dal livello fisico;
della destinazione di ricezione di trame nell'unità di tempo per
evitare saturazione e conseguente perdita di trame ai buffer.
Controllo di errore
La trasmissione, a livello fisico, può introdurre potenziali errori per vari motivi:
e R x
Meccanismi per il controllo di errore
I meccanismi per il controllo di errore possono distinguersi in due classi:
Tecnica che aggiunge ai bit originali di una trama dei bit di ridondanza.
Consente a R x
di identificare gli errori ed eventualmente correggerli.
Il prezzo da pagare è un'informazione aggiuntiva che aumenta la dimensione della ridondanza
rispetto all'informazione utile. In questo caso la trama non viene memorizzata in T x
per un'ipotetica
ritrasmissione.
In questa tecnica alla trama viene aggiunto un campo per la sola rilevazione degli errori, il codice
ha lunghezza fissa e indipendente dal payload. Se una trama venisse verificata come errata, R x
invierebbe una richiesta di ritrasmissione al T x
La tecnica ARQ, al contrario della FEC, richiede un buffer su T x
per ritrasmettere subito le eventuali
trame errate.
La scelta fra i due meccanismi dipende dal tipo di rete, dal numero di utenti, dalla tipologia di
traffico e altri requisiti.
Protocolli a finestra
I protocolli a finestra, nel livello link, si occupano di:
informative trasferite.
Il canale viene sfruttato al meglio (nel caso di protocollo Stop & Wait) quando è occupato dal
traffico il più possibile, facendo quindi diminuire i tempi morti.
Nel caso di Stop & Wait il tempo morto è dovuto al tempo di attesa della ricezione dell’ACK.
Definiamo quindi così l’efficienza:
"#
"#
$%&
"#
= Tempo di trasmissione della trama;
2 𝜏 = Round Trip Time (RTT); 2 volte il ritardo di propagazione;
$%&
= Tempo di trasmissione del messaggio di ACK (generalmente trascurabile).
ü 𝜏 ≪ 𝑇
"#
à Vantaggioso per il protocollo
ü 𝜏 ≫ 𝑇
"#
à Svantaggioso per il protocollo (F.I. Reti satellitari)
"#
è la condizione per cui l’implementazione dello Stop & Wait è opportuna. Questa
condizione si può ottenere in 3 modi:
e R x
à 𝑇
"#
Questo protocollo ha un funzionamento rappresentabile da finestre di dimensioni variabili a
seconda delle condizioni di comunicazione.
Le finestre sono implementate sia al T x
che a R x
e indicano delle posizioni:
indica la PDU ancora non riscontrata da ACK, essa si incrementa ogni
volta che viene ricevuto un ACK;
indica la trama dati che sta aspettando, essa si incrementa ogni volta che
invia un ACK.
Se a R x
arrivasse una trama diversa da quella indicata dalla finestra la scarterebbe, altrimenti il
valore della finestra si incrementerebbe. Su T x
si chiude un indicatore solo quando si riceve l’ACK
corrispondente.
In questo protocollo T x
può trasmettere più trame prima di ricevere l’ACK.
Questa caratteristica impone che la dimensione della finestra sia maggiore di 1 (solo su T x
, mentre
su R x
rimane uguale a 1 per non perdere la sequenzialità).
Il vantaggio sta nel lasciare il canale inutilizzato per meno tempo.
In caso di perdita di trame R x
riceverebbe delle trame fuori sequenza, attivando l’invio di un NACK
a T x
per indicare la mancata ricezione di una trama. Ricevuto il NACK relativo ad una particolare
trama x, T x
rinvierà le trame a partire da quella indicata nel NACK e che rientrano nella finestra di
x
ü Aumenta l’efficienza, cioè la percentuale di utilizzo del canale;
ü Efficace in condizioni di canale ideali, in caso contrario si avrebbero molte ritrasmissioni;
ü Nei casi peggiori si deve ritrasmettere tutta la finestra da capo.
In questo protocollo entrambe le finestre hanno dimensione maggiore di 1 e R x
può ricevere PDU
fuori sequenza. Questo è un grande vantaggio rispetto all’approccio Go Back N, tuttavia, si ha il
prezzo di implementare un buffer su Rx.
Il ruolo del buffer è quello di mettere in sequenza le trame ricevute ed inviarle al livello superiore. In
caso di perdita di trame R x
invierebbe un NACK contenente l’identificativo dell’ultima trama
ricevuta, così che T x
possa inviare quella subito successiva.
x
, avendo comunque ricevuto le trame successive a quella persa, quando riceverà la trama persa
e quindi ritrasmessa da T x
, invierà un ACK cumulativo per tutte quelle successive alla PDU persa,
quest’ultima inclusa.
Protocolli a confronto fra loro
Stop & Wait à Non supporta la sequenzialità
Go Back N à Non supporta la sequenzialità
Selective repeat à Garantisce la sequenzialità a costo dei buffer su Rx
Per avere un trade-off Go Back N è la soluzione più indicata.
Utilizzazione
L’utilizzazione è il parametro accurato di efficienza applicato ai canali che utilizzano dei protocolli.
Distinguiamo i vari protocolli:
Stop & Wait
Caso ideale
In condizioni ideali il tempo di trasmissione dell’ACK e il suo tempo di processamento sono trascurabili, in
più T x
avrà sempre PDU da trasmettere. L’utilizzazione indica quindi quanto si sta usando efficientemente
un canale, cioè il tempo impiegato a trasmettere informazione utile.
'
'
'
'
'
Descriviamo i vari intervalli di tempo che entrano in gioco:
'
= Tempo di trasmissione della trama;
$
= Tempo di trasmissione dell’ACK;
(
= Tempo di processamento di una trama o di un ACK;
𝜏 = Ritardo di propagazione;
'
'
= Tempo di trasmissione di 𝑛 trame;
'
'
= Tempo di propagazione normalizzato al tempo di trasmissione di una trama.
Concludiamo che se: Ritardo di propagazione ↑ à 𝑎 ↑ à Utilizzazione ↓ à Stop & Wait non funziona
bene quando vi sono grandi ritardi di propagazione.
Presenza di perdite
Descriviamo le quantità coinvolte:
$
e 𝑇
(
rimangono trascurabili;
'
= Tempo di trasmissione della trama;
)*#
= Durata del time-out di ritrasmissione;
= Tempo complessivo della ritrasmissione = 𝑇
'
)*#
𝑃 = Probabilità di errore nella trasmissione di una trama;
𝑇’ = Tempo di ritrasmissione con successo;
𝑇 = Tempo complessivo.
Per calcolare il tempo di trasmissione con successo occorre tenere conto delle ritrasmissioni. Come si
stima il numero di ritrasmissioni?
#,
= Numero medio trasmissioni;
#,
− 1 = Numero ritrasmissioni esclusa quella andata a buon fine.
#,
è modellabile come una serie geometrica che si sviluppa come:
#,
Avendo 𝑇 = Tempo di trasmissione con successo = 𝑇 '
.
#,
L’utilizzazione del canale sarà quindi:
'
.
'
#,
'
'
'
'
'
Trasmissione con successo; Ritrasmissioni.
Probabilità di errore nella trasmissione di una trama ↑ ⟹ Utilizzazione ↓
Livello Logical Link Control (LLC) 2.
Per capire il modo in cui opera questo sottolivello, vediamo prima di tutto come interagisce con i livelli
adiacenti; per fare ciò abbiamo introdotto il concetto di primitive…
Il livello LLC offre un servizio di trasferimento delle PDU e può farlo secondo due modalità:
Connectionless (modalità più semplice)
Questa modalità non prevede l’instaurazione della connessione: le trame vengono inviate senza che
prima i due terminali negozino il trasferimento, come nella commutazione di pacchetto. Questo approccio
è più robusto rispetto alla modalità connection – oriented perché, se dovesse guastarsi un link della rete,
verrebbe rimpiazzato da un altro link; nonostante questo la rete non garantisce la qualità.
Inoltre, per questa modalità esistono due tipi di approcci:
Questo approccio usa solo primitive di trasferimento per lo scambio dei dati, cioè per inviare
un’informazione si utilizzano le interfacce dedicate alla sola trasmissione dei dati. È utilizzato in
canali broadcast dove si preferisce non replicare le funzioni di controllo di flusso e di errore già
implementate a livello 4. È usato per traffico sensibile al ritardo e canali poco affetti da errore.
Questo approccio utilizza il meccanismo del riscontro tramite ACK; ogni frame è ancora inviato
indipendentemente dagli altri, ma è prevista la conferma di ricezione da parte del ricevitore. È
indicato per canali poco affidabili.
Connection oriented (modalità più sofisticata e robusta)
Questa modalità prevede il concetto di instaurazione della connessione fra i terminali; oltre alle primitive
di trasferimento dati, offre quelle di apertura e chiusura di una connessione tra 𝑇
8
e 𝑅
8
. Prevede l’utilizzo
di protocolli a finestra per il controllo d’errore, di flusso e di sequenzialità. In questo tipo di commutazione
tutti i pacchetti che vanno da un certo 𝑇 8
a un certo 𝑅
8
seguono sempre la stessa strada, definita prima
della trasmissione dei dati (call setup); per questo motivo le trame si muovono nella rete mantenendo la
sequenzialità. Questo approccio è molto usato dagli operatori per via del fatto che se la rete riesce a
garantire sempre lo stesso percorso per le unità informative, vuol dire che è una rete di qualità e che,
pertanto, può farsela pagare maggiormente.
Le fasi sono:
8
e 𝑅
8
inizializzano le variabili e i contatori necessari per tenere
traccia di quali frame sono stati ricevuti e quali no;
Lo scopo è fornire al livello superiore (livello 3) un flusso di bit affidabile.
Protocolli di livello 2
Protocollo BSC (Binary Synchronous Communications)
È un protocollo orientato al carattere: l’unità informativa è il byte. Soluzione di IBM.
Protocollo HDLC (High Level Data Link Control)
È un protocollo di trasferimento orientato al bit: all’interno di una trama i bit sono utilizzati come flag per
indicare informazioni utili alla comunicazione, è la minima unità informativa che il protocollo può
processare. Questo protocollo è una soluzione standard ISO.
In questo protocollo si definiscono tre tipi di terminali, detti stazioni:
E due tipi di configurazione:
In questa configurazione, in un dato istante di tempo, l’informazione può viaggiare sul canale solo
in un verso, parliamo quindi di collegamento Half-Duplex: solo command o solo response.
In questa configurazione non serve che il master interroghi lo slave affinché avvenga la
comunicazione, in più si tratta di una comunicazione Full-Duplex, cioè la comunicazione può
avvenire in entrambi i versi nello stesso istante di tempo (c’è però bisogno che la banda del canale
sia maggiore).
In base alla configurazione, il protocollo può avere 3 modalità operative:
stazioni peer, ogni stazione trasmette senza richiedere l’autorizzazione.
punto-multipunto con polling.
stazioni secondarie possono iniziare una trasmissione senza aspettare l’autorizzazione del master.
Formato delle PDU
Una trama del livello 2 incorpora il payload, che è il carico informativo, derivante dai livelli superiori, al
quale il livello deve aggiungere delle informazioni di controllo…
connectionless o connection-oriented.
sorgente (esclusi i flag). Lo utilizza 𝑅
8
: se eseguendo la stessa
operazione sulla trama ricevuta dovesse ricavare lo stesso
valore, vorrebbe dire che il messaggio ricevuto non è stato
compromesso.
Utilizzando questa formattazione potrebbe sorgere il problema che la sequenza utilizzata dai flag per
segnalare inizio e fine della trama sia contenuta nel payload, inducendo così erroneamente il ricevitore a
credere che la trama sia finita. Per risolvere questa problematica si introduce il concetto di bit stuffing,
che agisce in modo tale che all’interno della trama non compaia mai la sequenza del flag.
PDU non numerate
Quest trame non si riferiscono alle singole PDU, ma ad informazioni relative alla connessione stabilita;
pertanto, sono utilizzate nei momenti di instaurazione e di rilascio di una connessione.
I messaggi possono essere:
tra un terminale ed un altro.
associato a quella connessione non è più attivo).
Funzionamento di una connessione di tipo 2
Ogni connessione ha 2 contatori: 𝑉(𝑆) e 𝑉(𝑅)associati rispettivamente a 𝑇 8
e 𝑅
8
, e sono inizializzati a 0
all’apertura della connessione.
8
trasmette PDU numerate in sequenza incrementando il valore del contatore 𝑉
, il quale coincide con
il valore 𝑁(𝑆) al momento della trasmissione.
8
accetta solo PDU il cui campo 𝑁(𝑆) coincide con il valore attuale del contatore 𝑉(𝑅) altrimenti le
scarta. In caso di esito positivo 𝑉
viene incrementato di 1. Il valore di 𝑁
coincide con il valore di
𝑉(𝑅) al momento della trasmissione dell’ACK.
Livello Medium Access Control (MAC) 2.
Il livello MAC è un sottolivello del livello 2 e la sua presenza è opzionale nella rete perché è determinata
dall’uso di un mezzo di trasmissione condiviso; esso infatti si occupa dell’accesso da parte dei terminali al
mezzo condiviso ed è il protocollo che le comunicazioni devono rispettare affinché la condivisione
dell’unico canale disponibile sia efficace; se queste regole non dovessero essere rispettate potrebbero
venire a crearsi le cosiddette “collisioni” tra messaggi che cercano di attraversare il canale in uno stesso
istante di tempo.
Tipologie di collegamenti
Definiamo intanto i tipi di collegamenti che andremo a trattare…
La trasmissione su un canale avviene solo tra una coppia 𝑇
8
8
Il canale è ad accesso multiplo (F.I. Reti LAN, Wireless LAN, reti MAN…). In questo caso non si
implementano funzioni di commutazione: non serve la presenza di nodi che smistano il traffico
verso l’effettiva destinazione poiché la sorgente indirizza i messaggi ad un particolare ricevitore;
tutti i terminali presenti sul mezzo riceveranno il messaggio, ma solo il destinatario elaborerà il suo
contenuto.
Indirizzamento MAC
Gli indirizzi di rete locale sono detti indirizzi MAC o indirizzi fisici. Tutti i protocolli MAC usano un indirizzo
MAC della lunghezza di 48 bit (6 byte) la cui assegnazione avviene in modo statico e univoco da parte
del costruttore: i primi 3 byte identificano il costruttore, gli ultimi 3 byte identificano la scheda (NIC). Di
solito sono espressi in notazione esadecimale (HEX) (F.I. CA-A9- 25 - B4-DD-FA). Può essere unicast
(riferito ad un singolo dispositivo), multicast (riferito ad un gruppo di dispositivi della rete) o broadcast
(riferito a tutte le stazioni della rete).
Modalità di assegnazione d’accesso al mezzo condiviso
Ci sono due tecniche che si possono usare per giungere alla condivisione di un unico canale trasmissivo
tra più utenti: accesso multiplo e multiplazione. Vanno scelte a seconda del contesto, anche perché le
regole per accedere al mezzo cambiano a seconda della tecnica implementata.
Accesso multiplo
Si parla di accesso multiplo quando le trame sono fisicamente lontane (F.I. perché generate da utenti
diversi). L’accesso multiplo può essere implementato con due modalità:
In questa modalità si dividono staticamente le risorse tra i terminali a priori delle comunicazioni.
A livello MAC si gestisce l’accesso al canale da parte di più utenti implementando protocolli che
agiscono sulle trame invece che sugli host in modo anche da rendere più flessibile la trasmissione
(invece di proibire completamente l’accesso ad un utente).
Nel caso di accesso multiplo, essendo le sorgenti di traffico e le trame distribuite, non si può centralizzare
l’interfaccia tra queste e il canale: ogni stazione invierà il traffico a destinazione autonomamente oppure
se interrogato da un'altra stazione.
Multiplazione
Si tratta di multiplazione quando le trame dei vari utenti sono centralizzate e quindi disponibili nella stessa
posizione… (F.I. rete cellulare).
Nel caso di rete cellulare la comunicazione avviene tra utente e
stazione radio base e viceversa. In quest’ultimo caso si parla di
multiplazione: la stazione radio base deve smistare le trame
ricevute agli opportuni terminali. Quando invece si tratta il canale
da utente a stazione radio base si parla di accesso multiplo per via
del fatto che le trame sono decentralizzate tra più utenti che concorrono per l’utilizzo del mezzo.
Accesso multiplo VS multiplazione
Nel caso di accesso multiplo, essendo le sorgenti di traffico e le trame
distribuite, non si può centralizzare l’interfaccia tra queste e il canale: ogni
stazione invierà il traffico a destinazione autonomamente oppure se
interrogato da un'altra stazione.
Nel caso della multiplazione le sorgenti e le destinazioni sono
posizionate all’estremità del canale in cui operano due dispositivi
chiamati multiplatore e demultiplatore, che fungono da interfacce tra
sorgente e canale e tra canale e destinazione, cioè che selezionano
quale flusso di trame trasmettere sul canale e dove smistarlo.
Modalità di multiplazione
Tornando alla multiplazione… Essa può avvenire con più modalità, quelle più utilizzate sono:
In questo approccio si divide la risorsa (banda) tra i vari utenti in modo statico ad ognuno di essi; le
porzioni di banda assegnate rappresentano il canale. Tra le bande assegnate si inseriscono dei
piccoli intervalli inutilizzati in modo che non ci sia il rischio che le trasmissioni su canali adiacenti
interferiscano tra di loro. I vari utenti possono quindi trasmettere simultaneamente.
Protocolli MAC
I protocolli MAC si dividono in protocolli ad accesso casuale e protocolli ad accesso ordinato. Le tecniche
che vedremo trattate di seguito sono applicabili sia per sistemi cablati che per sistemi wireless.
Protocolli MAC ad accesso casuale
Questi protocolli sono poco robusti e completamente randomici… Prevedono che le stazioni, in maniera
autonoma (completamente distribuita), trasmettano i messaggi che devono inviare (eventualmente)
“osservando” il canale e, se la trasmissione dovesse collidere lungo il canale con un'altra trasmissione, le
stazioni coinvolte potrebbero risolvere l’evento indesiderato ritrasmettendo dopo un tempo casuale 𝑡
compreso tra 1 e 𝑇; la casualità consente una buona probabilità che la collisione non si verifichi ancora.
ü Non si sprecano risorse per “sentire” lo stato del canale o per prenotare le risorse.
Protocollo ALOHA
È un protocollo d’accesso al mezzo di tipo casuale ed è quello più semplice. Questo protocollo prevede
che un host che ha una trama da trasmettere, la trasmetta subito e senza osservare il canale e che, in
caso di collisione (rilevazione di eco del segnale sul canale), la ritrasmetta dopo un tempo casuale 𝑡 ≠ 0.
A parità di ritardo di propagazione e di tempo di trasmissione della trama, non conviene provare a
ritrasmettere subito o dopo un intervallo prestabilito di tempo, conviene calcolare un numero casuale. Il
tempo casuale di ritrasmissione viene calcolato entro un certo margine e, se abbastanza grande, avremo
una bassa probabilità che riavvenga la collisione. L’intervallo di tempo all’interno del quale si sceglie il
tempo da aspettare per la ritrasmissione è variabile sulla base dell’indice di ritrasmissioni che avvengono:
all’aumentare dei tentativi di ritrasmissione aumenta anche l’intervallo di tempo perché significa che il
mezzo è occupato da molte trasmissioni; la dimensione dell’intervallo è [ 0 ; 2
9
] con 𝑛 = numero di
ritrasmissione (il ritardo di ritrasmissione cresce in modo esponenziale con il numero di ritrasmissione);
questo meccanismo di definizione dell’intervallo di tempo si chiama backoff esponenziale. All’aumentare
delle stazioni o del rate di trasmissione si ha un aumento della probabilità di collisione e quindi di 𝑛.
Efficienza del protocollo ALOHA
Per stimare l’efficacia del protocollo nella rete di interesse bisogna considerare alcune ipotesi, in modo
tale da poter approssimare la rete ad un modello matematico…
tasso di arrivo 𝜆 [𝑃𝐷𝑈 ⁄𝑆 ]. Grazie a 𝜆 potremo calcolare la probabilità 𝑃(𝑘) che vi siano 𝑘 arrivi
all’interno di un intervallo di tempo generico 𝑡:
:
7 ;<
/
;
= Tempo di interarrivo, tempo che intercorre tra due eventi adiacenti
Sotto queste 2 ipotesi affermiamo che il processo di Poisson è una buona approssimazione, diciamo
approssimazione per via del fatto che il caso reale non potrà mai funzionare esattamente così.
A partire dalla formula sopra ricavata possiamo ottenere la probabilità che avvenga una collisione con
l’obiettivo di quantizzare il throughput 𝑆, cioè la quantità di traffico offerto 𝐺 smaltito dalla rete.
Definiamo la durata di trasmissione di una PDU come 𝜏
, che è costante.
Definiamo due quantità:
tempo di trasmissione di una PDU.
successo per tempo di trasmissione di una PDU.
'
'
%
= Probabilità di trasmissione con successo di una PDU
%
= Probabilità di collisione
Sicuramente la quantità 𝑆 è sempre minore di 𝐺 poiché è impossibile evitare tutte le collisioni.
Calcoliamo 𝑃
'
come la probabilità che non ci siano arrivi di PDU durante l’intervallo di vulnerabilità:
'
:
7 ;<
=
7 ;->
7 ;->
Sapendo che 𝜆𝜏 è uguale al traffico offerto 𝐺 possiamo scrivere:
'
7 -!
E di conseguenza possiamo scrivere:
'
7 -!
Un’altra cosa da definire per questo protocollo è l’intervallo di vulnerabilità, un intervallo di tempo durante
il quale non devono esserci trasmissioni di PDU poiché ne sta già avvenendo una. È quantificato come 2 𝜏
per via del fatto che se c’è una trasmissione sul canale che comincia all’istante 𝑡
=
e dura per un tempo 𝜏,
± 𝜏 senza causare una
collisione.
Casi di assenza di collisione ü
Casi di presenza di collisione û
Lo schema funzionale di una rete che utilizza questo protocollo è il seguente:
I pacchetti che collidono devono essere ritrasmessi
con la probabilità di insuccesso della trasmissione
Il valore massimo del throughput si ottiene quando:
?$
Questa condizione si verifica quando il carico offerto 𝐺 =
/
, in questo contesto si ha 𝑆 = 0 , 18 ; questo è il
massimo throughput del protocollo ALOHA e ci fa capire che non si tratta di un buon protocollo poiché la
sua efficienza è di circa il 20%; dovevamo aspettarcelo: è un protocollo molto semplice.