繁体   English   中英

接收组播:TTL是否重要?

[英]Receiving Multicast: Does TTL matter?

加入多播组时,IP_MULTICAST_TTL在接收数据报时有什么作用?

Python中的多播在接收端具有TTL为32的答案之一(而IP_MULTICAST_LOOP为1),但是我很难找出原因。

我在看组播编程 ,我不明白为什么接收者需要TTL和LOOP。

当您收到多播时,我以为您只是告诉内核加入多播组,然后它将绑定数据发送到的端口。

作为接收者,您在接收多播时还会发送数据吗? 这就是为什么在接收时设置IP_MULTICAST_TTL和IP_MULTICAST_LOOP的原因? 您是否可以仅通过加入多播组来影响网络?

谢谢

它本身不会阻止您接收多播消息,但是它可能会影响加入mcast组时发送的IGMP消息的范围(该消息是通过使用IP_ADD_MEMBERSHIP标志调用setsockopt而发送的)。

因此,如果有一个上游路由器参与多播网络,则如果TTL太低,它可能不会收到您的加入请求。 如果中间路由器不知道您已加入该组,则随后到您加入的地址的传入多播消息可能不会路由到您。

如果您不发送任何内容,则LOOP选项不相关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM