组播
1.什么是组播
组播(Multicast)是一种通信方式,它允许一个发送者(或多个发送者)将数据发送一组接收者,而不是像单播那样发送给单个接收者,或像广播那样发送给网络中所有的设备。组播在特定的场景中非常高效,尤其是在需要将相同的数据同时传递给多个接收者时,比如视频流、在线会议、股票行情发布等场景。
组播的工作原理
在组播通信中,数据通过特定的组播地址发送,网络中的设备可以选择加入(订阅)或者离开(取消订阅)这个组播组。只有加入组播组的设备才会接收到组播流量,这与广播不同,广播会将数据发送给网络中所有设备。
组播的关键要素
组播组:一组接收相同数据的设备。它们通过一个特定的组播IP地址(范围是224.0.0.0到239.255.255.255)识别。
组播IP地址:组播数据的目的地址是一个特定的组播地址,而不是一个单独的主机IP地址。这些地址用于标识组播组。
组播的协议:
IGMP:用于主机和路由器之间的通信。主机通过IGMP向路由器发送加入或离开的请求。
PIM:用于路由器之间的组播路由协议,用来建立和维护组播路径。
MLD:IPv6中用于组播的协议,类似于IGMP,但适用于IPv6网络。
组播的应用场景
视频直播、在线游戏、股票行情更新、会议系统
组播的优势:
节省带宽:相比于单播,每个接收者独占一条链路,组播只需在网络上发送一次数据包,组播路由器会将数据复制并分发给多个接收者。
高效传输:组播在传递相同内容给多个接收者时更加高效,减少了网络的负担。
二层组播和三层组播
二层组播和三层组播分别在网路的不同层次上处理组播流量,涉及的协议和工作机制不同。
二层:
工作层级OSI模型的第二层——数据链路层
协议:
主要涉及IGMP Snooping 和 MAC地址管理
IGMP Snooping:是一种二层交换机的技术,它监视(snooping)通过交换机的 IGMP 报文,从而知道哪些端口需要接收组播流量。交换机会根据这些信息在局域网内部转发组播流量,避免将组播流量泛洪到所有端口,只将组播流量发送到需要接收的设备(主机)的端口上。
二层组播地址:每个 IP 组播地址都有一个对应的 MAC 地址,使用这些 MAC 地址在二层网络中识别和转发组播流量。
三层组播
工作层级:工作在OSI模型的第三层——网络层
协议:
IGMP:主机和路由器之间用于加入和离开组播组的管理。
PIM(Protocol Independent Multicast):路由器之间用于组播路由的协议,用来建立和维护组播转发路径。常见的 PIM 模式包括 PIM-DM(稠密模式)和 PIM-SM(稀疏模式)。
组播路由表(Multicast Routing Table):三层路由器根据组播路由表来决定组播数据包的转发路径,这些路由表通过 PIM 或其他组播路由协议建立和维护。
二层组播和三层组播的区别总结
层级不同:二层组播工作在数据链路层,依赖交换机和 MAC 地址;三层组播工作在网络层,依赖路由器和 IP 地址。
协议不同:二层组播主要依赖 IGMP Snooping 和 MAC 地址的映射;三层组播主要依赖 IGMP 和 PIM 等组播路由协议。
应用场景不同:二层组播通常用于局域网内部的组播流量管理;三层组播用于在广域网或多个子网之间传递组播流量。
泛洪控制:二层组播通过 IGMP Snooping 控制流量泛洪;三层组播通过组播路由协议和路由表实现高效的组播流量传递。
记录一个具体的组播故障
使用模拟器还原故障环境
接入交换机SW1 配置:
ip igmp snooping ivgl
ip igmp snooping vlan 302 mrouter interface GigabitEthernet 0/0
Core配置:
ip igmp send-router-alert
interface VLAN 302
ip address 192.168.202.1 255.255.255.0
ip pim dense-mode
192.168.202.156为组播源,组播组为239.1.1.1(在windows系统使用组播模拟工具 模仿组播)
在PC的G0/0端口抓包查看是否有组播包,进行验证。
问题描述
现象1:目前windows发出的组播包,PC无法收到。
现象2:在接入交换机show ip igmp snooping statistics 可以看到正确组播表项
在核心交换机show ip mroute 也可以看到,学习到了正确的组播表项
故障分析
windows-->接入交换机 正常
接入交换机-->核心交换机 正常
核心交换机-->接入交换机 ?
说明问题出在核心 与 接入之间。但具体是核心交换机没有转发出去 还是接入交换机 没有收到。这个问题还需要确认。
猜测:由于现场使用的是PIM-DM的模式,该故障现象 很符合DM中剪枝的现象。怀疑是snooping方面的问题,导致了该表项--路径 被剪枝了。
验证:关闭接入交换机的 snooping功能no ip igmp snooping ivgl
,网络立马恢复了。