La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS."— Transcript della presentazione:

1

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

3

4 Livello data link Compiti: Framing Framing Accesso al mezzo trasmissivo (MAC) Accesso al mezzo trasmissivo (MAC) Controllo errori Controllo errori Controllo del flusso Controllo del flusso pdu: frame

5 rete Compiti: Determinazione percorso nella sottorete Determinazione percorso nella sottorete Indirizzamento (compatibilità) Indirizzamento (compatibilità) Enumerazione pacchetti Enumerazione pacchetti Controllo congestione Controllo congestione pdu:pacchetto

6 trasporto Compiti: Accetta dati dal livello superiore Accetta dati dal livello superiore Passa al livello rete Passa al livello rete Controllo trasmissione Controllo trasmissione Regolazione del flusso Regolazione del flusso pdu:segmento

7 sessione Compiti: Permette linstaurarsi delle sessioni Permette linstaurarsi delle sessioni Ad es. trasferimento archivi Ad es. trasferimento archivi Gestione dei token Gestione dei token Sincronizzazione Sincronizzazione Esempio: nel trasferimento di files Pdu: SPDU

8 presentazione Compiti: Calcolatori differenti hanno formati diversi Calcolatori differenti hanno formati diversi Strutture dati astratte Strutture dati astratte Codifica di dati in un formato riconosciuto Codifica di dati in un formato riconosciuto Pdu: PPDU

9 Applicazione Compiti: Interfaccia utente Interfaccia utente File transfer File transfer Mail Mail Terminali virtuali remoti Terminali virtuali remoti Pdu: APDU

10 Data link Rete Trasporto Sessione Applicazione Presentazione Trasporto Sessione Applicazione Presentazione Modello ISO-OSI fisico Data link Rete fisico dl Rete fisico dl Rete fisico

11 Data Link: il framing Per framing si intende il frazionamento di un insieme di bytes in porzioni adatte al trasporto sulla linea. Per framing si intende il frazionamento di un insieme di bytes in porzioni adatte al trasporto sulla linea. 1.Conteggio caratteri 2.Character stuffing 3.Bit stuffing

12 Dove lo collochiamo? Sulla scheda di rete Sulla scheda di rete Gira insieme al livello fisico Gira insieme al livello fisico Entrambi possono essere visti come procedure chiamate dal livello network Entrambi possono essere visti come procedure chiamate dal livello network Noi assumiamo che siano processi indipendenti Noi assumiamo che siano processi indipendenti

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

14 Cosa succede ? Pacchetto da livello reteheader trailer

15 Relazioni con gli altri livelli….. Rete Data link fisico Rete Data link fisico

16 Come è fatto un frame? Assumiamo che vi siano i seguenti campi: tiposeqackInformazioni

17 Funzioni e livelli Il DL comunica attraverso funzioni e strutture dati: al_livello_fisicodal_livello_fisicoal_livello_retedal_livello_rete

18 Strutture dati Pacchetto ( struttura livello rete) Pacchetto ( struttura livello rete) Frame ( struttura livello data link) Frame ( struttura livello data link) Immagino che siano strutture o record Lo schema del frame è quello già visto

19 Se arriva un frame… Definiamo una funzione attesa_evento in grado di segnalare larrivo di un frame Definiamo una funzione attesa_evento in grado di segnalare larrivo di un frame attesa_evento

20 Primo protocollo (heaven) Ipotesi: Ipotesi: unidirezionalità unidirezionalità Livelli sempre pronti Livelli sempre pronti Tempo di elaborazione 0 Tempo di elaborazione 0 Canale perfetto senza errori Canale perfetto senza errori

21 Heaven trasmettitore while (true){ dal_livello_rete(pacchetto);frame.info=pacchetto;al_livello_fisico(frame);}Ricevitore attesa_evento;dal_livello_fisico(frame);pacchetto=frame.info;al_livello_rete(pacchetto);}

22 Irrealizzabile, perché? Si dà per certa una velocità di elaborazione molto bassa (tendente a 0) Si dà per certa una velocità di elaborazione molto bassa (tendente a 0) I buffer non sono mai pieni I buffer non sono mai pieni Non ci sono errori Non ci sono errori Lesempio che segue (stop and wait) cerca di essere più realistico …

23 stop and wait trasmettitore while (true){ dal_livello_rete(pacchetto);frame.info=pacchetto;al_livello_fisico(frame);aspetta_evento(ack);}Ricevitore attesa_evento();dal_livello_fisico(frame);pacchetto=frame.info;al_livello_rete(pacchetto);al_livello_fisico(ack);}

24 Irrealizzabile, perché? Si dà per certa il fatto che i frame arrivino sempre giusti Si dà per certa il fatto che i frame arrivino sempre giusti E se usassimo un timer? Si potrebbe pensare di inviare un riscontro ogni volta che arriva un frame corretto. Se il trasmettitore non riceve nulla, dopo un certo tempo rispedisce.

25 ma anche questo non funzionerebbe…. E se si perde il frame di ack? E se si perde il frame di ack? In assenza di numerazione dei frame verrebbe rispedito lo stesso frame spedito prima, creando una duplicazione dannosa……. Infatti non abbiamo uno strumento per avvertire il livello rete che una cosa è già arrivata!

26 Per esempio ….. Rimando un frame perché è andato perso ack! Risultato: frame duplicato

27 stop and wait per canale disturbato Inserisco un numero di sequenza e un timer Se il ricevitore riceve il frame atteso manda l ack, il trasmettitore spedisce il prossimo Se non arriva l ack il trasmettitore rispedisce

28 stop and wait per canale disturbato trasmettitoreNum_seq=0;dal_livello_rete(pacchetto); while (true){ frame.info=pacchetto;Frame.seq=Num_seq;al_livello_fisico(frame);Inizio_timer;aspetta_evento(ack); Se (evento==arrivo_ack) { dal_livello_rete(pacchetto);Pacchetto=frame.info; Al_livello_rete (pacchetto); }}

29 stop and wait per canale disturbato ricevitoreNum_seq=0; while (true){ aspetta_evento(arrivo_frame); Se (evento==arrivo_frame) { dal_livello_fisico(frame); Se (frame. Seq==num_seq) Al_livello_rete(frame.info);Num_seq++; } }

30 criticità I protocolli precedenti presentavano criticità I protocolli precedenti presentavano criticità Unidirezionali Unidirezionali Se usiamo un collegamento full duplex uno dei due canali porta solo ack (è quindi sprecato) Se usiamo un collegamento full duplex uno dei due canali porta solo ack (è quindi sprecato) Invece, usando un canale solo in half duplex

31 Il piggybacking Significa letteralmente viaggiare a scrocco Significa letteralmente viaggiare a scrocco Invece di mandare lACK separato.. Invece di mandare lACK separato.. Si attende che il ricevente debba inviare un frame Si attende che il ricevente debba inviare un frame Si appende lack al frame risparmiando Si appende lack al frame risparmiando ack

32 problemi Cè un timeout per inviare lACK? Cè un timeout per inviare lACK? Si, se non cè necessità impellente di inviare un frame di risposta si manda lack separatamente Se il timer scatta troppo presto cosa succede? Se il timer scatta troppo presto cosa succede? Viene rispedito il frame, con ovvio dispendio di banda

33 Riassumendo su un canale unico…. A B dati da A a B ack da A a B dati da B ad A ack da B ad A

34 Sliding windows Letteralmente finestre scorrevoli Letteralmente finestre scorrevoli Ack contiene il numero dellultimo frame ricevuto senza errori Ack contiene il numero dellultimo frame ricevuto senza errori Gli stop and wait per canale disturbato hanno finestra 1 Gli stop and wait per canale disturbato hanno finestra 1

35 In cosa consiste: parte mittente Ogni frame spedito contiene un numero progressivo (0-2 n-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

36 Inoltre… Se arriva un ack (numerato) viene tolto lindice corrispondente dalla finestra Se arriva un ack (numerato) viene tolto lindice corrispondente dalla finestra Se dal livello network arriva un nuovo pacchetto Se dal livello network arriva un nuovo pacchetto si fa avanzare la finestra di una posizione (entra un nuovo indice) Se i buffer sono pieni si ferma il livello network Se i buffer sono pieni si ferma il livello network

37 Cosa succede parte destinatario Il destinatario mantiene una finestra Il destinatario mantiene una finestra Questa non è necessariamente uguale a quella del mittente Questa non è necessariamente uguale a quella del mittente Se arriva un frame il cui indice è fuori dalla finestra è scartato (non si invia lack) Se arriva un frame il cui indice è fuori dalla finestra è scartato (non si invia lack) Se arriva un frame il cui indice è dentro la finestra è accettato ( si invia lack) Se arriva un frame il cui indice è dentro la finestra è accettato ( si invia lack)

38 Nella finestra Frame inviati ma non ancora confermati Frame inviati ma non ancora confermati Frame da inviare Frame da inviare 12345678910111

39 ricevitore Avanza solo se arriva il frame giusto Se arriva un frame il cui indice è fuori dalla finestra è scartato (non si invia lack) Se arriva un frame il cui indice è fuori dalla finestra è scartato (non si invia lack) 12345678910111

40 E se volessimo ottimizzare? Si mandano più frame in cascata, senza aver ricevuto ack del primo Si mandano più frame in cascata, senza aver ricevuto ack del primo Questo metodo è detto pipelining Questo metodo è detto pipelining Ho due metodi per il controllo: go-back-n Ho due metodi per il controllo: go-back-n e selective repeat

41 Go-back-n È in effetti un metodo a finestra 1 È in effetti un metodo a finestra 1 Usato per comunicazioni satellitari Usato per comunicazioni satellitari Se arriva un frame danneggiato o fuori sequenza non si manda ack Se arriva un frame danneggiato o fuori sequenza non si manda ack Il mittente va in timeout, quindi ritrasmette a partire dal primo di cui non ha avuto lACK Il mittente va in timeout, quindi ritrasmette a partire dal primo di cui non ha avuto lACK

42 Selective repeat Il destinatario, invece di scartarli, mantiene i frame successivi a quello non arrivato in un buffer Il destinatario, invece di scartarli, mantiene i frame successivi a quello non arrivato in un buffer Non appena arriva il frame atteso si manda tutto il contenuto del buffer a livello network Non appena arriva il frame atteso si manda tutto il contenuto del buffer a livello network Per ogni frame arrivato bene, viene mandato un ack con il numero più alto ricevuto fino ad allora. Per ogni frame arrivato bene, viene mandato un ack con il numero più alto ricevuto fino ad allora.


Scaricare ppt "Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS."

Presentazioni simili


Annunci Google