IGMPv3向后兼容问题

    技术2022-05-19  23

    V3的路由器在这种情况下根据RFC3376实现还是会发送V3格式的Query。对于V2的 Host来说是可以识别出来的,只要Type和Checksum正确,V2主机会只使用前面8个bytes。同时,系统中的V3主机也可以识别并继续发送V3的Report。但是对于V1的Host,这里有一些问题,因为V1主机在计算Checksum是只涵盖前8个byte(Pls see rfc1112),而发送出去的V3 General Query消息是对整个IGMP PDU做的Checksum,这样V1主机就没法识别路由器的Query消息而导致工作失效。对RFC3376中为何没有作出强制规定来使当前的IGMP 降级(发送当前最低版本的消息)到低版本,这主要是由于RFC3376允许在一个网段内同时支持ASM和SSM。假想一下,如果V3主机的多播应用是SSM(事实上,当前v3主要用于SSM场景),在中途突然有一个V1或V2主机加入网络,如果路由器发送老版本的Query消息出去则会导致V3主机降级工作在V2模式从而导致SSM应用失效。当前几乎所有支持Multicast应用的Host都支持V2或更高版本(V3),所以我们可以不用考虑v1的特殊Case. 当然,几乎对每一个提供IGMPv3至此的厂商都有一个命令配置IGMP Version,如果有V1主机不能工作,则需要强制在网段内的路由器上将版本号设为1。


    最新回复(0)