Simultaneous transfers to 100mbps and gigabit devices slows down speed to 100mbps

Nicholas Ng

Honorable
Jul 12, 2013
6
0
10,520
All 3 PCs are running Windows 10.
I'm using a TPlink gigabit switch (only LAN transfers, disregard router)

PC1 and 2 have gigabit NIC.
PC3 have 100mbps NIC.

I'm using windows SMB,
PC1 is serving files to PC2 and PC3 simultaneously,
but the total speed is only ~100mbps.

I paused the transfers to PC3, it went back to gigabit speeds. (for PC2)

I'm not sure if it's the switch or something about between PC1 and PC3.

 
Solution
It should not work that way and it is really puzzling to think how it could happen.

Ethernet ports do not actually change speed when they talk to different devices. Say I have pc1 connected to a switch at 1g and Pc3 connected to the switch at 100m. Let also say pc1 is on port 1 and pc3 is on port 3. The way data transfer works is pc1---incoming memory buffer port1----outgoing memory buffer port 3---pc3. The transfer rate between PC1 and its buffer is always at 1g and the transfer rate between pc3 and its buffers are always 100m.

What can happen when traffic is going from 1g-100m is you over load these internal buffers and drop traffic because it won't fit. The buffers in most devices are not real big ..you get a different...
It should not work that way and it is really puzzling to think how it could happen.

Ethernet ports do not actually change speed when they talk to different devices. Say I have pc1 connected to a switch at 1g and Pc3 connected to the switch at 100m. Let also say pc1 is on port 1 and pc3 is on port 3. The way data transfer works is pc1---incoming memory buffer port1----outgoing memory buffer port 3---pc3. The transfer rate between PC1 and its buffer is always at 1g and the transfer rate between pc3 and its buffers are always 100m.

What can happen when traffic is going from 1g-100m is you over load these internal buffers and drop traffic because it won't fit. The buffers in most devices are not real big ..you get a different issue if they are too big..but they are large enough you seldom see data loss.

Now lets say you have another pc on port 2 running 1g. I am sending 2 packets the first to pc3 and the second to pc2 from pc1. So the first packet goes into the data buffer at 1g, it is then copied to pc3 buffer and begins to send out at 100m. The next packet from pc1 is sent into its buffer at 1g and is copied to pc2 out buffer. It is then sent. Because pc3 is so slow pc2 will actually get its packet before pc3 completes receiving its packet from its buffer in the switch.

Most modern switches are so fast you can not even detect the delays without special equipment.

It almost has to be something in the software in server pc. The switch and the nics are pretty stupid.
 
Solution