Pregunta

Los sistemas podrían utilizar UDP y emplear la corrección de errores hacia adelante para transmitir todo el mensaje, sin retransmisiones, incluso si se pierden algunos paquetes. ¿Tiene esto alguna vez funciona bien en la práctica o es la sobrecarga adicional demasiado de una pérdida?

¿Fue útil?

Solución

Creo que es útil para algunas aplicaciones como voz (VoIP), en las que desee evitar errores, y donde usted nunca quiere dejar de (retransmitir un paquete NAK) y esperar (hasta que se volvió a transmitir) .

Por lo que podría ser implementado en la parte superior de la UDP.

  

¿No sería terrible para la latencia?

¿Usted está preguntando si la corrección de errores hacia adelante aumenta retardo de extremo a extremo? Si es así, creo que la respuesta es "no", pero sí aumenta el ancho de banda necesario.

Te creo ya siempre necesito algunos latencia, para evitar la fluctuación; Así, por ejemplo, se podría decir "vamos a retrasar todo el canal de voz de 200 ms, por lo que cualquier / cada paquete puede tener de 0 a 200 ms para cruzar el Internet, y volver a montar y se envía a través de la A D-a-convertidor en el otro extremo ".

Teniendo en cuenta esos números, y luego tener ninguna corrección de errores hacia adelante podría significar que, en cada periodo de 200 ms, se envía 10 paquetes conteniendo cada uno 20 mseg de datos ... y si uno se pierde, entonces eso es un espacio (un fallo) en el otro extremo.

Considerando que, de alguna corrección de errores hacia adelante podría significar que, en cada periodo de 200 ms, todavía envía 10 paquetes ... Cada paquete contiene 20 ms de datos, además de 10 mseg de datos que ya ha sido transmitido en otro paquete (o , puede que usted envía 30 paquetes en lugar de 20). Entonces, si se pierde cualquier paquete individual, los datos que lleva fue entregado redundently (media en cada uno de otros dos paquetes), lo que evita cualquier problema técnico en la salida decodificada.

Otros consejos

También tiene sentido para el medio de almacenamiento, tales como discos duros y discos ópticos, en los que no se puede simplemente volver a la fuente para obtener los datos no corrompidos. De hecho, los dos discos duros y discos ópticos utilizan corrección de errores muy ampliamente.

corrección de errores también se usa ampliamente en las comunicaciones inalámbricas, donde los errores tienden a noquear a pocos bits a la vez. En lugar de perder todo el paquete a un solo bit de error, la corrección de errores se utiliza para fijar los bits corruptos.

Depende de la aplicación.

Para aplicaciones tales como juegos, correcciones de errores son siempre necesario, ya que no hará una gran diferencia si se pierde un poco de datos.

Sin embargo, si la aplicación requiere específica, en orden, entonces algún tipo de corrección de errores es necesaria datos.

No es una cuestión de "gastos generales", se trata más de "aplicación".

La respuesta es sencilla: si va a enviar más de un gran ancho de banda alto retardo (que significa "larga distancia") de enlace, de corrección de errores hacia adelante tiene sentido. De lo contrario, es probable que no lo hace.

Cuando el "precio" de retransmisión es mayor que lo que están dispuestos a pagar.
Satélite, por ejemplo, tiene un tiempo de propagación muy largo, es mejor enviar unos cuantos bytes a continuación para enviar un paquete nuevo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top