什么是组播

本文介绍了组播的定义、实现机制、部署、演进等内容。

什么是组播

什么是组播

组播、单播和广播的定义

什么是组播,组播与单播,组播与广播有什么差别?是初学者首先要搞清楚的问题。

我们知道单播、组播和广播都是IP报文网络传输的三种模式,它们的定义如下:
  • 单播是主机间一对一的通讯模式,网络中的设备根据网络报文中包含的目的地址选择传输路径,将单播报文传送到指定的目的地,只对接收到的数据进行转发,不会进行复制。它能够针对每台主机及时的响应,现在的网页浏览全部都是采用单播模式。
  • 广播是主机间一对所有的通讯模式,设备会将报文发送到网络中的所有可能接收者。设备简单地将它收到的任何广播报文都复制并转发到除该报文到达的接口外的每个接口。广播处理流程简单,不用选择路径。
  • 组播是主机间一对多的通讯模式, 组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文的接收者都加入这个群组。

用户主机如何区分组播、单播和广播

我们前面了解了单播、组播和广播的定义,但对于主机用户是怎样识别单播、组播和广播的呢?

用户主机是通过识别IP地址,区分IP传输的方式。IP地址被分为三类,分别是:

  • 单播IP地址:一个单播IP地址只能标识一台用户主机。一份使用单播IP地址为目的地址的IP报文,只能被一台用户主机接收。

  • 广播IP地址:一个广播IP地址能够标识某确定网段内的所有用户主机。一份使用广播IP地址为目的地址的IP报文,能够被该网段内的所有用户主机接收。IP广播报文不能跨网段传播。

  • 组播IP地址:一个组播IP地址能够标识网络不同位置的多个用户主机,一台用户主机可以同时识别多个组播IP地址。一份使用组播IP地址为目的地址的IP报文,能够被网络不同位置的多个用户主机接收。

用户主机使用不同的类别的IP地址,就选用了不同的传输方式:

  • IP报文网络传输使用单播IP地址的,简称为单播。
  • IP报文网络传输使用广播IP地址的,简称为广播。
  • IP报文网络传输使用组播IP地址的,简称为组播。

点到多点场景中组播、单播和广播传输方式的选择

随着Internet网络的不断发展,网络中交互的各种数据、语音和视频信息越来越多,同时IPTV业务、新兴的电子商务、网上会议、网上拍卖、视频点播、远程教学等服务也在逐渐兴起,这些服务大多符合点对多点的模式,针对这些点到多点的新业务需求,IP传输选用哪种方式更好呢?下面我们通过一个典型的点到多点组网场景,来观察一下组播,单播和广播传输的差异。

图1-1网络中有用户A,用户B,用户C,用户D和用户E,但现在只有用户A,用户B和用户C有流量需求,想接收数据源发送的报文,现分别采用单播、组播、广播方式进行报文的传输。

图1-1 点到多点组网图

如图图1-2采用单播传输方式后,要确保有流量需求的用户都能收到流量,数据源需要发送三份流量,相应的网络中设备B也需要承载三份流量。

图1-2 单播流量发送图

图1-3采用广播传输方式后,数据源仅发送一份流量,有流量需求的用户可以收到流量,但是从图中可以看出,因为广播的传输机制,无流量需求的用户D和用户E也收到了流量,存在流量的冗余。

图1-3 广播流量发送图

图1-4采用组播传输方式后,数据源仅发送一份流量,有流量需求的用户就可以收到流量,而且无流量需求的用户D和用户E也不会收到冗余的流量。

图1-4 组播流量发送图

从上面图1-2图1-3图1-4比较可以发现,组播点对多点传输网络场景中更具优势,我们梳理了以下表格:

表1-1 IP三种传输方式对比表

传输方式

优势

不足

单播方式

  • 一份单播报文,使用一个单播地址作为目的地址。Source向每个Receiver地址发送一份独立的单播报文。如果网络中存在N个接收者,则组播源需要发送N份单播报文。
  • 络为每份单播报文执行独立的数据转发,形成一条独立的数据传送通路。N份单播报文形成N条相互独立的传输路径。
  • 单播方式下,网络中传输的信息量和需求该信息的用户量成正比,当需求该信息的用户量较大时,网络中将出现多份相同信息流,不仅占用处理器资源而且浪费带宽。

  • 单播方式较适合用户稀少的网络,当用户量较大时很难保证网络传输质量。

广播方式

  • 一份广播报文,使用一个广播地址作为目的地址。Source向本网段对应的广播地址发送且仅发送一份报文。
  • 不管是否有需求,保证报文被网段中的所有用户主机接收。
  • 广播方式下,信息发送者与用户主机被限制在一个共享网段中,且该网段所有用户主机都能接收到该信息,这样会导致无信息需求的主机也收到该信息,网络中流量有冗余。

  • 广播方式只适合共享网段,且信息安全性和有偿服务得不到保障。

组播方式

  • 一份组播报文,使用一个组播地址作为目的地址。Source(组播源)向一个组播地址发送且仅发送一份报文。网络中部署的组播协议为此组播报文建立一棵树型路由,根是Source,叶子是所有组播组成员。

  • 组播方式下,单一的信息流沿树型路径被同时发送给一组用户,相同的组播数据流在每一条链路上最多仅有一份。相比单播来说,使用组播方式传递信息,用户的增加不会显著增加网络的负载,减轻了服务器和CPU的负荷。

  • 组播报文可以跨网段传输,不需要此报文的用户不能收到此报文。相比广播来说,使用组播方式可以远距离传输信息,且只将信息传输到有接收者的地方,保障了信息的安全性。

  • 组播技术有效地解决了单点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送。

NA

组播实现机制

组播的实现机制,使得组播在点到多点场景中,比单播和广播具有强大的优势。组播的实现机制有哪些呢?

我们这里通过详细对比组播和单播的实现过程来展开介绍一下组播的实现机制。

图1-5所示,单播组网中要实现用户A,用户B,用户C能接收数据源的流量,需要做如下配置:
  • 全网设备相连的接口都需要配置单播IP地址
  • 全网要部署单播路由协议,确保数据源和用户A、用户B和用户C之间路由互通。

数据源发流的时候,对用户A发送的流量IP报文头封装的目的地址是用户A的主机地址10.1.2.1;

对用户B发送的流量IP报文头封装的目的地址是用户B的主机地址10.1.3.1;

对用户C发送的流量是IP报文头封装的目的地址是用户C的主机地址10.1.4.1。

图1-5 单播实现机制

图1-6所示,组播组网实现用户A,用户B和用户C能接收到数据源的流量,需要做如下部署:

  • 全网设备相连的接口都需要配置单播IP地址
  • 全网要部署单播路由协议,确保数据源和用户A、用户B和用户C之间路由互通
  • 全网部署组播PIM协议(PIM-SM或者PIM-DM),并配置相应的BSR和RP,图中配置设备B为RP和BSR。
  • 用户A,用户B,用户C必须发送IGMP组加入报文,组加入报文中包含其需要加入的组IP地址225.1.1.1。

数据源发送数据流,该数据流二层目的MAC地址是组播的MAC地址,IP报文的目的地址为225.1.1.1。

组播实现机制总体来说就是接收者告诉一个中心节点(在组播协议里面称为RP),它需要哪些组地址的流量;RP需要被告之数据源(在组播场景中我们称之为组播源,它的特点是流量二层头中目的MAC地址是组播MAC地址,IP报层IP报文头目的地址是组播IP地址)在哪,数据源往哪些组地址发流。RP知道了接收方和发送方的所有信息后,就会根据需要把流量发送到特定位置(它发送的过程中建立了组播分发树)。

图1-6 组播实现机制

看单播和组播实现机制可能会存在如下疑问,组播部署的时候要先部署好单播呢?

因为在组播部署的时候,源注册过程组播源必须知道RP的路由,才能发送过去,源注册报文是单播报文。

另外组播分发树建立的过程中,是需要查到组播源(或者RP)的路由的,在组播中我们称为RPF检查,这个也需要单播路由的支持。

组播业务简单部署

上一节,我们介绍了组播的实现机制,我们知道组播实现机制,依赖于组播的协议(PIM-SM和PIM-DM,IGMP等)。

我们在这里简单介绍一下,在需要部署组播业务的设备上面如何配置PIM-SM协议和IGMP协议。

PIM-SM的配置:

  • 执行命令令multicast routing-enable ,在设备上面使能组播路由功能
  • 执行命令pim sm,在接口视图下使能PIM-SM。
  • 执行命令c-bsr interface-type interface-number [ hash-length [ priority ] ],配置C-BSR。
  • 执行命令c-rp interface-type interface-number [ group-policy { basic-acl-number | acl-name acl-name } | priority priority | holdtime hold-interval | advertisement-interval adv-interval ] *,配置C-RP。
说明:
  • pim sm只要经过组播流量的接口都需要使能
  • c-bsr和c-rp根据组网需求合理部署,用户可以选择直接部署静态RP。
IGMP的配置:
  • 执行命令multicast routing-enable,使能公网实例IP组播路由。
  • 执行命令pim sm,在接口视图下使能PIM-SM。
  • 执行命令igmp enable,使能IGMP。
  • 执行命令igmp version,配置接口的IGMP版本。默认情况下IGMP版本号是2。
    说明:

    IGMP配置在和接收者直接相连的设备上,接收者有流量需求,发送IGMP加入请求后,只有相连设备使能IGMP功能,设备才能给予响应。

组播后续技术演进

目前组播技术在在IPTV场景中使用比较多,如图1-7,在IPTV电视直播源直播节目就是典型的点到多点模式,电视直播源通过组播技术把流量分发到多个POP点和区域中心,用户根据自己需求去点播。

图1-7 IPTV部署场景图

组播技术一直伴随单播技术发展而发展,为了在现有的MPLS/BGP VPN上开通组播业务,产生了Rosen MVPN(Multicast VPN,组播VPN)技术。Rosen方式实现的MVPN,可以实现公网PIM实例不需要了解私网中传递的组播数据,私网PIM实例也不需要了解公网实例中的组播路由信息,各个私网PIM实例之间相互隔离,保证了组播业务的私密性。

Rosen MVPN也存在一些不足,首先必须在公网建立组播分发树,导致网络部署复杂;其次它采用GRE的封装实现私网组播流量传输,无法实现有BGP/MPLS IP VPN的一些优势,如可靠性、TE带宽预留和QoS保障。因此,在此基础上又产生了NG MVPN(Next Generation MVPN)技术,NG MVPN技术充分利用BGP协议的优势,使用BGP来传递私网组播路由和私网组播协议报文;其次NG MVPN在公网使用MPLS成熟的标签转发和隧道保护技术,使组播业务服务质量更高。

近期的新技术Segment Routing解决了单播的隧道传输问题,组播也相应发展了BIER技术。

相关信息

如需了解更多组播技术,可参考:

翻译
收藏
下载文档
更新时间:2019-09-20
文档编号:EDOC1100105907
浏览量:50435
下载量:1349
平均得分:5.0

相关版本