Why do I only get 300-400 Mbit/s on my 1000 Mbit/s network?
Solution 1:
1 Gbit/s is the theorectical maximum of this connection.
Many things can affect this.
Expect a hit in performance from your on-board NICs, as they will most likely be (based on device descriptions "Laptop" and "Desktop") host-based adapters that rely on the CPU to process the network traffic. Therefore speed will be affected by the CPU doing other things (like getting the data from the HDDs to the networking sub-system for example).
Also, depending on what the "router" is, it may be trying to process the data as it passes from LAN port to LAN port, so its processing speeds may also be affecting the data transfer speeds, regardless of how fast its 'ports' are.
If I were you my next test would be to get myself a 'just long enough' CAT6 crossover patch cable and wire the notebook directly to the PC (you may be able to get away with a straight-through cable, as many NIC's support auto-crossover these days).
That way you (at least) can pretty easily eliminate or identify the router (and/or existing wiring) as a bottleneck.
Solution 2:
iperf uses a pretty small window size by default.
Increase the window or run it in UDP mode and it will easily saturate a 1 Gbit/s connection.
Solution 3:
Jeff Atwood has some good analysis of why real-world throughput of a Gigabit network is closer to, in his calculations, 30MB/s. (big 'B', not little 'b')
...you definitely shouldn't expect the perfect scaling we achieved moving from 10baseT to 100baseT. Without any major tweaking, you'll get only a fraction of the tenfold bandwidth improvement you might expect