networking - LAN 中的组播与广播

标签 networking broadcast multicast

使用多播组发送消息而不是将它们广播到特定端口有什么好处吗?我知道在广播时,其他不想要消息的计算机也会收到它们,但是它对性能/流量有多大影响?不关心的计算机不是立即转储消息吗?

作为一个附带问题,局域网外的多播是否有效?

最佳答案

我假设您在谈论 IP 流量。当您说 LAN 时,我会假设您指的是办公楼内的以太网拓扑(我将在下面更具体地介绍拓扑)。

当广播不够好时应该使用多播。这听起来像是一个讽刺,但实际上这是回答这个问题的最佳方式......人们可能想要多播而不是广播的原因有很多......

  • 多播在不需要时不消耗 CPU 和带宽资源。根据您发送的广播数量,这对相关各方可能有意义也可能没有意义。但是,广播流量总是会消耗 Vlan 中每个设备的带宽
  • 可以在单个交换以太网内修剪多播流量 Vlan/广播域,不能在广播域内修剪定义的广播。
  • 中大型写字楼局域网通常有5个或10个Vlans大约 300 人。一个 Vlan是一种定义广播域边界的方法。可以设计多播流量和拓扑,使该流量可靠地穿越以太网广播域;跨多个广播域转发任何实际数量的广播流量并不是一个好主意。你经常发现多个Vlans或在只有 40 人的办公楼中广播域。
  • 与上一点密切相关,IP 多播流量可以通过广域网发送。
  • 如果支付您薪水的客户对此持教条态度,则应使用多播而不是广播流量

  • 您可能想要使用广播流量而不是多播流量的原因有多种......
  • 您的应用程序的流量非常低,并且仅限于单个 Vlan
  • 您认为目标受众太便宜,无法为正确执行多播而增加的人员配备和 IT 基础设施付费(IP 多播要求比简单的 IP 单播/广播流量要详细得多)
  • 如果您没有正确配置您的基础设施,(作为一般规则)IP 多播被视为广播流量。多播要求增加了任何应用程序部署时间表的时间/成本
  • 否则,软件开发人员不想投入时间和精力来处理各种主机操作系统 IGMP 堆栈和其他多播基础设施复杂问题
  • 关于networking - LAN 中的组播与广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7779460/

    相关文章:

    c - 无法从终端设置 Ad-hoc 网络

    c# - 对等网络应用程序的网络发现

    android - 蓝牙广播

    Java-SocketException : Not a multicast address

    python - 为什么主机中止连接?

    c# - 在某个端口上查找传出连接的 IP 地址

    java - apache Camel 多播 - 以异步方式执行聚合

    Python recv 多播返回一个字节

    java - 对于 QuoteServerThread 类型,方法 getNextQuote() 未定义

    java - Android 广播到 255.255.255.255 不起作用