Skip to main content
Inspiring
November 29, 2010
Answered

Multicast Network Activity Confused

  • November 29, 2010
  • 1 reply
  • 558 views

Using the multicast sample included in the FMES 4 install, I been testing multicast. I am confused as to what I should be seeing in my Resource Monitor - Network (Win7). I can see the connections to the clients playing the live stream, the only problem is that it appears that I am sending the full bandwidth to the clients. I thought I would the server send less bandwidth to each client. My initial thought was that because the clients and the server are on the same physical network that the clients were predominantly using the server as main seeder. I guess I am asking how can I see the if the multicast is actually working.

    This topic has been closed for replies.
    Correct answer

    When FMS streams a stream into a multicast group, it in effect, will become a peer in the group.  IP Multicast is the one exception to this because FMS will bind to a multicast address and port and push the stream directly to it.  Because FMS is effectively a peer in the group in the Application Level (P2P) and Fusion scenarios, it will share the stream data with its direct neighbors.  By default, FMS will push up to 4 copies of the stream out.  You can adjust this value by changing NetStream.multicastPushNeighborLimit.  If the server and the clients are on the same subnet, you can set the stream type to Fusion (in the configurator) and FMS will push a copy over IP multicast and share it as a peer in the group.  The clients on the same subnet will generally obtain the stream data from the IP multicast first and exchange it with peers in the group who cannot receive data via IP multicast.  IP Multicast can be configured in your networking equipment to route the data across additional subnets for more advanced scenarios.

    The bandwidth savings becomes more apparent when you have a very large number of participants in the group all viewing the stream.  To give you an example, at Adobe we use one server to handle thousands of clients viewing a multicast stream.  To minimize the P2P traffic between office locations during these events, we partition viewers in remote offices into a special group designated for that office.  By doing that, FMS will send about 3 or 4 copies of the stream across that office's WAN link, and then it will disseminate between the peers in that office.

    In the sample multicast player application included with FMS, you can edit the HTML code to enable debugging.  The flash variable for debugging is currently commented out.  You can uncomment this and the player will display a button that toggles debug windows.  If you look in the left debug pane, you will see a printout of the NetStream.multicastInfo properties.  You can use these to determine where and how your data is being received.

    i.e. bytesRequestedFromPeers would indicate how much you are pulling from peers whereas bytesReceivedFromIPMulticast would represent the data you're receiving direcly from IP Multicast

    I hope this helps clear up some of the confusion.

    1 reply

    Correct answer
    December 2, 2010

    When FMS streams a stream into a multicast group, it in effect, will become a peer in the group.  IP Multicast is the one exception to this because FMS will bind to a multicast address and port and push the stream directly to it.  Because FMS is effectively a peer in the group in the Application Level (P2P) and Fusion scenarios, it will share the stream data with its direct neighbors.  By default, FMS will push up to 4 copies of the stream out.  You can adjust this value by changing NetStream.multicastPushNeighborLimit.  If the server and the clients are on the same subnet, you can set the stream type to Fusion (in the configurator) and FMS will push a copy over IP multicast and share it as a peer in the group.  The clients on the same subnet will generally obtain the stream data from the IP multicast first and exchange it with peers in the group who cannot receive data via IP multicast.  IP Multicast can be configured in your networking equipment to route the data across additional subnets for more advanced scenarios.

    The bandwidth savings becomes more apparent when you have a very large number of participants in the group all viewing the stream.  To give you an example, at Adobe we use one server to handle thousands of clients viewing a multicast stream.  To minimize the P2P traffic between office locations during these events, we partition viewers in remote offices into a special group designated for that office.  By doing that, FMS will send about 3 or 4 copies of the stream across that office's WAN link, and then it will disseminate between the peers in that office.

    In the sample multicast player application included with FMS, you can edit the HTML code to enable debugging.  The flash variable for debugging is currently commented out.  You can uncomment this and the player will display a button that toggles debug windows.  If you look in the left debug pane, you will see a printout of the NetStream.multicastInfo properties.  You can use these to determine where and how your data is being received.

    i.e. bytesRequestedFromPeers would indicate how much you are pulling from peers whereas bytesReceivedFromIPMulticast would represent the data you're receiving direcly from IP Multicast

    I hope this helps clear up some of the confusion.