8. 组播报文的转发机制

在组播模型中,IP 报文的目的地址字段为组播组地址,组播源向以此目的地址所标识的主机群组传送信息。因此,转发路径上的组播路由器为了将组播报文传送到各个方位的接收站点,往往需要将从一个入接口收到的组播报文转发到多个出接口。与单播模型相比,组播模型的复杂性就在于:

· 为了保证组播报文在网络中的传输,必须依靠单播路由表或者单独提供给组播使用的路由表(如MBGP 路由表)来指导转发;

· 为了处理同一设备在不同接口上收到来自不同对端的相同组播信息,需要对组播报文的入接口进行RPF(Reverse Path Forwarding,逆向路径转发)检查,以决定转发还是丢弃该报文。RPF 检查机制是大部分组播路由协议进行组播转发的基础。

9. IGMP SSM Mapping

IGMP SSM Mapping 通过在路由器上配置SSM 静态映射规则,从而为运行IGMPv1 或IGMPv2 的接收者主机提供对SSM 模型的支持。

SSM 模型要求在接收者主机所在的网段,路由器能够了解主机加入组播组时所指定的组播源。如果接收者主机上运行的是IGMPv3,则可以在IGMPv3 的报告报文中直接指定组播源的地址;如果某些接收者主机只能运行IGMPv1 或IGMPv2,则在IGMPv1 或IGMPv2 的报告报文中无法指定组播源的地址。这种情况下需要通过在路由器上配置IGMP SSM Mapping 功能,将IGMPv1 或IGMPv2报告报文中所包含的(*,G)信息映射为(G,INCLUDE,(S1,S2...))信息。

在下图所示的SSM网络中,Host A、Host B和Host C上分别运行IGMPv1、IGMPv2 和IGMPv3。

在不允许将Host A和Host B升级为IGMPv3 的情况下,若要为Host A和Host B也提供SSM组播服务,则需在Router A上使能IGMP SSM Mapping并配置相应的映射规则。

IGMP SSM Mapping组网图

配置完成后,当Router A 收到来自主机的IGMPv1 或IGMPv2 报告报文时,首先检查该报文中所携带的组播组地址G,然后根据检查结果的不同分别进行处理:

(1) 如果G 不在SSM 组地址范围内,则提供ASM 组播服务。

(2) 如果G 在SSM 组地址范围内:

§ 若Router A 上没有G 对应的IGMP SSM Mapping 规则,则无法提供SSM 组播服务,丢弃该报文;

§ 若Router A 上有G 对应的IGMP SSM Mapping 规则,则依据规则将报告报文中所包含的(*,G)信息映射为(G,INCLUDE,(S1,S2...))信息,可以提供SSM 组播服务。

IGMP SSM Mapping 不对IGMPv3 的报告报文进行处理。

10. IGMP Proxy

在一些简单的树型网络拓扑中,边缘设备上并不需要运行复杂的组播路由协议(如PIM),可以通过在这些设备上配置IGMP Proxying(IGMP 代理)功能,使其代理下游主机来发送IGMP 报文及维护组成员关系,并基于该关系进行组播转发。在上游设备看来,配置了IGMP Proxying 功能的设备(称为IGMP 代理设备)不再是一个PIM 邻居,而只是一台主机。

如上图所示,IGMP Proxying中定义了以下两种接口类型:

§ 上行接口:又称代理接口,指IGMP 代理设备上运行IGMP Proxying 功能的接口,即朝向组播分发树树根方向的接口。由于该接口执行IGMP 协议的主机行为,因此也称为主机接口(Host Interface)。

§ 下行接口:指IGMP 代理设备上除上行接口外其它运行IGMP 协议的接口,即背向组播分发树树根方向的接口。由于该接口执行IGMP 协议的路由器行为,因此也称为路由器接口(Router Interface)。

IGMP 代理设备上维护着一个组成员关系数据库(Membership Database),将所有下行接口维护的组成员关系记录都存到这个数据库中。组成员关系记录的结构如下:(Multicast-address,Filter-mode,Source-list),每条记录都是各下行接口上具有相同组地址的成员关系记录的合集。

上行接口正是依据这个数据库来执行主机行为——当收到查询报文时根据当前数据库状态响应报告报文,或者当数据库变化时主动发送报告或离开报文;而下行接口则执行路由器行为——参与查询器的选举、发送查询报文并根据报告报文维护组成员关系等。

11. 组播传输的特点

· “组播组”是一个用IP 组播地址进行标识的接收者集合,主机通过加入某组播组成为该组播组的成员,从而可以接收发往该组播组的组播数据。组播源通常不需要加入组播组。

· 信息的发送者称为“组播源”,一个组播源可以同时向多个组播组发送信息,多个组播源也可以同时向一个组播组发送信息。

· 所有加入某组播组的主机便成为该组播组的成员,组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。组播组成员可以广泛地分布在网络中的任何地方。

· 支持三层组播功能的路由器或三层交换机统称为“组播路由器”或“三层组播设备”。组播路由器不仅能够提供组播路由功能,也能够在与用户连接的末梢网段上提供组播组成员的管理功能。组播路由器本身也可能是组播组的成员。

12. 组播技术的优点

· 提高效率:减轻信息源服务器和网络设备CPU 的负荷;

· 优化性能:减少冗余流量;

· 分布式应用:使用最少的网络资源实现点到多点应用。

13. 组播相对单播、广播的优势

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

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

组播信息传输与电视节目传输的类比

14. 组播技术应用

· 多媒体、流媒体的应用,如:网络电视、网络电台、实时视/音频会议;

· 培训、联合作业场合的通信,如:远程教育、远程医疗;

· 数据仓库、金融应用(股票);

· 其它任何“点到多点”的数据发布应用。


相关内容