Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoSabino Vitale Modificato 10 anni fa
1
Introduzione al controllo derrore
2
Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo derrore, necessario per ottenere un trasposto affidabile, si basa su: Le tecniche di controllo derrore sono applicate a tutti i livelli dello stack di protocolli. somme di controllo (checksum); correzione degli errori. Ci occuperemo delle tecniche di controllo e correzione importanti per i livelli 3 e 4, e in particolare per la suite di protocolli TCP/IP. In questi casi, il ricevente riceve un messaggio diverso da quello trasmesso dal mittente.
3
IP checksum Il valore del checksum si calcola: trattando lintestazione come una sequenza di interi a 16 bit (2 byte alla volta) dove checksum vale 0; sommando gli interi (con aritmetica in complemento a 1); prendendo il complemento a 1 (cioè il not binario) del risultato. Versione (4) Tipo di Servizio(8)Lunghezza Totale(16)IHL(4) Id del Datagramma(16)Offset di Frammentazione(13) Flag(3) Checksum dello header(16)Protocollo(8)Time To Live(8) Indirizzo IP sorgente(32) Indirizzo IP destinazione(32) OpzioniPadding Dati Si ripete loperazione e si confronta il valore di checksum ottenuto con quello ricevuto.
4
TCP checksum TCP utilizza un meccanismo analogo, inoltre: aggiunge una pseudo-intestazione che contiene, fra laltro, lIP della sorgente e della destinazione; prende in considerazione anche i dati. Porta mittentePorta destinatario Numero di sequenza Numero di acknowledgement Lunghezza header Riservato Bit di codice Finestra Puntatore urgente Eventuali opzioni DATI Riempimento
5
Gestione dellerrore (1) Grazie al controllo di ridondanza con questi checksum, il ricevente riesce a stabilire se il frame sia arrivato integro o meno. Il servizio così ottenuto è di tipo best-try: se un frame arriva a destinazione corrotto, lo si scarta. è valida per un protocollo connectionless, come UDP, dove il trasporto non è garantito; è chiaramente insufficiente per un protocollo connection-oriented come TCP. Questa procedura:
6
Gestione dellerrore (2) Perchè il trasporto sia garantito, dobbiamo avere una strategia di reazione ad un frame corrotto. Ricordiamo le due principali strategie. Forward Error Correction (FEC) Vengono utilizzati particolari codici di ridondanza (come il CRC del frame Ethernet) che permettono, non solo di rilevare lesistenza di un errore, ma anche di correggerlo. Automatic Repeat reQuest (ARQ) Richiesta di ripetizione automatica, spesso usata a livello 3. –Il ricevente controlla se il pacchetto ricevuto è integro e manda conferma al mittente. –Se il pacchetto è corrotto il mittente può ritrasmetterlo finché non arriva correttamente.
7
Tipi di ARQ IDLE RQ (detto anche Stop & Wait o Send & Wait) Manda pacchetto e aspetta conferma prima di mandare il successivo. Se corrotto ritrasmetti. Continuous RQ Manda una sequenza di pacchetti. Se alcuni sono corrotti, ritrasmettili. Le possibili strategie di ritrasmissione sono: –Go-Back-N –Selective Repeat Obiettivi: correttezza (i pacchetti devono arrivano integri e nella corretta sequenza); efficienza (sfruttare al meglio la banda di trasmissione).
8
Idle RQ I pacchetti vengono trasmessi serialmente da M(ittente) a R(icevente).
9
M spedisce il pacchetto e attende conferma da R. Se entro un certo tempo T non viene ricevuto un pacchetto di controllo detto ACK (ACKnoledgement), il pacchetto viene rispedito automaticamente. Se R riceve correttamente il pacchetto (controllo di ridondanza) manda ad M un ACK (ACKnoledgement), per confermare la corretta ricezione. Se invece il pacchetto arriva corrotto R può : a)attendere che M lo rispedisca; b)inviare un blocco di controllo NAK (Negative ACKnowledgement) per richiedere la ritrasmissione (explicitrequest). Funzionamento di Idle RQ
10
Idle RQ con ri-trasmissione implicita (1)
11
Idle RQ con ri-trasmissione esplicita (2)
12
Idle RQ: temporizzazione
13
Il tempo di timeout, dopo il quale M ritrasmette il pacchetto, deve essere scelto tenendo conto dellentità dei tempi di propagazione, trasmissione ed elaborazione. Visto che M rispedisce il pacchetto allo scadere del timer, e possibile che R ne riceva più di uno: quelli di troppo vengono scartati. Perché R possa riconoscere di aver già ricevuto un pacchetto, è necessario che questi siano numerati. In IDLE RQ, visto che M non manda mai un nuovo pacchetto prima di aver ricevuto un ACK su quello precedente, bastano 2 numeri di frame, tipicamente 0 e 1. Idle RQ: timeout FINE
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.