Router "WAN to LAN" throughput TEST|
duckware.com/testwan2lan -- February 20, 2018 -- Version 2.1a (2019/07/17)
The problem: How do you reliably and very accurately test Router "WAN to LAN" throughput? Because even
with a full Gigabit (1000 Mbps) Internet connection, a bad speedtest result might be
the fault of the Internet connection, and not the router.
TIP: The efficiency of TCP/IP over Ethernet, with a MTU of 1500, is 1460/1538, or (1500-20-20) / (1500+38)),
which translates to a maximum possible (application level) speed of 949.28 Mbps for Gigabit Ethernet
(50.72 Mbps overhead).
Details from wikipedia
The solution: Use your gigabit LAN as the WAN that the 'router to test' sees, and run a speedtest
over this known full gigabit LAN!
You will need two computers with gigabit wired Ethernet to run this test.
First, attach all devices as seen in the diagram below:
Configure Test Router as an "Access Point":
Connect the WAN port of the 'router to test' to a Gigabit switch that is
connected to the Internet (as per diagram above).
Factory reset (how to factory reset Netgear routers)
the 'router to test' and set the mode of operation to "Access Point" (AP)
(how to configure AP mode for Netgear routers).
In this "AP" mode, the WAN/LAN ports on the 'router to test' act as a gigabit switch on the
LAN (there is NO routing and NO DHCP). So all devices are actually connecting to the old router
to obtain ip addresses (not the 'router to test').
LAN to LAN test, port 80
Running Speed Test...|
0: 117,448,805 (939,590,440 bps)
1: 117,572,777 (940,582,216 bps)
2: 117,576,621 (940,612,968 bps)
3: 117,571,626 (940,573,008 bps)
4: 117,573,800 (940,590,400 bps)
5: 117,572,657 (940,581,256 bps)
Netgear R7800 WAN to LAN, port 80
Running Speed Test...|
0: 15,756,597 (126,052,776 bps)
1: 36,133,285 (289,066,280 bps)
2: 41,282,269 (330,258,152 bps)
3: 41,238,824 (329,910,592 bps)
4: 41,169,722 (329,357,776 bps)
5: 41,211,178 (329,689,424 bps)
6: 41,310,052 (330,480,416 bps)
7: 41,154,980 (329,239,840 bps)
8: 41,176,542 (329,412,336 bps)
9: 41,194,539 (329,556,312 bps)
10: 41,011,124 (328,088,992 bps)
11: 40,844,220 (326,753,760 bps)
12: 40,793,024 (326,344,192 bps)
13: 40,763,889 (326,111,112 bps)
14: 40,856,632 (326,853,056 bps)
15: 41,094,183 (328,753,464 bps)
16: 41,092,261 (328,738,088 bps)
17: 41,273,242 (330,185,936 bps)
18: 41,209,349 (329,674,792 bps)
19: 41,227,831 (329,822,648 bps)
Netgear R7800 WAN to LAN, port 81
Running Speed Test...|
0: 117,397,405 (939,179,240 bps)
1: 117,572,084 (940,576,672 bps)
2: 117,575,301 (940,602,408 bps)
3: 117,573,382 (940,587,056 bps)
4: 117,574,013 (940,592,104 bps)
5: 117,574,222 (940,593,776 bps)
Setup your computers: Turn wifi off on both computers and verify that the only
active connection is wired Gigabit ethernet, and install the test software:
Verify computer power: Run the 'LAN to LAN' test below, but instead of between
PC's, run the test within each PC to itself (from a PC to the same PC).
You should obtain a speed test result well over 1 Gbps. This is to confirm that your computers
are powerful enough to run the true 'LAN to LAN' test below. On each of my PC's, I get a
result around 5 Gbps, a good result.
- Download test-wan2lan.zip
- Extract/copy the ZIP contents (httpd.exe and dlspeed.exe)
into a temp folder on two computers. The two EXE's in this ZIP require 32-bit Java
if the 32-bit Java VM not already installed).
LAN to LAN test: Next, verify that your Gigabit LAN and network cards are fully capable
of Gigabit speeds. With the 'router to test' in AP mode:
You should obtain a speedtest result that is very close to the maximum Gigabit
LAN speed of 949 Mbps (network overhead uses up 51 Mbps).
For example, on my test system, I obtained a speedtest result of 941 Mbps
(see test above right), a good result.
- Run "httpd.exe ." on the first computer and take note of the ip address output by
this program (to use in next step). This runs a mini HTTP web server (allowing access
to any file in the temp folder; great for testing static web sites) with a built-in 10 GB "huge.bin" file.
In this computer's firewall, you must
allow httpd.exe to accept incoming connections (or suspend the firewall during test).
You can also use "ipconfig/all" to find a computer's ip address.
- Run "dlspeed.exe -1460000 http://x.x.x.x/huge.bin" on the second computer
where "x.x.x.x" is the ip address of the first computer. dlspeed.exe runs
for around 20 seconds and then outputs all results at once.
If you do not obtain the expected speed, review ethernet driver settings in the OS.
Finally, run the WAN to LAN test:
Next, factory reset the 'router to test' (you want the router back in "Router" mode with
default settings). The 'router to test' will see your LAN as the WAN.
The second computer will now get a new IP address from the
'router to test'. Re-run the exact same "dlspeed.exe" test above (to the same IP address
previously used). This tests Router 'WAN to LAN' throughput.
WARNING: After a factory reset, you will likely need to first connect to the router
from the second computer and answer some basic questions before the router is properly
configured and ready for use in the speedtest. Namely, the test router may detect an ip address
conflict with the existing router (192.168.1.X) and change to a secondary ip address range
Optional test variation: Just before running dlspeed.exe, unplug the
Ethernet cable (orange cable line in diagram above) running from the switch to the internet
router. This will eliminate any possible influence (however unlikely) from the old router
or Internet during the speedtest on your LAN.
This test variation also make it incredibly clear that your existing Internet router plays NO
'routing' role in the speedtest. The only equipment involved in the speedtest is:
(1) the gigabit switch, (2) two computers, and (3) the 'router to test' -- and nothing else.
If you run this test, please forward your dlspeed.exe output results
(along with router model number and firmware version) to us. See the last section
below for contact info.
Single vs Multiple socket speed tests: dlspeed.exe very intentionally uses only
a single socket to download the huge.bin file -- because a single socket speedtest
is the hardest test to pass! This is because a single socket speedtest immediately reveals
problems such as packet loss, per socket throttling, RWIN bugs, router bugs, etc.
The entire point is to verify great WAN to LAN performance, not mask core underlying
|Era||Router||Firmware||WAN to LAN||LAN to LAN|
|port 80||port 81|
|100 Mbps class routers -- 94.9 Mbps max|
|2009||Netgear WNR1000v3||V184.108.40.206_60.0.93||94 Mbps||94 Mbps||94 Mbps|
|1 Gbps class routers -- 949 Mbps max|
|2012||Netgear JNR3210||V220.127.116.11_1.0.2||425 Mbps||433 Mbps||941 Mbps|
|2016||Netgear R7800||V18.104.22.168||327 Mbps||941 Mbps||941 Mbps|
WARNING: Virtually all Internet speedtest sites that you find on the web intentionally
use multiple sockets. Why? Because these sites want to work around bugs, as their goal
is to display your maximum speed possible (not inform you that there is some unknown
bug causing problems).
2018/03/06 UPDATE: Port issues: Some routers will behave differently depending upon which TCP/IP port
is used for the speedtest. In particular, WAN to LAN on Netgear routers appears to be greatly negatively affected
by using port 80. You can test for this issue by altering the command line of the test
programs above (which use port 80 by default) to specify a different port number:
And if you want to speedtest multiple sockets, just start multiple dlspeed.exe
downloads at the same time (all on the second PC) and take note if overall combined speed
increases (Windows Task Manager,
Networking tab can be useful). If overall speed does significantly increase, there is a bug somewhere.
Run "httpd.exe -port:81 ." on the first computer.
2018/03/06 UPDATE: A huge "TELL" that something is not right with the Netgear router is
that during the download speedtest above, the "CPU Load" on the router's "http://x.x.x.x/debug.htm"
web page is very high.
Run "dlspeed.exe -1460000 http://x.x.x.x:81/huge.bin"
on the second computer.
I wonder if this is a bug regarding Netgear's 'Parental Controls' implementation?
2019/07/17 UPDATE: Retesting the Netgear R7800 with the latest V22.214.171.124 firmware shows a fast
940 Mbps speed. So whatever bug Netgear had appears to have been fixed.
A final note: This "WAN to LAN" test was specifically designed to test BOTH 'LAN to LAN'
and 'WAN to LAN' without changing any ethernet cables. The 'router to test'
is never eliminated from the test. Rather, only the software configuration inside
the 'router to test' is changed (between "Access Point" and "Router" mode).
This takes advantage of how routers implement 'access point' mode
(converts WAN port into another LAN port).
Because no cables are changed, if 'LAN to LAN' is fast, but 'WAN to LAN' is slow,
there is only the reconfiguration mode of the 'router to test' to blame (not cables, etc).
Use this contact form to contact the author of this paper.
Some images and text are copyrighted by their respective owners and are reproduced
in this paper under Title 17 Section 107 (Fair Use)
of the copyright code.
The rest of this document is Copyright © 2018 Jerry Jongerius