![224.0.0.1-255 和 239.0.0.0/8 块之间的 IP 多播差异](https://linux22.com/image/599153/224.0.0.1-255%20%E5%92%8C%20239.0.0.0%2F8%20%E5%9D%97%E4%B9%8B%E9%97%B4%E7%9A%84%20IP%20%E5%A4%9A%E6%92%AD%E5%B7%AE%E5%BC%82.png)
两者之间有何区别:
本地子网
224.0.0.0 到 224.0.0.255 范围内的地址由 IANA 单独分配,仅用于在本地子网上进行多播。例如,路由信息协议 (RIPv2) 使用 224.0.0.9,开放最短路径优先 (OSPF) 使用 224.0.0.5 和 224.0.0.6,而 Zeroconf mDNS 使用 224.0.0.251。路由器不得将这些消息转发到其来源子网之外。
和
管理范围的 IPv4 多播地址
239.0.0.0/8 范围由 RFC 2365 指定,供组织内部私人使用。根据 RFC,发往管理范围 IPv4 多播地址的数据包不会跨越管理定义的组织边界,并且管理范围 IPv4 多播地址是本地分配的,不必是全局唯一的。RFC 还讨论了如何将 239.0.0.0/8 范围构建为与 RFC 1884 中描述的 IPv6 多播地址范围大致相似。
我是否正确?如果您使用 224 块,您就必须适应 RFC 中描述的 IANA 保留地址指南,而在 239 块上您可以做您想做的事情?
答案1
我同意你的观点。我认为 224.0.0.0 - 224.0.0.255 是由 IANA 分配的,因此除非他们分配了你尝试使用的地址,否则你不应该使用它们。这也意味着你应该只使用 224.0.0.251 进行 mDNS(如相关文档所述),你应该不是使用任何当前未使用的东西,因为它可能会在以后被分配。
239.0.0.0/8 - 听起来相当于 10.0.0.0/8 的多播。只需确保您不会将 239.0.0.0/8 多播路由到不受您控制的网络。私有 IPv4 地址也是如此,但实际上并非如此。