以太网终端转发组播规则:首次根据组播路由表选择转发接口并产生“接口-加入的组播组”表,此后此组播的通信将直接查询此表IP组播地址到链路层MAC地址的映射规则:固定前缀:IPv4组播MAC地址的前24位固定为01-00-5E;中间位处理:紧接前缀之后的第25位固定为0;映射部分:将IPv4组播地址的低23位直接映射到MAC地址的低23位
以太网桥接相当于链路层直联,以太网链路层间数据交付依靠MAC地址
当电脑访问udp://225.1.4.73:1102时,因为目标IP是组播地址,协议引擎在成帧时会根据规则生成帧的目标MAC地址,此地址是组播MAC地址,抓包数据如下:
然后查“接口-加入的组播组”表,没有的话,根据系统组播路由表选择转发接口,Windows下查看组播路由表和“接口-加入的组播组”表的命令分别是:route print -4 和netsh interface ip show joins
电脑根据两个表选择转发的接口(当两表所确定的接口不是光猫IPTV相连接口时,组播通信将失败)
帧的目标MAC是组播地址,光猫接收到此帧后,因为IPTV接口设置有公共组播VLAN,所以此帧将被转发到公共VLAN里:
最终会送达IPTV组播源所在网络,组播源应答时的抓包数据如下:
组播源应答的数据的目标MAC和目标IP都是之前请求时的组播IP地址和组播MAC
从请求到应答整个通信过程中,不管是目标MAC帧还是目标IP包,都没有涉及电脑MAC或IP,所以不管电脑设置什么IP,组播通信都能完成
当光猫的IPTV以路由模式配置时,IPTV接口和PON口直接是三层网络关系,转发组播包需要IGMP组播代理,此时受IGMP组播代理程序限制,终端不能任意设置IP,一般支持设置和光猫LAN口一个网段的IP
当中间转发组播经过交换机时,则涉及交换机转发组播时的规则:交换机无IGMP Snooping时将泛洪转发到所有端口,当有IGMP Snooping时只转发到有组播请求的端口