Avatar of al-pi
al-piFlag for Italy

asked on 

Multicasting?

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.
ProgrammingInstallation

Avatar of undefined
Last Comment
wnross
Avatar of wnross
wnross

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:
                Broadcaster
                       |
   +--------------+--------------+ (Multicast source on 224.0.0.1)
   |                   |                  |
Node A         Node B          Node C  (Relays listen on 224.0.0.1 and rebroadcast to TCP connected clients)
   |                   |                  |
   +--------------+--------------+(Regular TCP network)
                       |||

Well, theres your blueprint

Cheers,
-Bill
Avatar of al-pi
al-pi
Flag of Italy image

ASKER

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.
ASKER CERTIFIED SOLUTION
Avatar of wnross
wnross

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Programming
Programming

Programming includes both the specifics of the language you’re using, like Visual Basic, .NET, Java and others, but also the best practices in user experience and interfaces and the management of projects, version control and development. Other programming topics are related to web and cloud development and system and hardware programming.

55K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo