title: How to calculate the savings of multicast over TCP on an isolated switch?
body: <p>Had an interesting discussion about the 'true savings' of TCP vs Multicast and discovered that neither of us could prove our assumptions about the switch cost for copying data, and I've been unable to find definitive answers either way.</p>
  
  <p>Here's the scenario:
  - We have a server which is publishing to 3 clients over TCP.
  - The server and clients are on a single switch.</p>
  
  <p>We agreed that switching from TCP to Multicast would have network savings, but disagreed on how big those would be.</p>
  
  <p>There are the obvious and easily googled savings:
  - Smaller headers on Multicast
  - No connection messages
  - No ack messages</p>
  
  <p>Where we disagreed is on how much 'work' the switch would be saving.
  In TCP the data would be copied from the server to the switch, and switch to the clients 3 times (3 up, 3 down).
  In Multicast the data would be copied from the server to the switch once and to the clients 3 times (1 up, 3 down).</p>
  
  <p>My colleague felt that the 3 multicast copies to the clients were as much work for the switch as tcp copies (relative to the size and other protocol differences), while I believe that the switch has optimizations that would make the multicast copies significantly less expensive.</p>
  
  <p>Or to put it another way, would adding a 4th multicast client be "almost half as expensive as tcp" or "almost free"?</p>