Each multicast channel, defined in the channels.conf configuration file, is assigned a multicast address. TIBCO Enterprise Message Service allows you to assign any valid multicast address, in the class D address range, 224.0.0.0 through 239.255.255.255. However, in order to avoid a conflict, please refer to the Internet Assigned Numbers Authority (IANA) list of reserved addresses to avoid a conflict:
Experimentation is often the only way to determine what the limit is for a specific NIC and OS. With some NICs, joining too many groups will set the card to
"promiscuous mode" which will adversely affect performance.
It is also important to note that, because a channel represents both an IP multicast group address and a destination port, there is not necessarily a one-to-one correlation between a channel and multicast group.
A group is joined when a multicast daemon listens to an IP multicast group address. Because a channel represents both an IP multicast group address and a destination port, there is not necessarily a one-to-one correlation between a channel and multicast group. For example, if you have 10 multicast channels all using the same multicast group address but different ports, then a multicast daemon will join at most one group. However, if the 10 multicast channels are all using different multicast group addresses, then a multicast daemon may join up to 10 groups.
For example, with CISCO routers you must use the ip multicast-routing command to enable multicast routing. Multicast hardware configuration falls outside the scope of this document; please consult your network administrator or the TIBCO Professional Services Group for configuration specific to your network and enterprise.
This leads to an unusual rule: if throughput is too low, try asking for less—there is a chance you may get more. It is important to perform this test even if your throughput is still well below
"wire speed." That is because loss due to congestion can come from many sources other than the wire speed limit, such as TCP data on the same network. It is a simple test and if the results show that actual throughput goes up as the amount of bandwidth requested goes down, it is a very strong sign that there is loss due to congestion somewhere in your network, between the sender and receivers.
Applications running on 100Mb machines would use topics with channel_100Mb assigned to them, and applications on machines with 1 Gb NIC cards would use topics with
channel_1Gb assigned. Also note that some bandwidth has been left for other TCP data, as suggested in
Determining Available Bandwidth.
If you have a small number of applications or hosts that are known to be "slow" or are on a WAN, but need to subscribe to the data on a multicast enabled topic, we recommend disabling EMS multicast at the application. You can disable multicast in a client through API calls; see the API documentation for your language.