一,三种信息传输方式的比较
1. 单播方式的信息传输
2. 广播方式的信息传输
3. 组播方式的信息传输
二,组播模型分类
根据接收者对组播源处理方式的不同,组播模型分为以下三类:
1. ASM模型
简单地说,ASM(Any-Source Multicast,任意信源组播)模型就是任意源组播模型。
在ASM模型中,任意一个发送者都可以作为组播源向某组播组地址发送信息。众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。
在ASM模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。
2. SFM模型
SFM(Source-Filtered Multicast,信源过滤组播)模型继承了ASM模型,从发送者角度来看,两者的组播组成员关系完全相同。
SFM模型在功能上对ASM模型进行了扩展。在SFM模型中,上层软件对收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。因此,接收者只能收到来自部分组播源的组播数据。从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。
3. SSM模型
在现实生活中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。SSM(Source-Specific Multicast,指定信源组播)模型为用户提供了一种能够在客户端指定组播源的传输服务。
SSM模型与ASM模型的根本区别在于:SSM模型中的接收者已经通过其它手段预先知道了组播源的具体位置。SSM模型使用与ASM/SFM模型不同的组播地址范围,直接在接收者与其指定的组播源之间建立专用的组播转发路径。
三,组播框架结构
对于IP组播,需要关注下列问题:
l 组播源将组播信息传输到哪里?即组播寻址机制;
l 网络中有哪些接收者?即主机注册;
l 这些接收者需要从哪个组播源接收信息?即组播源发现;
l 组播信息如何传输?即组播路由。
IP组播属于端到端的服务,组播机制包括以下四个部分:
(1) 寻址机制:借助组播地址,实现信息从组播源发送到一组接收者;
(2) 主机注册:允许接收者主机动态加入和离开某组播组,实现对组播成员的管理;
(3) 组播路由:构建组播报文分发树(即组播数据在网络中的树型转发路径),并通过该分发树将报文从组播源传输到接收者;
(4) 组播应用:组播源与接收者必须安装支持视频会议等组播应用的软件,TCP/IP协议栈必须支持组播信息的发送和接收
四,组播地址
为了让组播源和组播组成员进行通信,需要提供网络层组播地址,即IP组播地址。同时必须存在一种技术将IP组播地址映射为链路层的组播MAC地址。
1. IP组播地址
(1) IPv4组播地址
IANA(Internet Assigned Numbers Authority,互联网编号分配委员会)将D类地址空间分配给IPv4组播使用,范围从224.0.0.0到239.255.255.255,具体分类及其含义如表2所示。
表2 IPv4组播地址的范围及含义
地址范围
含义
224.0.0.0~224.0.0.255
永久组地址。除224.0.0.0保留不做分配外,其它地址供路由协议、拓扑查找和协议维护等使用,常用的永久组地址及其含义如表3所示。对于以该范围内组播地址为目的地址的数据包来说,不论其TTL(Time to Live,生存时间)值为多少,都不会被转发出本地网段
224.0.1.0~238.255.255.255
用户组地址,全网范围内有效。包含两种特定的组地址:
l 232.0.0.0/8:SSM组地址
l 233.0.0.0/8:GLOP组地址
239.0.0.0~239.255.255.255
本地管理组地址,仅在本地管理域内有效。使用本地管理组地址可以灵活定义组播域的范围,以实现不同组播域之间的地址隔离,从而有助于在不同组播域内重复使用相同组播地址而不会引起冲突。详情请参见RFC 2365
表3 常用永久组地址及其含义
永久组地址
含义
224.0.0.1
所有系统,包括主机与路由器
224.0.0.2
所有组播路由器
224.0.0.3
未分配
224.0.0.4
DVMRP(Distance Vector Multicast Routing Protocol,距离矢量组播路由协议)路由器
224.0.0.5
OSPF(Open Shortest Path First,开放最短路径优先)路由器
224.0.0.6
OSPF指定路由器/备用指定路由器
224.0.0.7
ST(Shared Tree,共享树)路由器
224.0.0.8
ST主机
224.0.0.9
RIP-2(Routing Information Protocol version 2,路由信息协议版本2)路由器
224.0.0.11
移动代理
224.0.0.12
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器/中继代理
224.0.0.13
所有PIM(Protocol Independent Multicast,协议无关组播)路由器
224.0.0.14
RSVP(Resource Reservation Protocol,资源预留协议)封装
224.0.0.15
所有CBT(Core-Based Tree,有核树)路由器
224.0.0.16
指定SBM(Subnetwork Bandwidth Management,子网带宽管理)
224.0.0.17
所有SBM
224.0.0.18
VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)
2. 以太网组播MAC地址
以太网传输单播IP报文的时候,目的MAC地址使用的是接收者的MAC地址。但是在传输组播数据包时,其目的地不再是一个具体的接收者,而是一个成员不确定的组,所以要使用组播MAC地址。
(1) IPv4组播MAC地址
IANA规定,IPv4组播MAC地址的高24位为0x01005E,第25位为0,低23位为IPv4组播地址的低23位。IPv4组播地址与MAC地址的映射关系如图所示。




组播pim 密集模式 企业架构 组播模式有哪些_tcp 组播


IPv4组播地址与MAC地址的映射关系
由于IPv4组播地址的高4位是1110,代表组播标识,而低28位中只有23位被映射到IPv4组播MAC地址,这样IPv4组播地址中就有5位信息丢失。于是,就有32个IPv4组播地址映射到了同一个IPv4组播MAC地址上,因此在二层处理过程中,设备可能要接收一些本IPv4组播组以外的组播数据,而这些多余的组播数据就需要设备的上层进行过滤了
1. 三层组播协议
三层组播协议包括组播组管理协议和组播路由协议两种类型,它们在网络中的应用位置如图8所示。
图8 三层组播协议的应用位置
(1) 组播组管理协议
在主机和与其直接相连的三层组播设备之间通常采用组播组的管理协议IGMP(Internet Group Management Protocol,互联网组管理协议)或MLD(Multicast Listener Discovery Protocol,组播侦听者发现协议),该协议规定了主机与三层组播设备之间建立和维护组播组成员关系的机制。
(2) 组播路由协议
组播路由协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了从一个数据源端到多个接收端的无环(loop-free)数据传输路径,即组播分发树。
对于ASM模型,可以将组播路由分为域内和域间两大类:
l 域内组播路由用来在AS内部发现组播源并构建组播分发树,从而将组播信息传递到接收者。在众多域内组播路由协议中,PIM(Protocol Independent Multicast,协议无关组播)是目前较为典型的一个。按照转发机制的不同,PIM可以分为DM(Dense Mode,密集模式)和SM(Sparse Mode,稀疏模式)两种模式。
l 域间组播路由用来实现组播信息在AS之间的传递,目前比较成型的解决方案有:MSDP(Multicast Source Discovery Protocol,组播源发现协议)能够跨越AS传播组播源的信息;而MP-BGP(MultiProtocol Border Gateway Protocol,多协议边界网关协议)的组播扩展MBGP(Multicast BGP)则能够跨越AS传播组播路由。
对于SSM模型,没有域内和域间的划分。由于接收者预先知道组播源的具体位置,因此只需要借助PIM-SM构建的通道即可实现组播信息的传输
二层组播协议
二层组播协议包括IGMP Snooping/MLD Snooping和组播VLAN/IPv6组播VLAN等,它们在网络中的应用位置如图9所示。


组播pim 密集模式 企业架构 组播模式有哪些_tcp 组播_02


图二层组播协议的应用位置
(1) IGMP Snooping/MLD Snooping
IGMP Snooping(Internet Group Management Protocol Snooping,互联网组管理协议窥探)和MLD Snooping(Multicast Listener Discovery Snooping,组播侦听者发现协议窥探)是运行在二层设备上的组播约束机制,通过窥探和分析主机与三层组播设备之间交互的IGMP或MLD报文来管理和控制组播组,从而可以有效抑制组播数据在二层网络中的扩散。
(2) 组播VLAN/IPv6组播VLAN
在传统的组播点播方式下,当连接在二层设备上、属于不同VLAN的用户分别进行组播点播时,三层组播设备需要向该二层设备的每个VLAN分别发送一份组播数据;而当二层设备运行了组播VLAN或IPv6组播VLAN之后,三层组播设备只需向该二层设备的组播VLAN或IPv6组播VLAN发送一份组播数据即可,从而既避免了带宽的浪费,也减轻了三层组播设备的负担
组播报文的转发机制
在组播模型中,IP报文的目的地址字段为组播组地址,组播源向以此目的地址所标识的主机群组传送信息。因此,转发路径上的组播路由器为了将组播报文传送到各个方位的接收站点,往往需要将从一个入接口收到的组播报文转发到多个出接口。与单播模型相比,组播模型的复杂性就在于此:
l 为了保证组播报文在网络中的传输,必须依靠单播路由表或者单独提供给组播使用的路由表(如MBGP路由表)来指导转发;
l 为了处理同一设备在不同接口上收到来自不同对端的相同组播信息,需要对组播报文的入接口进行RPF(Reverse Path Forwarding,逆向路径转发)检查,以决定转发还是丢弃该报文。RPF检查机制是大部分组播路由协议进行组播转发的基础。
多实例组播
多实例组播是指在VPN(Virtual Private Network,虚拟专用网)中应用的组播。
多实例简介
各VPN网络之间、VPN网络与公共网络之间要求信息隔离。如图10所示,VPN A和VPN B通过PE设备接入公共网络。


组播pim 密集模式 企业架构 组播模式有哪些_组播_03


图VPN典型组网
l P设备专属于公网,各CE设备则专属于某一VPN。每台设备只为其专属的网络服务,仅维护一套转发机制。
l PE设备同时接入公网和VPN网络,同时为多个网络服务。在设备上必须严格区分各个网络的信息并为各个网络独立维护一套转发机制。这时,PE设备上为同一网络服务的一套软硬件设施统称为一个实例(Instance)。PE设备上同时存在多个实例,同一实例分布在多台PE设备上。
多实例在组播中的应用
在PE上应用多实例后,其具备以下功能:
l 为每个实例独立维护一套组播转发机制:支持各种组播协议,拥有各自独立的PIM邻居列表、组播路由表等信息。每个实例转发组播数据时只查找本实例的转发表或路由表;
l 保证各实例之间相互隔离;
l 实现公网实例和VPN实例之间的信息交流和数据转换。
多实例组播是实现跨越VPN传播组播数据的基础。以图10中的VPN实例A为例,组播VPN是指:当VPN A中的组播源向某组播组发送组播数据时,在网络中所有可能的接收者中,只有属于VPN A的组播组成员才能收到该组播源发来的组播数据。组播数据在VPN A中以组播方式进行传输,在公网中也以组播方式进行传输。