组播是一个点到点的通讯模式。
组播模型
- ASM模型,任意信源组播,不用分组播源,所有组播源共享同一个组播信息表。
- SSM模型,指定信源组播,区分组播源,每个组播都会维护自己独立的组播信息表。
组播需要关注的问题:
- 如何标识接收者。
- 组播数据时如何转发的
- 组播转发路径如果建立
- 终端设备如果加入/离开组播组
- 组播成员信息如何维护
第一个问题:组播组时如何标识接收者
- 组播协议中,运用组播地址来标识组播中的接收者。
- 组播地址概念:组播地址范围 224.x.x.x~239.x.x.x
- 组播地址分类:
- 本地预留地址 224.0.0.0-224.0.1.255,用于预留给知名协议如OSPF协议等
- 用户组播地址 224.0.2.0 -238.255.255.255 用于用户使用,相当于组播地址内的私网地址
- 本地管理地址 239.0.0.0-239.255.255.255 用于组播协议内的组播地址
- 组播MAC地址 01-00-5E-xx-xx-xx 应为组播ip地址低5-9位不映射在组播MAC地址,所有某些组播ip对应的组播MAC地址会重复。
第二个问题:组播数据如何转发的
- 组播数据的转发要靠组播分发树,分为共享树以及最短路径树。
- SPT最短路径树:组播源和接收者之间都会建立起两两之间的最短路径,可以保证组播源与每个接收者之间都会维护一条最优的路径。缺点为需要维护的路径数量过多,对设备性能消耗过大。
- RPT共享树:组播源与接收者之间会选出一个RP,组播源到所有接收者都都与RP建立连接,建立一条所有组播源到所有接收者的共享链路,缺点为不能保证每一个接收者与组播源之间都是最优路径。
- RPF防环机制:用于避免组播数据的重复发送,组播路径的环路,所有要通过RPF把组播路径修剪为树型结构。
- RPF的工作机制:如果一台设备接收到两条相同的组播源数据,就会开启RPF检测,根据自身的单播路由表为依据,查看组播数据的源地址,查询单播路由表的下一跳,下一条指向哪个接口,就会接收从单播路由表下一条的路由器发来的组播数据,剩下的接口则检查失败,检查失败的会直接丢弃数据包。
第三个问题:组播转发路径是如何建立
- 组播转发路径按照组播路由协议产生
- PIM-DM 密集模式
- 邻居发现机制:PIM路由器之间会周期性发送hello报文来发现,建立以及维护邻居关系,如果运行的为IGMPV1,hello报文可以选举查询器。
- 运行机制:
扩散:组播源发起组播,沿途所有的路由器都会建立起(*,G)表,以广播的方式把组播 包进行扩散,