Livello fisico - dsi.unive.itbalsamo/ar2/Reti.T2.pdfTeorema di Shannon - canali con rumore ......

21
1 Livello fisico Mezzi trasmissivi mezzi elettrici (cavi) - energia elettrica mezzi wireless (onde radio) - onda elettromagnetica (combinazione di campo elettrico e magnetico variabili, che si propaga nello spazio e induce a distanza una corrente elettrica in un dispositivo ricevente (antenna)) mezzi ottici (LED, laser e fibre ottiche) - luce trasmissione di segnale analogico - variazioni graduali e continue segnale digitale - variazioni brusche in un piccolo insieme di valori trasformazioni di tipo di segnale RT2.2 Analisi armonica una funzione sinusoidale (es: sin, cos) è caratterizzata da ampiezza A (differenza fra il valore massimo ed minimo) periodo T (la quantità di tempo trascorsa la quale la funzione si ripete) frequenza (inverso del periodo f = 1/T, misurata in cicli al secondo (Hz)) g( t ) = 1 2 c a n n = 1 sen(2 π nft ) + b n n = 1 cos(2 π nft ) Una funzione g(t) definita in un intervallo T si può esprimere come una combinazione lineari di funzioni sinusoidali, dove f=1/T è la frequenza fondamentale e a n e b n sono le ampiezze dell’n-esima armonica (o termine), che ha una frequenza n volte più grande della frequenza fondamentale c, a n e b n sono calcolabili come opportuni integrali di g(t) in t Analisi di Fourier segnale --> intervallo di frequenza --- banda di frequenza

Transcript of Livello fisico - dsi.unive.itbalsamo/ar2/Reti.T2.pdfTeorema di Shannon - canali con rumore ......

1

Livello fisico

Mezzi trasmissivi• mezzi elettrici (cavi) - energia elettrica• mezzi wireless (onde radio) - onda elettromagnetica

(combinazione di campo elettrico e magnetico variabili, chesi propaga nello spazio e induce a distanza una correnteelettrica in un dispositivo ricevente (antenna))

• mezzi ottici (LED, laser e fibre ottiche) - luce

trasmissione disegnale analogico - variazioni graduali e continuesegnale digitale - variazioni brusche in un piccolo insieme di valori

trasformazioni di tipo di segnale

RT2.2

Analisi armonica

una funzione sinusoidale (es: sin, cos) è caratterizzata da•ampiezza A (differenza fra il valore massimo ed minimo)•periodo T (la quantità di tempo trascorsa la quale la funzione si ripete)•frequenza (inverso del periodo f = 1/T, misurata in cicli al secondo (Hz))

g( t) = 1

2c a

nn=1

∑ sen(2πnft) + bn

n=1

∑ cos(2πnft)

Una funzione g(t) definita in un intervallo T si può esprimere come unacombinazione lineari di funzioni sinusoidali, dove f=1/T è la frequenzafondamentale e an e bn sono le ampiezze dell’n-esima armonica (o termine),che ha una frequenza n volte più grande della frequenza fondamentalec, an e bn sono calcolabili come opportuni integrali di g(t) in t

Analisi di Fourier

segnale --> intervallo di frequenza --- banda di frequenza

2

RT2.3

Nyquist - Shannon

I mezzi fisici hanno una banda passante: intervallo di frequenze che ilmezzo può trasmettere senza alterazione ()

Alterazioni: attenuazione - ritardo

Teorema di Nyquist

un segnale analogico di banda h (0,h)Hz può essere completamentericostruito con una campionatura di 2h volte/sec

Max data rate di un canale di comunicazione con banda passante h chetrasporta un segnale di V livelli discreti è 2 h log2 V

Teorema di Shannon - canali con rumore

Max data rate di un canale di comunicazione con banda passante h erapporto segnale/rumore S/N è 2 h log2 (1+S/N)

S/N rapporto fra potenza di segnale e di rumore, in decibel

es:banda 3kHz, S/N=30dB max data rate 30.000 bps

RT2.4

Mezzi Trasmissivi 1/3

Doppino Intrecciato

coppia di conduttori in rame intrecciati elicoidalmente

connessioni teminali del sistema telefonico

Larghezza di banda alcuni Mbps fino a qualche km

Cavo Coassiale

miglior isolamnento

nel sistema telefonico per lunghe distanze ()

baseband tutta la banda per una trasmissionedigitale

broadband multiplazione della banda per piùtrasmissioni distinte contemporanee

Conduttore di rame

Strato isolante

Calza metallica

Rivestimento esterno

3

RT2.5

Mezzi Trasmissivi 2/3

Fibre ottiche

più recenti - core cilindro in vetro, cladding strato esterno di vetro con undiverso indice di rifrazione, guaina protettiva

Velocità fino a 50.000 Gbps (50 Tbps)

Bassissimo tasso di errore

Leggerezza, insensibilità a disturbi elettromagnetici,difficoltà di intrusione

Necessità di conversione del segnale, costi dicongiunzioni,comunicazione unidirezionale

Core CladdingRivestimento

Guaina esterna

Silicio

Aria

CladdingCore

RT2.6

Mezzi Trasmissivi 3/3

Wireless

parti di spettro elettromagnetico utilizzabili per trasmissione dati:

onde radio - microonde - infrarossi - luce visibile - raggi UV

assegnazione delle frequenze

diverse capacità di superare ostacoli in base alla frequenza

interferenze elettromagnetiche

trasmissione inerentemente broadcast

velocità di trasmissione funzione dell’ampiezza di banda utilizzata

modulazione di frequenza

di ampiezza

di fase

4

RT2.7

Sistema Telefonico

Utilizzato da reti di computer, nato per la fonia

cavo fra computer velocità 107 - 108 tasso di errore 1 su 1012 - 1013

linea telefonica velocità 104 - 105 tasso di errore 1 su 105

Local loop

Trunk

Centrale di commutazione

Trunk:cavicoassiali/microonde/fibre ottiche

RT2.8

Trasformazioni di segnale

Modem - trasfomazione analogico-digitale

Codec - centralina di commutazione - trasfomazione segnale

Se la banda passante è di 3kHz, allora max data rate è 6 kbps per segnali binariVelocità maggiori con trasmissione di più valoriTecniche di modulazione (frequenza - ampiezza - fase)Es. 16 valori, 4 bit per baud; in una linea di 2400 baud si può trasmettere a 9600 bps

Baud : velocità di segnalazione di una linea, quante volte al secondo può cambiare valore

Local loop Trunk

Codec

DigitaleAnalogico

Digitale Digitale DigitaleAnalogico

Modem

5

RT2.9

Standard di livello fisico

Modem - trasfomazione analogico-digitalestandard emessi da ITUsu linea a 2.400 baud:V.32 velocità di 14.49.600 bps - 4 bit per baudV.32 bis 14.400 bps - 6 bit per baudV.34 28.800 bps - 12 bit per bad

Compressione dei dati - standardV.42 bis emesso da ITUMNP 5 de facto (Microcom Network Protocol)

Esempi di protocolli di livello fisico- interfaccia fra computer (DTE, Data Terminal Equipment) e modem (DCE,Data Circuit-terminating Equipment) in termini

elettrici - meccanici - funzionali - procedurali

Es: standard RS-232-C ed il molto simile V.24 del CCITT

RT2.10

Livello Data Link

offre una comunicazione affidabile ed efficiente a due macchine adiacenti, cioéconnesse fisicamente da un canale di comunicazione

Problemi dovuti ad errori - data rate - ritardoFunzioni

- offre al livello network un’interfaccia ben definita- framing- gestione degli errori di trasmissione- controllo del flusso di traffico

Servizitrasferimento dati dal livello network di origine al livello network di destinazione

Servizio senza connessione non affidabileper canali con basso tasso di errore, traffico real-time, comune nelle LAN

Servizio senza connessione affidabileper canali non affidabili (es. wireless) - possibili copie multiple

Servizio orientato alla connessione e affidabile

6

RT2.11

Gestione degli errori

Rilevazione ed eventuale correzione• In trasmissione

• spezza il flusso di bit in arrivo dal livello 3 in una serie di frame• calcola un'apposita funzione (checksum) per ogni frame• inserisce il checksum nel frame• 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• per ogni frame ricalcola il checksum;• se è uguale a quello contenuto nel frame questo viene accettato,

altrimenti viene considerato errato e scartato

Prima cosa : come delimitare un singolo frame• conteggio dei caratteri• caratteri di inizio e fine, con character stuffing• bit pattern di inizio e fine, con bit stuffing• violazioni della codifica dei bit usata nel livello 1

RT2.12

Framing - tecniche 1/2

Conteggio caratteriIndicazione nell'header del numero di caratteri nel frameBassa affidabilità - poco usato

Caratteri di inizio e fineInizio e fine con una particolare sequenza di caratteri ASCII• inizio frame - DLE (Data Link Escape), STX (Start of TeXt)• fine frame - DLE, ETX (End of TeXt)

Ambiguità in caso di trasmissione di un byte corrispondente alla codifica di undelimitatore (es DLE)

-- il livello 2 sorgente aggiunge davanti a tale byte un altro DLE, per cui in arrivosolo i singoli DLE segnano i confini dei frame

-- il livello 2 destinazione rimuove i DLE aggiunti prima di consegnarli al livello 3character stuffing

Tecnica legata alla codifica ASCII ad 8 bit

7

RT2.13

Framing - tecniche 2/2

Bit pattern di inizio e fineInizio e fine con una particolare sequenza di caratteri ASCIIOgni frame inizia e finisce con flag byte (specifica sequenza di bit - bit pattern)

Ambiguità possibile - Disambiguare con la tecnica del bit stuffingEs: flag byte 01111110• in trasmissione: ogni volta che il livello 2 incontra nei dati da trasmettere 5 bit

consecutivi uguali a 1 inserisce uno zero aggiuntivo• in ricezione: quando nei dati ricevuti compaiono 5 bit uguali a uno, si rimuove

lo zero che li segue--> il flag byte può apparire solo all'inizio ed alla fine dei frame3.1.4) Violazioni della codificaViolazione della codificaIn molte reti (LAN) si codificano i bit al livello fisico con una certa ridondanza Ad

Es.: il valore 1 (0) di un bit di dati è codificato con la coppia high/low(low/high) di bit fisici, e le coppie low/low ed high/high non sono usateManchester encoding, usata in IEEE 802.3

Semplice determinazione dei confini di un bit dati

Le coppie high/high e low/low possono essere usate per delimitare i frame

RT2.14

Gestione errori

Cause di errore• rumore di fondo• disturbi improvvisi• interferenze

Approcci alla gestione degli errori:• correzione dell'errore : includere informazione aggiuntiva in modo da

poter ricostruire il messaggio originario• rilevazione dell'errore : includere meno informazione aggiuntiva, rilevare

un errore, senza necessariamente correggerlo

Codici per la correzione degli erroriframe (parola di codice) n = m + r bit

• m bit : messaggio• r bit ridondanti (check bit)

distanza di Hamming di due qualunque parole di codice il numero di bit che inesse differisconoEs:1000 1001 1011 0001

8

RT2.15

Correzione errori

Date due parole con distanza di Hamming d, occorrono esattamente d errori susingoli bit per trasformare l'una nell'altracodice (code): insieme prefissato di parole di codicedistanza di Hamming di un codice : min delle distanze di H. fra tutte lepossibili coppie di parole del codice

In particolare:- per rilevare d errori occorre un codice con distanza di Hamming (d+1)(qualunque combinazione di d errori non riesce a trasformare una parola validain un altra valida)- per correggere d errori, occorre un codice di Hamming con distanza (2d+1)(una parola con d errori è più vicina a all’originale che a qualunque altra parola)

Progettare algoritmi per il calcolo degli r check bit (in funzione degli m bit delmessaggio) in modo che le parole di n = m + r bit risultanti costituiscano uncodice con la desiderata distanza di Hamming

codice di parità (parity code) ha distanza di Hamming uguale a 2, e rilevaerrori singoli

RT2.16

Rilevazione errori

Correzione di errori usata raramente per overheadRilevazione - alcuni metodi

Cyclic Redundancy Code (CRC)stringhe di bit come rappresentazioni di polinomi a coefficenti binariEs.: 1101 corrisponde al polinomio x3 + x2 + x0.Aritmetica polinomiale modulo 2, secondo le regole della teoria dei campi

• + e - equivalgono all'or esclusivo• / come in binario, è calcolata attraverso la sottrazione modulo 2

polinomio generatore G(x) di r bitframe M(x), del quale calcolare il checksum, di m bitm > r

1. Il mittente appende in coda al frame un checksum in modo che il polinomio corrispondente (di grado m + r -1) sia divisibile per G(x) -- xrM(x)2. Il ricevitore ricevuto il frame e checksum, divide il tutto per G(x) se il risultato non è zero c'è stato un errore

9

RT2.17

CRC

Metodo molto potenteun codice polinomiale con r bit

• rileva tutti gli errori singoli e doppi• rileva tutti gli errori di x bit, x dispari• rileva tutti i burst di errori di lunghezza ≤ r

Tra i polinomi sono diventati standard internazionali:

• CRC-12 x12 + x11 + x3 + x2 + x1 + 1• CRC-16 x16 + x15 +x2 + 1• CRC-CCITT x16 + x12 + x5 + 1

Un checksum a 16 bit corregge:• errori singoli e doppi• errori di numero dispari di bit• errori burst di lunghezza ≤ 16• 99.997% di burst lunghi 17• 99.998% di burst lunghi 18

Sotto ipotesi di uniformità

RT2.18

Gestione della sequenza

Conferme di trasmissione• il frame è arrivato correttamente (positive ack)• il frame è errato (negative ack)

frame datiframe di ack

Problema un frame può perdersi e il mittente rimanere bloccato in attesa di unack che non arriverà mai

Soluzione time -out del mittente per la ricezione dell'ack, ritrasmissione

Problema se si perde l'ack, il destinatario può trovarsi più copie del frame

Soluzione il mittente numera la sequenza all'interno di ogni frame dati

10

RT2.19

Gestione del flusso

mittente- quando il sw di livello 2 riceve un pacchetto dal livello 3, lo incapsula in unheader ed un trailer con informazioni di controllo, poi calcola checksum edelimitatori (solitamente con hw apposito di livello 2)- il frame viene passato al livello 1 per la trasmissione

Controllo del flusso di dati - Vari algoritmi di livello data link

Assunzioni- nei livelli 1, 2 e 3 un insieme di processi (hw/sw) indipendenti comunicano fraloro scambiandosi messaggi

destinatario- in ricezione, l' hw di livello 2 identifica i delimitatori, estrae il frame, ricalcola ilchecksum- se è sbagliato, il sw di livello 2 viene informato dell'errore, altrimenti il livello 2riceve il frame (senza checksum)- il SW di livello 2 quando riceve un frame esamina le informazioni di controllo(header e il trailer)- se è OK consegna il pacchetto (solo) al livello 3,altrimenti attua le operazioni di recupero e non consegna il pacchetto al livello 3

RT2.20

Frame

Struttura frame

kind seq ack info

Header

kind distingue il tipo di frame (dati, solo controllo, ...)seq numero progressivo del frameack informazioni legate all'acknowledgementinfo pacchetto di livello network completo (comprendente le

informazioni di controllo di livello 3)

11

RT2.21

Protocollo Ideale

canale simplexmolto sempliceassunzioni (non realistiche)

Mittente (loop infinito)

1. attende un pacchetto dal livello

network

2. costruisce un frame dati

3. passa il frame al livello fisico

4. torna ad 1

Destinatario (loop infinito)

1. attende evento

* arriva frame da livello fisico

2. estrae pacchetto

3. lo passa al livello network

4. torna ad 1

• trasmissione dei frame unidirezionale• le peer entity di livello network sono sempre pronte (non devono mai

attendere per inviare o ricevere al/dal livello data link)• si ignora il tempo di elaborazione del livello data link• buffer del destinatario con spazio infinito• il canale fisico esente da errori

Il protocollo : due procedure (mittente e destinatario)

RT2.22

Protocollo Simplex Stop and Wait

canale simplexstesse ipotesi precedenti eccetto

• buffer del destinatario con spazio finito

Mittente (loop infinito)

1. attende un pacchetto dal livellonetwork;

2. costruisce un frame dati;

3. passa il frame al livello fisico;

4. attende evento:

* arriva frame di ack (vuoto):

5. torna ad 1.

Destinatario (loop infinito)

1. attende evento:

* arriva frame dati da livello fisico:

2. estrae il pacchetto;

3. consegna il pacchetto al livello network;

4. invia un frame di ack (vuoto) al mittente;

5. torna ad 1.

Il mittente deve essere opportunamente rallentatoNon con ritardi prefissati (caso pessimo)Soluzione il destinatario invia una esplicita autorizzazione all'invio del prossimoframe; il mittente attende un OK dal destinatario

stop and wait

12

RT2.23

Protocollo Simplex per canale rumoroso

canale simplexstesse ipotesi del protocollo simplex stop and wait eccetto

• canale soggetto ad errori

Protocollo precedente + timer per il mittente1. Mittente invia frame e fa partire un timer; se non arriva l’ack entro il tempo ripete l’invio2. Destinatario invia un ack quando riceve un frame senza errori

----->> possibile duplicazione in caso di perdita dell’ack

Numero di sequenza nell’header del frame - campo seq valori …0101010101…Il mittente aspetta un ack prima di trasmettere il prossimo frame

PAR (Positive Ack with Retransmission) oARQ (Automatic Repeat Request)

RT2.24

Protocollo Simplex per canale rumoroso - Algoritmo

Mittente (loop infinito; [seq] rappresenta ilcampo seq di un frame)

0. n_seq = 0;

1. n_seq = 1 - n_seq;

2.attende un pacchetto dal livello network;

3. costruisce frame dati e copia n_seq in

[seq];

4. passa il frame dati al livello fisico;

5. resetta il timer;

6.attende un evento:

* timer scaduto: torna a 4.

* arriva frame di ack (vuoto) non valido:

torna a 4.

* arriva frame di ack (vuoto) valido: torna

ad 1.

Destinatario (loop infinito; [seq] rappresenta il campo seq di

un frame)

0. n_exp = 1;

1. attende evento;

* arriva frame dati valido da

livello fisico:

2. se ([seq] == n_exp)

2.1. estrae pacchetto

2.2 lo consegna al livello network

2.3 n_exp = 1 - n_exp

3. invia frame di ack (vuoto)

4. torna ad 1.

* arriva frame non valido: torna

ad 1.

13

RT2.25

Protocollo Simplex per canale rumoroso - Esempi 1

- Il mittente etichetta i frame dati con la sequenza ...0,1,0,1..., ma passaall'etichetta e frame successivi solo quando arriva un ack; finché ciò nonsuccede, continua a ritrasmettere lo stesso frame- Il destinatario invia un ack di conferma per tutti i frame dati privi di errori,ma consegna al livello network solo quelli giusti, e cioé etichettati secondola sequenza ...0,1,0,1.…

1

0

1

1

0

1

Mittente Destinatario

ecc.

x

ack()

x + 1

x + 2

ack()

trasmissionenormale

RT2.26

Protocollo Simplex per canale rumoroso - Esempi 2

Perdita di unframe

1

0

1

1

0

1

Mittente Destinatario

x

ack()

x + 1

x + 2

Tim

eout

x + 1

ack()

ecc.

0

Ritrasmissione

14

RT2.27

Protocollo Simplex per canale rumoroso - Esempi 3

Perdita di unack

Ritrasmissione

1

0

1

1

0 (non passa a livello network)

1

Mittente Destinatario

x

ack()

Tim

eout

x + 1

ack()

ecc.

x

0ack()

1

x + 2

RT2.28

Timeout

Timeout troppo breve

Perdita di(x+1) e (x+2)a livello rete

1

0

0

1

0 (non passa a livello network)

0

Mittente Destinatario

x

ack()Tim

eout

ecc.

1 xVengono associati

ack()

x + 1Vengono associati

1 x + 2

0 (non passa a livello network)

ack()

x + 3

ack()

15

RT2.29

Modifica

Invio di ack solo perframe non duplicati

Possibileblocco

1

1

1

1

0 (non passa a livello network)

Mittente Destinatario

x

ack()

Tim

eout

x

ecc., blocco!

x1

x

0 (non passa a livello network)

0 (non passa a livello network)

Tim

eout

Tim

eout

RT2.30

Canale duplex

A Bdati A -> B ack A -> B dati A -> B dati A -> B

ack B -> A dati B -> A ack B -> A dati B -> A

Comunicazione bidirezionale su un unico canale

A Bdati A -> Back A -> B dati A -> Back A -> B

dati B -> A ack B -> A dati B -> A ack B -> A

Piggybacking

Risparmio di banda utilizzata , uso CPU

16

RT2.31

Protocollo a finestra scorrevole - finestra del mittente

canale full duplex - Algoritmi più r obusti

• ogni frame inviato ha un numero di sequenza, da 0 a 2n-1 (il campo seq è di n bit)• ad ogni istante il mittente mantiene una finestra scorrevole sugli indici dei frame:

solo quelli entro la finestra possono essere trasmessi• I numeri di sequenza nella finestra indicano frame da spedire o spediti, ma non

ancora confermati

... 3 4 5 6 7 8 9 10 11 ...

Finestra scorrevole

Indici dentrola finestra

• quando arriva dal livello network un pacchetto, si aggiunge un nuovo indicenella finestra

• quando arriva un ack, l’indice corrispondente esce dalla finestra• i frame dentro la finestra devono essere mantenuti in memoria per la

possibile ritrasmissione• se il buffer è pieno, il livello data link deve costringere il livello network a

sospendere la consegna di pacchetti

RT2.32

Protocollo a finestra scorrevole - finestra del destinatario

• il destinatario mantiene una finestra con gli indici dei frame che possonoessere accettati• se arriva un frame il cui indice è fuori dalla finestra

• il frame viene scartato (non si invia il relativo ack)• se arriva un frame il cui indice è nella finestra

• il frame viene accettato• viene spedito il relativo ack• la finestra viene spostata in avanti

• NB: la finestra del destinatario rimane di dimensione costante se è 1 è garantito l’ordine, altrimento no

Protocolli di livello data link con maggiore libertà nell'ordine di trasmissione, ma• i pacchetti devono essere riconsegnati ordinati al livello network• il canale fisico è wire-like, cioé consegna i frame nell'ordine di partenza

Le finestre di mittente e destinatario non devono necessariamente avere ugualidimensioni, né uguali limiti inferiori o superiori

17

RT2.33

Protocollo a finestra scorrevole di un bit - stop and wait

• Mittente e destinatario usano una finestra di dimensione 1• Protocollo stop and wait

• il destinatario•quando arriva un frame corretto, senza errori, invia un ack col

corrispondente numero di sequenza•se il frame non è un duplicato lo passa al livello network e avanza la

finestra

mittente e destinatario usano lo stesso algoritmo• il mittente, quando invia un frame, fa partire un timer

•se prima della scadenza del timer arriva un ack con lo stesso numero disequenza del frame che si sta cercando di trasmettere, si avanza lafinestra e si passa a trasmettere il frame successivo

•se arriva un ack diverso o scade il timer, si ritrasmette il frame

l'ack è etichettato col numero di sequenza del frame a cui si riferisceI valori sono solo 0 e 1

Possibile ritrasmissione inutile di qualche frame, ma questo protocollo è sicuro

RT2.34

Protocolli a finestra scorrevole - go-back-n 1/2

I protocolli stop-and-wait sono mlto inefficienti se il tempo di andata e ritorno delsegnale (round-trip time) è alto (es. canali satellitari 500 + 500 msec)

pipelining consentire l'invio di (alcuni) frame anche senza aver ricevuto il primo ack

Problema se un frame nella sequenza si rovina molti altri frame vengono speditiprima che ciò sia notificato al mittente

Prima soluzione protocollo go-back-n

• il destinatario, se arriva un frame danneggiato o con un numero disequenza non progressivo, lo ignora e ignora tutti i successivi, senzainviare gli ack

• finestra di ricezione di dimensione 1• Il destinatario accetta solo frame ordinati

• il mittente quando rileva per time-out l’errore sul frame sbagliato, e suisuccessivi (scartati dal destinatario), e ritrasmettela sequenza di frame cheinizia con quello per il quale si è verificato il time-out

18

RT2.35

Protocolli a finestra scorrevole - go-back-n 2/2

0 1 2 3 4 2

0 1 E

Ack 1

Timeout

2

3 4

3 4

Ack 2

Ack 3

Ack 4

3 4

Scartati

Ecc.

Ack 0

Errato

5

NB: mittente deve mantenere in un buffer tutti i frame non confermati perpoterli eventualmente ritrasmettere.Se il buffer si riempie, il mittente deve bloccare il livello network fino ache non si ricrea dello spazio

Spreco di banda per un alto tasso d'errore e/o lungo time-out

RT2.36

Protocolli a finestra scorrevole - selective repeat 1/2

• il destinatario mantiene nel suo buffer tutti i frame ricevuti successivamentead un eventuale frame rovinato

• non appena questo arriva nuovamente (senza errori), questo frame e tutti isuccessivi frame contigui che il destinatario ha mantenuto nel buffer vengonoconsegnati al livello network

• per ogni frame arrivato bene, il destinatario invia un ack col numero più altodella sequenza completa arrivata fino a quel momento

• il mittente, quando si verifica un timeout, rispedisce il frame corrispondente(selettivamente ripete la trasmissione)

• mittente e destinatario devono entrambi gestire un buffer per frame• non confermati (mittente);• successivi ad un errore (destinatario)

• basso spreco di banda, diminuibile inviando un NACK (Negative ACK) se• arriva un frame danneggiato• arriva un frame diverso da quello atteso (può indicare l'avvenuta perdita del

frame precedente)

19

RT2.37

Protocolli a finestra scorrevole - selective repeat 1/2

• il destinatario mantiene nel suo buffer tutti i frame ricevuti successivamentead un eventuale frame rovinato

• non appena questo arriva nuovamente (senza errori), questo frame e tutti isuccessivi frame contigui che il destinatario ha mantenuto nel buffer vengonoconsegnati al livello network

• per ogni frame arrivato bene, il destinatario invia un ack col numero più altodella sequenza completa arrivata fino a quel momento

• il mittente, quando si verifica un timeout, rispedisce il frame corrispondente(selettivamente ripete la trasmissione)

• mittente e destinatario devono entrambi gestire un buffer per frame• non confermati (mittente);• successivi ad un errore (destinatario)

• basso spreco di banda, diminuibile inviando un NACK (Negative ACK) se• arriva un frame danneggiato• arriva un frame diverso da quello atteso (può indicare l'avvenuta perdita del

frame precedente)

RT2.38

Esempi di protocolli Data Link - HDCL

Protocolli data link più diffusi oggi: discendenti del protocollo SDLC(Synchronous Data Link Control), nato in ambito SNA - HDLC (standard ISO) - SLIP (architettura TCP/IP) - PPP (suo successore)

HDLC - High Level Data Link Controlprotocollo bit oriented, usa la tecnica del bit stuffing

formato del frame

01111110 Address Control Dati Checksum 01111110

Bit: 8 8 8 ≥ 0 16 8

Address in linee multipunto identifica i diversi terminaliControl contiene numeri di sequenza, ack, ecc.Dati contiene i dati da trasportareChecksum calcolata con CRC-CCITT

20

RT2.39

Esempi di protocolli Data Link - HDCL e SLIP

HDCL•usa una finestra scorrevole con numeri di sequenza a 3 bit, contenuti nelcampo Seq interno al campo Control

•utilizza il campo Next, anch'esso in Control, per il piggybacking degli ack•ha tre tipi di frame (identificati dai primi due bit di Control):

• Information trasmissione dati• Supervisory per comandare diverse modalità di ritrasmissione• Unnumbered (non ha il numero di sequenza) per finalità di controllo

o per trasportare il traffico di connessioni non affidabili

SLIP - Serial Linenato nel 1984 (RFC 1055) per collegare Sun ad Internet via modemprotocollo dell’Internet Protocol Suiteusa character stuffing, spedendo in linea pacchetti IP terminati col byte 0xC0

Svantaggi•supporta solo IP•supporta solo indirizzi statici - ogni partedeve conoscere l’ind. IP dell’altra•non ha controllo degli errori•non c’è autenticazione•non è uno standard approvato di Internet

RT2.40

Esempi di protocolli Data Link - PPP - Point to Point Protocol

Standard IETF (RFC 1661, 1662, 1663) per linee telefoniche e per routerfunzionalità

•framing•rilevamento degli errori•un protocollo di controllo per attivare, testare e diasattivare la linea(LCP, Link Control Protocol)

•supporto di molteplici protocolli di livello network•un protocollo per negoziare opzioni di livello network (NCP, NetworkControl Protocol)

• per ogni livello network supportato c'è un differente NCP• ad es., per IP, NCP negozia un indirizzo IP dinamico

Il traffico derivante (nelle fasi iniziali e finali della connessione) dall'uso deiprotocolli LCP e NCP viene trasportato dentro i frame PPP

21

RT2.41

Esempi di protocolli Data Link - PPP

Differenze fra HDLC e PPP - è character-oriented anziché bit-oriented, e utilizza il character stuffing (iframe sono costituiti da un numero intero di byte) - vi è un campo apposito per supporto multiprotocollo di rete

Flag 01111110

Address 11111111

Control 00000011

Dati Checksum Flag 01111110

Byte: 1 1 1 Variabile 2 oppure 4 1

Protocol

1

Flag come in HDLCAddress sempre 11111111- non ci sono indirizzi, gestione linee multipuntoControl default (00000011) indica un unnumbered frame, relativo ad un

servizio non affidabileProtocol relativo al pacchetto nel payload (LCP, NCP, IP, IPX, Appletalk,..)Payload di lunghezza variabile e negoziabile (default 1500 byte)Checksum normalmente di due byte (quattro sono negoziabili)