【问题标题】:Reduce Storage, By Juggling Packets in Network?通过在网络中处理数据包来减少存储空间?
【发布时间】:2015-05-10 20:32:38
【问题描述】:

首先我想说,我感觉这个想法不会像我想象的那样奏效,但我不知道为什么。我可能对互联网的运作方式做出了某种错误的假设。

假设服务器 A 有一个大小为 1024 kb 的文件。该文件被分成 1024 个数据包,通过网络发送。服务器 A 通过 TCP 将这 1024 个数据包发送到服务器 B。一旦 B 收到一个数据包,它就会将它发送回 A,反之亦然。如果任何第 3 方 C 向 A 请求数据,它将复制从 B 接收到的每个数据包并发送给 C 和 B。

在此方案中,服务器 A 可以在将所有数据包发送到 B 后删除其文件,从而释放磁盘空间。服务器 A 和 B 只需要在任何给定时间存储一个数据包,其余数据包将在网络中“杂耍”。

真的可以通过网络“杂耍”来存储数据吗?我是否低估了接收和发送数据包的开销?

编辑:这是假设 100% 的网络可靠性,这可能是一个完全不切实际的假设。

【问题讨论】:

    标签: networking tcp cloud server transfer


    【解决方案1】:

    网络确实具有某种“存储”容量,通常以“Bandwidth-delay product”来衡量。 (将网络视为管道,然后它的存储容量,管道可以容纳的数据量(水)是该管道的体积,面积长度的乘积。)如果您使用不可靠的协议(例如 UDP)来做“循环发送”,超出容量的额外数据将简单丢失。如果使用 TCP 来做,在填满“管道”后,发送会填满 OS 内部的发送缓冲区,然后阻塞。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-01
      • 2016-09-26
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多