对 TCP 与多播的“真正节省”进行了有趣的讨论,发现我们都无法证明我们关于复制数据的切换成本的假设,而且我一直无法找到明确的答案。
这是场景: - 我们有一个服务器,它通过 TCP 发布到 3 个客户端。- 服务器和客户端在一个交换机上。
我们同意从 TCP 切换到多播可以节省网络,但不同意这些节省有多大。
有明显且易于搜索的节省: - 多播上的较小标头 - 没有连接消息 - 没有 ack 消息
我们不同意的地方是开关将节省多少“工作”。在 TCP 中,数据将从服务器复制到交换机,并切换到客户端 3 次(3 次向上,3 次向下)。在多播中,数据将从服务器复制到交换机一次,然后复制到客户端 3 次(1 次向上,3 次向下)。
我的同事认为,到客户端的 3 个多播副本对于交换机而言与 tcp 副本一样多(相对于大小和其他协议差异),而我相信交换机具有可以使多播副本显着降低成本的优化。
或者换一种说法,添加第 4 个多播客户端会“几乎是 tcp 的一半昂贵”还是“几乎免费”?