Posted on 2006-04-28
Last Modified: 2010-04-17
I need to send identical data to several users in push mode, with these following indicative specifications:
max 5000 users connected by internet
max 4 packets per second
average 6 Kbits per second throughput
The only client side (Windows platform) admissible operation is the installation of the client software.
Is the use of multicasting realistic or is there the risk that many routers of switches could hamper the operation?
If not realistic what is the best way to do that?
Thank you in advance.
Question by:al-pi
    LVL 7

    Expert Comment

    Multicasting is a possibility, but not the way you are thinking:

    A big pipe at 100Mbps Full duplex is gonna run you $300-$1000/mo
    A typical server is lucky to spew out as much as 60Mbps (Thats doing a disk dump)

    Now, 5000 users * 4 pkts/s = 20000 pkts/s, at 1520 bytes/packet == 243Mbps
    Theoretical Max packets of that connection = 100Mbps / (1520 * 8 bits/ packet) = 8223 pkt/s
    Clearly you are talking multiple pipes (or an OC12 - 622Mbps) and a server farm

    So your configuration for this is basically
    Node A         Node B          Node C
       |                   |                  |
    (at least 3 100Mbps lines or more likely an OC12)
                    CPE Fiber Demarc
                      (The 'Net)
    Client1 Client2 ..................................................Client 5000

    Ok, how many nodes?
    Well if each one is doing processing, you can max out the PCI bus ~ 133Mbps, using Gigabit ethernet you should be
    able to blast out about the same.  (Kinda depressing, really).  Better bus architectures *could* let you spew up to 3-400 Mbps, but not using regular (1500byte) packet sizes.  So more servers.
    Max load ~243 Mbps, so just an off the cuff figure of 4 servers should handle the load nicely.
    You can get away with fewer servers if two of them are not doing any processing:
       +--------------+--------------+ (Multicast source on
       |                   |                  |
    Node A         Node B          Node C  (Relays listen on and rebroadcast to TCP connected clients)
       |                   |                  |
       +--------------+--------------+(Regular TCP network)

    Well, theres your blueprint


    Author Comment

    Thank you Bill.

    You correctly consider all the packets of max size but it is not so in my condition.

    Packet dimension is about 190 bytes so 4*190*8 is 6 Kbits/s per client that is about 1/8 of what you calculate.

    However, also considering that, I need to understand pros and cons of multicasting solution and if this way is not right the better other one.

    Thank you again.
    LVL 7

    Accepted Solution

    Larger packet sizes are more efficient at bandwidth, oddly enough, your solution will need to be larger in the case of
    smaller packets because the networking components need to do more work.  Its one of the reasons why gigabit
    ethernet cards can't practically run at 1000Mbps.

    Now multicasting is transmission at ip addresses between 224.x.x.x-239.x.x.x, if you know you're IP Classes, this range is
    a Class "D", which meand that the entire address matches a network (Netmask =, consequently
    the packets cannot route outside a LAN.  (Exception: MBone, but that doesn't help)

    Since the multicast packets won't go past your LAN, the only good they can ever do is to help communicate between
    computers in your group.

    Example Multicast applications
    * ntp (Network time protocol) uses Mulitcast for time synchronization in a LAN and TCP to access remote ntp peers
    * Ghost can use Multicast to install operating systems to an entire classroom or rack at the same time from a single
       installer machine.
    * RealMedia can use Mulitcast to relay live broadcast streams from a single server to a broadcast server farm for load


    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Maximize Your Threat Intelligence Reporting

    Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

    I know it’s not a new topic to discuss and it has lots of online contents already available over the net. But Then I thought it would be useful to this site’s visitors and can have online repository on vim most commonly used commands. This post h…
    This article will show, step by step, how to integrate R code into a R Sweave document
    An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
    In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

    760 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    15 Experts available now in Live!

    Get 1:1 Help Now