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

时间:2008-10-25 10:57:06

标签: networking udp multicast ipv4

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

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

想法请:)

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

5 个答案:

答案 0 :(得分:31)

您似乎已找到http://www.iana.org/assignments/multicast-addresses,因此您通过从239.255/16范围内选择地址来做正确的事。

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

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

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

答案 1 :(得分:4)

如上所述,允许配置范围。但进一步说,不要求配置。您可以选择范围并允许配置在必要时覆盖。

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

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

答案 2 :(得分:3)

你见过这个吗?

MADCAP

答案 3 :(得分:1)

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

Internet Assigned Numbers Authority负责分配IP地址。他们没有分配给ISP或个人,但他们有information根据您的地区分配号码的地方。

答案 4 :(得分:0)

ZMAAPMADCAP的零配置替代方案。我怀疑它有任何公共源实现。如果你找到一个,那么我想知道它。