2

I have 1Gbit Ethernet adapter on my computer. And I have the other computer with Ethernet adapter 100Mbit. The both in one LAN and connected through the 1Gbit switch.

1 Test: I try to send from my computer(1Gbit) to the other(100Mbit) the packets by UDP with speedmore than 100Mbps.

Expected result: The speed is more than 100Mbps. Some packets are lost on the receiving computer(100Mbit).

Actual result: The speed is under 100Mbps (approximately 95~98Mbps). All packets are received on the receiving computer(100Mbit).

The code of the sending side(using PowerShell):

$ipEndPoint = New-Object -TypeName System.Net.IPEndPoint -ArgumentList @([System.Net.IPAddress]::Parse("192.168.102.46"), 15000)
$udpClient = New-Object -TypeName System.Net.Sockets.UdpClient
$udpClient.Connect($ipEndPoint)

while ($true) {
  $bytes = [System.Byte[]]::CreateInstance([System.Byte], 1400)
  $udpClient.Send($bytes, $bytes.Length)
}

2 Test: The same test, but I try to send UDP Broadcast to the current LAN.

Expected result: The speed is more than 100Mbps. Some packets are lost on the receiving computer(100Mbit).

Actual result: The speed is under 100Mbps (approximately 95~98Mbps). All packets are received on the receiving computer(100Mbit).

The code of the sending side(using powershell):

$ipEndPoint = New-Object -TypeName System.Net.IPEndPoint -ArgumentList @([System.Net.IPAddress]::Parse("192.168.102.255"), 15000)
$udpClient = New-Object -TypeName System.Net.Sockets.UdpClient
$udpClient.EnableBroadcast = $true
$udpClient.Connect($ipEndPoint)

while ($true) {
  $bytes = [System.Byte[]]::CreateInstance([System.Byte], 1400)
  $udpClient.Send($bytes, $bytes.Length)
}

Note:

  1. I've tested the code above for the next configuration: sending computer (1Gbit), receiving(1Gbit). I tried to send with speed more than 100Mbps, and actually, the speed was more than 100Mbps.
  2. I've changed for the first two tests adapter settings from 100Mbit to 10Mbit on the receiving computer. And the result: the actual speed is approximately 7~9Mbps instead of 10+ Mbps.

Please, help, why I can't get the expected results?

1 Answers1

1

If your switch supports Flow Control it is likely sending pause frames to your host to limit transmit rate to what is acceptable on ports it has to forward them to.

You can have a look in advanced settings for the NIC and disable flow control if there is such a setting available.

Tomek
  • 2,950
  • 1
  • 15
  • 9