【问题标题】:What are some data encoding options for transmission over a lossy network?在有损网络上传输有哪些数据编码选项?
【发布时间】:2013-12-31 21:55:43
【问题描述】:

很久以前,我正在阅读一种用于传输有损数据的蜂窝编码技术。如果我记得它填充了数据或其他东西,或者为它提供了某种冗余,因此只需要接收 60% 的传输就可以发送完整的信息。我不记得编码的名称了。

无论如何,我需要一些可以用来编码具有类似冗余/弹性属性、通过有损 UDP 网络、无线电等进行 IE 传输的数据的东西。

是否有人对有损网络中数据完整性的适当编码方案有想法?尤其是我可以使用 Python 实现的东西,但是 Python 不是必需的。

【问题讨论】:

  • 你使用的网络库不会帮你处理吗?
  • @WaleedKhan 我认为这是假设传输在 non-reliable 层上是有损的(其中 ack/retransmission 不可行或无效).. 或者答案是“ TCP”,问题就没有了。
  • 我的思绪立刻跳到了旧的PAR2 格式。不确定这是否适合您。
  • 似乎大多数 EC(例如 Reed-Solomon)都关注数据包内损坏:这是在硬件级别处理的。

标签: networking encoding data-integrity loss


【解决方案1】:

在我的军事模拟时代,我们使用Reliable UDP 的风格。虽然不是一个正式的标准,但在野外有一些实现。

这个想法是为数据包添加 awknowledgements,以及重新发送丢失/丢弃的数据包的能力。

如果您担心加密位,您可以向数据包本身添加一个简单的 CRC 或哈希来验证完整性。

【讨论】:

  • 重新发明 TCP 不是很有趣。此外,对于非常有损(例如 60% 的损失)的网络,使用更多的数据冗余来最小化重传似乎会更有效。
  • RUDP 不是 TCP。 RUDP 的整体思想是具有一些附加功能,您可以在没有 TCP 额外开销的情况下获得可靠的传输。
  • sigh 这不是字面意思。无论如何,都没有添加冗余或纠正(除了ack/retrans)能力到流中。 (相反,RTO 可以在传输时使用更好的技术来最大程度地减少回声。)
猜你喜欢
  • 1970-01-01
  • 2014-10-20
  • 2012-07-14
  • 2018-12-19
  • 1970-01-01
  • 2011-03-23
  • 1970-01-01
  • 1970-01-01
  • 2015-10-11
相关资源
最近更新 更多