数通HCIE|IP组播基础(一)

350 阅读5分钟

​ ​本文已参与「新人创作礼」活动,一起开启掘金创作之路。


一、概述

        组播是IP数据传输的三种方式(广播、组播、单播)之一,是指接收者的数量和位置在源端主机不知道的情况下,源端主机发出组播报文,向目标组播IP地址发送数据的过程。IP组播可以实现点到多点的高效数据传输,其具有可以降低网络流量、减少带宽消耗、提高传输效率的优点。适用于一到多的应用,在IPTV、多媒体会议、实时数据传输等网络业务中应用广泛。

        本篇将分为组播概述、组播工作原理、组播模型、组播地址、组播数据转发几部分对IP组播基础进行解释。(PIM、IGMP将作为单独章节讲解,本篇不过多涉及)。

二、组播概述

(一)组播的定义

        组播技术的初衷是在IP网络中,以"尽力而为"的形式发送信息到某个目标组,这个目标组称为组播组,这样在有源主机向多点目标主机发送信息需求时,源主机只发送一份数据,数据的目的地址是组播组地址,这样,凡是属于该组的成员,都可以接收到一份源主机发送的数据的拷贝,此组播方式下,只有真正信息需要的成员会收到信息,其他主机不会收到。

(二)组播的优势

         提高效率:组播解决了单播和广播方式效率低的问题。它降低了网络流量、减轻了硬件负荷

       ② 优化性能:组播具有减少冗余流量、节约网络带宽、降低网络负载的作用,进而实现对性能的优化。

      ③ 分布式应用:组播的出现使多点应用成为可能,如多媒体、一对多的网络会议、IPTV、一些针对特定用户的信息传输等,都是基于组播原理。

(三)组播的劣势

        组播的劣势出现的原因主要是组播是基于UDP的信息传输,由于UDP的“尽力而为”特性、没有拥塞避免机制、可能造成报文重复和报文失序,因此,组播也具有如上问题,不能够用于对信息传输可靠性要求较高的场景。

三、组播工作原理

        一个组播报文的传输过程如下:组播源向组播目标地址发送组播报文,该组播目标地址对应着一组配置了该地址的组播报文接收者。组播源通过其与组播接收者之间的组播网络、基于组播路由协议传输组播报文,当组播网络中的组播路由器收到该报文时,根据其路由表中的组播转发表将该报文转发给了组播报文接收者。

(一)概念含义

        组播中涉及的主要概念的含义归纳如下表:

名词含义
组播源指在组播过程中产生组播源的设备,在活跃期间,组播源的所有接口均发送组播报文。
组播组在IPv4中,每一个D类组地址即为一个组播组。
组播路由器运行组播路由协议,创建、维护组播表并转发组播数据的路由器。
组播表指在组播路由器上不同位置的有关组播的表项。
组播路由协议运行在组播路由器之间、用于发现和维护组播路由信息并确定组播数据流转发路径的一种网络协议。
组播分发树用来描述IP组播报文在网络中经过的路径,包括源路径树和共享树。
组播接收者通告IGMP报告报文的PC,同时也是接收组播数据的PC。

(二)组播表

        组播路由器上包括了各类与组播相关的表项,其中四类主要的表项如下:

① 组播协议路由表

        组播协议路由表是运行各种组播路由协议时由各协议自己维护的路由表项,所有协议的路由表项相似,记录表项的(S,G)(源,组)条目及生存时间,还有上游接口和下游接口列表。

② IGMP路由表

        IGMP运行在PC机(组播报文接收者)和组播路由器之间,只要IGMP协议开启。数据转发就可以转发到本网段上的组播接收者。IGMP路由表是IGMP协议维护的表项。

③ 组播路由表

        组播路由表是全局唯一的用于转发组播数据的路由表, 它的内容来自多种组播路由协议,组播路由表是由各个协议优选出的路由构建而成的。

④ 组播转发表

        组播转发表位于数据平面,是设备根据组播路由表及转发策略,从组播路由表中选取的最优的组播路由,该路由直接用于指导组播数据转发,与单播路由中的FIB表类似。

(三)组播分发树

        组播分发树用于描述IP组播报文在网络中经过的路径,其包括两种基本类型:源路径树和共享树。

① 源路径树

        源路径树以组播源为树根,将组播源到每一个接收者的最短路径结合起来构成转发树。 每一组播源与接收者之间都是一棵独立的SPT(即对于每一个组,网络都要为其发送报文的组播源建立一棵树)。

        源路径树路径最优、延迟最小;但是由于其存在多棵树,占用内存较多

        源路径树的组播报文传输示意如下:

② 共享树

        共享树以某个路由器(称为汇集点RP)作为路由树的树根,将RP到所有接收者的最短路径结合起来构成转发树。 对于某个组,网络中只有一棵树,所有的组播源和接收者都使用该树进行报文传输。在进行报文传输时,组播源首先向树根发送数据报文,之后报文又向下转发到达所有接收者。

        共享树的路径不是最优的,因此会产生额外的延迟;但是其只用一棵树,占用内存较少

        共享树的报文传输示意如下: