如何为我的应用程序选择多播地址?

Mar*_*rkR 65 networking udp multicast ipv4

我应该如何为我的应用程序选择IPv4多播地址?我可能需要多个(最终可能是整个范围),但只是想避免与其他应用程序冲突.

  • 数据包将完全包含在管理域中,可能是LAN
  • 如果我的应用程序的几个独立实例在同一网络上使用,他们每个都可以使用自己的多播地址 - 但如果他们不这样做,他们将能够共存,他们只会忽略少量开销彼此的包裹.
  • 我的数据包已经包含一个"幻数"以避免出现问题
  • 我将检查发起人地址(我知道当然可以欺骗),TTL和其他事情,以防止意外的数据包混乱.

想法请:)

目前我刚从"本地使用"空间分配了一个任意的空间,239.255.42.99

Aln*_*tak 34

看来你已经找到了http://www.iana.org/assignments/multicast-addresses,所以你通过从239.255/16范围中选择一个地址做了正确的事情.

由于这些范围完全用于站点本地使用,因此您选择的特定地址不是别人的业务,但您可能需要与网络管理员协调(假设不是您)来选择备用地址池.

正如其他人所建议的那样,只要确保有一种简单的方法来改变地址,以防它与本地局域网上的另一个地址发生冲突.

如果多个应用程序问题成为问题,请提供应用程序可以与之通信的(本地)众所周知的多播地址,该地址将发出唯一的本地范围IP地址供客户端使用.

  • 239.0.0.0/8是Administratively Scoped IPv4多播空间.239.255.0.0/16是RFC 2365中的一个子集(IPv4本地范围).可能更接近此处所需的子集是239.192.0.0/14(IPv4组织本地范围). (11认同)

Cor*_*ger 5

正如已经建议的那样,允许配置范围。但更进一步,不需要配置。您选择范围并允许配置在必要时覆盖。

您的应用程序中应该有一些逻辑来处理外部数据包,通过日志或其他机制提醒用户您的应用程序已检测到来自另一个应用程序的多播数据包,并提供有关如何更改配置的说明。

如果事实证明存在冲突,请在彩票中玩这些数字!


Bri*_*ews 1

如果它只是供内部使用,那么为什么不将地址范围外部化为配置并继续使用内部使用。

互联网号码分配机构负责分配 IP 地址。他们不会分配给 ISP 或个人,但他们会根据您所在的地区提供从何处获取分配号码的信息。