Domanda

sistemi potrebbero utilizzare UDP e forward error impiegano la correzione di trasmettere l'intero messaggio, senza ritrasmette, anche se alcuni pacchetti vengono persi. Questo sempre funziona bene in pratica o è il sovraccarico troppo di uno spreco?

È stato utile?

Soluzione

Credo che sia utile per alcune applicazioni come Voice (VoIP), in cui si desidera evitare errori, e dove non si vuole fermare (per ritrasmettere un pacchetto nudo) ed attendere (fino a quando è ritrasmesso) .

Quindi potrebbe essere implementato in cima alla sapore UDP.

  

Non sarebbe terribile per la latenza?

Stai chiedendo se la correzione degli errori in avanti aumenta ritardo end-to-end? Se è così, credo che la risposta è "no", ma fa aumentare la larghezza di banda necessaria.

Ti credo sempre già bisogno di alcuni di latenza, per evitare il jitter; Così, per esempio, si potrebbe dire "facciamo ritardare l'intero canale voce da 200 msec, in modo che qualsiasi / ogni pacchetto può prendere da 0 a 200 msec di attraversare Internet, ed essere rimontato e inviati attraverso la A D-to-convertitore al dall'altra parte ".

A fronte di tali numeri, quindi non avendo la correzione degli errori in avanti potrebbe significare che, in ciascun periodo di millisecondi 200, di inviare 10 pacchetti contenenti ciascuno 20 msec di dati ... e se uno è perso, allora questo è un gap (un problema tecnico) all'altra estremità.

considerando che, avendo un po 'di correzione degli errori in avanti potrebbe significare che, in ciascun periodo di millisecondi 200, si invia ancora 10 pacchetti ... Ogni pacchetto contiene 20 ms di dati, più 10 msec di dati che è già stato trasmesso in un altro pacchetto (o , forse si invia 30 pacchetti invece di 20). Quindi, se un singolo pacchetto viene perso, i dati che portava stato consegnato redundently (metà in ciascuno degli altri due pacchetti), che evita qualsiasi problema tecnico nel uscita decodificata.

Altri suggerimenti

Ha senso anche per il supporto di memorizzazione, come dischi rigidi e dischi ottici, in cui non si può semplicemente tornare alla fonte per ottenere i dati non corrotti. In realtà, entrambi i dischi rigidi e dischi ottici utilizzano forward error correction abbastanza ampiamente.

Forward Error Correction viene ampiamente utilizzato anche nelle comunicazioni wireless, in cui gli errori tendono a mettere fuori pochi bit alla volta. Invece di perdere l'intero pacchetto a un unico errore di bit, la correzione degli errori in avanti viene utilizzato per fissare i bit corrotti.

dipende dall'applicazione.

Per applicazioni come giochi, correzioni di errori sono sempre necessarie, come è solito fare una grande differenza se si perde un po 'di dati.

Tuttavia, se l'applicazione richiede specifica, in ordine di dati, quindi una sorta di correzione di errore è necessaria.

Non è una questione di "testa", è più di "applicazione".

La risposta è semplice se si sta inviando nel corso di un elevata ampiezza di banda alta ritardo (che significa "a lunga distanza") di collegamento, la correzione degli errori in avanti ha un senso. In caso contrario, probabilmente non è così.

Quando il "prezzo" di ritrasmissione è superiore a quello che si è disposti a pagare.
Satellite per esempio ha un tempo di propagazione molto lungo, è meglio inviare qualche ulteriore byte quindi inviare nuovamente un pacchetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top