关于多播的问题
我们都知道udp不可靠,通过学习unix网络编程我添加了一些关于seq和ts的hdrs来使udp可靠。想法很简单。当接收方收到一个数据包时,它必须发送一个ack数据包,还有一些东西关于往返时间算法来估计 rto。但是对于多播,发送者将数据包发送到多播地址,该多播组中的所有主机都必须发送 ack 数据包。即使 seq 是正确的并且acks 及时到来,我们仍然不确定是否所有主机都收到了数据包,因为我们不知道主机号。也许一个或多个主机的 ack 数据包丢失了。
我想知道是否可以获得特定多播组上的主机编号,或者也许有更好的想法来使多播可靠。
We all know that udp is not reliable,by learning unix network programming I add some hdrs about seq and ts to make udp reliable.the idea is simple.when the receiver receives a packet,it must send a ack packet,there is also something about the round trip time algothrim to estimate the rto.But to multicast,a sender sends a packet to a multicast addr, all host in that multicast group must send a ack packet.Even if the seq is right and acks comes in time,we are still not sure whether all host got the packet,because we don't know the host number.maybe one or more host's ack packet is lost.
I wonder if I can get the number of the host on a specific multicast group or perhaps there is a better idea to make mulitcast reliable.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试与您的网络管理员交谈并要求他使您的网络传输可靠。我在欧洲、中东、亚洲、北美和南美的网络周围都有 2Gbps 多播,并且从未丢失过任何数据包 - 所有交换机均“VoIP 就绪”,因此,它们会自动在内部对多播流量进行优先级排序,这是最好的解决这个问题的方法。
Try to talk to you network admin and ask him to make your network transmitting reliably. I have 2Gbps multicast all around my network in europe, middle east, asia, north and south america and never lost a single packet - all switches are "voip ready", so this way they automatically internally prioritize the multicast traffic and this is the best way to approach this problem.