Pergunta

Sistemas poderia usar UDP e empregar correção de erros para transmitir a mensagem inteira, sem retransmissões, mesmo se alguns pacotes são perdidos. Faz este trabalho já bem na prática ou é o extra de sobrecarga muito de um desperdício?

Foi útil?

Solução

Eu acho que é útil para algumas aplicações como voz (VoIP), onde pretende erros a evitar, e onde você nunca quer parar (para retransmitir um pacote nu) e wait (até que seja retransmitido) .

Assim, pode ser implementado em cima do href="http://en.wikipedia.org/wiki/Real-time_Transport_Protocol" rel="noreferrer"> Real-Time Protocol sabor UDP.

Não seria terrível para a latência?

Você está perguntando atraso de erro para a frente de correção aumenta end-to-end se? Se assim for, acho que a resposta é "não", mas faz aumentar a largura de banda necessária.

Eu acredito que você sempre precisa já alguns latência, jitter para evitar; assim, por exemplo, você pode dizer "vamos atrasar todo o canal de voz em 200 ms, portanto, qualquer / cada pacote pode ter de 0 a 200 ms para atravessar a internet, e ser remontado e enviada através do conversor D-to-A no outra extremidade. "

Diante desses números, então não tendo nenhuma correção de erros pode significar que, em cada período ms 200, você enviar 10 pacotes, cada um contendo 20 ms de dados ... e se alguém está perdido, então isso é uma lacuna (a falha) na outra extremidade.

Considerando que, tendo alguma correção de erros pode significar que, em cada período ms 200, você ainda enviar 10 pacotes ... cada pacote contém 20 ms de dados, além de 10 ms de dados que já foram transmitidos em outro pacote (ou , talvez você enviar 30 pacotes em vez de 20). Então, se um único pacote é perdido, os dados que ele transportados foi entregue redundently (metade em cada um de dois outros pacotes), que evita qualquer falha na saída descodificada.

Outras dicas

Também faz sentido para o meio de armazenamento, como discos rígidos e discos ópticos, onde você não pode simplesmente voltar à fonte para obter os dados não corrompidos. Na verdade, ambos os discos rígidos e discos ópticos usar correção de erros bastante extensa.

Forward Error Correction também é amplamente utilizado em comunicações sem fio, onde os erros tendem a derrubar apenas alguns pedaços de cada vez. Em vez de perder todo o pacote para um único erro de bit, a correção de erros de encaminhamento é usado para corrigir os bits corrompidos.

depende da aplicação.

Para aplicações como jogos, correções de erros são sempre necessários, uma vez que não vai fazer uma grande diferença se você perder um pouco de dados.

No entanto, se o aplicativo requer específico, no fim-de dados, em seguida, algum tipo de correção de erro é necessária.

Não é uma questão de "overhead", é mais sobre "aplicação".

A resposta simples é se você está enviando mais de uma alta largura de banda de alta-delay (que significa "longa distância") link, correção de erros faz sentido. Caso contrário, provavelmente não.

Quando o "preço" de retransmissão é maior do que o que você está disposto a pagar.
Satélite, por exemplo, tem um tempo de propagação muito longo, é melhor enviar mais alguns bytes, em seguida, para enviar um pacote novamente.

scroll top