41
Modello ISO/OSI Modello ISO/OSI Un metodo di studio Un metodo di studio Vallì Rossella Carando 2006 Vallì Rossella Carando 2006 SIS SIS

Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Embed Size (px)

Citation preview

Page 1: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Modello ISO/OSI Modello ISO/OSI

Un metodo di studio Un metodo di studio

Vallì Rossella Carando 2006 SIS Vallì Rossella Carando 2006 SIS

Page 2: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS
Page 3: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Livello data linkLivello data link

Compiti:Compiti: Framing Framing Accesso al mezzo trasmissivo (MAC)Accesso al mezzo trasmissivo (MAC) Controllo erroriControllo errori Controllo del flussoControllo del flusso

pdu: frame

Page 4: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

rete rete

Compiti:Compiti: Determinazione percorso nella sottoreteDeterminazione percorso nella sottorete Indirizzamento (compatibilità)Indirizzamento (compatibilità) Enumerazione pacchetti Enumerazione pacchetti Controllo congestione Controllo congestione

pdu:pacchetto

Page 5: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

trasportotrasporto

Compiti:Compiti: Accetta dati dal livello superiore Accetta dati dal livello superiore Passa al livello rete Passa al livello rete Controllo trasmissioneControllo trasmissione Regolazione del flussoRegolazione del flusso

pdu:segmento

Page 6: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

sessionesessione

Compiti:Compiti: Permette l’instaurarsi delle sessioniPermette l’instaurarsi delle sessioni Ad es. trasferimento archiviAd es. trasferimento archivi Gestione dei token Gestione dei token Sincronizzazione Sincronizzazione

Esempio: nel trasferimento di filesEsempio: nel trasferimento di files

Pdu: SPDU

Page 7: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

presentazione presentazione

Compiti:Compiti: Calcolatori differenti hanno formati diversiCalcolatori differenti hanno formati diversi Strutture dati astratte Strutture dati astratte Codifica di dati in un formato riconosciutoCodifica di dati in un formato riconosciuto

Pdu: PPDU

Page 8: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Applicazione Applicazione

Compiti:Compiti: Interfaccia utente Interfaccia utente File transferFile transfer Mail Mail Terminali virtuali remotiTerminali virtuali remoti

Pdu: APDU

Page 9: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Data link

Rete

Trasporto

Sessione

Applicazione

Presentazione

Trasporto

Sessione

Applicazione

Presentazione

Modello ISO-OSI Modello ISO-OSI

fisico

Data link

Rete

fisico

dl

Rete

fisico

dl

Rete

fisico

Page 10: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Data Link: il framingData Link: il framing

Per framing si intende il frazionamento Per framing si intende il frazionamento di un insieme di bytes in porzioni adatte di un insieme di bytes in porzioni adatte al trasporto sulla linea.al trasporto sulla linea.

1.1. Conteggio caratteriConteggio caratteri

2.2. Character stuffingCharacter stuffing

3.3. Bit stuffing Bit stuffing

Page 11: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Dove lo collochiamo?Dove lo collochiamo?

Sulla scheda di reteSulla scheda di rete Gira insieme al livello fisico Gira insieme al livello fisico Entrambi possono essere visti come Entrambi possono essere visti come

procedure chiamate dal livello networkprocedure chiamate dal livello network Noi assumiamo che siano Noi assumiamo che siano processi processi

indipendentiindipendenti

Page 12: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Caratteristiche Caratteristiche

Il DL vede il prossimo computer sulla rete Il DL vede il prossimo computer sulla rete

Page 13: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Cosa succede ?Cosa succede ?

Pacchetto da livello rete header trailer

Page 14: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Relazioni con gli altri Relazioni con gli altri livelli…..livelli…..

Rete

Data link

fisico

Rete

Data link

fisico

Page 15: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Come è fatto un frame?Come è fatto un frame?

Assumiamo che vi siano i seguenti campi:Assumiamo che vi siano i seguenti campi:

tipo seq ack Informazioni

Page 16: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Funzioni e livelliFunzioni e livelli

Il DL comunica attraverso funzioni e Il DL comunica attraverso funzioni e strutture dati:strutture dati:

al_livello_fisicoal_livello_fisicodal_livello_fisicodal_livello_fisico

al_livello_reteal_livello_retedal_livello_retedal_livello_rete

Page 17: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Strutture datiStrutture dati

Pacchetto ( struttura livello rete)Pacchetto ( struttura livello rete) Frame ( struttura livello data link)Frame ( struttura livello data link)

Immagino che siano strutture o recordImmagino che siano strutture o record

Lo schema del frame è quello già vistoLo schema del frame è quello già visto

Page 18: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Se arriva un frame…Se arriva un frame…

Definiamo una funzione attesa_evento in Definiamo una funzione attesa_evento in grado di segnalare l’arrivo di un framegrado di segnalare l’arrivo di un frame

attesa_evento

Page 19: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Primo protocollo Primo protocollo (heaven)(heaven)

Ipotesi: Ipotesi: unidirezionalitàunidirezionalità Livelli sempre pronti Livelli sempre pronti Tempo di elaborazione Tempo di elaborazione 00 Canale perfetto senza errori Canale perfetto senza errori

Page 20: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

HeavenHeaven

trasmettitoretrasmettitore

while (true)while (true){{

dal_livello_retedal_livello_rete

(pacchetto);(pacchetto);

frame.info=pacchettframe.info=pacchetto;o;

al_livello_fisico(frameal_livello_fisico(frame););

}}

RicevitoreRicevitore

while (true)while (true){{

attesa_evento;attesa_evento;

dal_livello_fisico(framedal_livello_fisico(frame););

pacchetto=frame.info;pacchetto=frame.info;

al_livello_rete(pacchettal_livello_rete(pacchetto);o);

}}

Page 21: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Irrealizzabile, perché?Irrealizzabile, perché?

Si dà per certa una velocità di Si dà per certa una velocità di elaborazione molto bassa (tendente a 0)elaborazione molto bassa (tendente a 0)

I buffer non sono mai pieniI buffer non sono mai pieni Non ci sono erroriNon ci sono errori

L’esempio che segue (stop and wait) cerca L’esempio che segue (stop and wait) cerca di essere più realistico …di essere più realistico …

Page 22: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

stop and wait stop and wait

trasmettitoretrasmettitore

while (true)while (true){{

dal_livello_retedal_livello_rete

(pacchetto);(pacchetto);

frame.info=pacchetto;frame.info=pacchetto;

al_livello_fisico(frame);al_livello_fisico(frame);

aspetta_evento(ack);aspetta_evento(ack);

}}

RicevitoreRicevitorewhile (true)while (true){{attesa_evento();attesa_evento();dal_livello_fisico(framdal_livello_fisico(fram

e);e);pacchetto=frame.info;pacchetto=frame.info;al_livello_rete(pacchetal_livello_rete(pacchet

to);to);al_livello_fisico(ack);al_livello_fisico(ack);}}

Page 23: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Irrealizzabile, perché?Irrealizzabile, perché?

Si dà per certa il fatto che i frame arrivino Si dà per certa il fatto che i frame arrivino sempre giustisempre giusti

E se usassimo un timer?E se usassimo un timer?

Si potrebbe pensare di inviare un riscontro ogni Si potrebbe pensare di inviare un riscontro ogni volta che arriva un frame corretto.volta che arriva un frame corretto.

Se il trasmettitore non riceve nulla, dopo un certo Se il trasmettitore non riceve nulla, dopo un certo tempo rispedisce.tempo rispedisce.

Page 24: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

ma anche questo non ma anche questo non funzionerebbe….funzionerebbe….

E se si perde il frame di ack?E se si perde il frame di ack?

In assenza di numerazione dei frame In assenza di numerazione dei frame verrebbe rispedito lo stesso frame verrebbe rispedito lo stesso frame spedito prima, creando una duplicazione spedito prima, creando una duplicazione dannosa…….dannosa…….

Infatti non abbiamo uno strumento per Infatti non abbiamo uno strumento per avvertire il livello rete che una cosa è già avvertire il livello rete che una cosa è già arrivata!arrivata!

Page 25: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Per esempio …..Per esempio …..

Rimando un frame perché è andato perso

ack!Risultato:

frame duplicato

Page 26: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

stop and wait per canale stop and wait per canale disturbatodisturbato

Inserisco un numero di sequenza e un Inserisco un numero di sequenza e un timer timer

Se il ricevitore riceveSe il ricevitore riceve il frame atteso manda il frame atteso manda l’ack, il trasmettitore spedisce il prossimol’ack, il trasmettitore spedisce il prossimo

Se non arriva l’ack il trasmettitore Se non arriva l’ack il trasmettitore rispedisce rispedisce

Page 27: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

stop and wait per canale stop and wait per canale disturbatodisturbato

trasmettitoretrasmettitoreNum_seq=0;Num_seq=0;dal_livello_rete(pacchettdal_livello_rete(pacchett

o);o);while (true)while (true){{frame.info=pacchetto;frame.info=pacchetto;Frame.seq=Num_seq;Frame.seq=Num_seq;al_livello_fisico(frame);al_livello_fisico(frame);Inizio_timer;Inizio_timer;aspetta_evento(ack);aspetta_evento(ack);

Se Se (evento==arrivo_ack) (evento==arrivo_ack) {{

dal_livello_rete(pacchettdal_livello_rete(pacchetto);o);

Pacchetto=frame.info;Pacchetto=frame.info;

Al_livello_rete Al_livello_rete (pacchetto);(pacchetto);

}}

}}

Page 28: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

stop and wait per canale stop and wait per canale disturbatodisturbato

ricevitorericevitoreNum_seq=0;Num_seq=0;while (true)while (true){{aspetta_evento(arrivo_frame);aspetta_evento(arrivo_frame);Se (evento==arrivo_frame) {Se (evento==arrivo_frame) {dal_livello_fisico(frame); dal_livello_fisico(frame); Se (frame. Se (frame. Seq==num_seq)Seq==num_seq)Al_livello_rete(frame.info);Al_livello_rete(frame.info);Num_seq++;Num_seq++;} }} }

Page 29: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

criticitàcriticità

I protocolli precedenti presentavano I protocolli precedenti presentavano criticitàcriticità

UnidirezionaliUnidirezionali Se usiamo un collegamento full duplex Se usiamo un collegamento full duplex

uno dei due canali porta solo ack (è uno dei due canali porta solo ack (è quindi sprecato)quindi sprecato)

Invece, usando un canale solo in half Invece, usando un canale solo in half duplexduplex

Page 30: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Il piggybacking Il piggybacking

Significa letteralmente “viaggiare a Significa letteralmente “viaggiare a scrocco”scrocco”

Invece di mandare l’ACK separato..Invece di mandare l’ACK separato.. Si attende che il ricevente debba inviare Si attende che il ricevente debba inviare

un frameun frame Si appende l’ack al frame risparmiando Si appende l’ack al frame risparmiando

ack

Page 31: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

problemiproblemi

C’è un timeout per inviare l’ACK?C’è un timeout per inviare l’ACK?

Si, se non c’è necessità impellente di Si, se non c’è necessità impellente di inviare un frame di risposta si manda inviare un frame di risposta si manda l’ack separatamentel’ack separatamente

Se il timer scatta troppo presto cosa Se il timer scatta troppo presto cosa succede?succede?

Viene rispedito il frame, con ovvio Viene rispedito il frame, con ovvio dispendio di bandadispendio di banda

Page 32: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Riassumendo su un Riassumendo su un canale unico….canale unico….

A B

dati da A a B dati da A a Back da A a B

dati da B ad A dati da B ad A ack da B ad A

Page 33: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Sliding windowsSliding windows

Letteralmente finestre scorrevoliLetteralmente finestre scorrevoli Ack contiene il numero dell’ultimo frame Ack contiene il numero dell’ultimo frame

ricevuto senza erroriricevuto senza errori Gli stop and wait per canale disturbato Gli stop and wait per canale disturbato

hanno finestra 1hanno finestra 1

Page 34: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

In cosa consiste:In cosa consiste:parte mittenteparte mittente

Ogni frame spedito contiene un numero progressivo (0-2n-1)

Il campo dedicato ad ack è grande n bit Mittente ha una finestra in cui

mantiene la sequenza dei frame che può

trasmettere finestra vi sono gli indici, in un buffer i

frame

Page 35: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Inoltre…Inoltre…

Se arriva un ack (numerato) viene tolto l’indice Se arriva un ack (numerato) viene tolto l’indice corrispondente dalla finestracorrispondente dalla finestra

Se dal livello network arriva un nuovo Se dal livello network arriva un nuovo pacchettopacchetto

si fa avanzare la finestra di una posizione si fa avanzare la finestra di una posizione (entra un nuovo indice)(entra un nuovo indice)

Se i buffer sono pieni si ferma il livello networkSe i buffer sono pieni si ferma il livello network

Page 36: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Cosa succedeCosa succedeparte destinatarioparte destinatario

Il destinatario mantiene una finestra Il destinatario mantiene una finestra Questa non è necessariamente uguale a Questa non è necessariamente uguale a

quella del mittentequella del mittente Se arriva un frame il cui indice è fuori Se arriva un frame il cui indice è fuori

dalla finestra è scartato (non si invia dalla finestra è scartato (non si invia l’ack)l’ack)

Se arriva un frame il cui indice è dentro Se arriva un frame il cui indice è dentro la finestra è accettato ( si invia l’ack)la finestra è accettato ( si invia l’ack)

Page 37: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Nella finestraNella finestra

Frame inviati ma non ancora confermatiFrame inviati ma non ancora confermati Frame da inviare Frame da inviare

1 2 3 4 5 6 7 8 9 10111

Page 38: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

ricevitorericevitoreAvanza solo se arriva il frame giustoAvanza solo se arriva il frame giusto Se arriva un frame il cui indice è fuori dalla Se arriva un frame il cui indice è fuori dalla

finestra è scartato (non si invia l’ack)finestra è scartato (non si invia l’ack)

1 2 3 4 5 6 7 8 9 10111

Page 39: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

E se volessimo E se volessimo ottimizzare?ottimizzare?

Si mandano più frame in cascata, senza Si mandano più frame in cascata, senza aver ricevuto ack del primoaver ricevuto ack del primo

Questo metodo è detto pipeliningQuesto metodo è detto pipelining Ho due metodi per il controllo: go-back-nHo due metodi per il controllo: go-back-n

e selective repeat e selective repeat

Page 40: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Go-back-nGo-back-n

È in effetti un metodo a finestra 1È in effetti un metodo a finestra 1 Usato per comunicazioni satellitariUsato per comunicazioni satellitari Se arriva un frame danneggiato o fuori Se arriva un frame danneggiato o fuori

sequenza non si manda acksequenza non si manda ack Il mittente va in timeout, quindi Il mittente va in timeout, quindi

ritrasmette a partire dal primo di cui non ritrasmette a partire dal primo di cui non ha avuto l’ACKha avuto l’ACK

Page 41: Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS

Selective repeat Selective repeat

Il destinatario, invece di scartarli, Il destinatario, invece di scartarli, mantiene i frame successivi a quello non mantiene i frame successivi a quello non arrivato in un bufferarrivato in un buffer

Non appena arriva il frame atteso si Non appena arriva il frame atteso si manda tutto il contenuto del buffer a manda tutto il contenuto del buffer a livello networklivello network

Per ogni frame arrivato bene, viene Per ogni frame arrivato bene, viene mandato un ack con il numero più alto mandato un ack con il numero più alto ricevuto fino ad allora.ricevuto fino ad allora.