这是一个有点晦涩的问题,但我很困惑,我想也许外面的人可能对这个问题有更多的线索。
我的同事几个月来一直在他的 MacBook Pro 上成功运行一个使用 IPv6 多播的内部应用程序,但今天 Mac 决定停止路由多播数据包。特别是,程序会打印此错误:
SendDataUDP(ff02::bead:cede:deed:feed@4) 在网络接口 [名称=[en0] 描述=[] IP=[fe80::222:41ff:fe21:dfd4@4] 网络掩码=[ffff: ffff:ffff:ffff::] Broadcast=[::]] (errno=65/没有到主机的路由)。
...这很好地描述了出了什么问题...它试图将 UDP 数据包发送到所示的 IP 地址,并且 send() 失败并显示 errno=EHOSTUNREACH。
我不明白的是,什么可能导致 IPv6 链接范围多播地址“无法访问”?如果我对链接范围多播的理解是正确的,则数据包只需从本地以太网端口(在这种情况下为 en0,它已启动并在该机器上工作)发出。
我是否缺少多播的某些方面,或者他的机器只是坏了?他说他没有改变任何东西,只是神秘地停止了工作。