【问题标题】:Generate random IPv6 multicast address Java生成随机 IPv6 多播地址 Java
【发布时间】:2015-03-02 07:40:08
【问题描述】:

我正在寻找一种在 Java 中为分布式发布/订阅应用程序生成随机 IPv6 多播地址的方法。

这意味着可能有许多(分布式)节点,每个节点应该能够生成(可能很多)随机且唯一的 IPv6 多播地址。

我不确定如何有效且安全地执行此操作。假设一个固定的多播前缀给我们留下了 2^112 个唯一的多播地址,但这确实需要一个好的随机数生成器,一个可以在分布式设置中使用的随机数生成器。也许我应该用时间或类似的方式播种?即使我这样做了,我也不确定什么是构造 IPv6 地址的好方法,Java 不会立即为此提供功能。

有什么建议吗?

【问题讨论】:

  • SSM 只能获得 31 位;请参阅 RFC 4607。
  • 谢谢,我不知道。但是,我想做的事情保持不变。这不会进入商业/现实应用程序。
  • 在公共互联网上使用?否则,只需使用 ffx8::/16 之类的范围前缀之一,并将低 112 位替换为主机单播地址。

标签: java ipv6 multicast


【解决方案1】:

MockNeat 中包含一个 IPv4 和 IPv6 任意数据生成器。

检查方法:ipv4s()ipv6s()

来自 wiki 的示例:

String ipv6 = mock.iPv6s().val();
// Possible Output: 35f1:b02f:8843:9abb:82bf:967a:34f5:ed8b

免责声明:我是该库的作者,所以我在推荐它时可能会有偏见。

【讨论】:

  • 谢谢。而且,看起来实际上您最近的所有答案都在做同样的事情。您应该为所有这些添加免责声明。也就是说,为了自我推销而挖掘旧问题对我来说确实有点像虐待。
  • @Michael 正是我在做什么,我已经在所有最近的答案中添加了免责声明。只要答案回答了问题,这就是滥用吗?
  • 我不确定对此的“官方”立场。也许免责声明就足够了,也许还不够。如果我是你,我会小心的。我会亲自检查元数据,看看之前是否已经讨论过这个问题,以确保您没有违反任何规则。
  • @Michael 在 meta 上找到了一个关于此的主题。据我了解,只要我尝试记录答案并添加免责声明,这是允许的。我会进一步检查。
  • 是的,我也一直在阅读。如果有免责声明,它似乎总体上很好,并且它一个实际的答案,而不仅仅是指向回购的链接。所以我认为你在这两个方面都很好。对我来说唯一不清楚的是,我们是否要鼓励专门寻找您的图书馆适用的问题并只回答这些问题。我的看法是,只要你在帮助别人,一点自我推销不会伤害任何人。顺便说一句,你的图书馆看起来很酷,干得好!
猜你喜欢
  • 1970-01-01
  • 2014-08-07
  • 2012-03-03
  • 1970-01-01
  • 1970-01-01
  • 2017-10-02
  • 2011-10-26
  • 2012-05-03
  • 1970-01-01
相关资源
最近更新 更多