首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只有一个绑定到地址和端口的客户端:在开销方面,广播和单播有区别吗?

只有一个绑定到地址和端口的客户端:在开销方面,广播和单播有区别吗?
EN

Server Fault用户
提问于 2012-09-08 17:12:20
回答 4查看 137关注 0票数 1

设想情况:

我正在为一个网络节点实现失败,所以我的想法是让主节点监听一个广播ip地址和端口。如果主节点失败,另一个故障转移节点将开始侦听此广播地址(和端口)并接管。

问题:

我担心的是,我将只为一个节点使用一个广播IP地址:主节点。只有当主节点失败时,故障转移节点才会绑定,换句话说,几乎从不绑定。

就网络/流量开销而言,通过广播地址与单个节点交谈是不好的,还是网络聪明到知道没有其他人在监听该广播地址,并将其视为开销的单播?

我担心的是,即使我真的是在和一个节点(主节点)交谈,我也会用这个广播地址的数据包淹没我的网络。但是我不能使用单播,因为故障转移节点必须能够快速、透明地获取主流,以防失败。

EN

回答 4

Server Fault用户

发布于 2012-09-12 11:56:30

听起来你在尝试以自己的方式重新创建NIC团队/集群。大多数主动/被动集群将共享虚拟IP和MAC地址,当一个单元失败时,第二个单元将接管共享的mac地址。使用广播IP与集群通信是不正常的,几乎肯定会在整个LAN中产生不必要的通信量。

票数 2
EN

Server Fault用户

发布于 2012-09-14 14:22:11

一般情况下,网络不可能预先预测或立即意识到节点的故障。

因此,你必须:

  • 接受以下事实:检测故障并转移到故障转移节点总是需要一小段时间。
  • 预先将通信量发送到备份节点,从而降低网络效率。

在网络级别上的可靠消息传递很难实现,而且成本很高。这就是为什么我们使用哑分组交换网络,并在传输层实现可靠性。这是使用浮动IP (可能还有MAC)地址并等待(网关ARP缓存/交换机转发表)更新的场景。

但是,如果如此重要的是,你永远不会错过一个包,你将不得不支付一些效率。如果您使用多播(非广播)地址,并且您的冗余路径通过能够侦听IGMP的交换机,那么它们应该足够聪明,至少不会淹没整个LAN。备份节点仍然需要一种方法来可靠地检测主节点的故障。

如果您使用流,而不是在多播udp之上使用您自己的临时可靠协议,您可能需要查看SCTP,因为它可以处理多宿主,并且可以有利地替代udp或tcp。

票数 2
EN

Server Fault用户

发布于 2012-09-19 06:29:30

是的,广播是有开销的。连接到交换机的节点越多,开销就越大。因此,只有当您真正希望到达所有节点和/或当您试图发现移动到其他地方的节点时,才应该发送广播。广播一次,等待来自任何位置的节点的回复,发现它的新地址,并从现在开始使用单播。很美,不是吗?:)

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/425604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档