这是一个有点晦涩的问题,但我困惑了,我想也许有人能更了解这个问题。
我的同事在他的MacBook Pro上成功运行了使用IPv6多播的内部应用程序数月,但今天Mac决定停止路由多播数据包。特别是,该程序打印以下错误:
SendDataUDP(ff02::bead:cede:deed:feed@4) failed on Network interface [Name=[en0] Description=[] IP=[fe80::222:41ff:fe21:dfd4@4] Netmask=[ffff:ffff:ffff:ffff::] Broadcast=[::]] (errno=65/No route to host).
... 这相当清楚地描述了出了什么问题,它尝试将UDP数据包发送到所示的IP地址,并且send()失败,errno=EHOSTUNREACH。
我不明白的是,什么可能导致IPv6链路范围的多播地址“不可达”?如果我对链路范围多播的理解正确,则数据包只需要通过本地以太网端口(在这种情况下为en0),而该机器正在正常工作。
我是否漏掉了一些多播方面的内容,还是他的机器出现了故障?他说他没有改变任何东西,它只是神秘地停止工作了。