我的服务器软件遇到了一个问题,如果一个线程加入多播,另一个线程可能不会在同一时刻接收到不同多播的传入数据报。我不确定这是否可以由于 UDP 多播的“不可靠性质”而被视为预期损失,或者这是否是严重的驱动程序/网卡缺陷。数据包捕获在那个时刻也显示了一个间隙。
我在多个 nic 型号和制造商(包括 Intel 和 HP)上观察到了这个问题。我觉得这是网卡或驱动程序问题的原因是,如果我运行数据包嗅探器将接口置于混杂模式,则根本不会出现问题。
是否有可能当 IGMP 加入或离开正在更新 nic 中的转发表时,它只是停止转发所有多播流量?这可以接受吗?