Q:

1000Base-T Server NIC speed slows down to 100Base-T when sending data to a 100Base-T device

I am conducting experiments to explore how data transmission is being influenced by the network speeds of the receivers. Here is my setup,
I have an Ubuntu server A connected to a Gigabit switch with 2 other clients (B and C). All machines have been installed with a gigabit NIC card
While Clients A B are operating at 1000mbps, client C is configured to run at 100Mbps by ethtool using the following command

ethtool -s eth0 speed 100 duplex full

With this setup, i have attempted to send a 500MB file from A to clients B and C at the same time via SCP.
I have expected the data transmission rate between A and C to be 100mbps, and A and B to be 1000mbps.
However in reality, the transmission rate of A to both B and C has been dropped to 100mbps.
My question is: is this behavior to be expected? If so, is there a way to send data from A to B and C concurrently at different network speeds?

A:

I believe that this is one of the boundary conditions that some network hardware manufacturers may or may not choose to implement wisely. a lot of it depends on the switch mode, per-port-buffer size, and backplane speed, as well as host metrics like the nic, systembus, and CPU speed. 
SCP requires encryption/decryption so the host system bus, Nic bus, and CPU capacity are all factors. if the recieving pc can't keep up with the flow, it sends source-quench flow control messages to the switch, which slows down output to that port, which may cause the switch buffers to fill up, and may result in the switch relaying source-quench messages to the sending system, instructing it to slow down. source quench occurs at layer 2, so there is little or no differentiation between the two flows; it has to slow down both of them. the port-buffer for the sending host is likely full as well, meaning that data can only be sent into it at the rate it can be sent on to the slower destination.
in the end, it all depends on the grade of your equipment. if you are connecting rack servers over fiberchannel to a enterprise grade switch, and then into a smaller distribution switch, then I would not expect this problem. if you are using 3 old pc's connected by ratty cat5e to a couple $100 netgear switches, then I would completely expect it.

