【问题标题】:Which protocol should I be using for encrypted streaming?我应该使用哪种协议进行加密流式传输?
【发布时间】:2011-07-09 17:58:38
【问题描述】:

我正在流式传输一个文件(MP3),该文件在收到 100KB 后开始在客户端上播放。我需要完美的播放。

我必须对文件进行分段,以便它可以在客户端进行缓冲,那么这里最好使用 UDP + 某种自定义的可靠传输协议吗? (假设我保持数据报小~1400字节)

或者我应该只使用 TCP 吗?如果 TCP - 我应该将文件分段到什么大小以获得最佳性能 - 我假设它将与 TCP 数据包的大小有关?

我在某处读到,使用 TCP 而不是 UDP + 可靠性协议的原因是 TCP 做了一些花哨的事情来管理/与其他应用程序共享带宽,而 UDP 是贪婪的。这是真的?如果是这样,如果我决定使用 UDP,是否意味着如果我同时向多个客户端流式传输,我将不得不包含一些奇特的算法来共享带宽?

【问题讨论】:

    标签: encryption tcp streaming udp


    【解决方案1】:

    这里最好使用 UDP + 某种自定义的可靠传输协议吗?

    不要试图重新发明 TCP。它可能比你自己做的任何东西都要好。

    或者我应该只使用 TCP 吗?如果 TCP - 我应该将文件分段到什么大小以获得最佳性能 - 我假设它将与 TCP 数据包的大小有关?

    完全不需要使用 TCP 来分割文件——毕竟它是一个基于流的协议。只需开始通过连接将其全部发送出去,您就会在 MP3 数据到达时收到它。

    【讨论】:

    • 如果我加密整个文件,我肯定需要整个文件来解密吗?我认为创建一个类似于 TCP 可靠性位的可靠传输协议也不是那么困难,除非它比我想象的复杂得多。
    • 通常没有。大多数加密方案一次处理一个小块 (≤1 KB),或者在流密码的情况下一次处理一个字节。
    • 在考虑像 CFB 这样的密码模式时,每个分组密码都可以变成蒸汽密码
    猜你喜欢
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    相关资源
    最近更新 更多