Sie sind auf Seite 1von 31

Reti di Calcolatori, A.A. 2005/06 M. Cesati / E.

Betti

Reti di calcolatori

Lezione 10
Lez. 10 — 1 M. Cesati / E. Betti

Il modello di riferimento

5 Application
4 Transport
3 Network
2 Data Link
1 Fisico
Lez. 10 — 2 M. Cesati / E. Betti

Protocollo HDLC
• HDLC = High-level Data Link Control
• È un protocollo Data Link standard emanato dall’ISO
• È derivato dal protocollo SDLC (Synchronous Data Link Control) della
architettura IBM SNA
• Si è poi evoluto nei protocolli CCITT LAP (Link Access Procedure) e LAPB dello
standard X.25
• È orientato al bit (non ai caratteri): usa la tecnica del bit stuffing per il framing
• Il codice per la rivelazione di errori è una variante del CRC-CCITT (la variante
facilita la rilevazione dei flag byte persi)
• La gestione della trasmissione e flusso è essenzialmente un protocollo sliding
window “Go back N” con numeri di sequenza a tre bit, dimensione massima
della finestra di trasmissione pari a 7, NAK e piggybacking
Lez. 10 — 3 M. Cesati / E. Betti

Protocollo HDLC – Struttura del frame

8 bit 8 bit 8 bit ≥ 0 bit 16 bit 8 bit


01111110 Address Control Data Checksum 01111110

• Address: nelle linee multi-punto identifica i diversi terminali

• Control: informazioni di controllo quali numeri di sequenza e ack. Identifica


anche il tipo di frame:

1. Information, per la trasmissione dei dati

2. Supervisory, per le conferme e per controllare diverse modalità di trasmissio-


ne

3. Unnumbered, per traffico di controllo o comunque non affidabile


Lez. 10 — 4 M. Cesati / E. Betti

Protocollo SLIP
• SLIP = Serial Line IP
• È il più vecchio protocollo Data Link utilizzato nell’architettura Internet Protocol
Suite (1984), nato per collegare workstation Sun alla rete Internet tramite modem
• Spedisce pacchetti IP terminati dal carattere 0xC0 (usa character stuffing
sostituendo 0xDB 0xDC al posto di 0xC0 entro il pacchetto IP)

Non ha controllo di errori

Ha solo IP con indirizzi statici, e non ha alcuna forma di autenticazione

Non è standard ufficiale di Internet


(regolato da RFC 1055 e 1144, ma esistono molte implementazioni incompatibili)
Lez. 10 — 5 M. Cesati / E. Betti

Protocollo PPP

• PPP = Point-to-Point Protocol

• È uno standard Internet ufficiale (RFC 1661, 1662, 1663, 2153, e molti altri)

• Meccanismo di framing basato su character stuffing, ove i byte delimitatori sono


il flag byte 01111110, e il carattere di stuffing è il byte 01111101

• Rilevazione d’errori con codice polinomiale, con 16 o 32 bit di controllo per frame

• Supporta diversi protocolli di livello Network: IP, IPX, AppleTalk, . . . anche


contemporaneamente

• Generalmente non usa numeri di sequenza e ack , quindi non offre realmente un
servizio affidabile (ma possono essere attivati, cfr RFC 1663)
Lez. 10 — 6 M. Cesati / E. Betti

Sotto-protocolli LCP e NCP

Il protocollo PPP definisce due sotto-protocolli, i cui pacchetti vengono trasportati


all’interno dei frame PPP

• LCP (Line Control Protocol): attiva e disattiva la linea seriale di comunicazione,


e negozia i parametri a basso livello (formato del frame, velocità di trasmissione,
...)

• NCP (Network Control Protocol): specifico per ciascun protocollo di livello Net-
work supportato; negozia i vari parametri del protocollo Network (ad esempio
per il protocollo IP: indirizzi IP, routing, . . . )
Lez. 10 — 7 M. Cesati / E. Betti

Formato del frame PPP


1 byte 1 byte 1 byte 1 byte variabile 2 o 4 byte 1 byte
Address Control
01111110 Protocol Data Checksum 01111110
11111111 00000011

• Protocol: indica il protocollo di livello Network utilizzato (RFC 1700)

• Address: indica trasmissione broadcast, può essere assente

• Control: niente numero di sequenza e ack, può essere assente


Lez. 10 — 8 M. Cesati / E. Betti

Il modello di riferimento

5 Application
4 Transport
3 Network
2 Data Link
(Medium Access Control)
1 Fisico
Lez. 10 — 9 M. Cesati / E. Betti

Medium Access Control


Nei canali di comunicazione di tipo broadcast (o multiaccess channel, o random
access channel) il livello Data Link deve gestire anche l’arbitraggio del canale:

• Sullo stesso canale trasmettono e ricevono molte stazioni

• Un frame può essere correttamente ricevuto solo se non si sovrappone ad alcun


altro frame

• L’accesso al canale deve quindi essere arbitrato

Il servizio di arbitraggio del canale è svolto dal sotto-livello MAC (Medium Access
Control) del livello Data Link

Le reti broadcast più diffuse sono le LAN e le reti locali wireless


Lez. 10 — 10 M. Cesati / E. Betti

Allocazione statica del canale


L’allocazione statica del canale di comunicazione è il metodo più semplice per l’arbi-
traggio

È basato sul multiplexing: FDM (Frequency Division Multiplexing) oppure TDM (Time
Division Multiplexing)

È efficiente quando il numero di stazioni è limitato e tutte le stazioni trasmettono


continuamente

Se il canale è suddiviso tra N stazioni, il ritardo medio per la trasmissione di


ciascun frame è N volte peggiore rispetto al caso ideale,

indipendentemente dal traffico


Lez. 10 — 11 M. Cesati / E. Betti

Allocazione dinamica del canale

L’allocazione dinamica del canale di comunicazione consente di adattare il processo


di arbitraggio alle esigenze del traffico reale

• Modello a stazioni: Esistono N stazioni indipendenti. Se il tasso d’arrivo dei


frame è λ, le stazioni generano un nuovo frame nell’intervallo di tempo ∆t con
probabilità λ∆t.

• Singolo canale: Tutte le stazioni comunicano utilizzando uno ed un solo canale;


tutte le stazioni sono equivalenti (almeno a livello Fisico).

• Collisioni: Se due frame si sovrappongono temporalmente sul canale, si ha una


collisione: tutte le stazioni rilevano la collisione ma non possono ricevere i frame
originali. Nell’analisi, si assume che non ci siano altri errori di trasmissione.
Lez. 10 — 12 M. Cesati / E. Betti

Gestione del tempo

Due possibilità:

• Tempo continuo (continuous time): ciascuna stazione può inviare un frame in


qualunque istante

• Tempo quantizzato (slotted time):

– ciascuna stazione è sincronizzata temporalmente con le altre

– il tempo è diviso in intervalli discreti (slot)

– ciascuna stazione può trasmettere un frame solo all’inizio di uno slot


Lez. 10 — 13 M. Cesati / E. Betti

Ascolto del canale

Due possibilità:

• Rilevazione dello stato del canale (carrier sense): ciascuna stazione può stabilire
prima della trasmissione se il canale è libero od occupato

• Nessuna rilevazione dello stato del canale (no carrier sense): ciascuna stazione
non può stabilire prima della trasmissione se il canale è libero od occupato

Attenzione! Poiché il canale è broadcast, ogni stazione può sempre stabilire dopo
l’invio di un frame se si è verificata una collisione oppure no
Lez. 10 — 14 M. Cesati / E. Betti

Protocollo ALOHA

• Nato negli anni ’70 per la rete a onde radio dell’arcipelago delle Hawaii

• Si applica a qualunque sistema con stazioni non coordinate tra loro e unico
canale di comunicazione

• Non vi è rilevazione del canale libero o occupato (no carrier sense)

• Due versioni:

– Pure ALOHA: utilizza tempo continuo


– Slotted ALOHA: utilizza tempo quantizzato
Lez. 10 — 15 M. Cesati / E. Betti

Pure ALOHA

• Una stazione inizia a trasmettere non appena un frame è pronto per essere
inviato

• La stazione controlla se il proprio frame è correttamente ricevuto (assenza di


collisioni). Il feedback può essere immediato (LAN) o ritardato (in reti satellitari
circa 270 millisecondi)

• In caso di collisione, la stazione aspetta un certo intervallo di tempo casuale, e


poi ripete la trasmissione

Se il ritardo non fosse casuale le collisioni si potrebbero ripetere all’infinito


Lez. 10 — 16 M. Cesati / E. Betti

Pure ALOHA – Esempio


Lez. 10 — 17 M. Cesati / E. Betti

Pure ALOHA – Analisi (1)


Assunzioni:

• Tutti i frame hanno la stessa lunghezza

• Il tempo necessario per trasmettere un frame è costante (frame time)

• Il numero di stazioni tende ad infinito

• Nuovi frame vengono generati con una distribuzione di Poisson con media infe-
riore ad un frame per frame time

• Vecchi e nuovi frame vengono generati con una distribuzione di Poisson con
media pari a G frame per frame time
Lez. 10 — 18 M. Cesati / E. Betti

Pure ALOHA – Analisi (2)

• La probabilità che k frame (vecchi o nuovi) siano inviati in un certo frame time è
pari a

Gk e−G
Pr(k) =
k!

• Il throughput per frame time (quantità di frame che arrivano a destinazione) è


pari a

S = G × P0

ove P0 è la probabilità di non-collisione per un frame


Lez. 10 — 19 M. Cesati / E. Betti

Pure ALOHA – Analisi (3)

La probabilità P0 è pari alla probabilità di generare 0 frame in un intervallo di 2 frame


time: 0 −G
!2
G e
P0 = = e−2G
0!
Lez. 10 — 20 M. Cesati / E. Betti

Pure ALOHA – Analisi (4)

Il throughput ottenibile con il protocollo Pure ALOHA è quindi:


S = Ge−2G

Massimo throughput: G = 0.5, Smax = 0.184


(utilizzazione massima del canale: 18.4%)
Lez. 10 — 21 M. Cesati / E. Betti

Slotted ALOHA

Il protocollo Slotted ALOHA è simile al Pure ALOHA, ma ha tempo quantizzato

• Tutte le stazioni sono temporalmente sincronizzate (ad esempio, per mezzo di


un segnale emesso da una particolare stazione “orologio”)

• Il tempo è suddiviso in slot, ciascuno lungo un frame time (tempo necessario a


trasmettere un frame)

• Ciascuna stazione può trasmettere solo all’inizio di uno slot


Lez. 10 — 22 M. Cesati / E. Betti

Slotted ALOHA – Analisi

Rispetto al Pure ALOHA, l’intervallo di vulnerabilità per la probabilità di collisione di


un frame è dimezzato, dunque il throughput è raddoppiato

P0 = e−G, S = Ge−G, Smax = 0.368 (36.8%)


Lez. 10 — 23 M. Cesati / E. Betti

Protocolli CSMA
L’efficienza dei protocolli ALOHA è bassa perché ciascuna stazione inizia a trasmet-
tere senza prima verificare se il canale è già impegnato

I protocolli CSMA (Carrier Sense Multiple Access) sono molto più efficienti.

Esistono tre classi fondamentali:

• 1-persistent CSMA

• Nonpersistent CSMA

• p-persistent CSMA
Lez. 10 — 24 M. Cesati / E. Betti

1-persistent CSMA
Prima di trasmettere, ciascuna stazione ascolta il canale

• Se il canale è libero, trasmette il frame


• Se il canale è occupato, aspetta che si liberi e poi trasmette il frame

1-persistent perché trasmette con probabilità 1 se il canale è libero

Le collisioni si gestiscono con ritardi casuali. Possono comunque avvenire:

• Una stazione trova il canale libero, ma un’altra ha già cominciato a trasmettere il


frame (la velocità di propagazione del segnale è finita)
• Due stazioni aspettano che il canale si liberi: cominciano a trasmettere contem-
poraneamente
Lez. 10 — 25 M. Cesati / E. Betti

Nonpersistent CSMA
Prima di trasmettere, ciascuna stazione ascolta il canale

• Se il canale è libero, trasmette il frame


• Se il canale è occupato, aspetta un tempo casuale, e ricomincia da capo

Anche le collisioni si gestiscono con ritardi casuali.

Poiché ciascuna stazione è meno “avida”:

è più efficiente di 1-persistent CSMA (meno collisioni)

ha ritardi di trasmissione maggiori di 1-persistent CSMA


Lez. 10 — 26 M. Cesati / E. Betti

p-persistent CSMA

Il tempo è quantizzato. Prima di trasmettere, ciascuna stazione ascolta il canale

• Se il canale è occupato, aspetta lo slot successivo e ricomincia da capo

• Se il canale è libero, con probabilità p trasmette il frame, con probabilità 1 − p


aspetta lo slot successivo e

– se lo slot successivo è libero, trasmette con probabilità p o aspetta lo slot


successivo con probabilità 1 − p

– se lo slot successivo è occupato, aspetta un tempo casuale e ricomincia da


capo (come una collisione)
Lez. 10 — 27 M. Cesati / E. Betti

Efficienza dei protocolli CSMA


Lez. 10 — 28 M. Cesati / E. Betti

Protocolli CSMA/CD

L’efficienza dei protocolli CSMA è migliorabile se le stazioni sono in grado di rilevare


le collisioni prima che il frame sia completamente trasmesso

Nei protocolli CSMA/CD (Carrier Sense Multiple Access with Collision Detection) cia-
scuna stazione interrompe la trasmissione del frame non appena rivela la collisione

Rilevare le collisioni non appena si verificano è possibile:

• confrontando la potenza del segnale ricevuto con quella del segnale trasmesso

• rilevando stati della funzione segnale che non codificano bit fisici
(cfr. codifica di Manchester)
Lez. 10 — 29 M. Cesati / E. Betti

Il periodo di contesa (1)

Nei protocolli CSMA/CD vi è una alternanza di periodi di contesa, trasmissione e


inattività

Ciascun periodo di contesa è suddiviso in più slot temporali, ciascuno dei quali è
sufficientemente lungo da poter rilevare senza incertezze la presenza o l’assenza di
collisioni
Lez. 10 — 30 M. Cesati / E. Betti

Il periodo di contesa (2)

La lunghezza di ciascun slot di contesa dipende dalla velocità di trasmissione del


segnale e dalla lunghezza fisica del mezzo trasmissivo

Se il tempo occorrente per inviare un segnale tra le due stazioni più distanti è T , lo
slot di contesa deve essere lungo almeno 2T

Ciascun periodo di contesa è quindi modellato come uno Slotted ALOHA

Das könnte Ihnen auch gefallen