据我了解,IANA分配的公共IPv6地址的前缀为2000 :: / 3。这些IP地址将可以通过Internet路由。
另一侧的IPv6组播地址前缀为FF00 :: / 8。
我的理解是IPv6多播地址无法通过Internet路由。我对吗?如果是这样,是否可以通过IPv6在Internet上进行一对多IP路由?
据我了解,IANA分配的公共IPv6地址的前缀为2000 :: / 3。这些IP地址将可以通过Internet路由。
另一侧的IPv6组播地址前缀为FF00 :: / 8。
我的理解是IPv6多播地址无法通过Internet路由。我对吗?如果是这样,是否可以通过IPv6在Internet上进行一对多IP路由?
Answers:
那么我将能够通过Internet访问多播组,还是只能通过ipv4等专用网络来支持它?
我必须纠正您似乎在这里所做的假设。
如果您和目的地之间的所有路由器都支持,那么组播肯定可以在IPv4 Internet上运行。它只是在很多地方被阻止或未配置。我怀疑这是因为多播还没有被很好地理解,而且很多人认为他们不需要多播。因此,他们根本不允许通过防火墙/路由器。
IPv6当然可以像IPv4一样在全球范围内具有组播功能。只有时间能告诉我们人们是否真正允许通过其网络进行多播。
IPv6公用单播地址的前缀为2000 :: / 3(到目前为止)。多播分配包括用于本地链接,各种本地范围的寻址和全局寻址(根据RFC3307)。这是与IPv4多播相同的基本思想,在IPv4多播中,224/4空间的一部分被留给了GLOP地址等。
还要查看RFC3306,我认为它可能更直接地回答您的问题。
该规范定义了对IP版本6协议的多播寻址体系结构的扩展。本文档中提供的扩展名允许基于单播前缀的多播地址分配。通过与单播前缀同时委派多播地址,网络运营商将能够识别其多播地址,而无需运行域间分配协议。
因此,我们的想法是,如果您有一个全局路由的/ 64,则可以将其包含在整个组ID中,从而为您提供可以全局路由的某些内容。换句话说,如果您已经有了v6前缀和适当启用的运营商,那么您已经设置好了。
该标准允许全局多播路由,但是AFAIK当前大多数ISP都仅对其使用(IPTV等)限制多播。
假设您误解了多播,我会看到多个答案。您没有记错,您的问题很明确。我对自己问了这个问题:
我可以通过IPv6 Internet多播吗?
传统上,例如在IPv4中,我需要请求一个永久的全局多播地址(或子网),并将其分配给我的网络。IPv6仍然可以做到这一点。但是,IPv6本质上是多播的,因此为我提供一些机制以在不请求唯一地址的情况下向您多播是有意义的。
当您在两个物理上独立的网络(六个人)上分别有三个人玩同一网络游戏时,优势变得显而易见。选项是将数据包单播到每个播放器(每个更新发送五个数据包),或组播(每个更新发送一个或两个数据包):第一个数据包将发送到本地播放器的链接本地多播地址LAN,另一个数据包将被发送到全局多播地址,路由器会理解该地址是针对另一个LAN上的播放器的。甚至可能将数据包发送一次到全局多播地址,并且路由器(或本地客户端)知道如何处理。后者肯定会更有效率。
鉴于多播的实用性,如果IANA必须为每个想要玩网络游戏,举行视频会议或向朋友广播现场表演等的人分配多播前缀,这将使IANA感到恼火。 。
IANA的申请表明确指出,您可能不需要要求一个永久的IPv6多播地址,这很好。
基于单播前缀的IPv6组播地址
当然,这已得到解决。标题“基于单播前缀的IPv6组播地址”应该真正说明:如果您具有全局唯一的IPv6 IP地址,则您(您的计算机/设备)可以为自己分配一个(全球)唯一的组播地址,即根据您的单播分配。要求是每个点(服务器,路由器,客户端)的软件都必须知道其运行状况。未来几年,旧路由器和惰性ISP可能会崩溃。
对于似乎是一个非常简单的问题,要找到答案非常困难,而我可以找到最接近的答案的最接近的方法是RFC3306:
以下是一些基于单播前缀的多播地址结构的示例。
- Global prefixes - A network with a unicast prefix of 3FFE:FFFF:1::/48 would also have a unicast prefix-based multicast prefix of FF3x:0030:3FFE:FFFF:0001::/96 (where 'x' is any valid scope). - SSM - All IPv6 SSM multicast addresses will have the format FF3x::/96.
有关IPv6多播的大多数文章(和答案)都集中在具有预定义地址的本地多播上,并不是很有帮助。关键在于,客户端可以基于其单播地址为其分配一个唯一的多播地址,当然范围仍然适用:
基于单播前缀的多播地址的范围不得超过嵌入在多播地址中的单播前缀的范围。
很难回答这个问题并不奇怪,因为IPv6连接如此罕见,以至于大多数最终用户都无法测试Internet的IPv6组播能力和可靠性,因此,没有很多文章对此发表。实际上,大多数最终用户都不知道为什么要在家中使用IPv6多播,但是应用程序已经准备就绪,正在等待。
该页面讨论了RFC带来的一些混乱,RFC3956提到了某些多播域如何在相互通信时遇到麻烦。在这一点上可能很难实现,但是我看不出为什么游戏服务器(从上面的示例中)不能为其自身分配多播IPv6地址并将该地址通知客户端,并且所有这些都无需乞求。静态多播IPv6分配。
这是我以后想跟进的事情。
步骤1:ISP需要启用IPv6。仍然。
我认为您会混淆两件事:多播路由和IPv6地址分配。
组播路由取决于组播源之间路径上的所有路由器,您将组播数据包转发到要接收某个组播组的目标。在具有完整多播网络的不受控制的网络中,任何源系统都可以在没有任何控制的情况下将其发送到任何多播组,并且所有加入该组的系统都将接收数据。这与任何分配都没有关系,只是与启用多播路由有关。
从2000 :: / 3开始的IPv6地址分配决定了谁可以使用哪个单播地址。
因此,据我所知,谁可以使用哪个IPv6多播组仅在rfc3307中定义。
组播源没有太多控制权,哪些目的地可以看到其数据包,很有可能通过组播传输的数据达到了单播无法提供的目标。
我认为IPv6组播应该可以在Internet上路由,而不是IPv4组播不能在Internet上路由。
https://zh.wikipedia.org/wiki/Multicast_address#IPv6
ffxe :: / 16
全球范围
有资格通过公共互联网进行路由。
https://zh.wikipedia.org/wiki/IPv6#多播
在IPv4中,组织很难获得甚至一个 全局可路由的多播组分配,并且域间解决方案的实现是不可思议的。[20] 本地Internet注册表为IPv6分配的单播地址至少具有64位路由前缀,从而产生IPv6中可用的最小子网大小(也是64位)。通过这样的分配,可以将单播地址前缀嵌入IPv6多播地址格式,同时仍然提供32位块,地址的最低有效位或大约42亿个多播组标识符。因此,IPv6子网的每个用户自动为多播应用程序提供了一组全局可路由的特定于源的多播组。[21]
http://ipv6friday.org/blog/2011/12/ipv6-multicast/
执行摘要:
- IP组播是IPv4的一个附加组件,主要用于多媒体传输。
- 在IPv6中,多播取代了广播,并且是IP网络中不可或缺的集成功能
- IP地址和DHCP的自动配置都使用IPv6组播
IPv6中有针对应用程序的“请求的多播”。在某个接口上创建单播地址时,这些地址会自动取消。只需使用FF02:0:0:0:0:1:FF00 :: / 104,其他24位与单播地址中的相同。https://tools.ietf.org/html/rfc3306