IP组播协议基础1

1 组播基础介绍

IPv4协议定义了三种IP 数据包的传输方式:单播(unicast)、广播(broadcast)和组播(multicast)。

1.1 单播

单播用于发送数据包到单个目的地,且每发送一份单播报文都使用一个单播IP地址作为目的地址。这是最常见的IP传输方式,是一种点对点传输方式。采用单播方式时,系统为每个需求该数据的用户单独建立一条数据传送通路,并为该用户发送一份独立的副本数据。

如下图所示,假设用户 C(HostC)需要从数据源(Source)获取数据,则数据源必须和用户C的设备建立单独的传输通道。由于网络中传输的数据量和要求接收该数据的用户量成正比,因此当需要相同数据的用户数量很庞大时,数据源主机就必须要将多份内容相同的数据发送给用户。这样一来,网络带宽将成为数据传输中的瓶颈,所以不利于数据规模化发送。
在这里插入图片描述

1.2 广播

广播是指发送数据包到同一广播域或子网内的所有设备的一种数据传输方式,是一 种点对多点传输方式。如果采用广播方式,系统会为网络中所有用户传送一个数据副本,不管他们是否需要,任何用户都会接收到广播来的数据。

如下图所示,假设用户A、C需要从数据源获取数据,则数据源通过路由器广播该数据,但这时网络中本来不需要接收该数据的用户B 也同样接收到该数据,这样不仅信息的安全性得不到保障,而且会造成同一网段中信息泛滥。由此可见,该传输方式不利于与特定对象进行数据交互,并且浪费了大量的带宽。
在这里插入图片描述

1.3 组播

通过前面两个传输方式的介绍可以看出,单播方式适合用户较少的网络,而广播方式适合用户需求普遍相同的网络。但当网络中需求某数据的用户量不确定时,单播和广播方式效率很低,而且广播方式安全性差,无法控制数据的发送。

于是出现了IP组播,IP组播解决了以上这些问题,它也是一种点对多点传输方式。当网络中的某些用户需要特定数据时,组播数据发送者(即组播源)仅发送一次数据,借助组播路由协议为组播数据包建立组播分发树,被传递的数据到达距离用户端尽可能近的节点后才开始复制和分发。

如下图所示,假设用户A、C需要从数据源获取数据,为了将数据顺利地传输给真正需要该数据的用户,需要将用户A、C组成一个接收者集合(就是组播组),由网络中各路由器根据该集合中各接收者的分布情况进行数据转发和复制,最后准确地传输给实际需要的接收者A和C。
在这里插入图片描述
综上所述,相比单播传输方式,组播传输方式由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发,所以用户的增加不会导致信息源负载的加重以及网络资源消耗的显著增加。相比广播传输方式,组播传输方式由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性。

2 组播的基本概念

组播传输的特点是一点发出,多点接收。网络中存在信息发送源Source,感兴趣的用户HostA和HostC提出信息需求,如前面1.3小节中的示意图,Source发出的数据只有HostA和HostC会接收到。

在组播通信中,需要理解以下几个重要的基本概念。
(1)组播组:用组播IP地址进行标识的一个集合,是一个组播成员的集合,各组播成员共享这一个组播组IP地址。但要注意,组播成员自己在IP协议中配置的IP地址不是组播IP地址,仍是单播IP地址。任何用户主机(或其他接收设备),加入一个组播组就成为了该组成员,可以识别并接收发往该组播组的组播数据。

(2)组播源:以组播组IP地址为目的地址(组播源配置的也是单播IP地址),发送IP报文的信源称为组播源。但组播源通常不需要加入组播组,否则自己接收自己发送出去的数据了。1.3小节图中的 Source 就是一个组播源。一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文。

(3)组播组成员:所有加入某组播组的主机便成为该组播组的成员,如图1.3小节图中的HostA 和 HostC。组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。组播组成员可以广泛地分布在网络中的任何地方。

(4)组播路由器:支持三层组播功能的路由器或三层交换机(它们不是组播组成员),如图1.3小节图中的各个Router。组播路由器不仅能够提供组播路由功能(PIM),也能够在与用户连接的末梢网段上提供组播组成员的管理功能(IGMP)。

3 组播服务模型

组播服务模型的分类是针对接收者主机的,对组播源没有区别。组播源发出的组播数据中总是以组播源自己的IP地址作为报文的源IP地址,组播组地址为目的IP地址。而接收者主机接收数据时可以对组播源进行选择,因此产生了:ASM(Any-Source Multicast,任意源组播)和 SSM(Source-Specific Multicast,指定源组播)两种服务模型。这两种服务模型使用不同的组播组地址范围。

1. ASM模型
ASM(任意源组播)模型就是任意源都可以成为某个组播的组播源,安全性较差,接收者通过加入对应的组播组就可以获得发往该组播组的任意组播数据,而且接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。为了提高安全性,可以在路由器上配置针对组播源的过滤策略,允许或禁止来自某些组播源的报文通过。最终从接收者角度看,数据是经过筛选的。

因为在ASM服务模型中,组播组仅以组播地址进行标识,所以在这个组播网络中各组播组的IP地址必须是唯一的。这里的 “唯一” 指的是同一时刻一个 ASM 组播组地址只能被一种组播应用使用。如果有两种不同的应用程序使用了同一个 ASM 组播组地址发送数据,它们的接收者会同时收到来自两个源的数据。这样一方面会导致网络流量拥塞,另一方面也会给接收者主机造成困扰。

2. SSM模型
在实际应用中,用户仅仅对某些组播源发送的组播数据感兴趣,而不愿接收其他源发送的数据。如果使用ASM服务模型就无法做到这一点,因为用户只要加入到一各组播组,就会被动接受所有发往该组播组的数据,不能进行选择。SSM(指定源组播)模型就是一种为用户提供能够在客户端指定组播源的传输服务。

SSM模型针对特定组播源和组播组的绑定数据流提供服务,接收者主机在加入该组播组后可以选择只接收指定组播组源发来的数据。

SSM模型对组播组地址不再要求全网唯一,只需要每个组播源保持唯一即可,这里的 “唯一” 指的是同一个源上不同的组播应用必须使用不同的SSM组播组地址来区分。不同的源之间可以使用相同的组地址,因为SSM模型中针对每一个(源,组)信息都会生成表项。这样一方面节省了组播地址,另一方面也不会造成网络拥塞。

如下图所示,分别为组播源以及组播成员相关组播的配置
在这里插入图片描述
配置好组播组IP地址,组播组MAC地址会自动计算得出。
在这里插入图片描述
在这里插入图片描述
组播成员的目的IP不是组播源的单播地址,而是组播源的组播组IP地址,该地址标识同属一个组的成员集合。
在这里插入图片描述

4 简单组播例子

本拓扑只作例子介绍,不介绍配置过程。

4.1 拓扑

在这里插入图片描述

4.2 组播源设置

在这里插入图片描述
在这里插入图片描述
点击运行后Source会自动开始播放该视频。
在这里插入图片描述
注意:ENSP中要能播放视频需要提前下载好VLC播放器,并在ENSP中设置VLC路径。
在这里插入图片描述

4.3 组播成员加入组播组

在这里插入图片描述
在这里插入图片描述
HostB也做同样的操作后,点击加入,并启动VLC,两个组播成员便加入到了225.1.1.1的组播组中。由于组播延迟,组播成员视频画面相比较组播源视频画面会有些许延迟。当组播源上面关闭视频后组播成员的视频画面也会随之停止。

在这里插入图片描述
以上是本次IP组播技术的简单介绍,文中理论部分相关知识来自于《华为交换机学习指南》,感兴趣的读者可以自行买来看看,小编自身也在学习中,写博客是为了记录以及分享我在学习中以及实验中遇到的问题,或是经验,因为书上涉及的相关实验拓扑有些晦涩,后续我会根据自身的理解做相关实验拓扑介绍,方便大家一起探讨学习,感谢阅读。

猜你喜欢

转载自blog.csdn.net/Sakura0156/article/details/123448502
今日推荐