IP组播基础(一)点到多点应用特点、组播基本架构、组播IP、MAC地址结构组成

前言

网络中数据有三种转发方式:

单播、组播、广播

当在网络中部署点到多点通信应用时,举个栗子:现如今直播是大家非常喜爱的娱乐方式,直播就是一种点对多点的应用:主播直播内容,然后有来自五湖四海的观众们在观看。但是无论是采用单播还是广播都有或多或少的问题存在。
IP组播技术有效得解决了单播和广播在点对多点应用中的问题。组播源只发送一份数据,数据在网络节点间被复制、分发,且只发送给需要该信息的接收者。

点到多点应用的发展与部署

传统点到点应用

传统的电子邮件、WEB、网上银行等点到点应用主要是为独立的个人或组织提供特定服务,因为特定服务在数据差异性、安全性等方面的限制,所以不同Client与Server通信的数据只能以点到点的形式传播,即通信是在一台源主机和一台目的主机之间进行。同时只有一个数据发送者和接收者。

此时数据特点

1. 不同用户与服务提供端的通信数据存在差异
2. 数据要求安全性高

点到多点应用

伴随着互联网的发展,网络中交互的各种数据、视频、语音等信息数量急剧增长。新兴的网络电视、在线直播、视频会议等应用也非常热门。

这时数据的特点发生了改变如直播:

用户之间与服务提供端的数据通信无差异(大家都是看同样的直播,没有差别)

用单播方式部署点到多点应用

在这里插入图片描述

单播(Unicast)是在一台源IP主机和一台目的IP主机之间进行。网络上绝大部分的数据都是以单播的形式传输的,例如电子邮件收发、网上银行都是采用单播实现的。

单播的特点:

  1. 一份单播报文,使用一个单播地址作为目的地址。Source向每个接收者发送一份独立的单播报文。如果网络中存在N个接收者,则Source需要发送N份单播报文。

  2. 网络为每份单播报文执行独立的数据转发,形成一条独立的数据传送通路。N份单播报文形成N条相互独立的传输路径。

用单播的方式部署点到多点应用存在着许多的问题:

1. 重复流量过多(每有一个用户就要发送一份同样的数据)
2. 消耗设备和链路带宽资源(假如有一百个用户,就要发送一百份数据)
3. 难以保证传输支质量(用户数量过大时,会造成发送端和链路上的网络设备因为流量过大以及负载过高而网络瘫痪或死机)

用广播的方式部署点到多点网络

在这里插入图片描述

广播(Broadcast)是在一台源IP主机和网络中所有其它的IP主机之间进行,属于一对所有的通讯方式,所有主机都可以接收到(不管是否需要)。

广播的特点:

  1. 一份广播报文,使用一个广播地址作为目的地址。Source向本网段对应的广播地址发送且仅发送一份报文。

  2. 不管是否有需求,保证报文被网段中的所有用户主机接收。

虽然广播方式解决了数据发送端和链路的流量过大和负载问题,但是用广播的方式部署点到多点网络通也有着许多的问题:

1. 地域范围限制(广播报文被限制在一个共享网段中)
2. 安全性无法保障(在该网段中所有主机都接收的到广播报文,不管是否想要接收)
3. 有偿性无法保障(计费困难)

组播方式部署点到多点应用

在这里插入图片描述
组播(Multicast)是在一台源IP主机和多台(一组)IP主机之间进行,中间的交换机和路由器根据接收者的需要,有选择性地对数据进行复制和转发。

组播的优势:

组播在点对多点的应用上,结合了单播和广播的优势。组播方式下,单一的信息流沿组播分发树被同时发送给一组用户,相同的组播数据流在每一条链路上最多仅有一份。

相比单播,由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发,所以用户的增加不会导致信息源负载的加重以及网络资源消耗的显著增加。

相比广播,由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性。另外,广播只能在同一网段中进行,而组播可以实现跨网段的传输。

组播基本概述

组播基本架构

由于不像单播一样发送数据需要目的IP地址、目的MAC地址或者是广播数据MAC地址全为F那样明确,用组播来发送转发数据,就面临三个问题

1. 组播源如何将组播数据发送到网关路由器(目的IP是多少?、目的MAC是多少?)
2. 路由器收到组播数据如何发送给相应的接收者(如何判断谁想要接收数据,谁不想要接收数据)
3. 路由器之间如何根据接受者的分布情况对组播数据进行数据的转发、复制。

本篇文章将会解决第一个问题。后面的两个问题将会在IP组播基础(二 )IGMP协议,IP组播基础(三)PIM协议中讲解。
在这里插入图片描述

组播源到路由器

在单播中,单播数据包传输的路径是利用“逐跳”(hop-by-hop)转发原理在IP网络中传输。发送端在发送数据的时候只需要明确目的端IP地址以及MAC地址就可以了。

相较于IP单播,IP组播通信的特点是数据包的目的地址不是一个特定的单一IP地址,而是一个特定组地址。

为了实现信息源和组播组成员跨越互联网进行通讯,需要提供网络层组播,组播数据包的目的IP地址使用组播IP地址。也就是说组播源不关注接收者的位置信息,只要将数据发送到特定组IP地址即可。

以太网传输单播数据帧时,目的MAC地址使用的是接收者或者去往接收者的下一跳网关设备的MAC地址。
但是在传输组播报文时,目的端不再是一个具体的接收者,而是一个成员不确定的组,如果目的MAC封装成接收者的MAC地址,则需要为每个接收者分别发送一份组播帧。
显然,这是不合理的。为了在数据链路层实现组播信息的高效传输,需要提供链路层组播转发能力,链路层组播使用组播MAC地址。

组播IP地址

IP地址分类:
在这里插入图片描述
IPv4地址被划分为5类。A、B、C类地址是我们常用的地址。

D类为组播地址,前4bits固定为1110,范围是从224.0.0.0到239.255.255.255,用于标识组播组,且仅能作为组播报文的目的地址使用,不能作为源地址使用。
IPv4组播报文的源地址字段为IPv4单播地址,可使用A、B或C类地址,不能是D类、E类地址。

注意:一个组播IP地址并不是表示具体的某台主机,而是一组主机的集合,主机声明加入某组播组即标识自己需要接收目的地址为该组播地址的数据。

在网络层上,加入同一组播组的所有用户主机能够识别同一个IPv4组播组地址。一旦网络中某用户加入该组播组,则此用户就能接收以该组地址为目的地址的IP组播报文。

在组播地址中,我们又将范围划分为:

范围 含义
224.0.0.0—224.0.0.255 为路由协议预留的永久组地址 (如OSPF协议中用到的组播地址)
224.0.1.0—231.255.255.255 233.0.0.0—238.255.255.255 Any-Source临时组播组地址 (任意源)
232.0.0.0—232.255.255.255 Source-Specific临时组播组地址 (指定源)
239.0.0.0—239.255.255.255 本地管理的Any-Source临时组播组地址(做了解即可)

任意源与指定源解释:

任意源:看一部电视我即可以在爱奇艺看也可以在bilibili看,在哪看课可由你自己选择(模型ASM)
指定源:我只看bilibili,不想看爱奇艺(模型SSM)

组播服务模型:

ASM全称为Any-Source Multicast,译为任意源组播。在ASM模型中,任意发送者都可以成为组播源,向某组播组地址发送信息。接收者加入该组播组后,能够接收到发往该组播组的所有信息。在ASM模型中,接收者无法预先知道组播源的位置,接收者可以在任意时间加入或离开该组播组。

SSM全称为Source-Specific Multicast,译为指定源组播。在现实生活中,用户可能仅对某些源发送的组播信息感兴趣,而不愿接收其它源发送的信息。SSM模型为用户提供了一种能够在客户端指定信源的传输服务。SSM模型和ASM模型的根本区别是接收者已经通过其他手段预先知道了组播源的具体位置。SSM和ASM使用不同的组播地址范围,直接在接收者和组播源之间建立组播转发树。

组播MAC地址

广播MAC地址为全为F(全为1

在这里插入图片描述
单播MAC地址第八位为0
在这里插入图片描述
组播MAC地址第八位为1
在这里插入图片描述
组播数据帧的传输目的不再是一个具体的接收者,而是一个成员不确定的组,所以使用的是组播MAC地址。IANA规定,组播MAC地址的高24bit为0x01005e,第25bit固定为0。

组播MAC地址用于在链路层标识属于同一组播组的接收者。

组播IP与MAC的映射

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

由于IANA规定了组播MAC地址的高24bits为0x01005e,且第25bits固定为0。而MAC地址一共48位,减去固定的25位,还剩下23bits。

于是我们将IP地址的低23bits位映射为MAC地址的低23bits,于是MAC地址的低23bit为组播IP地址的低23bit。
在这里插入图片描述

映射导致问题

但是32位组播IP地址,减去前四位固定为:1110,还剩下 28bits。在组播IP地址映射成组播MAC地址时,我们只映射了23bits,中间5bits信息丢失了。直接的结果是有32个组播IP地址映射到同一组播MAC地址上。

但是IETF认为,同一个局域网中连个或多个组地址生成相同的MAC地址的几率非常低,不会造成太大的影响。

发布了37 篇原创文章 · 获赞 31 · 访问量 4948

猜你喜欢

转载自blog.csdn.net/qq_46254436/article/details/105047286
今日推荐