[zeromq-dev] multiple bind with one socket
Kelly Brock
Kerby at inocode.com
Sat Oct 2 21:40:48 CEST 2010
Hi Martin,
> Hi Kelly,
>
> Interesting discussion! :)
>
> There are many topics involved so let's go through them one by one to
> keep it simple.
>
> >> 1. If the packets are full (reach MTU size) the bandwidth overhead is
> >> same irrespective of how many TCP connections there are (it's IP
> traffic
> >> after all).
> >
> > Correct only in that you can't waste more in terms of "per-second"
> > once you've maxed out the pipe at full MTU. It still doesn't come for
> free
>
> I still don't follow.
>
> Say the MTU size is 1100 and header size is 100.
>
> Thus, each IP packet can transfer 1000 bytes of payload plus 100 bytes
> of header.
>
> One connection sending 10000 bytes splits it into 10 packets, so we'll
> end up with 1100x10 = 11000 bytes transferred.
>
> If you split the load between two connections, each has 5000 bytes to
> transfer. If splits it into 5 packets, i.e. 1100x5 = 5500 bytes. Two
> connections, each transferring 5500 bytes, gives 11000 bytes.
>
> So we have 11000 bytes transferred in both cases.
>
> What's the flow in the above reasoning?
Err, you caught me being a doink.. :) I'm mixing up some of the
historic systems I've used and not sticking to the raw tcp stream portion of
this. It's tough to keep them separate after a number of years getting used
to the higher level wrappers. I'm headed home now so will follow up in a
bit, there is still a benefit to be had to the virtual connections, just at
a different point.
KB
More information about the zeromq-dev
mailing list