让我在前面说,我不完全清楚多播的工作原理。 我有它的要点,但不是底层的function。
客户已经在两个Jboss节点之间configuration了一个RHEL6集群。 组播被configuration,我可以ping通224.0.0.1从组中的两台服务器获得响应。 我不能做的是ping分配给每个服务器的每个单独的组播IP。
例如:服务器1是225.5.5.5,服务器2是225.5.5.6。 我可以ping其他任何IP地址。
这是我应该期待看到的吗? 只能ping 224.0.0.1 IP,而不能ping其他IP? 我应该configuration路由与组播IP在同一个子网中,还是224.0.0.0覆盖了所有的子网范围?
您只能通过多播来ping通订阅正在ping的多播组的主机。 您需要小心使用哪个多播组,并且通常应该使用239.0.0.0/24pipe理范围内的多播组,否则您可能冒险login其他软件可能正在使用的已注册组。
通常情况下,服务器将发送stream量,而不是join多播组。 组播组是目的地址,源地址是服务器的常规IP地址。
每个想要join组播组的主机都需要join特定组播组的软件,而组播的要点是多个主机join同一组,以接收相同的stream量,只有一次从组播源发出。
除非您在path中的所有路由器上正确configuration了组播路由,否则组播将不会离开第2层域(穿过路由器),这就是为什么您不能在Internet上组播,除非您有一个可以通过其组播的隧道旅行。
我不认为将任何多播地址分配给Linux接口是合法的,无论多播地址是224.xxx还是231.yyy或239.zzz
即使您能够ping 224.0.0.1 Redhat框,如果您检查以太网NIC的ifconfig,您在输出中看不到224.0.0.1 。
为了使terminal主机响应多播地址ping,某些应用程序需要通过内核(及其模块)绑定多播地址。
224.0.0.1绑定是其中一个内核模块中的embedded式应用程序。 为了响应225.5.5.5,你需要编写一个应用程序来绑定它。