IPv6组播可以通过Internet路由吗?


14

据我了解,IANA分配的公共IPv6地址的前缀为2000 :: / 3。这些IP地址将可以通过Internet路由。

另一侧的IPv6组播地址前缀为FF00 :: / 8。

我的理解是IPv6多播地址无法通过Internet路由。我对吗?如果是这样,是否可以通过IPv6在Internet上进行一对多IP路由?



1
我可能没有正确解释自己。我的意思是,不将ipv6多播地址视为公共地址。那么我将能够通过Internet访问多播组,还是只能通过ipv4等专用网络来支持它?
绝对

Answers:


8

那么我将能够通过Internet访问多播组,还是只能通过ipv4等专用网络来支持它?

我必须纠正您似乎在这里所做的假设。

如果您和目的地之间的所有路由器都支持,那么组播肯定可以在IPv4 Internet上运行。它只是在很多地方被阻止或未配置。我怀疑这是因为多播还没有被很好地理解,而且很多人认为他们不需要多播。因此,他们根本不允许通过防火墙/路由器。

IPv6当然可以像IPv4一样在全球范围内具有组播功能。只有时间能告诉我们人们是否真正允许通过其网络进行多播。


1
是的,但是我看不到IANA像为公共IP地址那样分配多播地址块。这是否意味着您不能保留公共多播地址,因此就不能通过Internet路由多播地址而不会发生地址冲突的风险?
Absolom

1
@Absolom,我在评论中添加的第二个链接包括IANA永久IPv6分配的列表。它可以使用类似DHCP的协议(tools.ietf.org/html/rfc2730)获得动态地址,或者显然可以通过选择随机数来获得地址。 tools.ietf.org/html/rfc3307#section-4.3.2所有这三个选项基本上都与IPv4可用的选项相同。
Zoredache

3
在连接到mbone的IPv4网络上,全局多播有效。Mbone主要由大学网络组成。使可用的有趣的视频服务通过SAP或NTP发布。存在安全问题:幽灵安装的客户端已出现在8个时区之外,直到工作阻止了边界上的该特定多播组。
Koos van den Hout 2012年

5
我认为提供商对全局多播的主要问题在于,它需要网络内部的一堆状态,因此它无法扩展到Internet规模。而且,在大型服务提供商网络中,弄清楚谁/如何为流量放大计费是很棘手的。
rmalayter 2012年

5

IPv6公用单播地址的前缀为2000 :: / 3(到目前为止)。多播分配包括用于本地链接,各种本地范围的寻址和全局寻址(根据RFC3307)。这是与IPv4多播相同的基本思想,在IPv4多播中,224/4空间的一部分被留给了GLOP地址等。

还要查看RFC3306,我认为它可能更直接地回答您的问题。

该规范定义了对IP版本6协议的多播寻址体系结构的扩展。本文档中提供的扩展名允许基于单播前缀的多播地址分配。通过与单播前缀同时委派多播地址,网络运营商将能够识别其多播地址,而无需运行域间分配协议。

因此,我们的想法是,如果您有一个全局路由的/ 64,则可以将其包含在整个组ID中,从而为您提供可以全局路由的某些内容。换句话说,如果您已经有了v6前缀和适当启用的运营商,那么您已经设置好了。


但是ipv6组播地址是否可以通过Internet路由?举例来说,您想通过Internet将实时视频流传输到ipv6多播组。会支持吗?还是ipv6多播只能在专用网络中工作?
Absolom

1
是的-FF00 :: / 8的某些范围将在全球范围内可路由,其他范围将受到限制。字段之一定义管理范围,这为路由器提供了有关转发给定多播的距离的线索。我将在示例中添加一个示例。
rnxrx 2012年


2

我自己的猜测是,恰好是部署IPv6的电缆提供商的许多ISP会在其边界阻止它。

对此我可能会感到愤世嫉俗,但是他们对保持内容竞争对手的成本高昂具有既得利益。v6多播将允许HBO或任何其他流视频提供商通过多播信道将一个v6流传输到Ipv6世界,并大大降低成本。


1

假设您误解了多播,我会看到多个答案。您没有记错,您的问题很明确。我对自己问了这个问题:

我可以通过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。仍然。

另请参阅:RFC6308:Internet多播寻址体系结构概述


如何使其具有可扩展性是一个挑战。骨干路由器中路由表的大小已经是一个挑战。多播所需的路由表条目不会像其他条目一样聚合。构建足够大的CAM来处理每个人都使用多播的Internet可能是不可行的。
kasperd 2015年

确实确实如此……起初,但是意识到这些都是基于单播的路由器应该比单播包在路由组播包方面没有更多困难。由于目的地已经嵌入地址中,因此不需要单独的查找表。一切取决于它是否已在路由器中再次正确实现。像往常一样,在Google上找不到任何描述该过程的信息。
肯·夏普

1
组播地址所基于的单播前缀不会告诉您该组播组的成员位置。CAM条目中的前缀可以轻松覆盖成千上万的最终客户。这些最终客户中的每个最终客户都可以根据分配的前缀创建许多多播组。如果使用您的方法,那么所有这些多播组都将导致一个CAM条目,但是不要将它们路由到相同的位置。
卡巴斯德(Kasperd),2015年

它准确地告诉您它的来源。阅读RFC。
肯·夏普

1
路由器不需要知道数据包的来源。他们需要知道将其发送到哪里。
卡巴斯德(Kasperd)

0

我认为您会混淆两件事:多播路由和IPv6地址分配。

组播路由取决于组播源之间路径上的所有路由器,您将组播数据包转发到要接收某个组播组的目标。在具有完整多播网络的不受控制的网络中,任何源系统都可以在没有任何控制的情况下将其发送到任何多播组,并且所有加入该组的系统都将接收数据。这与任何分配都没有关系,只是与启用多播路由有关。

从2000 :: / 3开始的IPv6地址分配决定了谁可以使用哪个单播地址。

因此,据我所知,谁可以使用哪个IPv6多播组仅在rfc3307中定义。

组播源没有太多控制权,哪些目的地可以看到其数据包,很有可能通过组播传输的数据达到了单播无法提供的目标。


是的,我了解其中的区别,但也许我没有正确提出问题。我要问的问题是,IANA正在分配全球单播IPv6地址,以避免地址冲突。他们对多播地址没有做相同的事情,因此我认为多播不是要通过Internet路由的。Zoredache提到了有关生成随机多播地址来避免此问题的内容。
Absolom 2012年

0

我认为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



令人怀疑的是,ISP是否会同意任何单个多播路由协议或花费必要的资源来实现这一目标。当然,密集模式多播会破坏公共互联网,而稀疏模式会花费很多钱
罗恩·莫平
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.