Grafico comparativo
Base per il confronto | Controllo del flusso | Controllo degli errori |
---|---|---|
Di base | Il controllo del flusso è inteso per la corretta trasmissione dei dati dal mittente al destinatario. | Il controllo degli errori è pensato per fornire i dati privi di errori al ricevitore. |
Approccio | Il controllo del flusso basato sul feedback e il controllo del flusso basato sulla velocità sono gli approcci per ottenere il controllo del flusso corretto. | Controllo di parità, codice di ridondanza ciclico (CRC) e checksum sono gli approcci per rilevare l'errore nei dati. Codice di Hamming, codici di convoluzione binario, codice Reed-Solomon, codici di controllo di parità a bassa densità sono gli approcci per correggere l'errore nei dati. |
urto | evitare sovraccarico del buffer dei ricevitori e prevenire la perdita di dati. | Rileva e corregge l'errore verificatosi nei dati. |
Definizione del controllo del flusso
Il controllo del flusso è un problema di progettazione a livello di collegamento dati e livello di trasporto. Un mittente invia i frame di dati più velocemente di quanto il ricevitore possa accettare. La ragione può essere che un mittente è in esecuzione su una macchina potente. In questo caso, anche i dati vengono ricevuti senza errori; il ricevitore non è in grado di ricevere il frame a questa velocità e perde alcuni frame. Esistono due metodi di controllo per prevenire la perdita dei frame, controllo del flusso basato sul feedback e controllo del flusso basato sulla velocità.
Controllo basato sul feedback
Nel controllo basato sul feedback ogni volta che il mittente invia i dati al ricevitore, il ricevitore invia quindi le informazioni al mittente e consente al mittente di inviare più dati o informare il mittente su come sta facendo il ricevitore. I protocolli del controllo basato sul feedback sono il protocollo sliding window, il protocollo stop-and-wait.
Controllo del flusso basato sulla velocità
Nel controllo del flusso basato sulla frequenza, quando un mittente trasmette i dati più velocemente al ricevitore e il ricevitore non è in grado di ricevere i dati a quella velocità, allora il meccanismo integrato nel protocollo limiterà la velocità con cui i dati vengono trasmessi dal mittente senza alcun feedback dal ricevitore.
Definizione del controllo degli errori
Controllo degli errori è il problema che si verifica anche a livello di collegamento dati e livello di trasporto. Error Control è un meccanismo per rilevare e correggere l'errore verificatosi nei frame consegnati dal mittente al destinatario. L'errore si è verificato nel frame può essere un errore di singolo bit o errore burst. L'errore a singolo bit è l'errore che si verifica solo nell'unità di dati a un bit del frame, dove 1 è cambiato in 0 o 0 è cambiato in 1. L'errore di burst è il caso in cui vengono modificati più di un bit nel frame; si riferisce anche all'errore di livello del pacchetto. In caso di errore burst, possono verificarsi anche errori come perdita di pacchetti, duplicazione del frame, perdita del pacchetto di riconoscimento, ecc. I metodi per rilevare l'errore nel frame sono il controllo di parità, il codice di ridondanza ciclica (CRC) e il checksum.
Controllo di parità
Nel controllo di parità, al frame viene aggiunto un singolo bit che indica se il numero di bit "1" contenuto nel frame è pari o dispari. Durante la trasmissione, se viene modificato un singolo bit, anche il bit di parità riceve un cambiamento che riflette l'errore nel frame. Ma il metodo di controllo di parità non è affidabile come se il numero pari di bit fosse cambiato, quindi il bit di parità non riflette alcun errore nel frame. Tuttavia, è meglio per un errore a bit singolo.
Cyclic Redundancy Code (CRC)
In Cyclic Redundancy Code i dati sono sottoposti a una divisione binaria indipendentemente dal resto ottenuto, allegata ai dati e inviata al destinatario. Il ricevitore divide quindi i dati ottenuti con lo stesso divisore con cui il mittente ha diviso i dati. Se il resto ottenuto è zero, i dati vengono accettati. Altrimenti i dati vengono rifiutati e il mittente deve ritrasmettere di nuovo i dati.
checksum
Nel metodo checksum, i dati da inviare sono divisi in frammenti uguali per ciascun frammento contenente n bit. Tutti i frammenti vengono aggiunti utilizzando il complemento a 1. Il risultato è completato ancora una volta, e ora la serie di bit ottenuta viene chiamata checksum che viene allegata con i dati originali da inviare e inviare al destinatario. Quando il ricevitore riceve i dati, divide anche i dati in frammenti uguali, quindi aggiunge tutti i frammenti usando il complemento a 1; il risultato è di nuovo completato. Se il risultato risulta pari a zero, i dati vengono accettati, altrimenti vengono respinti e il mittente deve ritrasmettere i dati.
L'errore ottenuto nei dati può essere corretto utilizzando metodi come codice Hamming, codici binario di convoluzione, codice Reed-Solomon, codici di controllo di parità a bassa densità.
Differenze chiave tra il controllo del flusso e il controllo degli errori
- Il controllo del flusso consiste nel monitorare la corretta trasmissione dei dati dal mittente al ricevente. D'altra parte, Controllo errori controlla la consegna dei dati senza errori dal mittente al destinatario.
- Il controllo del flusso può essere ottenuto mediante il controllo del flusso basato sul Feedback e l'approccio di controllo del flusso basato sulla velocità mentre, per rilevare l'errore, gli approcci utilizzati sono Parity checking, Cyclic Redundancy Code (CRC) e checksum e per correggere l'errore utilizzato da Hamming codice, codici binario di convoluzione, codice Reed-Solomon, codici di controllo di parità a bassa densità.
- Il controllo del flusso impedisce al buffer del ricevitore di sovraccaricare e impedisce anche la perdita di dati. D'altra parte, il controllo degli errori rileva e corregge l'errore verificatosi nei dati.
Conclusione:
Entrambi i meccanismi di controllo, ovvero il controllo del flusso e il controllo degli errori, sono il meccanismo inevitabile per fornire dati completi e affidabili.