71

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

  • 数据包将完全包含在管理域中,可能是 LAN
  • 如果我的应用程序的多个独立实例在同一个网络上使用,它们每个都可以使用自己的多播地址 - 但如果它们不这样做,它们无论如何都可以共存,它们只会有少量的开销忽略彼此的包。
  • 我的数据包已经包含一个“幻数”以避免出现问题
  • 我将检查发起者地址(我知道当然可以被欺骗)、TTL 和其他东西,以防止意外的数据包搞砸。

请想法:)

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

4

5 回答 5

38

It seems you've already found http://www.iana.org/assignments/multicast-addresses, so you've done the right thing by picking an address from the 239.255/16 range.

As those ranges are entirely for site-local use it's no ones else's business which particular address you pick, but you may need to coordinate with the network manager (assuming that's not you) to pick an alternate address pool.

As others have suggested, just make sure there's an easy way to change the address just in case it does conflict with another address on the local LAN.

If the multiple applications issue becomes a problem, provide a (locally) well-known multicast address which the applications can talk to which will issue unique local-scope IP addresses for clients' use.

于 2008-11-03T08:26:59.123 回答
5

如前所述,允许配置范围。但更进一步,不需要配置。您选择范围并在必要时允许配置覆盖。

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

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

于 2008-10-25T12:51:47.403 回答
3

Have you seen this ?

MADCAP

于 2008-11-03T07:47:58.750 回答
1

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

互联网号码分配机构负责分配 IP 地址。他们不分配给 ISP 或个人,但他们有信息根据您所在的地区在哪里获得分配的号码。

于 2008-10-25T11:10:54.817 回答
-1

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

于 2009-05-28T06:46:47.767 回答