组播传输是指接受者的数量和位置在源端主机不知道的情况下,仅由源向目标组播IP地址发出一份组播报文的过程;
组播传输的优点是效率高、带宽消耗低;
组播工作原理
组播源仅向组播目标地址发送组播报文,该组播目标地址对应着一组分布在各个位置的组播接收者;
在组播源和组播接收者中间是由组播路由器构成的组播网络,组播路由器通过组播路由协议创建和维护组播转发表;
组播路由器收到组播源产生的组播报文,根据路由器的组播转发表,转发组播报文到接收者所在网段;
组播源
发送组播报文目标地址为D类地址的设备;
一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文;
组播源不需要运行任何组播协议,任何时刻都可以直接推送组播数据;
组播组
在ipv4中,每个D类地址就是一个组播组;
接受者加入组播组就可以识别该组播组地址的组播报文;
组播路由器接收并转发组播报文;
组播路由器
运行组播路由协议,创建、维护组播路由表并转发组播报文的路由器;
连接组播源的组播路由器为源端DR;
连接组播接收者的组播路由器为成员端DR;
组播路由协议
运行在路由器之间,用于发现和维护组播路由信息并确定组播报文转发路径的一种网络协议;
作用类似于OSPF、BGP,不过组播路由协议确定的转发路径用于转发目标地址是D类的组播报文;
常见的组播路由协议有MOSPF、DVMRP、PIM等,PIM可以分为PIM-DM、PIM-SM、PIM-SSM、Bidirectional PIM和PIM for IPv6;
PIM协议不维护用于RPF检查的路由表,仅维护接收者和组播源相关的状态信息,只需RPF检查要参考单播路由协议或静态组播路由、MBGP,相比于其他组播路由协议更简单和高效;
组播表
1、组播协议路由表,相当于单播路由中的OSPF、ISIS、BGP路由表;
display pim routing-table
2、组播路由表,相当于单播路由中的IP路由表
display multicast routing-table
3、组播转发表,相当于单播路由中的FIB表
display multicast forwarding-table
组播接收者
向所在网段上的路由器发送组播报告,接收组播报文的主机;
组播模型
(1)ASM Any-Source Multicast 任意源组播
在ASM模型中,接收者不知道组播源的位置,所以组播接收者和组播源可以独立的工作,任意发送者都可以成为组播源向组播组发送组播数据,接收者加入组播组可以接收组播组的所有流量(不区分组播源),也可以在任意时间加入或离开组播组;
PIM DM/SM是典型的域内组播路由协议,都支持ASM模式;在域间需要借助MSDP失效跨域组播源共享;
(2)SSM Source-Specific Multicast 特定源组播
SSM模型为用户提供了一种能够在客户端指定接收组播源的服务类型,只有从想要的组播源发出的组播报文会转发给组播接收者;
SSM模型和ASM模型的根本区别是接收者已经知道组播源的具体位置,直接在接收者和指定的组播源直接建立组播转发路径,没有域内和域间的界定;
SSM使用和ASM不同的组播地址范围;
(3)SFM Source-Filtered Multicast 源过滤组播
SFM仅在ASM的基础上添加了组播源过滤策略,其他基本相同;
SFM在功能上对ASM进行了扩展,组播节点对接收的组播报文源地址进行检查,允许或禁止来自某些组播源的报文通过;
组播地址
组播地址仅作为目标IP地址,代表一组接收者;
D类地址前4位为1110,后28位为任意的一类地址范围,224.0.0.0-239.255.255.255;
(1)IPv4组播地址 D类地址
224.0.0.0-224.0.0.255 永久组播地址,Link-Local组播地址,路由协议使用;
224.0.1.0-224.0.1.255 永久组播地址,用于网络协议,可以被路由器转发;
224.0.1.0-238.255.255.255 除232.0.0.0-232.255.255.255用于SSM外,都用于ASM;
239.0.0.0-239.255.255.255 私有组播地址使用范围;
(2)以太网组播MAC地址
高25比特为固定值,前24比特0x01005e,第25比特为0;
后23比特为IPv4组播地址的后23比特映射;
由于IPv4组播地址前4比特固定值1110,所以一个组播MAC地址对应32个IPv4组播地址;
组播转发过程
单播转发是基于报文目的IP地址查表转发的过程,组播转发是基于报文源IP地址查表转发的过程,PIM协议使用RPF检查确定转发路径,报文向远离源的方向上转发,可避免报文被发回给源造成环路;
RPF检查
在控制平面上,依靠RPF检查计算上游接口生成(S,G)或(*,G)表项;
在转发平面上,依靠RPF检查确定组播报文的来源路径是否合法;
RPF检查依据组播静态路由、MBGP路由、单播路由,当路由器收到一份组播报文后,如果这三种路由表都存在,检查过程如下:
首先根据报文源地址分别从单播路由表、MBGP路由表和组播静态路由表各选出一条最优路由,单播路由、MBGP路由的出接口为RPF接口,下一跳为RPF邻居,组播静态路由手工指定了RPF接口与RPF邻居;
然后从这三条路由中选出优先级最高的那条路由,优先级相同的情况下,按照组播静态路由、MBGP路由和单播路由的顺序进行选择;
最后路由器比较报文的入接口和RPF路由的RPF接口,如果一致表明报文来源路径正确,会将其向下游转发;如果不一致表明报文来源路径错误,将其丢弃;
默认基于路由协议优先级选择RPF路由,如果改为基于路由前缀长度选择RPF路由,路由前缀掩码最长会最优先;
组播RPF路由匹配策略
当组播路由器根据RFP检查选择上游接口时,若存在多个开销相同的单播路由时,缺省情况下,选取下一跳地址最大的路由;
网友评论