簡體   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