什么是组播?

作为IP传输三种方式之一,组播指的是报文从一个源发出,被转发到一组特定的接收者,相同的报文在每条链路上最多有一份。相较于传统的单播和广播,组播可以有效地节约网络带宽、降低网络负载,所以被广泛应用于IPTV、实时数据传送和多媒体会议等网络业务中。

组播和单播的区别是什么?

组播和单播都是报文传输的一种方式。

单播是主机间一对一的通讯模式,网络中的设备根据网络报文中包含的目的地址选择传输路径,将单播报文传送到指定的目的地,只对接收到的数据进行转发,不会进行复制。它能够针对每台主机及时的响应,现在的网页浏览全部都是采用单播模式。

组播是主机间一对多的通讯模式, 组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文的接收者都加入这个群组。

一份数据报文如图所示,通过单播传输需要使用一个单播地址作为目的地址。数据源向每个接收者发送一份独立的报文。如果网络中存在N个接收者,则数据源需要发送N份报文;通过组播传输时使用一个组播地址作为目的地址,数据源向组播组发送且仅发送一份报文。如果网络中存在N个接收者,数据源也仅需要发送一份数据报文。

组播和单播有啥区别(科普帖什么是组播)(1)

组播传输和单播传输方式对比

单播传输适用于用户稀少的网络,如果用户量较大时,网络将会出现多份相同的流量,会大量占用处理器资源而且非常浪费网络的带宽,而通过组播方式传输,网络中每条链路中仅有一条数据流。组播相比于单播的优势在于相同的报文在每条链路上最多有一份。

组播和广播的区别是什么?

组播和广播都是报文传输的一种方式。

广播是主机间一对所有的通讯模式,设备会将报文发送到网络中的所有可能接收者。设备简单地将它收到的任何广播报文都复制并转发到除该报文到达的接口外的每个接口。广播处理流程简单,不用选择路径。

组播是主机间一对多的通讯模式, 组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。

一份数据报文如图所示,通过广播传输需要使用一个广播地址作为目的地址。数据源向本网段对应的广播地址发送且仅发送一份报文。广播传输会把数据报文发送给本网段中的所有用户,而不管用户是否有需求;通过组播传输时仅把数据报文发送给有数据需求的用户,不会发送给所有用户。

组播和单播有啥区别(科普帖什么是组播)(2)

组播传输和广播传输方式对比

广播传输数据源必须与用户在同一个网段,组播可以跨网段传输。广播传输该网段内所有主机都能收到数据报文,会导致无信息需求的主机也收到该信息,网络中存在流量冗余,组播传输只将数据流传输到有接收者的地方,网络中不存在流量冗余。组播相比于广播的优势在于组播的报文是按需发送。

IP组播地址的范围

为了使组播源和组播组成员进行通信,需要提供网络层组播使用的IP组播地址。

IPv4组播地址

IANA将D类地址空间分配给IPv4组播使用。IPv4地址一共32位,D类地址最高4位为1110,地址范围从224.0.0.0到239.255.255.255,具体分类及含义见下图。

组播和单播有啥区别(科普帖什么是组播)(3)

IPv4组播地址的范围及含义

IPv6组播地址

IPv6地址长度是128位,IPv6组播地址格式如图所示。

组播和单播有啥区别(科普帖什么是组播)(4)

IPv6组播地址格式

固定的IPv6组播地址的范围及含义如图所示。

组播和单播有啥区别(科普帖什么是组播)(5)

IPv6组播地址的范围及含义

组播MAC地址的范围

为了在本地物理网络上实现组播信息的正确传输,需要在链路层使用组播MAC地址。组播数据传输时,其目的地不是一个具体的接收者,而是一个成员不确定的组,所以需要一种技术将IP组播地址映射为组播MAC地址。

IPv4组播MAC地址

以太网传输IPv4单播报文的时候,目的MAC地址使用的是接收者的MAC地址。但是在传输组播数据时,其目的地不再是一个具体的接收者,而是一个成员不确定的组,所以要使用IPv4组播MAC地址,即IPv4组播地址映射到链路层中的地址。

IANA规定,IPv4组播MAC地址的高24位为0x01005e,第25位为0,低23位为IPv4组播地址的低23位,映射关系如图所示。例如组播组地址224.0.1.1对应的组播MAC地址为01-00-5e-00-01-01。

组播和单播有啥区别(科普帖什么是组播)(6)

IPv4组播地址与IPv4组播MAC地址的映射关系

IPv4组播地址的前4位是固定的1110,对应组播MAC地址的高25位,后28位中只有23位被映射到MAC地址,因此丢失了5位的地址信息,直接结果是有32个IPv4组播地址映射到同一MAC地址上。例如IP地址为224.0.1.1、224.128.1.1、225.0.1.1、239.128.1.1等组播组的组播MAC地址都为01-00-5e-00-01-01。

IPv6组播MAC地址

IPv6组播MAC地址的高16位为0x3333,低32位为IPv6组播地址的低32位。如图所示,是IPv6组播地址的MAC地址映射关系。

组播和单播有啥区别(科普帖什么是组播)(7)

IPv6组播地址与IPv6组播MAC地址的映射关系

可见IPv6中会有更多的组地址使用同一个MAC地址。

有哪些组播协议?

在IP组播传输模型中,发送者不关心接收者所处的位置,只要将数据发送到约定的目的地址,剩下的工作就交给网络去完成。网络中的组播设备必须收集接收者的信息,并按照正确的路径实现组播报文的转发和复制。在组播的发展过程中,形成了一套完整的协议来完成此任务。

IPv4网络中使用的组播协议

IPv6网络中使用的组播协议

小编有话说

➤推荐服务:

向下滑动查看更多

点击【IT面试精选】查看全网最权威的一线大厂面试真题及面试经验,每天更新哦!

点击【IT路边社】查看实时更新的IT新闻资讯

点击【互联网资料存储站】获取全网最全运维流程文档、表格、脚本、架构、等保资料等

回复【加群】群满啦!~添加波哥微信拉您进群!

点击【安全加固】获取最新安全加固脚本

点击【一键iptables脚本】获取iptables自动设置脚本

组播和单播有啥区别(科普帖什么是组播)(8)

,