是否可以通过协议查询路由器以返回它已注册的多播源列表?
例如,我想知道路由器上有哪些多播源可用,但我无法控制该路由器。
我的想法是 PIM 查询或欺骗,因为另一个路由器通过 PIM 消息可能允许我接收多播表。这是可能的,还是我走错了路?
是否可以通过协议查询路由器以返回它已注册的多播源列表?
例如,我想知道路由器上有哪些多播源可用,但我无法控制该路由器。
我的想法是 PIM 查询或欺骗,因为另一个路由器通过 PIM 消息可能允许我接收多播表。这是可能的,还是我走错了路?
如果您无法控制要查询的路由器,则很难做到这一点。
通过欺骗 PIM 查询或连接,路由器不会告诉您它的路由表中有什么,它会开始向您转发数据,您将能够看到所有来源。因此,如果您对路由器没有任何控制权,这可能是您唯一的选择。
请记住,在多播路由中,所有路由决策都是由该路由器根据路由器单播路由表单独做出的。因此,实际上并没有一种机制可以学习其他人的多播路由表。
有用于查询 mroute 表的 SNMP MIB,但这同样需要对您希望查询的路由器进行一定程度的控制。http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en&translate=Translate&objectInput=1.3.6.1.2.1.83.1.1.2.1#oidContent
如果您可以控制路由器,另一种方法是使用 MSDP。 http://www.cisco.com/c/en/us/td/docs/ios/12_2/ip/configuration/guide/fipr_c/1cfmsdp.html
组播源发现协议将允许网络中的 RP 相互共享组播组的源。但是,您需要在每个 RP 之间建立一个 MSDP 对等体才能这样做。