华为组播理论知识详解(一)
首页 > HuaWei > 组播配置   作者:浙江思唯网络  2016年3月14日 12:18 星期一  字号:   评论:0 条
时间:2016-3-14 12:18   评论:0 条 

一、组播简介

作为IP传输三种方式之一,IP组播通信指的是IP报文从一个源发出,被转发到一组特定的接收者。

相较于传统的单播和广播,IP组播可以有效地节约网络带宽、降低网络负载,所以被广泛应用于IPTV、实时数据传送和多媒体会议等网络业务中。

传统的IP通信有两种方式:单播(Unicast)和广播(Broadcast)。

对于单播通信,信息源为每个需要信息的主机都发送一份独立的报文。

对于广播通信,信息源将信息发送给该网段中的所有主机,而不管其是否需要该信息。

如果要将数据从一台主机发送给多个主机而非所有主机,可以采用广播方式,也可以由源主机采用单播方式向网络中的多台目标主机发送多份数据,如下图1所示。

采用单播和广播方式进行点到多点传输数据示意图.png

1 采用单播和广播方式进行点到多点传输数据示意图

采用单播方式时,网络中传输的信息量与需要该信息的用户量成正比。当需要该信息的用户数量较大时,信息源需要将多份内容相同的信息发送给不同的用户,这对信息源以及网络带宽都将造成巨大的压力。因此,该传输方式不利于信息的批量发送,只适用于用户稀少的网络。

采用广播方式时,不需要接收信息的主机也将收到该信息,这样不仅信息的安全性得不到保障,而且会造成同一网段中信息泛滥。因此,该传输方式不利于与特定对象进行数据交互,同时会浪费大量的带宽。

由上述可见,传统的单播和广播通信方式不能有效地解决单点发送、多点接收的问题。

采用组播方式进行点到多点传输数据示意图.png

2 采用组播方式进行点到多点传输数据示意图

组播(Multicast)可以很好的解决点到多点的数据传输,如上图2所示,源只发送一份数据,网络中只有需要该数据的主机(目标主机HostAHostC)可以接收该数据,其他主机(HostB)不能收到该数据。

组播相对单播和广播有如下优势:

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

相比广播,由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性。

组播适用于任何“点到多点”的数据发布,主要包含以下几方面:

1、多媒体、流媒体的应用。

2、培训、联合作业场合的通信。

3、数据仓库、金融应用(股票)。

IP组播技术在ISP提供的互联网信息服务中已经得到了应用。例如:在线直播、网络电视、远程教育、远程医疗、网络电台和实时视/音频会议等。

 

1、组播基本概念

组播传输的特点是单点发送,多点接收。

组播方式示意图 .png

1 组播方式示意图

如上图1所示为组播的传输模型示意图,网络中存在信息发送源Source,感兴趣的用户HostAHostC提出信息需求,Source发出的数据只有HostAHostC会接收到。

1、组播组:

IP组播地址进行标识的一个集合。任何用户主机(或其他接收设备),加入一个组播组,就成为了该组成员,可以识别并接收发往该组播组的组播数据。

2、组播源:

信息的发送者称为“组播源”,如上图1中的Source。一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文。

组播源通常不需要加入组播组。

3、组播组成员:

所有加入某组播组的主机便成为该组播组的成员,如上图1中的HostAHostC。组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。

组播组成员可以广泛地分布在网络中的任何地方。

4、组播路由器:

支持三层组播功能的路由器或交换机,如上图1中的各个Router。组播路由器不仅能够提供组播路由功能,也能够在与用户连接的末梢网段上提供组播组成员的管理功能。

 

2、组播服务模型

组播服务模型的分类是针对接收者主机的,对组播源没有区别

组播源发出的组播数据中总是以组播源自己的IP地址为报文的源地址,组播组地址为目的地址。而接收者主机接收数据时可以对源进行选择,因此产生了ASMAny-Source Multicast,任意源组播)SSMSource-Specific Multicast,指定源组播)两种服务模型。这两种服务模型使用不同的组播组地址范围。

1ASM模型

ASM模型仅针对组地址提供组播分发。

一个组播组地址作为一个网络服务的集合,任何源发布到该组地址的数据得到同样的服务。接收者主机加入组播组以后可以接收到任意源发送到该组的数据。

为了提高安全性,可以在路由器上配置针对组播源的过滤策略,允许或禁止来自某些组播源的报文通过。最终从接收者角度看,数据是经过筛选的。

ASM模型要求组地址必须整个组播网络中唯一。

“唯一”指的是同一时刻一个ASM地址只能被一种组播应用使用。

如果有两种不同的应用程序使用了同一个ASM组地址发送数据,他们的接收者会同时收到来自两个源的数据。这样一方面会导致网络流量拥塞,另一方面也会给接收者主机造成困扰。

 

2SSM模型

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

SSM模型对组地址不再要求全网唯一,只需要每个组播源保持唯一。

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

 

3、组播地址

为了使组播源和组播组成员进行通信,需要提供网络层组播,使用IP组播地址。同时,为了在本地物理网络上实现组播信息的正确传输,需要提供链路层组播,使用组播MAC地址

组播数据传输时,其目的地不是一个具体的接收者,而是一个成员不确定的组,所以需要一种技术将IP组播地址映射为组播MAC地址。

1IPv4组播地址

IANAInternet Assigned Numbers Authority,互联网编号分配委员会)将D类地址空间分配给IPv4组播使用。IPv4地址一共32位,D类地址最高4位为1110,因此地址范围从224.0.0.0239.255.255.255,具体分类及含义见下表1

IPv4组播地址的范围及含义

地址范围

含义

224.0.0.0224.0.0.255

永久组地址。

IANA为路由协议预留的IP地址(也称为保留组地址),用于标识一组特定的网络设备,供路由协议、拓扑查找等使用,不用于组播转发。

常见的永久组地址如下表2所示。

224.0.1.0231.255.255.255

233.0.0.0238.255.255.255

ASM组播地址,全网范围内有效。

232.0.0.0232.255.255.255

缺省情况下的SSM组播地址,全网范围内有效。

239.0.0.0239.255.255.255

本地管理组地址,仅在本地管理域内有效。在不同的管理域内重复使用相同的本地管理组地址不会导致冲突。

常见的永久组地址列表

永久组地址

含义

224.0.0.0

不分配

224.0.0.1

网段内所有主机和路由器(等效于广播地址)

224.0.0.2

所有组播路由器

224.0.0.3

不分配

224.0.0.4

DVMRPDistance Vector Multicast Routing Protocol,距离矢量组播路由协议)路由器

224.0.0.5

OSPFOpen Shortest Path First,开放最短路径优先)路由器

224.0.0.6

OSPF DRDesignated Router,指定路由器)

224.0.0.7

STShared Tree,共享树)路由器

224.0.0.8

ST主机

224.0.0.9

RIP-2Routing Information Protocol version 2,路由信息协议版本2)路由器

224.0.0.11

移动代理(Mobile-Agents

224.0.0.12

DHCPDynamic Host Configuration Protocol,动态主机配置协议)服务器/中继代理

224.0.0.13

所有PIMProtocol Independent Multicast,协议无关组播)路由器

224.0.0.14

RSVPResource Reservation Protocol,资源预留协议)封装

224.0.0.15

所有CBTCore-Based Tree,有核树)路由器

224.0.0.16

指定SBMSubnetwork Bandwidth Management,子网带宽管理)

224.0.0.17

所有SBM

224.0.0.18

VRRPVirtual Router Redundancy Protocol,虚拟路由器冗余协议)

224.0.0.22

所有使能IGMPv3Internet Group Management Protocol, Version 3,因特网组管理协议)的路由器

224.0.0.19 224.0.0.21

224.0.0.23 224.0.0.255

未指定简单归纳如下:

专用地址(224.0.0.0-224.0.0.255)用于网络协议组的广播,

公用地址(224.0.1.0-238.255.255.255)用于全球网络组播,

私用地址(239.0.0.0-239.255.255.255)用于本地测试、局域网使用。   

ASM(任意源组播)地址为(224.0.1.0-231.255.255.255、233.0.0.0.0-238.255.255.255.255)                                                 
       SSM
(指定源组播)地址为(232.0.0.0.0-232.255.255.255.255),全网用在IPv6协议中,第一个字节必须是0xFF。


2IPv4组播MAC地址

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

IANA规定,IPv4组播MAC地址的高24位为0x01005e,第25位为0,低23位为IPv4组播地址的低23位,映射关系如下图2所示。

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

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

例如组播组地址224.0.1.1对应的组播MAC地址为01-00-5e-00-01-01

IPv4组播地址的前4位是固定的1110,对应组播MAC地址的高25位,后28位中只有23位被映射到MAC地址,因此丢失了5位的地址信息,直接结果是有32IPv4组播地址映射到同一MAC地址上。

例如IP地址为224.0.1.1224.128.1.1225.0.1.1239.128.1.1等组播组的组播MAC地址都为01-00-5e-00-01-01。网络管理员在分配地址时必须考虑这种情况。

 

4、组播协议

IP组播传输模型中,发送者不关心接收者所处的位置,只要将数据发送到约定的目的地址,剩下的工作就交给网络去完成。

网络中的组播设备必须收集接收者的信息,并按照正确的路径实现组播报文的转发和复制。在组播的发展过程中,形成了一套完整的协议来完成此任务。

IPv4网络中使用的组播协议如下:

1、组播组管理协议IGMPInternet Group Management Protocol

IGMP是负责IPv4组播成员管理的协议,运行在组播网络中的最后一段,即三层网络设备与用户主机相连的网段内。

IGMP协议在主机端实现组播组成员加入与离开,在上游的三层设备中实现组成员关系的维护与管理,同时支持与上层组播路由协议的信息交互。

到目前为止,IGMP有三个版本:IGMPv1IGMPv2IGMPv3

所有IGMP版本都支持ASM模型。

IGMPv3可以直接应用于SSM模型,而IGMPv1IGMPv2则需要SSM Mapping技术的支持才能应用到SSM模型。

 

2、协议无关组播PIMProtocol Independent Multicast

PIM作为一种IPv4网络中的组播路由协议,主要用于将网络中的组播数据流发送到有组播数据请求的组成员所连接的组播设备上,从而实现组播数据的路由查找与转发。

PIM协议包括PIM-SMProtocol Independent Multicast Sparse Mode)协议无关组播-稀疏模式PIM-DMProtocol Independent Multicast Dense Mode)协议无关组播-密集模式

PIM-SM适合规模较大、组成员相对比较分散的网络;PIM-DM适合规模较小、组播组成员相对比较集中的网络。

PIM-DM模式下不需要区分ASM模型和SSM模型。

PIM-SM模式下根据数据和协议报文中的组播地址区分ASM模型和SSM模型:

如果在SSM组播地址范围内,则按照PIM-SMSSM中的实现流程进行处理。PIM-SSM不但效率高,而且简化了组播地址分配流程,特别适用于对于特定组只有一个特定源的情况。

如果在ASM组播地址范围内,则按照PIM-SMASM中的实现流程进行处理。

 

3、组播源发现协议MSDPMulticast Source Discovery Protocol

MSDP是为了解决多个PIM-SM域之间的互连的一种域间组播协议,用来发现其他PIM-SM域内的组播源信息,将远端域内的活动信源信息传递给本地域内的接收者,从而实现组播报文的跨域转发

只有PIM-SM使用ASM模型时,才需要使用MSDP

 

4、组播边界网关协议MBGPMultiProtocol Border Gateway Protocol

MBGP实现了跨AS域的组播转发。适用于组播源与组播接收者在不同AS域的场景。

 

5IGMP Snooping & IGMP Snooping Proxy

IGMP Snooping功能可以使交换机工作在二层时,通过侦听上游的三层设备和用户主机之间发送的IGMP报文来建立组播数据报文的二层转发表,管理和控制组播数据报文的转发,进而有效抑制组播数据在二层网络中扩散。

IGMP Snooping Proxy功能在IGMP Snooping的基础上使交换机代替上游三层设备向下游主机发送IGMP Query报文和代替下游主机向上游设备发送IGMP ReportLeave报文,这样能够有效的节约上游设备和本设备之间的带宽。


 您阅读这篇文章共花了: 
二维码加载中...
技术交流:欢迎在本文下方留言或加入QQ群:859273036 互相学习。     
本文地址:http://www.023wg.com/Multicast/210.html
版权声明:若无注明,本文皆为“思唯网络教育博客”原创,转载请保留文章出处。

返回顶部    首页   
版权所有:思唯网络教育博客    浙江思唯网络