本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一、组播模型
根据IGMP接收者对组播源的控制从程度的不同,IP组播模型分为ASM、SSM和SFM三种模型。
(一)ASM 模型
ASM 即任意源组播模型。在该模型中,所有的发送者都可以成为组播源,并向某组播地址发送数据,从而使该组播地址的接收者收到信息。在该模型中,接收者无法预先指导组播源的位置,两者互相独立且不相关。
(二)SSM 模型
SSM 即特定源组播模型。 在该模型中,组播接收者会事先通过其他手段获取特定组播源的具体位置。 从而,组播接收者仅对特定组播源发送的组播信息进行接收,对于其他组播源发送的组播信息则不接收。通过该原理,SSM 模型实现了能在客户端指定接收组播源的服务。
(三)SFM 模型
SFM 即过滤源的组播。 SFM 模型是对 ASM 模型的继承和发展,两者的组播源及组播接收者之间的关系相同。SFM 模型在 ASM 模型的基础上对接收到的组播报文的源地址进行检查,允许或禁止某些组播源的报文通过, 使接收者只能收到来自部分组播源的数据(对某些组播源的数据进行过滤)。
二、组播地址
组播地址包括组播IP地址(三层)和组播MAC地址(二层) ,这里对于组播IP地址仅介绍IPv4组播地址,对于IPv6的组播地址,请查看“R&S,数通HCIE|IPv6协议(一)”中有关组播的内容。
(一)组播IPv4地址
组播地址作为目的IP地址,代表一组接收者,该组的接收者所在位置分布在各处,而且组成员的关系是动态的。组播IPv4地址可分为永久组地址和临时组地址。其中临时租地址根据其使用的模型不同,可以分为ASM临时组地址、SSM临时组地址和ASM临时组地址。
① 永久组地址
永久组地址是为路由协议预留的组播地址,用于标识一组运行了某种路由协议的网络设备。 如224.0.0.5 是指运行了OSPF路由协议的路由器。永久组地址始终不变,永久组的组员数量任意(包括零)。
② 临时组地址
临时组地址是指临时分配的IP组播地址,当某临时组中没有成员时,则自动删除该临时组。
IP组播地址范围及其含义如下:
D类地址范围 | 含义 |
---|---|
224.0.0.0-224.0.0.255 | 为路由协议预留的永久组地址。 |
224.0.1.0-231.255.255.255233.0.0.0-238.255.255.255 | 用户可用的ASM临时组地址,全网范围内有效。 |
232.0.0.0-232.255.255.255 | 用户可用的SSM临时组地址,全网范围内有效。 |
239.0.0.0-239.255.255.255 | 用户可用的ASM临时组地址,仅在特定的本地管理域内有效,成为本地管理组地址。 |
备注:该IP组播地址范围划分与IANA组播地址范围划分及含义略有不同,但不影响理解。
(二)组播MAC地址
组播数据在LAN上使用组播MAC地址进行传输。 组播MAC地址由组播IPv4地址生成,组播MAC地址的第一个字节的最后一位为1,单播MAC地址的第一个字节的最后一位为0。
(三)IP地址到MAC地址的映射
① IP组播地址映射到MAC组播地址的方法
组播MAC地址由组播IPv4地址生成,其中,组播MAC地址的高24bit为0x01005e,低23bit为组播IP地址的低23bit。
② IP组播地址映射到MAC组播地址的问题
由于 IP组播地址的前4bit 是1110,代表组播标识,而后28bit中只有23bit被映射到MAC地址,这样IP地址中就有5bit信息丢失,导致的结果是出现了32 个IP组播地址映射到同一MAC地址上。
三、组播数据转发
组播转发区别于单播转发,单播路由关心数据报文到哪去(基于目标IP地址查表转发),而组播路由关心数据报文从哪里来(根据报文源IP地址查表转发的过程)。 组播路由使用 “反向路径转发”(RPF)机制避免报文被发回给源而引起的回路。
(一)组播报文的转发过程
由于组播报文的转发过程叙述较为复杂,因此将组播报文的转发过程流程图列出:
注:图源《HCIE路由交换学习指南》,人民邮电出版社
(二)反向路径转发(RPF)
① 定义
RPF是在路由器收到组播数据报文后,确认数据报文是否是从自身连接到的组播源接口上接收到的一种协议。RPF检查可以检测出组播最优的接口。
② RPF检查过程
首先,路由器在单播路由表中查找组播报文源地址的路由;如果该路由的出接口就是组播报文的入接口,则表示RPF检查成功;否则,则表示RPF检查失败,丢弃该报文。