组播,单播,广播区别:
一、当单播实现点到多点的传输:
1、数据源发送多份数据
2、链路上传输多份数据
3、只有接收者才会收到数据包 (优点)

缺点:对发送源的压力比较大

二、当广播实现点到多点传输:
1、数据源只发一次数据
2、链路上只传输一份数据
3、所有人都会收到数据 (缺点)

三、当组播实现点到多点传输:
优点:
1、增强效率
2、优化性能
3、分布式应用

缺点:
1、尽最大努力交付(类似UDP)
2、无拥塞管理
3、数据包重复
4、数据包无序

组播技术需求:
一、如何标识接收者?
在单播环境中用IP地址和MAC地址来标识接收者
在组播环境中用组播地址标识接收者

二、如何加入或离开组播组?
IGMP协议

三、组播数据如何转发?
单播环境中路由器查表(最长掩码匹配原则)进行查找下一跳进行转发
组播环境中使用逆向路径转发

四、组播转发路径如何建立?
1、最短树路径模型
2、共享树模型

组播地址:
范围:224.0.0.0-239.255.255.255
本地协议预留地址:
224.0.0.0-224.0.1.255
本地管理地址:
239.0.0.0-239.255.255.255
用户组地址:
224.0.2.0-238.255.255.255
组播MAC
—以太网:01-00-5e-xx-xx-xx
因为是取后23位映射到MAC地址中所以有可能MAC地址重复

组播组管理协议(IGMP):
一、功能:
1、主机加入和离开组播组
2、路由器维护组播组
3、查询器选举机制
4、成员报告抑制机制

二、IGMP版本
1、IGMPv1
2、IGMPv2(常用)
3、IGMPv3

三、IGMPv2

加入组:
路由器会定期发送General Query(普遍查询)报文,询问是否有主机要加入组播组,主机会发送Report报文,此时查询器会有一个(*,G)表项,*为任意源地址
成员报告抑制机制:
当广播域中一台主机发送Report时,其他相同组播域的主机也会侦听这个报文,当收到相同组播域的Report时,其他主机将不发送Report报文

离开组:
主机先会发送Leave报文至查询器,查询器会发送Group-Specific Query(指定组查询)报文,如果有其他主机在该组播组中,那么在该组的主机会发送Report报文进行响应(在查询报文超时之前),这个组不会删去,反之,删去组播组

查询器选举:
比较下联在同一网段的接口地址,小的为查询器

四、IGMPv3
1、IGMPv3在IGMPv2基础上增加了对源过滤的支持
源过滤不仅可以选择接受某个组的数据,还能接受或者拒绝某些源发送的数据
2、IGMPv3的Report报文目的地址改为224.0.0.22(v2为224.0.0.1)
3、IGMPv3取消了成员报告抑制机制(原因:增加了源过滤)
4、IGMPv3过滤模式和源列表
IGMPv3为接口上每一个组播组都维护一个表项信息,格式:(组地址,过滤模式,源列表)

过滤模式包含Include和Exclude两种
Include:只能接受来自源列表的数据(即收源列表中的数据)
Exclude:只收不来自源列表的数据(即不收源列表中的数据)

源列表:是一个包含0个或者多个IP单播地址,通常用集合形式表示

5、IGMPv3主机侧维护和组状态
IGMPv3组有3种状态,当前状态,过滤模式改变状态以及源列表改变状态,其对应3种记录,当前状态记录,过滤模式变化记录,源列表变化记录

当主机接口维护的组状态发生变化时,会主动发送类型变化的Membership Report报文去响应

当收到Membership Query时,会发送当前状态的Report去响应

6、IGMPv3路由器侧维护的组状态
路由器为每一个接口维护一个状态,包含组过滤模式和源列表及定时器

过滤模式:
Include:接收源列表(S,G)
Exclude:包含2个源记录列表,第一类与过滤模式相反,是主机需要接收的源列表,第二类是主机不需要接收的源列表(S1(收),S2(不收),G)

五、IGMP Snooping
1、解决组播数据在二层交换机上以广播方式转发
朝向组播源的接口:路由接口
朝向客户端的接口:成员接口

2、IGMP Snooping原理

六、组播转发机制RPF
1、RPF(逆向路径转发)
——确保组播数据沿正确路径转发
——避免组播路径出现环路

2、RPF检查过程:
如果数据包是在到达组播源的最优路径上到达,则RPF检查成功,数据包转发(即从最有路由的接口进入)如果RPF检查失败,丢弃数据包

3、所有RPF检测基于单播路由表

4、RPF测试顺序
首先检测组播静态路由
第二MP-BGP
最后单播路由表